diff --git a/scripts/server/business.js b/scripts/server/business.js index 908a3fcf..edd1dd5b 100644 --- a/scripts/server/business.js +++ b/scripts/server/business.js @@ -601,7 +601,13 @@ function setBusinessInteriorTypeCommand(command, params, client) { if(isNull(getGameConfig().interiorTemplates[getServerGame()][typeParam])) { messagePlayerError(client, "Invalid interior type! Use an interior type name"); - messagePlayerInfo(client, `Interior Types: {ALTCOLOUR}${Object.keys(getGameConfig().interiorTemplates[getServerGame()]).join(", ")}`) + let interiorTypesList = Object.keys(getGameConfig().interiorTemplates[getServerGame()]).join(", "); + let chunkedList = splitArrayIntoChunks(interiorTypesList, 10); + + messagePlayerInfo(client, `{clanOrange}== {jobYellow}Interior Types {clanOrange}=======================`); + for(let i in chunkedList) { + messagePlayerInfo(client, chunkedList[i].join(", ")); + } return false; } @@ -1574,6 +1580,14 @@ function buyFromBusinessCommand(command, params, client) { destroyItem(getBusinessData(businessId).floorItemCache[itemSlot-1]); } + let useType = getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[itemSlot-1]).itemTypeIndex).useType; + if(useType == VRR_ITEM_USETYPE_WEAPON || VRR_ITEM_USETYPE_TAZER) { + if(isPlayerWeaponBanned(client) && !isPlayerExemptFromAntiCheat(client)) { + messagePlayerError(client, `You are not allowed to buy weapons`); + return false; + } + } + //messagePlayerSuccess(client, `You bought ${amount} {ALTCOLOUR}${itemName} {MAINCOLOUR}for ${totalCost} ${priceEach}`); meActionToNearbyPlayers(client, `buys a ${itemName}`); @@ -1770,19 +1784,24 @@ function updateBusinessPickupLabelData(businessId) { setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.type", VRR_LABEL_BUSINESS, true); setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.name", getBusinessData(businessId).name, true); setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.locked", getBusinessData(businessId).locked, true); - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_NONE, true); - if(getBusinessData(businessId).labelHelpType == VRR_BIZLABEL_INFO_ENTERVEHICLE) { - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_ENTERVEHICLE, true); - } else if(getBusinessData(businessId).labelHelpType == VRR_BIZLABEL_INFO_REFUEL) { - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_REFUEL, true); - } else if(getBusinessData(businessId).labelHelpType == VRR_BIZLABEL_INFO_REPAIR) { - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_REPAIR, true); + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_NONE, true); + if(getBusinessData(businessId).labelHelpType == VRR_PROPLABEL_INFO_ENTERVEHICLE) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_ENTERVEHICLE, true); + } else if(getBusinessData(businessId).labelHelpType == VRR_PROPLABEL_INFO_ENTER) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_ENTER, true); + } else if(getBusinessData(businessId).labelHelpType == VRR_PROPLABEL_INFO_REPAIR) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_REPAIR, true); } else { - if(getBusinessData(businessId).hasInterior) { - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_ENTER, true); + if(getBusinessData(businessId).buyPrice > 0) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.price", getBusinessData(businessId).buyPrice, true); + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_BUYBIZ, true); } else { - if(doesBusinessHaveAnyItemsToBuy(businessId)) { - setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_BIZLABEL_INFO_BUY, true); + if(getBusinessData(businessId).hasInterior) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_ENTER, true); + } else { + if(doesBusinessHaveAnyItemsToBuy(businessId)) { + setEntityData(getBusinessData(businessId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_BUY, true); + } } } } diff --git a/scripts/server/house.js b/scripts/server/house.js index 2502a55d..b10f7859 100644 --- a/scripts/server/house.js +++ b/scripts/server/house.js @@ -397,7 +397,14 @@ function setHouseInteriorTypeCommand(command, params, client) { if(isNull(getGameConfig().interiorTemplates[getServerGame()][typeParam])) { messagePlayerError(client, "Invalid interior type! Use an interior type name"); - messagePlayerInfo(client, `Interior Types: {ALTCOLOUR}${Object.keys(getGameConfig().interiorTemplates[getServerGame()]).join(", ")}`) + messagePlayerError(client, "Invalid interior type! Use an interior type name"); + let interiorTypesList = Object.keys(getGameConfig().interiorTemplates[getServerGame()]).join(", "); + let chunkedList = splitArrayIntoChunks(interiorTypesList, 10); + + messagePlayerInfo(client, `{clanOrange}== {jobYellow}Interior Types {clanOrange}=======================`); + for(let i in chunkedList) { + messagePlayerInfo(client, chunkedList[i].join(", ")); + } return false; } @@ -862,7 +869,14 @@ function createHouseEntrancePickup(houseId) { setEntityData(getHouseData(houseId).entrancePickup, "vrr.label.locked", getHouseData(houseId).locked, true); if(getHouseData(houseId).buyPrice > 0) { setEntityData(getHouseData(houseId).entrancePickup, "vrr.label.price", getHouseData(houseId).buyPrice, true); + setEntityData(getHouseData(houseId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_BUYHOUSE, true); + } else { + if(getHouseData(houseId).rentPrice > 0) { + setEntityData(getHouseData(houseId).entrancePickup, "vrr.label.rentprice", getHouseData(houseId).rentPrice, true); + setEntityData(getHouseData(houseId).entrancePickup, "vrr.label.help", VRR_PROPLABEL_INFO_RENTHOUSE, true); + } } + addToWorld(getHouseData(houseId).entrancePickup); } }