Created
September 11, 2014 18:19
-
-
Save mabako/038e2e8079ae70387a08 to your computer and use it in GitHub Desktop.
vehicle-events.nut
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Events | |
{ | |
/* | |
* Add all Events & Execute the relevant ones for the players currently in game | |
*/ | |
function Initialize() | |
{ | |
Event.Add(Package.Current(), "stop", OnStop); | |
Event.Add(Player, "enterVehicle", OnEnterVehicle); | |
Event.Add(Player, "exitVehicle", OnExitVehicle); | |
OnStart(); | |
} | |
/* | |
* Load all vehicles. | |
*/ | |
function OnStart() | |
{ | |
foreach(_, data in _sql._Select(CVehicle.GetQueryStub())) | |
CVehicle(data).Create(); | |
print("[vehicles] Spawned " + vehicles.len() + " vehicle(s)"); | |
} | |
/* | |
* Save all positions | |
*/ | |
function OnStop(...) | |
{ | |
foreach(vehicle in vehicles) | |
vehicle.Destroy(); | |
} | |
/* | |
* Handle entering a vehicle | |
*/ | |
function OnEnterVehicle(player, vehicle, door, seat) | |
{ | |
if(vehicles.rawin(vehicle)) | |
{ | |
local v = vehicles[vehicle]; | |
player.SendMessage("#999999* This " + v.GetName() + " " + v.GetOwnerForEntryMessage() + "."); | |
} | |
else | |
player.SendMessage("#999999* This is a Civilian Vehicle."); | |
} | |
/* | |
* Save vehicle position upon exiting it. | |
*/ | |
function OnExitVehicle(player, vehicle) | |
{ | |
if(vehicles.rawin(vehicle)) | |
vehicles[vehicle].Save(); | |
} | |
} | |
Event.Add(Package.Current(), "start", @(...) Events.Initialize()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment