|
import { Player, on, setTimeout, onServer, log, clearTimeout, emit, emitServer } from 'alt-client'; |
|
import game from 'natives'; |
|
|
|
onServer("Bus:From:Airport", async (vehicle) => { |
|
const driverStart = { |
|
x: -1016.289, |
|
y: -2759.372, |
|
z: 14.165, |
|
model: 's_m_y_airworker', |
|
heading: 45.0, |
|
}; |
|
const driverDest = { |
|
x: 456.035, |
|
y: -644.921, |
|
z: 28.359, |
|
}; |
|
const garage = { |
|
x: 441.69, |
|
y: -585.894, |
|
z: 28.5, |
|
}; |
|
let pedDriver = null; |
|
let timerToBusStation = null; |
|
let timerToGarage = null; |
|
loadModelAsync(driverStart.model).then(() => { |
|
pedDriver = game.createPed(1, game.getHashKey(driverStart.model), driverStart.x, driverStart.y, driverStart.z, driverStart.heading, false, false); |
|
on('resourceStop', () => { |
|
game.deletePed(pedDriver); |
|
}); |
|
game.giveWeaponToPed(pedDriver, 453432689, 100, false, true); |
|
game.requestAnimSet('move_m@drunk@verydrunk'); |
|
if (game.hasAnimSetLoaded('move_m@drunk@verydrunk')) { |
|
game.setPedMovementClipset(pedDriver, 'move_m@drunk@verydrunk', 0.0); |
|
game.setPedConfigFlag(pedDriver, 100, true); |
|
game.setPedIsDrunk(pedDriver, true); |
|
} |
|
game.taskWanderStandard(pedDriver, 10.0, 10); |
|
game.taskEnterVehicle(pedDriver, vehicle.scriptID, 60000, -1, 1.0, 0, 0); |
|
}); |
|
on('enteredVehicle', (vehicle, seat) => { |
|
if (seat !== 1) { |
|
if (timerToGarage) { |
|
clearTimeout(timerToGarage); |
|
} |
|
game.taskVehicleDriveToCoordLongrange(pedDriver, vehicle.scriptID, driverDest.x, driverDest.y, driverDest.z, 220.0, 525247, 5.0); |
|
} |
|
}); |
|
on('leftVehicle', (vehicle, seat) => { |
|
if (seat !== 1) { |
|
emit("Bus:To:Garage", pedDriver, vehicle); |
|
} |
|
}); |
|
on("Bus:To:Garage", (driver, bus) => { |
|
timerToGarage = setTimeout(() => { |
|
log('Take Bus to garage'); |
|
game.taskVehicleDriveToCoordLongrange(driver, bus.scriptID, garage.x, garage.y, garage.z, 220.0, 525247, 5.0); |
|
setTimeout(() => { |
|
game.deletePed(pedDriver); |
|
emitServer("Bus:To:Garage", bus); |
|
}, 45000); |
|
}, 15000); |
|
}); |
|
}); |