Fix job, biz & house blips stream distance and dimension

This commit is contained in:
Vortrex
2022-05-15 22:27:32 -05:00
parent 4b7f05a482
commit 3559fd3a1e
3 changed files with 227 additions and 121 deletions

View File

@@ -1728,13 +1728,20 @@ function createBusinessEntrancePickup(businessId) {
if(areServerElementsSupported()) {
let entrancePickup = createGamePickup(pickupModelId, getBusinessData(businessId).entrancePosition, getGameConfig().pickupTypes[getGame()].business);
if(entrancePickup != null) {
setElementOnAllDimensions(entrancePickup, false);
setElementDimension(entrancePickup, getBusinessData(businessId).entranceDimension);
setElementOnAllDimensions(entrancePickup, false);
setElementStreamInDistance(entrancePickup, getGlobalConfig().businessBlipStreamInDistance);
setElementStreamOutDistance(entrancePickup, getGlobalConfig().businessBlipStreamOutDistance);
setElementTransient(entrancePickup, false);
if(businessData.entranceDimension != -1) {
setElementDimension(entrancePickup, businessData.entranceDimension);
setElementOnAllDimensions(entrancePickup, false);
} else {
setElementOnAllDimensions(entrancePickup, true);
}
if(getGlobalConfig().businessPickupStreamInDistance == -1 || getGlobalConfig().businessPickupStreamOutDistance == -1) {
entrancePickup.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(entrancePickup, getGlobalConfig().businessPickupStreamInDistance);
setElementStreamOutDistance(entrancePickup, getGlobalConfig().businessPickupStreamOutDistance);
}
setElementTransient(entrancePickup, false);
getBusinessData(businessId).entrancePickup = entrancePickup;
updateBusinessPickupLabelData(businessId);
}
@@ -1766,32 +1773,39 @@ function createBusinessEntranceBlip(businessId) {
return false;
}
if(getBusinessData(businessId).entranceBlipModel != -1) {
let businessData = getBusinessData(businessId);
if(businessData.entranceBlipModel != -1) {
let blipModelId = getGameConfig().blipSprites[getGame()].Business;
if(getServerData().businesses[businessId].entranceBlipModel != 0) {
blipModelId = getBusinessData(businessId).entranceBlipModel;
blipModelId = businessData.entranceBlipModel;
}
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating entrance blip for business ${getBusinessData(businessId).name} (model ${blipModelId})`);
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating entrance blip for business ${businessData.name} (model ${blipModelId})`);
if(areServerElementsSupported()) {
let entranceBlip = createGameBlip(getBusinessData(businessId).entrancePosition, blipModelId, getColourByType("businessBlue"));
let entranceBlip = createGameBlip(businessData.entrancePosition, blipModelId, getColourByType("businessBlue"));
if(entranceBlip != null) {
setElementOnAllDimensions(entranceBlip, false);
setElementDimension(entranceBlip, getBusinessData(businessId).entranceDimension);
setElementDimension(entranceBlip, getBusinessData(businessId).entranceDimension);
setElementOnAllDimensions(entranceBlip, false);
setElementStreamInDistance(entranceBlip, getGlobalConfig().businessBlipStreamInDistance);
setElementStreamOutDistance(entranceBlip, getGlobalConfig().businessBlipStreamOutDistance);
setElementTransient(entranceBlip, false);
if(businessData.entranceDimension != -1) {
setElementDimension(entranceBlip, businessData.entranceDimension);
setElementOnAllDimensions(entranceBlip, false);
} else {
setElementOnAllDimensions(entranceBlip, true);
}
getBusinessData(businessId).entranceBlip = entranceBlip;
if(getGlobalConfig().businessBlipStreamInDistance == -1 || getGlobalConfig().businessBlipStreamOutDistance == -1) {
entranceBlip.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(entranceBlip, getGlobalConfig().businessBlipStreamInDistance);
setElementStreamOutDistance(entranceBlip, getGlobalConfig().businessBlipStreamOutDistance);
}
setElementTransient(entranceBlip, false);
businessData.entranceBlip = entranceBlip;
}
} else {
sendBusinessToPlayer(null, businessId, getBusinessData(businessId).name, getBusinessData(businessId).entrancePosition, blipModelId, getBusinessData(businessId).entrancePickupModel, getBusinessData(businessId).hasInterior, false);
sendBusinessToPlayer(null, businessId, businessData.name, businessData.entrancePosition, blipModelId, businessData.entrancePickupModel, businessData.hasInterior, false);
}
}
}
@@ -1810,26 +1824,35 @@ function createBusinessExitPickup(businessId) {
return false;
}
if(getBusinessData(businessId).hasInterior) {
if(getBusinessData(businessId).exitPickupModel != -1) {
let businessData = getBusinessData(businessId);
if(businessData.hasInterior) {
if(businessData.exitPickupModel != -1) {
let pickupModelId = getGameConfig().pickupModels[getGame()].Exit;
if(getServerData().businesses[businessId].exitPickupModel != 0) {
pickupModelId = getBusinessData(businessId).exitPickupModel;
pickupModelId = businessData.exitPickupModel;
}
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit pickup for business ${getBusinessData(businessId).name} (model ${pickupModelId})`);
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit pickup for business ${businessData.name} (model ${pickupModelId})`);
if(areServerElementsSupported()) {
let exitPickup = createGamePickup(pickupModelId, getBusinessData(businessId).exitPosition, getGameConfig().pickupTypes[getGame()].business);
let exitPickup = createGamePickup(pickupModelId, businessData.exitPosition, getGameConfig().pickupTypes[getGame()].business);
if(exitPickup != null) {
setElementDimension(exitPickup, getBusinessData(businessId).exitDimension);
setElementOnAllDimensions(exitPickup, false);
setElementStreamInDistance(exitPickup, getGlobalConfig().businessPickupStreamInDistance);
setElementStreamOutDistance(exitPickup, getGlobalConfig().businessPickupStreamOutDistance);
setElementTransient(exitPickup, false);
addToWorld(exitPickup);
if(businessData.exitDimension != -1) {
setElementDimension(exitPickup, businessData.exitDimension);
setElementOnAllDimensions(exitPickup, false);
} else {
setElementOnAllDimensions(exitPickup, true);
}
if(getGlobalConfig().businessPickupStreamInDistance == -1 || getGlobalConfig().businessPickupStreamOutDistance == -1) {
exitPickup.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(exitPickup, getGlobalConfig().businessPickupStreamInDistance);
setElementStreamOutDistance(exitPickup, getGlobalConfig().businessPickupStreamOutDistance);
}
setElementTransient(exitPickup, false);
getBusinessData(businessId).exitPickup = exitPickup;
updateBusinessPickupLabelData(businessId);
}
@@ -1852,27 +1875,36 @@ function createBusinessExitBlip(businessId) {
return false;
}
if(getBusinessData(businessId).hasInterior) {
if(getBusinessData(businessId).exitBlipModel != -1) {
let businessData = getBusinessData(businessId);
if(businessData.hasInterior) {
if(businessData.exitBlipModel != -1) {
let blipModelId = getGameConfig().blipSprites[getGame()].Business;
if(getServerData().businesses[businessId].exitBlipModel != 0) {
blipModelId = getBusinessData(businessId).exitBlipModel;
blipModelId = businessData.exitBlipModel;
}
if(areServerElementsSupported()) {
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit blip for business ${getBusinessData(businessId).name} (model ${blipModelId})`);
logToConsole(LOG_VERBOSE, `[VRR.Job]: Creating exit blip for business ${businessData.name} (model ${blipModelId})`);
let exitBlip = createGameBlip(getBusinessData(businessId).exitPosition, blipModelId, 1, getColourByName("businessBlue"));
let exitBlip = createGameBlip(businessData.exitPosition, blipModelId, 1, getColourByName("businessBlue"));
if(exitBlip != null) {
setElementDimension(exitBlip, getBusinessData(businessId).exitDimension);
setElementOnAllDimensions(exitBlip, false);
setElementStreamInDistance(exitBlip, getGlobalConfig().businessBlipStreamInDistance);
setElementStreamOutDistance(exitBlip, getGlobalConfig().businessBlipStreamOutDistance);
setElementTransient(exitBlip, false);
addToWorld(exitBlip);
if(businessData.exitDimension != -1) {
setElementDimension(exitBlip, businessData.exitDimension);
setElementOnAllDimensions(exitBlip, false);
} else {
setElementOnAllDimensions(exitBlip, true);
}
getBusinessData(businessId).exitBlip = exitBlip;
if(getGlobalConfig().businessBlipStreamInDistance == -1 || getGlobalConfig().businessBlipStreamOutDistance == -1) {
exitBlip.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(exitBlip, getGlobalConfig().businessBlipStreamInDistance);
setElementStreamOutDistance(exitBlip, getGlobalConfig().businessBlipStreamOutDistance);
}
setElementTransient(exitBlip, false);
businessData.exitBlip = exitBlip;
}
}
}

View File

@@ -841,126 +841,195 @@ function createAllHouseBlips() {
// ===========================================================================
function createHouseEntrancePickup(houseId) {
if(areServerElementsSupported()) {
return false;
}
if(!getServerConfig().createHousePickups) {
return false;
}
if(getHouseData(houseId).entrancePickupModel != -1) {
let pickupModelId = getGameConfig().pickupModels[getGame()].House;
if(!getHouseData(houseId)) {
return false;
}
if(getServerData().houses[houseId].entrancePickupModel != 0) {
pickupModelId = getHouseData(houseId).entrancePickupModel;
}
let houseData = getHouseData(houseId);
if(areServerElementsSupported()) {
let entrancePickup = createGamePickup(pickupModelId, getHouseData(houseId).entrancePosition, getGameConfig().pickupTypes[getGame()].house);
if(entrancePickup != null) {
setElementOnAllDimensions(entrancePickup, false);
setElementDimension(entrancePickup, getHouseData(houseId).entranceDimension);
setElementStreamInDistance(entrancePickup, getGlobalConfig().housePickupStreamInDistance);
setElementStreamOutDistance(entrancePickup, getGlobalConfig().housePickupStreamOutDistance);
setElementTransient(entrancePickup, false);
//if(houseData.hasInterior) {
// return false;
//}
getHouseData(houseId).entrancePickup = entrancePickup;
updateHousePickupLabelData(houseId);
}
}
if(houseData.entrancePickupModel == -1) {
return false;
}
let pickupModelId = getGameConfig().pickupModels[getGame()].House;
if(getServerData().houses[houseId].entrancePickupModel != 0) {
pickupModelId = getHouseData(houseId).entrancePickupModel;
}
let entrancePickup = createGamePickup(pickupModelId, getHouseData(houseId).entrancePosition, getGameConfig().pickupTypes[getGame()].house);
if(entrancePickup != null) {
setElementOnAllDimensions(entrancePickup, false);
setElementDimension(entrancePickup, getHouseData(houseId).entranceDimension);
setElementStreamInDistance(entrancePickup, getGlobalConfig().housePickupStreamInDistance);
setElementStreamOutDistance(entrancePickup, getGlobalConfig().housePickupStreamOutDistance);
setElementTransient(entrancePickup, false);
getHouseData(houseId).entrancePickup = entrancePickup;
updateHousePickupLabelData(houseId);
}
}
// ===========================================================================
function createHouseEntranceBlip(houseId) {
if(areServerElementsSupported()) {
return false;
}
if(!getServerConfig().createHouseBlips) {
return false;
}
if(getHouseData(houseId).entranceBlipModel != -1) {
let blipModelId = getGameConfig().blipSprites[getGame()].House;
if(!getHouseData(houseId)) {
return false;
}
if(getServerData().houses[houseId].entranceBlipModel != 0) {
blipModelId = getHouseData(houseId).entranceBlipModel;
let houseData = getHouseData(houseId);
//if(houseData.hasInterior) {
// return false;
//}
if(houseData.entranceBlipModel == -1) {
return false;
}
let blipModelId = getGameConfig().blipSprites[getGame()].House;
if(getServerData().houses[houseId].entranceBlipModel != 0) {
blipModelId = getHouseData(houseId).entranceBlipModel;
}
let entranceBlip = createGameBlip(houseData.entrancePosition, blipModelId, getColourByName("houseGreen"));
if(entranceBlip != null) {
if(houseData.exitDimension != -1) {
setElementDimension(entranceBlip, houseData.entranceDimension);
setElementOnAllDimensions(entranceBlip, false);
} else {
setElementOnAllDimensions(entranceBlip, true);
}
if(areServerElementsSupported()) {
let entranceBlip = createGameBlip(getHouseData(houseId).entrancePosition, blipModelId, getColourByName("houseGreen"));
if(entranceBlip != null) {
setElementDimension(entranceBlip, getHouseData(houseId).entranceDimension);
setElementOnAllDimensions(entranceBlip, false);
setElementStreamInDistance(entranceBlip, getGlobalConfig().houseBlipStreamInDistance);
setElementStreamOutDistance(entranceBlip, getGlobalConfig().houseBlipStreamOutDistance);
setElementTransient(entranceBlip, false);
setEntityData(entranceBlip, "vrr.owner.type", VRR_BLIP_HOUSE_ENTRANCE, false);
setEntityData(entranceBlip, "vrr.owner.id", houseId, false);
getHouseData(houseId).entranceBlip = entranceBlip;
}
if(getGlobalConfig().houseBlipStreamInDistance == -1 || getGlobalConfig().houseBlipStreamOutDistance == -1) {
entranceBlip.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(entranceBlip, getGlobalConfig().houseBlipStreamInDistance);
setElementStreamOutDistance(entranceBlip, getGlobalConfig().houseBlipStreamOutDistance);
}
setEntityData(entranceBlip, "vrr.owner.type", VRR_BLIP_HOUSE_ENTRANCE, false);
setEntityData(entranceBlip, "vrr.owner.id", houseId, false);
houseData.entranceBlip = entranceBlip;
}
}
// ===========================================================================
function createHouseExitPickup(houseId) {
if(areServerElementsSupported()) {
return false;
}
if(!getServerConfig().createHousePickups) {
return false;
}
if(getHouseData(houseId).hasInterior) {
if(getHouseData(houseId).exitPickupModel != -1) {
let pickupModelId = getGameConfig().pickupModels[getGame()].Exit;
if(getServerData().houses[houseId].exitPickupModel != 0) {
pickupModelId = getHouseData(houseId).exitPickupModel;
}
if(areServerElementsSupported()) {
let exitPickup = createGamePickup(pickupModelId, getHouseData(houseId).exitPosition, getGameConfig().pickupTypes[getGame()].house);
if(exitPickup != null) {
setElementDimension(exitPickup, getHouseData(houseId).exitDimension);
setElementOnAllDimensions(exitPickup, false);
setElementStreamInDistance(exitPickup, getGlobalConfig().housePickupStreamInDistance);
setElementStreamOutDistance(exitPickup, getGlobalConfig().housePickupStreamOutDistance);
setElementTransient(exitPickup, false);
getHouseData(houseId).exitPickup = exitPickup;
updateHousePickupLabelData(houseId);
}
}
}
if(!getHouseData(houseId)) {
return false;
}
let houseData = getHouseData(houseId);
if(houseData.hasInterior) {
return false;
}
if(houseData.exitPickupModel == -1) {
return false;
}
let pickupModelId = getGameConfig().pickupModels[getGame()].Exit;
if(getServerData().houses[houseId].exitPickupModel != 0) {
pickupModelId = houseData.exitPickupModel;
}
let exitPickup = createGamePickup(pickupModelId, getHouseData(houseId).exitPosition, getGameConfig().pickupTypes[getGame()].house);
if(exitPickup != null) {
setElementDimension(exitPickup, getHouseData(houseId).exitDimension);
setElementOnAllDimensions(exitPickup, false);
setElementStreamInDistance(exitPickup, getGlobalConfig().housePickupStreamInDistance);
setElementStreamOutDistance(exitPickup, getGlobalConfig().housePickupStreamOutDistance);
setElementTransient(exitPickup, false);
getHouseData(houseId).exitPickup = exitPickup;
updateHousePickupLabelData(houseId);
}
}
// ===========================================================================
function createHouseExitBlip(houseId) {
if(areServerElementsSupported()) {
return false;
}
if(!getServerConfig().createHouseBlips) {
return false;
}
if(getHouseData(houseId).hasInterior) {
if(getHouseData(houseId).exitBlipModel != -1) {
let blipModelId = getGameConfig().blipSprites[getGame()].House;
if(!getHouseData(houseId)) {
return false;
}
if(getServerData().houses[houseId].exitBlipModel != 0) {
blipModelId = getHouseData(houseId).exitBlipModel;
}
let houseData = getHouseData(houseId);
if(areServerElementsSupported()) {
let exitBlip = createGameBlip(blipModelId, getHouseData(houseId).exitPosition, 1, getColourByName("houseGreen"));
if(exitBlip != null) {
setElementDimension(exitBlip, getHouseData(houseId).entranceDimension);
setElementOnAllDimensions(exitBlip, false);
setElementStreamInDistance(exitBlip, getGlobalConfig().houseBlipStreamInDistance);
setElementStreamOutDistance(exitBlip, getGlobalConfig().houseBlipStreamOutDistance);
setElementTransient(exitBlip, false);
setEntityData(exitBlip, "vrr.owner.type", VRR_BLIP_HOUSE_EXIT, false);
setEntityData(exitBlip, "vrr.owner.id", houseId, false);
if(houseData.hasInterior) {
return false;
}
getHouseData(houseId).exitBlip = exitBlip;
}
}
if(houseData.exitBlipModel == -1) {
return false;
}
let blipModelId = getGameConfig().blipSprites[getGame()].House;
if(getServerData().houses[houseId].exitBlipModel != 0) {
blipModelId = getHouseData(houseId).exitBlipModel;
}
let exitBlip = createGameBlip(blipModelId, getHouseData(houseId).exitPosition, 1, getColourByName("houseGreen"));
if(exitBlip != null) {
if(houseData.exitDimension != -1) {
setElementDimension(exitBlip, houseData.exitDimension);
setElementOnAllDimensions(exitBlip, false);
} else {
setElementOnAllDimensions(entranceBlip, true);
}
if(getGlobalConfig().houseBlipStreamInDistance == -1 || getGlobalConfig().houseBlipStreamOutDistance == -1) {
exitBlip.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(exitBlip, getGlobalConfig().houseBlipStreamInDistance);
setElementStreamOutDistance(exitBlip, getGlobalConfig().houseBlipStreamOutDistance);
}
setElementTransient(exitBlip, false);
setEntityData(exitBlip, "vrr.owner.type", VRR_BLIP_HOUSE_EXIT, false);
setEntityData(exitBlip, "vrr.owner.id", houseId, false);
getHouseData(houseId).exitBlip = exitBlip;
}
}

View File

@@ -265,9 +265,14 @@ function createAllJobBlips() {
for(let i in getServerData().jobs) {
for(let j in getServerData().jobs[i].locations) {
getServerData().jobs[i].locations[j].blip = game.createBlip((getServerData().jobs[i].blipModel!=0) ? getServerData().jobs[i].blipModel : 0, getServerData().jobs[i].locations[j].position, 2, getColourByName("yellow"));
//setElementStreamInDistance(getServerData().jobs[i].locations[j].blip, getGlobalConfig().jobBlipStreamInDistance);
//setElementStreamOutDistance(getServerData().jobs[i].locations[j].blip, getGlobalConfig().jobBlipStreamOutDistance);
addToWorld(getServerData().jobs[i].locations[j].blip);
if(getGlobalConfig().jobBlipStreamInDistance == -1 || getGlobalConfig().jobBlipStreamOutDistance == -1) {
getServerData().jobs[i].locations[j].blip.netFlags.distanceStreaming = false;
} else {
setElementStreamInDistance(getServerData().jobs[i].locations[j].blip, getGlobalConfig().jobBlipStreamInDistance);
setElementStreamOutDistance(getServerData().jobs[i].locations[j].blip, getGlobalConfig().jobBlipStreamOutDistance);
}
//addToWorld(getServerData().jobs[i].locations[j].blip);
logToConsole(LOG_DEBUG, `[VRR.Job] Job '${getServerData().jobs[i].name}' location blip ${j} spawned!`);
}
}