Delete job items on stop working

This commit is contained in:
Vortrex
2021-01-15 03:42:48 -06:00
parent f9517442e1
commit 41bfd2207a

View File

@@ -533,6 +533,7 @@ function stopWorking(client) {
getPlayerCurrentSubAccount(client).lastJobVehicle = false; getPlayerCurrentSubAccount(client).lastJobVehicle = false;
} }
deleteJobItems(client);
restorePlayerJobLockerItems(client); restorePlayerJobLockerItems(client);
let jobId = getPlayerCurrentSubAccount(client).job; let jobId = getPlayerCurrentSubAccount(client).job;
@@ -608,7 +609,7 @@ function jobUniformCommand(command, params, client) {
messagePlayerSuccess(client, `You have been given a [#AAAAAA]${uniforms[uniformId-1].name} [#FFFFFF]uniform and you can put it on from your inventory.`); messagePlayerSuccess(client, `You have been given a [#AAAAAA]${uniforms[uniformId-1].name} [#FFFFFF]uniform and you can put it on from your inventory.`);
let itemId = createItem(getItemTypeFromParams("Uniform"), getJobData(jobId).uniforms[uniformId].skin, AG_ITEM_OWNER_PLAYER, getPlayerCurrentSubAccount(client).databaseId); let itemId = createItem(getItemTypeFromParams("Outfit"), getJobData(jobId).uniforms[uniformId-1].skin, AG_ITEM_OWNER_PLAYER, getPlayerCurrentSubAccount(client).databaseId);
let freeSlot = getPlayerFirstEmptyHotBarSlot(client); let freeSlot = getPlayerFirstEmptyHotBarSlot(client);
getPlayerData(client).hotBarItems[freeSlot] = itemId; getPlayerData(client).hotBarItems[freeSlot] = itemId;
getPlayerData(client).jobEquipmentCache.push(itemId); getPlayerData(client).jobEquipmentCache.push(itemId);
@@ -1072,24 +1073,40 @@ function startJobRoute(client) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function stopJobRoute(client, successful = false) { function stopJobRoute(client, successful = false, alertPlayer = true) {
stopReturnToJobVehicleCountdown(client); stopReturnToJobVehicleCountdown(client);
sendPlayerStopJobRoute(client); sendPlayerStopJobRoute(client);
if(doesPlayerHaveJobType(client, AG_JOB_BUS)) { if(doesPlayerHaveJobType(client, AG_JOB_BUS)) {
respawnVehicle(getPlayerData(client).busRouteVehicle); respawnVehicle(getPlayerData(client).jobRouteVehicle);
messagePlayerAlert(client, `You stopped the ${getBusRouteData(getPlayerData(client).busRouteIsland, getPlayerData(client).busRoute).name} bus route! Your bus has been returned to the bus depot.`, getColourByName("yellow")); getPlayerData(client).jobRouteVehicle = false;
getPlayerData(client).busRouteVehicle = false; getPlayerData(client).jobRoute = false;
getPlayerData(client).busRoute = false; getPlayerData(client).jobRouteStop = false;
getPlayerData(client).busRouteStop = false; getPlayerData(client).jobRouteIsland = false;
getPlayerData(client).busRouteIsland = false;
if(alertPlayer) {
messagePlayerAlert(client, `You stopped the ${getBusRouteData(getPlayerData(client).jobRouteIsland, getPlayerData(client).jobRoute).name} bus route! Your bus has been returned to the bus depot.`, getColourByName("yellow"));
}
} else if(doesPlayerHaveJobType(client, AG_JOB_GARBAGE)) { } else if(doesPlayerHaveJobType(client, AG_JOB_GARBAGE)) {
respawnVehicle(getPlayerData(client).garbageRouteVehicle); respawnVehicle(getPlayerData(client).jobRouteVehicle);
messagePlayerAlert(client, `You stopped the ${getBusRouteData(getPlayerData(client).garbageRouteIsland, getPlayerData(client).garbageRoute).name} garbage route! Your trashmaster has been returned to the bus depot.`, getColourByName("yellow")); getPlayerData(client).jobRouteVehicle = false;
getPlayerData(client).garbageRouteVehicle = false; getPlayerData(client).jobRoute = false;
getPlayerData(client).garbageRoute = false; getPlayerData(client).jobRouteStop = false;
getPlayerData(client).garbageRouteStop = false; getPlayerData(client).jobRouteIsland = false;
getPlayerData(client).garbageRouteIsland = false;
if(alertPlayer) {
messagePlayerAlert(client, `You stopped the ${getGarbageRouteData(getPlayerData(client).jobRouteIsland, getPlayerData(client).jobRoute).name} garbage route! Your trashmaster has been returned to the bus depot.`, getColourByName("yellow"));
}
} else if(doesPlayerHaveJobType(client, AG_JOB_POLICE)) {
respawnVehicle(getPlayerData(client).jobRouteVehicle);
getPlayerData(client).jobRouteVehicle = false;
getPlayerData(client).jobRoute = false;
getPlayerData(client).jobRouteStop = false;
getPlayerData(client).jobRouteIsland = false;
if(alertPlayer) {
messagePlayerAlert(client, `You stopped the ${getPolicePatrolRouteData(getPlayerData(client).jobRouteIsland, getPlayerData(client).jobRoute).name} patrol route! Your police car has been returned to the station.`, getColourByName("yellow"));
}
} }
} }
@@ -1464,12 +1481,12 @@ function createJobLocationPickup(jobId, locationId) {
getJobData(jobId).locations[locationId].pickup = gta.createPickup(pickupModelId, getJobData(jobId).locations[locationId].position, getGameConfig().pickupTypes[getServerGame()].job); getJobData(jobId).locations[locationId].pickup = gta.createPickup(pickupModelId, getJobData(jobId).locations[locationId].position, getGameConfig().pickupTypes[getServerGame()].job);
getJobData(jobId).locations[locationId].pickup.dimension = getJobData(jobId).locations[locationId].dimension; getJobData(jobId).locations[locationId].pickup.dimension = getJobData(jobId).locations[locationId].dimension;
addToWorld(getJobData(jobId).locations[locationId].pickup);
setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.owner.type", AG_PICKUP_JOB, false); setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.owner.type", AG_PICKUP_JOB, false);
setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, locationId, false); setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.owner.id", locationId, false);
setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, AG_LABEL_JOB, true); setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.label.type", AG_LABEL_JOB, true);
setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, getServerData().jobs[jobId].name, true); setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.label.name", getJobData(jobId).name, true);
setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, jobId, true); setEntityData(getServerData().jobs[jobId].locations[locationId].pickup, "ag.label.jobType", jobId, true);
addToWorld(getJobData(jobId).locations[locationId].pickup);
} }
} }
@@ -1576,4 +1593,19 @@ function playerArrivedAtJobRouteStop(client) {
} }
} }
// ---------------------------------------------------------------------------
function deleteJobItems(client) {
for(let i in getPlayerData(client).jobEquipmentCache) {
for(let j in getPlayerData(client).hotBarItems) {
if(getPlayerData(client).hotBarItems[j] == getPlayerData(client).jobEquipmentCache[i]) {
getPlayerData(client).hotBarItems[j] = -1;
}
}
deleteItem(getPlayerData(client).jobEquipmentCache[i]);
}
}
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------