Add garbage route funcs

This commit is contained in:
Vortrex
2020-12-27 12:34:20 -06:00
parent accb342fd2
commit 1aedd4aa32

View File

@@ -10,13 +10,11 @@
let garbageRoutes = [ let garbageRoutes = [
false, false,
[ // GTA 3
// GTA 3 [ // PORTLAND ISLAND (0)
[ { // ROUTE 0
// PORTLAND ISLAND ROUTE 1
{
name: "Portland #1", name: "Portland #1",
island: 1, island: 0,
positions: [ positions: [
toVector3(1169.8, -45.54, 10.4), toVector3(1169.8, -45.54, 10.4),
toVector3(928, -59.1, 8.61), toVector3(928, -59.1, 8.61),
@@ -34,11 +32,11 @@ let garbageRoutes = [
toVector3(1226.5, -52.41, 10.42) , toVector3(1226.5, -52.41, 10.42) ,
], ],
}, },
],
// STAUNTON ISLAND ROUTE 1 [ // STAUNTON ISLAND (1)
{ { // ROUTE 0
name: "Staunton #1", name: "Staunton #1",
island: 2, island: 1,
positions: [ positions: [
toVector3(49.85, -1539.9, 26.6), toVector3(49.85, -1539.9, 26.6),
toVector3(49.71, -1458.1, 26.6), toVector3(49.71, -1458.1, 26.6),
@@ -51,6 +49,7 @@ let garbageRoutes = [
toVector3(-0.02, -790.9, 26.64), toVector3(-0.02, -790.9, 26.64),
], ],
}, },
]
], ],
// GTA VC // GTA VC
@@ -70,3 +69,95 @@ let garbageRoutes = [
], ],
]; ];
// ---------------------------------------------------------------------------
function getRandomGarbageRoute(island) {
if(garbageRoutes[getServerGame()][island].length == 1) {
return 0;
}
return getRandom(0, garbageRoutes[getServerGame()][island].length-1);
}
// ---------------------------------------------------------------------------
function getNextStopOnGarbageRoute(island, garbageRoute, garbageRouteStop) {
if(!isLastStopOnGarbageRoute(island, garbageRoute, garbageRouteStop)) {
return garbageRouteStop+1;
} else {
return garbageRoutes[getServerGame()][island][garbageRoute].positions.length-1;
}
}
// ---------------------------------------------------------------------------
function isLastStopOnGarbageRoute(island, garbageRoute, garbageRouteStop) {
if(garbageRouteStop == garbageRoutes[getServerGame()][island][garbageRoute].positions.length-1) {
return true;
}
return false;
}
// ---------------------------------------------------------------------------
function freezeGarbageForStop(client) {
getVehicleData(getPlayerVehicle(client)).engine = false;
getPlayerVehicle(client).engine = false;
}
// ---------------------------------------------------------------------------
function unFreezeGarbageForStop(client) {
getVehicleData(getPlayerVehicle(client)).engine = true;
getPlayerVehicle(client).engine = true;
}
// ---------------------------------------------------------------------------
function showNextGarbageStop(client) {
getPlayerData(client).garbageRouteStop = getNextStopOnGarbageRoute(getPlayerData(client).garbageRouteStop, getPlayerData(client).garbageRoute, getPlayerData(client).garbageRouteStop);
showCurrentGarbageStop(client);
}
// ---------------------------------------------------------------------------
function showCurrentGarbageStop(client) {
triggerNetworkEvent("ag.showGarbageStop", client, getGarbageRouteStopPosition(getPlayerIsland(client), getPlayerData(client).garbageRoute, getPlayerData(client).garbageRouteStop), getColourByName("garbageDriverGreen"));
}
// ---------------------------------------------------------------------------
function arrivedAtGarbageStop(client) {
if(isLastStopOnGarbageRoute(getPlayerData(client).garbageRouteIsland, getPlayerData(client).garbageRoute, getPlayerData(client).garbageRouteStop)) {
respawnVehicle(getPlayerData(client).garbageRouteVehicle);
messageClientNormal(client, `You finished the ${getGarbageRouteData(getPlayerData(client).garbageRouteIsland, getPlayerData(client).garbageRoute).name} garbage route! Your trashmaster has been returned to the garbage depot.`, getColourByName("yellow"));
getPlayerData(client).garbageRouteVehicle = false;
getPlayerData(client).garbageRoute = 0;
getPlayerData(client).garbageRouteStop = 0;
getPlayerData(client).garbageRouteIsland = 0;
return false;
}
showGameMessage(client, "⌛ Please wait a moment while the garbage is loaded into your truck.", getColourByName("mediumGrey"), 3500);
freezeGarbageForStop(client);
getPlayerData(client).garbageRouteStop = getNextStopOnGarbageRoute(getPlayerData(client).garbageRouteIsland, getPlayerData(client).garbageRoute, getPlayerData(client).garbageRouteStop);
setTimeout(function() {
unFreezeGarbageForStop(client);
showCurrentGarbageStop(client);
showGameMessage(client, "Proceed to the next stop (grey checkpoint)", getColourByName("mediumGrey"), 3500);
}, 5000);
}
// ---------------------------------------------------------------------------
function getGarbageRouteStopPosition(island, garbageRoute, garbageRouteStop) {
return garbageRoutes[getServerGame()][island][garbageRoute].positions[garbageRouteStop];
}
// ---------------------------------------------------------------------------
function getGarbageRouteData(island, garbageRoute) {
return garbageRoutes[getServerGame()][island][garbageRoute];
}
// ---------------------------------------------------------------------------