rendered paste body#include <a_samp>#include <xgas>new Filling[MAX_PLAYERS];new Float:Station[16][3] = { {2109.2126,917.5845,10.8203}, {2640.1831,1103.9224,10.8203}, {611.8934,1694.7921,6.7193}, {-1327.5398,2682.9771,49.7896}, {-2413.7427,975.9317,45.0031}, {-1672.3597,414.2950,6.8866}, {-2244.1365,-2560.6294,31.6276}, {-1603.0166,-2709.3589,48.2419}, {1939.3275,-1767.6813,13.2787}, {-94.7651,-1174.8079,1.9979}, {1381.6699,462.6467,19.8540}, {657.8167,-559.6507,16.0630}, {-1478.2916,1862.8318,32.3617}, {2147.3054,2744.9377,10.5263}, {2204.9602,2480.3494,10.5278}, {1590.9493,2202.2637,10.5247}};main(){ print("\n----------------------------------"); print(" xGas_Example Script by Pixels^"); print("----------------------------------\n");}public OnGameModeInit(){ SetGameModeText("xGas_Example"); xGas_SetAllEngineOil(100); SetTimer("Fuel",1000,1); SetTimer("Check",2000,1); SetTimer("VTick",1000,1); AddPlayerClass(250, -2345.5618, -166.8193, 35.6547, 269.1425, 0, 0, 0, 0, 0, 0); AddFueledVehicle(415,-2342.1238,-126.2422,35.0558,4.6324,24,118); AddFueledVehicle(542,-2348.2932,-126.3289,35.0557,358.1899,24,118); for(new v=0; v<GetMaxVehicles(); v++) { switch(GetVehicleType(v)) { case VTYPE_CAR: xGas_SetGas(v,50); case VTYPE_BIKE: xGas_SetGas(v,33); case VTYPE_SEA: xGas_SetGas(v,28); case VTYPE_AIR: xGas_SetGas(v,80); case VTYPE_HEAVY: xGas_SetGas(v,20); } } return 1;}public OnPlayerRequestClass(playerid, classid){ SetPlayerPos(playerid, 1954.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1;}public OnGameModeExit(){ return 1;}public OnPlayerConnect(playerid){ return 1;}public OnPlayerDisconnect(playerid){ return 1;}public OnPlayerSpawn(playerid){ return 1;}public OnPlayerDeath(playerid, killerid, reason){ return 1;}public OnVehicleSpawn(vehicleid){ return 1;}public OnVehicleDeath(vehicleid, killerid){ return 1;}public OnPlayerText(playerid){ return 1;}public OnPlayerCommandText(playerid, cmdtext[]){ new string[76]; new v = GetPlayerVehicleID(playerid); if(strcmp(cmdtext, "/showgas", true) == 0) { format(string,sizeof(string),"%d",xGas_ShowGas(v)); SendClientMessage(playerid,0xFFFFFFAA,string); return 1; } if(strcmp(cmdtext, "/refuel", true) == 0) { if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,0xFF0000AA,"Not in any vehicle"); return 1; } if(GetPlayerMoney(playerid) <= 99 && GetPlayerMoney(playerid) >= 1) { SendClientMessage(playerid,0xFF0000AA,"Not enough money to refuel"); return 1; } Filling[playerid] = 1; GivePlayerMoney(playerid,-100); SendClientMessage(playerid,0xFFFFFFAA,"Filling vehicle"); return 1; } if(strcmp(cmdtext, "/repair", true) == 0) { if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,0xFF0000AA,"Not in any vehicle"); return 1; } if(GetPlayerMoney(playerid) <= 99 && GetPlayerMoney(playerid) >= 1) { SendClientMessage(playerid,0xFF0000AA,"Not enough money to refuel"); return 1; } if(xGas_GetEngineOil(v) >= 85) { SendClientMessage(playerid,0xFF0000AA,"Your engine oil is in a good state"); return 1; } Filling[playerid] = 2; GivePlayerMoney(playerid,-100); SendClientMessage(playerid,0xFFFFFFAA,"Repairing vehicle"); return 1; } return 0;}public OnPlayerInfoChange(playerid){ return 1;}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ return 1;}public OnPlayerExitVehicle(playerid, vehicleid){ return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){ if(newstate == PLAYER_STATE_DRIVER) { new string[86]; new vehicle = GetPlayerVehicleID(playerid); format(string,sizeof(string),"Vehicle last used %d seconds ago",GetVehicleTick(vehicle)); if(GetVehicleTick(vehicle) <= 100) { SendClientMessage(playerid,0xFFFF00AA,"Fresh vehicle!"); } if(GetVehicleTick(vehicle) >= 300) { SendClientMessage(playerid,0xFFFF00AA,"Rusty old vehicle!"); } SendClientMessage(playerid,0xFFFF00AA,string); } return 1;}public OnPlayerEnterCheckpoint(playerid){ return 1;}public OnPlayerLeaveCheckpoint(playerid){ return 1;}public Fuel() { for(new i=0; i<MAX_PLAYERS; i++) { if(GetPlayerState(i) == 2) { new v = GetPlayerVehicleID(i); new string[76]; if(Filling[i] == 1) { if(xGas_GetGas(v) >= 100) { SendClientMessage(i,0xFF0000AA,"Vehicle refueled"); return Filling[i] = 0; } xGas_Fuel(v); format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~w~Fuel %d~n~EngineOil %d",xGas_GetGas(v),xGas_GetEngineOil(v)); return GameTextForPlayer(i,string,2000,1); } if(Filling[i] == 2) { if(xGas_GetEngineOil(v) >= 100) { SendClientMessage(i,0xFF0000AA,"Vehicle repaired"); return Filling[i] = 0; } if(GetVehicleTick(v) >= 10) { SubVehicleTick(v,10); } if(GetVehicleTick(v) <= 5) { } xGas_EngineOil(v,true,10); format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~w~Fuel %d~n~EngineOil %d",xGas_GetGas(v),xGas_GetEngineOil(v)); return GameTextForPlayer(i,string,2000,1); } if(xGas_GetGas(v) <= 0) { TogglePlayerControllable(i,0); return SendClientMessage(i,0xFF0000AA,"You have ran out of fuel"); } if(xGas_GetEngineOil(v) <= 0) { TogglePlayerControllable(i,0); return SendClientMessage(i,0xFF0000AA,"Your engine oil just damaged your engine"); } for(new ve=0; ve<GetMaxVehicles(); ve++) { xGas_Deplete(ve); xGas_EngineOil(ve,false,1); // usage of engine oil } format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~w~Fuel %d~n~EngineOil %d",xGas_GetGas(v),xGas_GetEngineOil(v)); return GameTextForPlayer(i,string,2000,1); } } return 1;}public Check() { for(new i=0; i<MAX_PLAYERS; i++) { for(new c=0; c<16; c++) { if(PlayerToPoint(i,13,Station[c][0],Station[c][1],Station[c][1])) { GameTextForPlayer(i,"~w~/refuel for gas~n~~y~/repair for engine oil",1000,1); return 1; } } } return 1;}public VTick() { for(new v=0; v<GetMaxVehicles(); v++) { for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerInVehicle(i,v)) { SetVehicleTick(v,0); } else { AddVehicleTick(v,1); } } }}stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tmpposx, Float:tmpposy, Float:tmpposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tmpposx = (oldposx -x); tmpposy = (oldposy -y); tmpposz = (oldposz -z); if (((tmpposx < radi) && (tmpposx > -radi)) && ((tmpposy < radi) && (tmpposy > -radi)) && ((tmpposz < radi) && (tmpposz > -radi))) { return 1; } return 0;}