diff --git a/scripts/server/business.js b/scripts/server/business.js index e821ff5a..8aaf7306 100644 --- a/scripts/server/business.js +++ b/scripts/server/business.js @@ -1024,6 +1024,11 @@ function getBusinessStorageItemsCommand(command, params, client) { return false; } + if (!canPlayerManageBusiness(client, businessId)) { + messagePlayerError(client, getLocaleString(client, "CantModifyBusiness")); + return false; + } + showBusinessStorageInventoryToPlayer(client, businessId); } @@ -1968,10 +1973,6 @@ function createAllBusinessPickups() { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - for (let i in getServerData().businesses) { createBusinessEntrancePickup(i); createBusinessExitPickup(i); @@ -2022,10 +2023,6 @@ function createBusinessEntrancePickup(businessId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - let businessData = getBusinessData(businessId); //if(businessData.hasInterior) { @@ -2036,16 +2033,22 @@ function createBusinessEntrancePickup(businessId) { return false; } - let pickupModelId = getGameConfig().pickupModels[getGame()].Business; - - if (businessData.entrancePickupModel != 0) { - pickupModelId = businessData.entrancePickupModel; - } - - logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating entrance pickup for business ${businessData.name} (model ${pickupModelId})`); + logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating entrance pickup for business ${businessData.name}`); if (areServerElementsSupported()) { - let entrancePickup = createGamePickup(pickupModelId, businessData.entrancePosition, getGameConfig().pickupTypes[getGame()].business); + let entrancePickup = null; + if (isGameFeatureSupported("pickup")) { + let pickupModelId = getGameConfig().pickupModels[getGame()].Business; + + if (businessData.entrancePickupModel != 0) { + pickupModelId = businessData.entrancePickupModel; + } + + entrancePickup = createGamePickup(pickupModelId, businessData.entrancePosition, getGameConfig().pickupTypes[getGame()].business); + } else if (isGameFeatureSupported("dummyElement")) { + entrancePickup = createGameDummyElement(businessData.entrancePosition); + } + if (entrancePickup != null) { if (businessData.entranceDimension != -1) { setElementDimension(entrancePickup, businessData.entranceDimension); @@ -2156,10 +2159,6 @@ function createBusinessExitPickup(businessId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - let businessData = getBusinessData(businessId); //if(!businessData.hasInterior) { @@ -2170,15 +2169,21 @@ function createBusinessExitPickup(businessId) { return false; } - let pickupModelId = getGameConfig().pickupModels[getGame()].Exit; + logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit pickup for business ${businessData.name}`); - if (businessData.exitPickupModel != 0) { - pickupModelId = businessData.exitPickupModel; + let exitPickup = null; + if (isGameFeatureSupported("pickup")) { + let pickupModelId = getGameConfig().pickupModels[getGame()].Exit; + + if (businessData.exitPickupModel != 0) { + pickupModelId = businessData.exitPickupModel; + } + + exitPickup = createGamePickup(pickupModelId, businessData.exitPosition, getGameConfig().pickupTypes[getGame()].business); + } else if (isGameFeatureSupported("dummyElement")) { + //exitPickup = createGameDummyElement(businessData.exitPosition); } - logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit pickup for business ${businessData.name} (model ${pickupModelId})`); - - let exitPickup = createGamePickup(pickupModelId, businessData.exitPosition, getGameConfig().pickupTypes[getGame()].business); if (exitPickup != null) { if (businessData.exitDimension != -1) { setElementDimension(exitPickup, businessData.exitDimension); @@ -2197,6 +2202,7 @@ function createBusinessExitPickup(businessId) { getBusinessData(businessId).exitPickup = exitPickup; updateBusinessPickupLabelData(businessId); } + } // =========================================================================== @@ -2424,10 +2430,6 @@ function deleteBusinessEntrancePickup(businessId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - if (getBusinessData(businessId).entrancePickup != null) { //removeFromWorld(getBusinessData(businessId).entrancePickup); deleteGameElement(getBusinessData(businessId).entrancePickup); @@ -2451,10 +2453,6 @@ function deleteBusinessExitPickup(businessId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - if (getBusinessData(businessId).exitPickup != null) { //removeFromWorld(getBusinessData(businessId).exitPickup); deleteGameElement(getBusinessData(businessId).exitPickup); diff --git a/scripts/server/house.js b/scripts/server/house.js index 7de3c18e..e51e8307 100644 --- a/scripts/server/house.js +++ b/scripts/server/house.js @@ -1040,10 +1040,6 @@ function createHouseEntrancePickup(houseId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - if (!getHouseData(houseId)) { return false; } @@ -1058,14 +1054,20 @@ function createHouseEntrancePickup(houseId) { return false; } - let pickupModelId = getGameConfig().pickupModels[getGame()].House; - - if (getServerData().houses[houseId].entrancePickupModel != 0) { - pickupModelId = getHouseData(houseId).entrancePickupModel; - } - if (areServerElementsSupported()) { - let entrancePickup = createGamePickup(pickupModelId, getHouseData(houseId).entrancePosition, getGameConfig().pickupTypes[getGame()].house); + let entrancePickup = null; + if (isGameFeatureSupported("pickup")) { + let pickupModelId = getGameConfig().pickupModels[getGame()].House; + + if (getServerData().houses[houseId].entrancePickupModel != 0) { + pickupModelId = getHouseData(houseId).entrancePickupModel; + } + + entrancePickup = createGamePickup(pickupModelId, houseData.entrancePosition, getGameConfig().pickupTypes[getGame()].house); + } else if (isGameFeatureSupported("dummyElement")) { + entrancePickup = createGameDummyElement(houseData.exitPosition); + } + if (entrancePickup != null) { setElementOnAllDimensions(entrancePickup, false); setElementDimension(entrancePickup, getHouseData(houseId).entranceDimension); @@ -1154,10 +1156,6 @@ function createHouseExitPickup(houseId) { return false; } - if (!isGameFeatureSupported("pickup")) { - return false; - } - if (!getHouseData(houseId)) { return false; } @@ -1172,13 +1170,19 @@ function createHouseExitPickup(houseId) { return false; } - let pickupModelId = getGameConfig().pickupModels[getGame()].Exit; + let exitPickup = null; + if (isGameFeatureSupported("pickup")) { + let pickupModelId = getGameConfig().pickupModels[getGame()].Exit; - if (getServerData().houses[houseId].exitPickupModel != 0) { - pickupModelId = houseData.exitPickupModel; + if (getServerData().houses[houseId].exitPickupModel != 0) { + pickupModelId = houseData.exitPickupModel; + } + + exitPickup = createGamePickup(pickupModelId, houseData.exitPosition, getGameConfig().pickupTypes[getGame()].house); + } else if (isGameFeatureSupported("dummyElement")) { + //exitPickup = createGameDummyElement(houseData.exitPosition); } - let exitPickup = createGamePickup(pickupModelId, houseData.exitPosition, getGameConfig().pickupTypes[getGame()].house); if (exitPickup != null) { setElementDimension(exitPickup, houseData.exitDimension); setElementOnAllDimensions(exitPickup, false);