Business/house blips & pickups for IV

This commit is contained in:
Vortrex
2022-03-07 07:37:41 -06:00
parent 1350cd1045
commit bdee71440f
7 changed files with 110 additions and 8 deletions

View File

@@ -69,4 +69,8 @@ let forceWantedLevel = 0;
// Pre-cache all allowed skins
let allowedSkins = getAllowedSkins(getGame());
let businessBlips = {};
let houseBlips = {};
let jobBlips = {};
// ===========================================================================

View File

@@ -101,6 +101,11 @@ function addAllNetworkHandlers() {
addNetworkEventHandler("vrr.logLevel", setLogLevel);
addNetworkEventHandler("vrr.infiniteRun", setLocalPlayerInfiniteRun);
addNetworkEventHandler("vrr.business", receiveBusinessFromServer);
addNetworkEventHandler("vrr.house", receiveHouseFromServer);
addNetworkEventHandler("vrr.holdObject", localPlayerHoldObject);
}
// ===========================================================================
@@ -312,3 +317,11 @@ function setLocalPlayerSkin(skinId) {
}
// ===========================================================================
function makePedHoldObject(client, modelIndex) {
if(getGame() == VRR_GAME_GTA_IV) {
}
}
// ===========================================================================

View File

@@ -393,15 +393,34 @@ function syncElementProperties(element) {
// ===========================================================================
function receiveBlipFromServer(model, position) {
if(getGame() == VRR_GAME_GTA_IV) {
}
}
// ===========================================================================
function receivePickupFromServer(model, position) {
function receiveBusinessFromServer(businessId, name, entrancePosition, blipModel, pickupModel, hasInterior, hasItems) {
if(getGame() == VRR_GAME_GTA_IV) {
if(typeof businessBlips[businessId] != "undefined") {
if(blipModel == -1) {
natives.removeBlipAndClearIndex(businessBlips[businessId]);
businessBlips.splice(businessId, 1);
} else {
natives.setBlipCoordinates(businessBlips[businessId], entrancePosition);
natives.changeBlipSprite(businessBlips[businessId], blipModel);
natives.changeBlipNameFromAscii(businessBlips[businessId], `${name.substr(0, 24)}${(name.length > 24) ? " ...": ""}`);
}
} else {
if(blipModel != -1) {
let blipId = natives.addBlipForCoord(entrancePosition);
if(blipId) {
businessBlips[businessId] = blipId;
natives.changeBlipSprite(blipId, blipModel);
natives.setBlipMarkerLongDistance(blipId, true);
natives.changeBlipNameFromAscii(blipId, `${name.substr(0, 24)}${(name.length > 24) ? " ...": ""}`);
}
}
}
}
}
// ===========================================================================
function receiveHouseFromServer(houseId, entrancePosition, blipModel, pickupModel, hasInterior) {
if(getGame() == VRR_GAME_GTA_IV) {
}

View File

@@ -1336,10 +1336,6 @@ function createAllBusinessBlips() {
// ===========================================================================
function createBusinessEntrancePickup(businessId) {
if(!areServerElementsSupported()) {
return false;
}
if(!getServerConfig().createBusinessPickups) {
return false;
}
@@ -1359,6 +1355,8 @@ function createBusinessEntrancePickup(businessId) {
setElementDimension(getBusinessData(businessId).entrancePickup, getBusinessData(businessId).entranceDimension);
updateBusinessPickupLabelData(businessId);
addToWorld(getBusinessData(businessId).entrancePickup);
} else {
sendBusinessEntranceToPlayer(null, businessId, getBusinessData(businessId), getBusinessData(businessId).entrancePosition, getBusinessData(businessId).entranceBlipModel, getBusinessData(businessId).entrancePickupModel, getBusinessData(businessId).hasInterior, false);
}
}
}
@@ -1388,6 +1386,8 @@ function createBusinessEntranceBlip(businessId) {
setElementOnAllDimensions(getBusinessData(businessId).entranceBlip, false);
setElementDimension(getBusinessData(businessId).entranceBlip, getBusinessData(businessId).entranceDimension);
addToWorld(getBusinessData(businessId).entranceBlip);
} else {
sendBusinessEntranceToPlayer(null, businessId, getBusinessData(businessId).name, getBusinessData(businessId).entrancePosition, blipModelId, getBusinessData(businessId).entrancePickupModel, getBusinessData(businessId).hasInterior, false);
}
}
}
@@ -1551,6 +1551,10 @@ function doesBusinessHaveInterior(businessId) {
// ===========================================================================
function deleteBusinessEntrancePickup(businessId) {
if(!areServerElementsSupported()) {
return false;
}
if(getBusinessData(businessId).entrancePickup != null) {
//removeFromWorld(getBusinessData(businessId).entrancePickup);
deleteGameElement(getBusinessData(businessId).entrancePickup);
@@ -1561,6 +1565,10 @@ function deleteBusinessEntrancePickup(businessId) {
// ===========================================================================
function deleteBusinessExitPickup(businessId) {
if(!areServerElementsSupported()) {
return false;
}
if(getBusinessData(businessId).exitPickup != null) {
//removeFromWorld(getBusinessData(businessId).exitPickup);
deleteGameElement(getBusinessData(businessId).exitPickup);
@@ -1571,6 +1579,10 @@ function deleteBusinessExitPickup(businessId) {
// ===========================================================================
function deleteBusinessEntranceBlip(businessId) {
if(!areServerElementsSupported()) {
return false;
}
if(getBusinessData(businessId).entranceBlip != null) {
//removeFromWorld(getBusinessData(businessId).entranceBlip);
deleteGameElement(getBusinessData(businessId).entranceBlip);
@@ -1581,6 +1593,10 @@ function deleteBusinessEntranceBlip(businessId) {
// ===========================================================================
function deleteBusinessExitBlip(businessId) {
if(!areServerElementsSupported()) {
return false;
}
if(getBusinessData(businessId).exitBlip != null) {
//removeFromWorld(getBusinessData(businessId).exitBlip);
deleteGameElement(getBusinessData(businessId).exitBlip);

View File

@@ -1147,3 +1147,31 @@ function sendHouseEntranceToPlayer(client, houseId, entrancePosition, blipModel,
}
// ==========================================================================
function sendAllBusinessEntrancesToPlayer(client) {
let businesses = getServerData().businesses;
for(let i in businesses) {
if(businesses[i].entranceBlipModel > 0) {
sendBusinessEntranceToPlayer(client, businesses[i].index, businesses[i].name, businesses[i].entrancePosition, businesses[i].entranceBlipModel, businesses[i].entrancePickupModel, businesses[i].hasInterior, false);
}
}
}
// ==========================================================================
function sendAllHouseEntrancesToPlayer(client) {
let houses = getServerData().houses;
for(let i in houses) {
if(houses[i].entranceBlipModel > 0) {
sendBusinessEntranceToPlayer(client, businesses[i].index, houses[i].entrancePosition, houses[i].entranceBlipModel, houses[i].entrancePickupModel, houses[i].hasInterior);
}
}
}
// ==========================================================================
function makePlayerHoldObjectModel(client, modelIndex) {
sendNetworkEventToPlayer("vrr.holdObject", client, modelIndex);
}
// ==========================================================================

View File

@@ -596,6 +596,12 @@ function onPlayerSpawn(client) {
logToConsole(LOG_DEBUG, `[VRR.Event] Updating all player name tags`);
updateAllPlayerNameTags();
if(!areServerElementsSupported()) {
sendAllBusinessEntrancesToPlayer(client);
sendAllHouseEntrancesToPlayer(client);
//sendAllJobLocationsToPlayer(client);
}
getPlayerData(client).payDayTickStart = sdl.ticks;
//}
}

View File

@@ -1140,6 +1140,10 @@ function doesHouseHaveInterior(houseId) {
// ===========================================================================
function deleteHouseEntrancePickup(houseId) {
if(!areServerElementsSupported()) {
return false;
}
if(getHouseData(houseId).entrancePickup != null) {
//removeFromWorld(getHouseData(houseId).entrancePickup);
deleteGameElement(getHouseData(houseId).entrancePickup);
@@ -1150,6 +1154,10 @@ function deleteHouseEntrancePickup(houseId) {
// ===========================================================================
function deleteHouseExitPickup(houseId) {
if(!areServerElementsSupported()) {
return false;
}
if(getHouseData(houseId).exitPickup != null) {
//removeFromWorld(getHouseData(houseId).exitPickup);
deleteGameElement(getHouseData(houseId).exitPickup);
@@ -1160,6 +1168,10 @@ function deleteHouseExitPickup(houseId) {
// ===========================================================================
function deleteHouseEntranceBlip(houseId) {
if(!areServerElementsSupported()) {
return false;
}
if(getHouseData(houseId).entranceBlip != null) {
//removeFromWorld(getHouseData(houseId).entranceBlip);
deleteGameElement(getHouseData(houseId).entranceBlip);
@@ -1170,6 +1182,10 @@ function deleteHouseEntranceBlip(houseId) {
// ===========================================================================
function deleteHouseExitBlip(houseId) {
if(!areServerElementsSupported()) {
return false;
}
if(getHouseData(houseId).exitBlip != null) {
//removeFromWorld(getHouseData(houseId).exitBlip);
deleteGameElement(getHouseData(houseId).exitBlip);