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;