Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define MAX_FUEL 100 // Change this to the MAX Amount of fuel you want. (Default:100)
- #define SpeedCheck(%0,%1,%2,%3,%4) floatround(floatsqroot(%4?(%0*%0+%1*%1+%2*%2):(%0*%0+%1*%1) ) *%3*1.6)
- forward SpeedTimer();
- forward FuelTimer();
- new Text:Fuel[MAX_PLAYERS];
- new Text:Speed[MAX_PLAYERS];
- new CarFuel[MAX_VEHICLES] = 0;
- new checkgastimer;
- new speedtimer;
- stock GetPlayerSpeed(playerid, get3d)
- {
- new Float:x, Float:y, Float:z;
- if(IsPlayerInAnyVehicle(playerid))
- {
- GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
- }
- else
- {
- GetPlayerVelocity(playerid, x, y, z);
- }
- return SpeedCheck(x, y, z, 100.0, get3d);
- }
- stock SetGasString(playerid, string[])
- {
- if(IsPlayerConnected(playerid))
- {
- TextDrawSetString(Fuel[playerid], string);
- }
- }
- stock SetSpeedString(playerid, string[])
- {
- if(IsPlayerConnected(playerid))
- {
- TextDrawSetString(Speed[playerid], string);
- }
- }
- public OnGameModeInit()
- {
- for(new v = 0; v < MAX_VEHICLES; v++)
- {
- CarFuel[v] = MAX_FUEL; // This sets the fuel
- }
- checkgastimer = SetTimer("FuelTimer", 25000, 1);
- speedtimer = SetTimer("SpeedTimer",1000,1);
- return 1;
- }
- public OnGameModeExit()
- {
- KillTimer(checkgastimer);
- KillTimer(speedtimer);
- return 1;
- }
- public OnPlayerDeath(playerid,killerid,reason)
- {
- TextDrawHideForPlayer(playerid,Fuel[playerid]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Fuel[playerid] = TextDrawCreate(330.000000, 415.000000, " ");
- TextDrawAlignment(Fuel[playerid], 2);
- TextDrawBackgroundColor(Fuel[playerid], 255);
- TextDrawFont(Fuel[playerid], 2);
- TextDrawLetterSize(Fuel[playerid], 0.259999, 1.200000);
- TextDrawColor(Fuel[playerid], -1);
- TextDrawSetOutline(Fuel[playerid], 1);
- TextDrawSetProportional(Fuel[playerid], 1);
- TextDrawShowForPlayer(playerid,Fuel[playerid]);
- Speed[playerid] = TextDrawCreate(330.000000, 430.000000, " ");
- TextDrawAlignment(Speed[playerid], 2);
- TextDrawBackgroundColor(Speed[playerid], 255);
- TextDrawFont(Speed[playerid], 2);
- TextDrawLetterSize(Speed[playerid], 0.259999, 1.200000);
- TextDrawColor(Speed[playerid], -1);
- TextDrawSetOutline(Speed[playerid], 1);
- TextDrawSetProportional(Speed[playerid], 1);
- return 1;
- }
- public FuelTimer()
- {
- new string[128];
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
- {
- new vehicle = GetPlayerVehicleID(i);
- if(CarFuel[vehicle] >= 1 && CarFuel[vehicle] <= 100)
- {
- format(string, sizeof(string), "Current Fuel: %d%",CarFuel[vehicle]);
- SetGasString(i,string);
- CarFuel[vehicle]--;
- }
- if(CarFuel[vehicle] == 0)
- {
- CarFuel[vehicle] = 0;
- TogglePlayerControllable(i, 0);
- SetGasString(i,"~r~[WARNING]: ~w~No fuel in vehicle!");
- }
- }
- else
- {
- SetGasString(i," ");
- }
- }
- return 1;
- }
- public SpeedTimer()
- {
- new string[128];
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
- {
- format(string, sizeof(string), "SPEED: ~g~%d MPH",GetPlayerSpeed(i,1));
- SetSpeedString(i,string);
- }
- else
- {
- SetSpeedString(i," ");
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment