Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /************************* FORWARDS ***************************/
- forward ModeInit();
- forward StateChange(playerid, newstate, oldstate);
- forward GetPositionAll();
- forward Corrida(vehicleid);
- /********************** VARIÁVEIS ****************************/
- new Float:VehicleX[MAX_VEHICLES];
- new Float:VehicleY[MAX_VEHICLES];
- new Float:VehicleZ[MAX_VEHICLES];
- new Float:Percorreu[MAX_VEHICLES];
- new Timer[MAX_VEHICLES];
- new ID[MAX_PLAYERS];
- /************************************************************/
- public OnGameModeInit()
- {
- SetTimer("GetPositionAll", 5000, false);
- return CallLocalFunction("ModeInit", "");
- }
- public GetPositionAll()
- {
- for(new v; v < MAX_VEHICLES; v++)
- {
- if(GetVehicleModel(v) != 0) GetVehiclePos(v, VehicleX[v], VehicleY[v], VehicleZ[v]);
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- ID[playerid] = GetPlayerVehicleID(playerid);
- Timer[ID[playerid]] = SetTimerEx("Corrida", 5000, true, "i", ID[playerid]);
- }
- if(oldstate == PLAYER_STATE_DRIVER)
- {
- KillTimer(Timer[ID[playerid]]);
- }
- return CallLocalFunction("StateChange", "iii",playerid, newstate, oldstate);
- }
- public Corrida(vehicleid)
- {
- Percorreu[vehicleid] += GetVehicleDistanceFromPoint(vehicleid, VehicleX[vehicleid], VehicleY[vehicleid], VehicleZ[vehicleid]);
- GetVehiclePos(vehicleid, VehicleX[vehicleid], VehicleY[vehicleid], VehicleZ[vehicleid]);
- return 1;
- }
- /********************************** STOCKS ***************************************/
- stock Float:GetDistanceTraveled(vehicleid)
- {
- Corrida(vehicleid);
- return Percorreu[vehicleid];
- }
- stock SetVehiclePosEx(vehicleid, Float:X, Float:Y, Float:Z)
- {
- SetVehiclePos(vehicleid, X, Y, Z);
- VehicleX[vehicleid] = X;
- VehicleY[vehicleid] = Y;
- VehicleZ[vehicleid] = Z;
- return 1;
- }
- stock CreateVehicleEx(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
- {
- new nID = CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay);
- GetVehiclePos(nID,VehicleX[nID], VehicleY[nID], VehicleZ[nID]);
- return nID;
- }
- /********** HOOKS **************/
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #if defined _ALS_OnPlayerStateChange
- #undef OnPlayerStateChange
- #else
- #define _ALS_OnPlayerStateChange
- #endif
- #define OnGameModeInit ModeInit
- #define OnPlayerStateChange StateChange
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement