Business/house blips & pickups for IV
This commit is contained in:
@@ -69,4 +69,8 @@ let forceWantedLevel = 0;
|
|||||||
// Pre-cache all allowed skins
|
// Pre-cache all allowed skins
|
||||||
let allowedSkins = getAllowedSkins(getGame());
|
let allowedSkins = getAllowedSkins(getGame());
|
||||||
|
|
||||||
|
let businessBlips = {};
|
||||||
|
let houseBlips = {};
|
||||||
|
let jobBlips = {};
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -101,6 +101,11 @@ function addAllNetworkHandlers() {
|
|||||||
|
|
||||||
addNetworkEventHandler("vrr.logLevel", setLogLevel);
|
addNetworkEventHandler("vrr.logLevel", setLogLevel);
|
||||||
addNetworkEventHandler("vrr.infiniteRun", setLocalPlayerInfiniteRun);
|
addNetworkEventHandler("vrr.infiniteRun", setLocalPlayerInfiniteRun);
|
||||||
|
|
||||||
|
addNetworkEventHandler("vrr.business", receiveBusinessFromServer);
|
||||||
|
addNetworkEventHandler("vrr.house", receiveHouseFromServer);
|
||||||
|
|
||||||
|
addNetworkEventHandler("vrr.holdObject", localPlayerHoldObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -311,4 +316,12 @@ function setLocalPlayerSkin(skinId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
function makePedHoldObject(client, modelIndex) {
|
||||||
|
if(getGame() == VRR_GAME_GTA_IV) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -393,15 +393,34 @@ function syncElementProperties(element) {
|
|||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function receiveBlipFromServer(model, position) {
|
function receiveBusinessFromServer(businessId, name, entrancePosition, blipModel, pickupModel, hasInterior, hasItems) {
|
||||||
if(getGame() == VRR_GAME_GTA_IV) {
|
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 receivePickupFromServer(model, position) {
|
function receiveHouseFromServer(houseId, entrancePosition, blipModel, pickupModel, hasInterior) {
|
||||||
if(getGame() == VRR_GAME_GTA_IV) {
|
if(getGame() == VRR_GAME_GTA_IV) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1335,11 +1335,7 @@ function createAllBusinessBlips() {
|
|||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function createBusinessEntrancePickup(businessId) {
|
function createBusinessEntrancePickup(businessId) {
|
||||||
if(!areServerElementsSupported()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!getServerConfig().createBusinessPickups) {
|
if(!getServerConfig().createBusinessPickups) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1359,6 +1355,8 @@ function createBusinessEntrancePickup(businessId) {
|
|||||||
setElementDimension(getBusinessData(businessId).entrancePickup, getBusinessData(businessId).entranceDimension);
|
setElementDimension(getBusinessData(businessId).entrancePickup, getBusinessData(businessId).entranceDimension);
|
||||||
updateBusinessPickupLabelData(businessId);
|
updateBusinessPickupLabelData(businessId);
|
||||||
addToWorld(getBusinessData(businessId).entrancePickup);
|
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);
|
setElementOnAllDimensions(getBusinessData(businessId).entranceBlip, false);
|
||||||
setElementDimension(getBusinessData(businessId).entranceBlip, getBusinessData(businessId).entranceDimension);
|
setElementDimension(getBusinessData(businessId).entranceBlip, getBusinessData(businessId).entranceDimension);
|
||||||
addToWorld(getBusinessData(businessId).entranceBlip);
|
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) {
|
function deleteBusinessEntrancePickup(businessId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getBusinessData(businessId).entrancePickup != null) {
|
if(getBusinessData(businessId).entrancePickup != null) {
|
||||||
//removeFromWorld(getBusinessData(businessId).entrancePickup);
|
//removeFromWorld(getBusinessData(businessId).entrancePickup);
|
||||||
deleteGameElement(getBusinessData(businessId).entrancePickup);
|
deleteGameElement(getBusinessData(businessId).entrancePickup);
|
||||||
@@ -1561,6 +1565,10 @@ function deleteBusinessEntrancePickup(businessId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteBusinessExitPickup(businessId) {
|
function deleteBusinessExitPickup(businessId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getBusinessData(businessId).exitPickup != null) {
|
if(getBusinessData(businessId).exitPickup != null) {
|
||||||
//removeFromWorld(getBusinessData(businessId).exitPickup);
|
//removeFromWorld(getBusinessData(businessId).exitPickup);
|
||||||
deleteGameElement(getBusinessData(businessId).exitPickup);
|
deleteGameElement(getBusinessData(businessId).exitPickup);
|
||||||
@@ -1571,6 +1579,10 @@ function deleteBusinessExitPickup(businessId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteBusinessEntranceBlip(businessId) {
|
function deleteBusinessEntranceBlip(businessId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getBusinessData(businessId).entranceBlip != null) {
|
if(getBusinessData(businessId).entranceBlip != null) {
|
||||||
//removeFromWorld(getBusinessData(businessId).entranceBlip);
|
//removeFromWorld(getBusinessData(businessId).entranceBlip);
|
||||||
deleteGameElement(getBusinessData(businessId).entranceBlip);
|
deleteGameElement(getBusinessData(businessId).entranceBlip);
|
||||||
@@ -1581,6 +1593,10 @@ function deleteBusinessEntranceBlip(businessId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteBusinessExitBlip(businessId) {
|
function deleteBusinessExitBlip(businessId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getBusinessData(businessId).exitBlip != null) {
|
if(getBusinessData(businessId).exitBlip != null) {
|
||||||
//removeFromWorld(getBusinessData(businessId).exitBlip);
|
//removeFromWorld(getBusinessData(businessId).exitBlip);
|
||||||
deleteGameElement(getBusinessData(businessId).exitBlip);
|
deleteGameElement(getBusinessData(businessId).exitBlip);
|
||||||
|
|||||||
@@ -1146,4 +1146,32 @@ function sendHouseEntranceToPlayer(client, houseId, entrancePosition, blipModel,
|
|||||||
sendNetworkEventToPlayer("vrr.house", client, houseId, entrancePosition, blipModel, pickupModel, hasInterior);
|
sendNetworkEventToPlayer("vrr.house", client, houseId, entrancePosition, blipModel, pickupModel, hasInterior);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==========================================================================
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
@@ -596,6 +596,12 @@ function onPlayerSpawn(client) {
|
|||||||
logToConsole(LOG_DEBUG, `[VRR.Event] Updating all player name tags`);
|
logToConsole(LOG_DEBUG, `[VRR.Event] Updating all player name tags`);
|
||||||
updateAllPlayerNameTags();
|
updateAllPlayerNameTags();
|
||||||
|
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
sendAllBusinessEntrancesToPlayer(client);
|
||||||
|
sendAllHouseEntrancesToPlayer(client);
|
||||||
|
//sendAllJobLocationsToPlayer(client);
|
||||||
|
}
|
||||||
|
|
||||||
getPlayerData(client).payDayTickStart = sdl.ticks;
|
getPlayerData(client).payDayTickStart = sdl.ticks;
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1140,6 +1140,10 @@ function doesHouseHaveInterior(houseId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteHouseEntrancePickup(houseId) {
|
function deleteHouseEntrancePickup(houseId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getHouseData(houseId).entrancePickup != null) {
|
if(getHouseData(houseId).entrancePickup != null) {
|
||||||
//removeFromWorld(getHouseData(houseId).entrancePickup);
|
//removeFromWorld(getHouseData(houseId).entrancePickup);
|
||||||
deleteGameElement(getHouseData(houseId).entrancePickup);
|
deleteGameElement(getHouseData(houseId).entrancePickup);
|
||||||
@@ -1150,6 +1154,10 @@ function deleteHouseEntrancePickup(houseId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteHouseExitPickup(houseId) {
|
function deleteHouseExitPickup(houseId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getHouseData(houseId).exitPickup != null) {
|
if(getHouseData(houseId).exitPickup != null) {
|
||||||
//removeFromWorld(getHouseData(houseId).exitPickup);
|
//removeFromWorld(getHouseData(houseId).exitPickup);
|
||||||
deleteGameElement(getHouseData(houseId).exitPickup);
|
deleteGameElement(getHouseData(houseId).exitPickup);
|
||||||
@@ -1160,6 +1168,10 @@ function deleteHouseExitPickup(houseId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteHouseEntranceBlip(houseId) {
|
function deleteHouseEntranceBlip(houseId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getHouseData(houseId).entranceBlip != null) {
|
if(getHouseData(houseId).entranceBlip != null) {
|
||||||
//removeFromWorld(getHouseData(houseId).entranceBlip);
|
//removeFromWorld(getHouseData(houseId).entranceBlip);
|
||||||
deleteGameElement(getHouseData(houseId).entranceBlip);
|
deleteGameElement(getHouseData(houseId).entranceBlip);
|
||||||
@@ -1170,6 +1182,10 @@ function deleteHouseEntranceBlip(houseId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function deleteHouseExitBlip(houseId) {
|
function deleteHouseExitBlip(houseId) {
|
||||||
|
if(!areServerElementsSupported()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(getHouseData(houseId).exitBlip != null) {
|
if(getHouseData(houseId).exitBlip != null) {
|
||||||
//removeFromWorld(getHouseData(houseId).exitBlip);
|
//removeFromWorld(getHouseData(houseId).exitBlip);
|
||||||
deleteGameElement(getHouseData(houseId).exitBlip);
|
deleteGameElement(getHouseData(houseId).exitBlip);
|
||||||
|
|||||||
Reference in New Issue
Block a user