Guest User

Speed/Gas

a guest
Jul 26th, 2010
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.24 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define MAX_FUEL 100 // Change this to the MAX Amount of fuel you want. (Default:100)
  4. #define SpeedCheck(%0,%1,%2,%3,%4) floatround(floatsqroot(%4?(%0*%0+%1*%1+%2*%2):(%0*%0+%1*%1) ) *%3*1.6)
  5.  
  6. forward SpeedTimer();
  7. forward FuelTimer();
  8.  
  9. new Text:Fuel[MAX_PLAYERS];
  10. new Text:Speed[MAX_PLAYERS];
  11. new CarFuel[MAX_VEHICLES] = 0;
  12. new checkgastimer;
  13. new speedtimer;
  14.  
  15. stock GetPlayerSpeed(playerid, get3d)
  16. {
  17.     new Float:x, Float:y, Float:z;
  18.     if(IsPlayerInAnyVehicle(playerid))
  19.     {
  20.         GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
  21.     }
  22.     else
  23.     {
  24.         GetPlayerVelocity(playerid, x, y, z);
  25.     }
  26.     return SpeedCheck(x, y, z, 100.0, get3d);
  27. }
  28.  
  29. stock SetGasString(playerid, string[])
  30. {
  31.     if(IsPlayerConnected(playerid))
  32.     {
  33.         TextDrawSetString(Fuel[playerid], string);
  34.     }
  35. }
  36.  
  37. stock SetSpeedString(playerid, string[])
  38. {
  39.     if(IsPlayerConnected(playerid))
  40.     {
  41.         TextDrawSetString(Speed[playerid], string);
  42.     }
  43. }
  44.  
  45. public OnGameModeInit()
  46. {
  47.     for(new v = 0; v < MAX_VEHICLES; v++)
  48.     {
  49.         CarFuel[v] = MAX_FUEL; // This sets the fuel
  50.     }
  51.     checkgastimer = SetTimer("FuelTimer", 25000, 1);
  52.     speedtimer = SetTimer("SpeedTimer",1000,1);
  53.     return 1;
  54. }
  55.  
  56. public OnGameModeExit()
  57. {
  58.     KillTimer(checkgastimer);
  59.     KillTimer(speedtimer);
  60.     return 1;
  61. }
  62.  
  63. public OnPlayerDeath(playerid,killerid,reason)
  64. {
  65.     TextDrawHideForPlayer(playerid,Fuel[playerid]);
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerConnect(playerid)
  70. {
  71.     Fuel[playerid] = TextDrawCreate(330.000000, 415.000000, " ");
  72.     TextDrawAlignment(Fuel[playerid], 2);
  73.     TextDrawBackgroundColor(Fuel[playerid], 255);
  74.     TextDrawFont(Fuel[playerid], 2);
  75.     TextDrawLetterSize(Fuel[playerid], 0.259999, 1.200000);
  76.     TextDrawColor(Fuel[playerid], -1);
  77.     TextDrawSetOutline(Fuel[playerid], 1);
  78.     TextDrawSetProportional(Fuel[playerid], 1);
  79.     TextDrawShowForPlayer(playerid,Fuel[playerid]);
  80.     Speed[playerid] = TextDrawCreate(330.000000, 430.000000, " ");
  81.     TextDrawAlignment(Speed[playerid], 2);
  82.     TextDrawBackgroundColor(Speed[playerid], 255);
  83.     TextDrawFont(Speed[playerid], 2);
  84.     TextDrawLetterSize(Speed[playerid], 0.259999, 1.200000);
  85.     TextDrawColor(Speed[playerid], -1);
  86.     TextDrawSetOutline(Speed[playerid], 1);
  87.     TextDrawSetProportional(Speed[playerid], 1);
  88.     return 1;
  89. }
  90.  
  91. public FuelTimer()
  92. {
  93.     new string[128];
  94.     for(new i = 0; i < GetMaxPlayers(); i++)
  95.     {
  96.         if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  97.         {
  98.             new vehicle = GetPlayerVehicleID(i);
  99.             if(CarFuel[vehicle] >= 1 && CarFuel[vehicle] <= 100)
  100.             {
  101.                 format(string, sizeof(string), "Current Fuel: %d%",CarFuel[vehicle]);
  102.                 SetGasString(i,string);
  103.                 CarFuel[vehicle]--;
  104.             }
  105.             if(CarFuel[vehicle] == 0)
  106.             {
  107.                 CarFuel[vehicle] = 0;
  108.                 TogglePlayerControllable(i, 0);
  109.                 SetGasString(i,"~r~[WARNING]: ~w~No fuel in vehicle!");
  110.             }
  111.         }
  112.         else
  113.         {
  114.             SetGasString(i," ");
  115.         }
  116.     }
  117.     return 1;
  118. }
  119.  
  120. public SpeedTimer()
  121. {
  122.     new string[128];
  123.     for(new i = 0; i < GetMaxPlayers(); i++)
  124.     {
  125.         if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  126.         {
  127.             format(string, sizeof(string), "SPEED: ~g~%d MPH",GetPlayerSpeed(i,1));
  128.             SetSpeedString(i,string);
  129.         }
  130.         else
  131.         {
  132.             SetSpeedString(i," ");
  133.         }
  134.     }
  135.     return 1;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment