Advertisement
Guest User

snipper

a guest
Sep 9th, 2012
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. forward timer_update();
  4. forward timer_refuel(playerid);
  5.  
  6. new isrefuelling[MAX_PLAYERS] = 0;
  7. new fuel[MAX_VEHICLES];
  8. new Float:max_vhealth[MAX_VEHICLES];
  9. new Text:td_vFuel[MAX_PLAYERS];
  10. new Text:td_vSpeed[MAX_PLAYERS];
  11.  
  12.  
  13. public OnFilterScriptInit()
  14. {
  15. // VEHICLE
  16. for(new i=0;i<MAX_VEHICLES;i++) {
  17. fuel[i] = 250 + random(150); //setting fuel for vehicles
  18.  
  19. td_vSpeed[i] = TextDrawCreate(516.000000, 375.000000, "KM/H:");
  20. TextDrawBackgroundColor(td_vSpeed[i], 255);
  21. TextDrawFont(td_vSpeed[i], 3);
  22. TextDrawLetterSize(td_vSpeed[i], 0.500000, 1.000000);
  23. TextDrawColor(td_vSpeed[i], -1);
  24. TextDrawSetOutline(td_vSpeed[i], 1);
  25. TextDrawSetProportional(td_vSpeed[i], 1);
  26.  
  27. td_vFuel[i] = TextDrawCreate(516.000000, 385.000000, "Fuel:");
  28. TextDrawBackgroundColor(td_vFuel[i], 255);
  29. TextDrawFont(td_vFuel[i], 3);
  30. TextDrawLetterSize(td_vFuel[i], 0.500000, 1.000000);
  31. TextDrawColor(td_vFuel[i], -1);
  32. TextDrawSetOutline(td_vFuel[i], 1);
  33. TextDrawSetProportional(td_vFuel[i], 1);
  34.  
  35. for(new i; i < MAX_PLAYERS; i ++)
  36. {
  37. if(IsPlayerConnected(i))
  38. {
  39. TextDrawShowForPlayer(i, Textdraw0);
  40. TextDrawShowForPlayer(i, Textdraw1);
  41. TextDrawShowForPlayer(i, Textdraw2);
  42. TextDrawShowForPlayer(i, Textdraw3);
  43. TextDrawShowForPlayer(i, td_vSpeed);
  44. TextDrawShowForPlayer(i, td_vFuel);
  45. }
  46. }
  47. return 1;
  48. }
  49.  
  50. public OnFilterScriptExit()
  51. {
  52. TextDrawHideForAll(td_vSpeed);
  53. TextDrawDestroy(td_vSpeed);
  54. TextDrawHideForAll(td_vFuel);
  55. TextDrawDestroy(td_vFuel);
  56. return 1;
  57. }
  58.  
  59. public OnPlayerConnect(playerid)
  60. {
  61. TextDrawShowForPlayer(playerid, td_vSpeed);
  62. TextDrawShowForPlayer(playerid, td_vFuel);
  63. return 1;
  64. }
  65.  
  66. public OnPlayerDisconnect(playerid)
  67. {
  68. for(new i=0;i<MAX_PLAYERS;i++) {
  69. TextDrawDestroy(td_vFuel[i]);
  70. TextDrawDestroy(td_vSpeed[i]);
  71. return 1;
  72. }
  73.  
  74. public OnPlayerStateChange(playerid, newstate, oldstate)
  75. {
  76. if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  77. {
  78.  
  79. TextDrawSetString(td_vFuel[playerid],"Fuel:");
  80.  
  81. TextDrawShowForPlayer(playerid,td_vFuel[playerid]);
  82. TextDrawShowForPlayer(playerid,td_vSpeed[playerid]);
  83. } else {
  84. TextDrawHideForPlayer(playerid,td_vFuel[playerid]);
  85. TextDrawHideForPlayer(playerid,td_vSpeed[playerid]);
  86. }
  87. return 1;
  88. }
  89.  
  90. public OnPlayerCommandText(playerid,cmdtext[]) {
  91.  
  92. if (!strcmp("/refuel",cmdtext,true,7)) {
  93. if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFC800FF,"You are not in an vehicle!"); //if a player isnt in a vehicle, it stops here
  94. if (isrefuelling[playerid]) return SendClientMessage(playerid,0xFFC800FF,"You are already refuelling!"); //if a player is already refuelling, it stops here
  95. if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid,0xFFC800FF,"You dont have enough money!"); //if a player doesnt have $80 anymore, it stops here
  96. GivePlayerMoney(playerid,-80); //Sets the player's cash -$80
  97. SetCameraBehindPlayer(playerid); //Sets the camera behind the player (looks better because the player will be frozen for a few secs)
  98. TogglePlayerControllable(playerid,0); //freezes the player so he cant drive and refuel at the same time
  99. isrefuelling[playerid] = 1; //setting isrefuelling to 1 so the player cant spam /refuel
  100. TextDrawSetString(td_fuel[playerid],"Refuelling..."); //changing textdraw to /refuel
  101. SetTimerEx("timer_refuel",4500,false,"i",playerid); //setting refueltimer
  102. return 1;
  103. }
  104.  
  105. return 0;
  106. }
  107.  
  108. public timer_update()
  109. {
  110. for(new i=0;i<MAX_PLAYERS;i++) {
  111. if (isrefuelling[i]) continue;
  112. new vid = GetPlayerVehicleID(i);
  113. if (GetPlayerVehicleSeat(i) == 0) {
  114. fuel[vid] = fuel[vid] - 2;
  115. if (fuel[vid]<1)
  116. {
  117. fuel[vid] = 0;
  118. RemovePlayerFromVehicle(i);
  119. GameTextForPlayer(i,"~r~You are out of ~w~fuel~r~!",5000,4);
  120. }
  121. }
  122. new string[128];format(string,sizeof string,"Fuel: %i",fuel[vid] /4);
  123. TextDrawSetString(td_fuel[i],string);
  124.  
  125. new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed,final_speed,Float:health;
  126.  
  127. GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
  128. temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
  129. final_speed = floatround(temp_speed,floatround_round);
  130. format(string,sizeof string,"Speed: %i",final_speed);
  131. TextDrawSetString(td_vspeed[i],string);
  132.  
  133. }
  134. return 1;
  135. }
  136.  
  137. public timer_refuel(playerid)
  138. {
  139. new vid = GetPlayerVehicleID(playerid);
  140. fuel[vid] = fuel[vid] = 400;
  141. isrefuelling[playerid] = 0;
  142. TextDrawSetString(td_fuel[playerid],"Fuel: 100");
  143. TogglePlayerControllable(playerid,1);
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement