From 24ddb20739fb7ff0d3fa8737fb4b6ab9c0de6583 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Wed, 4 May 2022 13:03:56 -0500 Subject: [PATCH] Use exterior business entrance for closest job point --- scripts/server/house.js | 18 ++++++++++++++++++ scripts/server/job.js | 14 ++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/scripts/server/house.js b/scripts/server/house.js index 3b664630..ff258777 100644 --- a/scripts/server/house.js +++ b/scripts/server/house.js @@ -1520,4 +1520,22 @@ function updateHousePickupLabelData(houseId) { } } +// =========================================================================== + +function deleteAllHouseBlips() { + for(let i in getServerData().houses) { + deleteHouseEntranceBlip(i); + deleteHouseExitBlip(i); + } +} + +// =========================================================================== + +function deleteAllHousePickups() { + for(let i in getServerData().houses) { + deleteHouseEntrancePickup(i); + deleteHouseExitPickup(i); + } +} + // =========================================================================== \ No newline at end of file diff --git a/scripts/server/job.js b/scripts/server/job.js index b28591a2..93043290 100644 --- a/scripts/server/job.js +++ b/scripts/server/job.js @@ -2635,8 +2635,6 @@ function createJobRouteLocationCommand(command, params, client) { return false; } - - if(!isPlayerOnJobRoute(client)) { messagePlayerError(client, getLocaleString(client, "NeedToBeOnJobRoute", "{ALTCOLOUR}/startroute{MAINCOLOUR}")); return false; @@ -2843,9 +2841,17 @@ function getClosestJobLocation(position) { let closestJobLocation = false; for(let i in getServerData().jobs) { for(let j in getServerData().jobs[i].locations) { - if(!closestJobLocation || getServerData().jobs[i].locations[j].position.distance(position) < closestJobLocation.position.distance(position)) { - closestJobLocation = getServerData().jobs[i].locations[j]; + if(getServerData().jobs[i].locations[j].interior != getGameConfig().mainWorldInterior[getGame()] || getServerData().jobs[i].locations[j].dimension != getGameConfig().mainWorldDimension[getGame()]) { + let businessId = getBusinessFromInteriorAndDimension(getServerData().jobs[i].locations[j].dimension, getServerData().jobs[i].locations[j].interior); + if(getBusinessData(businessId) != false) { + position = getBusinessData(businessId).entrancePosition; + } + + if(!closestJobLocation || getServerData().jobs[i].locations[j].position.distance(position) < closestJobLocation.position.distance(position)) { + closestJobLocation = getServerData().jobs[i].locations[j]; + } } + } } return closestJobLocation;