Guest User

Untitled

a guest
Sep 17th, 2010
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.19 KB | None | 0 0
  1. //Edited and warnings removed by Disaster aka Hawkz aka Hawkz_Ryder aka ernesto
  2. //Skype nick: disaster.ernests
  3. //If you have warnings, disaster will help! Skype me!
  4. #include <a_samp>
  5. new Text:td_fuel[MAX_PLAYERS];
  6. new Text:td_vhealth[MAX_PLAYERS];
  7. new Text:td_vspeed[MAX_PLAYERS];
  8. new Text:td_box[MAX_PLAYERS];
  9.  
  10. forward timer_update();
  11. forward timer_refuel(playerid);
  12. new isrefuelling[MAX_PLAYERS] = 0;
  13. new fuel[MAX_VEHICLES];
  14. new Float:max_vhealth[MAX_VEHICLES];
  15.  
  16. public OnFilterScriptInit()
  17. {
  18. for(new i=0;i<MAX_VEHICLES;i++) {
  19. GetVehicleHealth(i,max_vhealth[i]); //getting max health
  20. fuel[i] = 250 + random(150); //setting fuel for vehicles
  21. }
  22.  
  23. for(new i=0;i<MAX_PLAYERS;i++) { //setting up all textdraws
  24. td_fuel[i] = TextDrawCreate(476,355,"Fuel:");
  25. td_vhealth[i] = TextDrawCreate(478,376,"Health:");
  26. td_vspeed[i] = TextDrawCreate(478,397,"Speed:");
  27. td_box[i] = TextDrawCreate(478.000000,328.000000,"Vehicle Stats: ~n~~n~~n~~n~");
  28. TextDrawUseBox(td_box[i],1);
  29. TextDrawBoxColor(td_box[i],0x00000066);
  30. TextDrawTextSize(td_box[i],626.000000,21.000000);
  31. TextDrawAlignment(td_fuel[i],0);
  32. TextDrawAlignment(td_vhealth[i],0);
  33. TextDrawAlignment(td_vspeed[i],0);
  34. TextDrawAlignment(td_box[i],0);
  35. TextDrawBackgroundColor(td_fuel[i],0x000000ff);
  36. TextDrawBackgroundColor(td_vhealth[i],0x000000ff);
  37. TextDrawBackgroundColor(td_vspeed[i],0x000000ff);
  38. TextDrawBackgroundColor(td_box[i],0x000000cc);
  39. TextDrawFont(td_fuel[i],1);
  40. TextDrawLetterSize(td_fuel[i],0.699999,2.699999);
  41. TextDrawFont(td_vhealth[i],1);
  42. TextDrawLetterSize(td_vhealth[i],0.699999,2.699999);
  43. TextDrawFont(td_vspeed[i],1);
  44. TextDrawLetterSize(td_vspeed[i],0.699999,2.699999);
  45. TextDrawFont(td_box[i],0);
  46. TextDrawLetterSize(td_box[i],0.699999,2.899999);
  47. TextDrawColor(td_fuel[i],0xffffffff);
  48. TextDrawColor(td_vhealth[i],0xffffffff);
  49. TextDrawColor(td_vspeed[i],0xffffffff);
  50. TextDrawColor(td_box[i],0xffffffff);
  51. TextDrawSetOutline(td_fuel[i],1);
  52. TextDrawSetOutline(td_vhealth[i],1);
  53. TextDrawSetOutline(td_vspeed[i],1);
  54. TextDrawSetOutline(td_box[i],1);
  55. TextDrawSetProportional(td_fuel[i],1);
  56. TextDrawSetProportional(td_vhealth[i],1);
  57. TextDrawSetProportional(td_vspeed[i],1);
  58. TextDrawSetProportional(td_box[i],1);
  59. TextDrawSetShadow(td_fuel[i],1);
  60. TextDrawSetShadow(td_vhealth[i],1);
  61. TextDrawSetShadow(td_vspeed[i],1);
  62. TextDrawSetShadow(td_box[i],10);
  63. }
  64. SetTimer("timer_update",1000,true);
  65. return 1;
  66. }
  67.  
  68. public OnFilterScriptExit()
  69. {
  70. for(new i=0;i<MAX_PLAYERS;i++) {
  71. TextDrawDestroy(td_fuel[i]);
  72. TextDrawDestroy(td_vhealth[i]);
  73. TextDrawDestroy(td_vspeed[i]);
  74. TextDrawDestroy(td_box[i]);
  75. }
  76. return 1;
  77. }
  78.  
  79. public OnPlayerStateChange(playerid, newstate, oldstate)
  80. {
  81. if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  82. {
  83.  
  84. TextDrawSetString(td_fuel[playerid],"Fuel:");
  85. TextDrawSetString(td_vhealth[playerid],"Health:");
  86. TextDrawSetString(td_vspeed[playerid],"Speed:");
  87.  
  88. TextDrawShowForPlayer(playerid,td_fuel[playerid]);
  89. TextDrawShowForPlayer(playerid,td_vspeed[playerid]);
  90. TextDrawShowForPlayer(playerid,td_vhealth[playerid]);
  91. TextDrawShowForPlayer(playerid,td_box[playerid]);
  92. } else {
  93. TextDrawHideForPlayer(playerid,td_fuel[playerid]);
  94. TextDrawHideForPlayer(playerid,td_vspeed[playerid]);
  95. TextDrawHideForPlayer(playerid,td_vhealth[playerid]);
  96. TextDrawHideForPlayer(playerid,td_box[playerid]);
  97. }
  98. return 1;
  99. }
  100.  
  101.  
  102. public OnPlayerCommandText(playerid,cmdtext[]) {
  103.  
  104. if (!strcmp("/refuel",cmdtext,true,7)) {
  105. if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFC800FF,"You are not in an vehicle!"); //if a player isnt in a vehicle, it stops here
  106. if (isrefuelling[playerid]) return SendClientMessage(playerid,0xFFC800FF,"You are already refuelling!"); //if a player is already refuelling, it stops here
  107. if (GetPlayerMoney(playerid) - 80 <0) return SendClientMessage(playerid,0xFFC800FF,"You dont have enough money!"); //if a player doesnt have $80 anymore, it stops here
  108. GivePlayerMoney(playerid,-80); //Sets the player's cash -$80
  109. SetCameraBehindPlayer(playerid); //Sets the camera behind the player (looks better because the player will be frozen for a few secs)
  110. TogglePlayerControllable(playerid,0); //freezes the player so he cant drive and refuel at the same time
  111. isrefuelling[playerid] = 1; //setting isrefuelling to 1 so the player cant spam /refuel
  112. TextDrawSetString(td_fuel[playerid],"Refuelling..."); //changing textdraw to /refuel
  113. SetTimerEx("timer_refuel",4500,false,"i",playerid); //setting refueltimer
  114. return 1;
  115. }
  116.  
  117. return 0;
  118. }
  119.  
  120. public timer_update()
  121. {
  122. for(new i=0;i<MAX_PLAYERS;i++) {
  123. if (isrefuelling[i]) return 0;
  124. new vid = GetPlayerVehicleID(i);
  125. if (GetPlayerVehicleSeat(i) == 0) {
  126. fuel[vid] = fuel[vid] - 2;
  127. if (fuel[vid]<1)
  128. {
  129. fuel[vid] = 0;
  130. RemovePlayerFromVehicle(i);
  131. GameTextForPlayer(i,"~r~You are out of ~w~fuel~r~!",5000,4);
  132. }
  133. }
  134. new string[128];format(string,sizeof string,"Fuel: %i",fuel[vid] /4);
  135. TextDrawSetString(td_fuel[i],string);
  136.  
  137. new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed,final_speed,Float:health;
  138.  
  139. GetVehicleVelocity(vid,speed_x,speed_y,speed_z);
  140. temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
  141. final_speed = floatround(temp_speed,floatround_round);
  142. format(string,sizeof string,"Speed: %i",final_speed);
  143. TextDrawSetString(td_vspeed[i],string);
  144.  
  145. GetVehicleHealth(vid,health);
  146. if (max_vhealth[vid] == 0)//if its an random spawned vehicle
  147. {
  148. fuel[vid] = 400;
  149. GetVehicleHealth(vid,max_vhealth[vid]);
  150. }
  151. health = (((health - max_vhealth[vid]) /max_vhealth[vid]) *100)+ 100;
  152. format(string,sizeof string,"Health: %i",floatround(health,floatround_round));
  153. TextDrawSetString(td_vhealth[i],string);
  154. }
  155. return 1;
  156. }
  157.  
  158. public timer_refuel(playerid)
  159. {
  160. new vid = GetPlayerVehicleID(playerid);
  161. fuel[vid] = fuel[vid] = 400;
  162. isrefuelling[playerid] = 0;
  163. TextDrawSetString(td_fuel[playerid],"Fuel:100");
  164. TogglePlayerControllable(playerid,1);
  165. }
Advertisement
Add Comment
Please, Sign In to add comment