Advertisement
Guest User

Fuel Save

a guest
Jul 10th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. stock ResetVehicle(vehicleid)
  2. {
  3. if (1 <= vehicleid <= MAX_VEHICLES)
  4. {
  5. if (CoreVehicles[vehicleid][vehSirenOn] && IsValidDynamicObject(CoreVehicles[vehicleid][vehSirenObject]))
  6. DestroyDynamicObject(CoreVehicles[vehicleid][vehSirenObject]);
  7.  
  8. CoreVehicles[vehicleid][vehFuel] = 100;
  9. CoreVehicles[vehicleid][vehWindowsDown] = false;
  10. CoreVehicles[vehicleid][vehTemporary] = 0;
  11. CoreVehicles[vehicleid][vehLoads] = 0;
  12. CoreVehicles[vehicleid][vehLoadType] = 0;
  13. CoreVehicles[vehicleid][vehCrate] = INVALID_OBJECT_ID;
  14. CoreVehicles[vehicleid][vehTrash] = 0;
  15. CoreVehicles[vehicleid][vehRepairing] = 0;
  16. CoreVehicles[vehicleid][vehSirenOn] = 0;
  17. CoreVehicles[vehicleid][vehRadio] = 0;
  18. }
  19. return 1;
  20. }
  21.  
  22.  
  23. ///////////////////////////////////
  24.  
  25. forward RefillUpdate(playerid, vehicleid);
  26. public RefillUpdate(playerid, vehicleid)
  27. {
  28. if (!PlayerData[playerid][pFuelCan] || GetNearestVehicle(playerid) != vehicleid)
  29. return 0;
  30.  
  31. CoreVehicles[vehicleid][vehFuel] = (CoreVehicles[vehicleid][vehFuel] + 15 >= 100) ? (100) : (CoreVehicles[vehicleid][vehFuel] + 15);
  32.  
  33. PlayerData[playerid][pFuelCan] = 0;
  34. SendServerMessage(playerid, "You have filled up your vehicle with a can of fuel.");
  35. return 1;
  36. }
  37. ////////////
  38. forward RefuelCheck();
  39. public RefuelCheck()
  40. {
  41. static
  42. string[128];
  43.  
  44. foreach (new i : Player)
  45. {
  46. if (!PlayerData[i][pLogged] || PlayerData[i][pRefill] == INVALID_VEHICLE_ID)
  47. continue;
  48.  
  49. if (PlayerData[i][pRefill] != INVALID_VEHICLE_ID && PlayerData[i][pGasPump] != -1)
  50. {
  51. PlayerData[i][pRefillPrice]++;
  52.  
  53. CoreVehicles[PlayerData[i][pRefill]][vehFuel] ++;
  54. PumpData[PlayerData[i][pGasPump]][pumpFuel] --;
  55.  
  56. if (PumpData[PlayerData[i][pGasPump]][pumpExists])
  57. {
  58. format(string, sizeof(string), "[Gas Pump: %d]\n{FFFFFF}Fuel Left: %d liters", PlayerData[i][pGasPump], PumpData[PlayerData[i][pGasPump]][pumpFuel]);
  59. UpdateDynamic3DTextLabelText(PumpData[PlayerData[i][pGasPump]][pumpText3D], COLOR_DARKBLUE, string);
  60. }
  61. if (CoreVehicles[PlayerData[i][pRefill]][vehFuel] >= 100 || GetEngineStatus(PlayerData[i][pRefill]) || !PumpData[PlayerData[i][pGasPump]][pumpExists] || PumpData[PlayerData[i][pGasPump]][pumpFuel] < 0)
  62. {
  63. // CoreVehicles[PlayerData[i][pRefill]][vehFuel] = 100;
  64.  
  65. GiveMoney(i, -PlayerData[i][pRefillPrice]);
  66. SendServerMessage(i, "You have refilled your vehicle for $%d.", PlayerData[i][pRefillPrice]);
  67.  
  68. if (PumpData[PlayerData[i][pGasPump]][pumpExists])
  69. {
  70. if (PumpData[PlayerData[i][pGasPump]][pumpFuel] < 0)
  71. PumpData[PlayerData[i][pGasPump]][pumpFuel] = 0;
  72.  
  73. BusinessData[PlayerData[i][pGasStation]][bizVault] += PlayerData[i][pRefillPrice];
  74. Business_Save(PlayerData[i][pGasStation]);
  75.  
  76. Pump_Save(PlayerData[i][pGasPump]);
  77. }
  78. StopRefilling(i);
  79. }
  80. }
  81. }
  82. return 1;
  83. }
  84.  
  85. forward FuelUpdate();
  86. public FuelUpdate()
  87. {
  88. for (new i = 1; i != MAX_VEHICLES; i ++) if (IsEngineVehicle(i) && GetEngineStatus(i))
  89. {
  90. if (CoreVehicles[i][vehFuel] > 0)
  91. {
  92. CoreVehicles[i][vehFuel]--;
  93.  
  94. if (CoreVehicles[i][vehFuel] >= 1 && CoreVehicles[i][vehFuel] <= 5)
  95. {
  96. SendClientMessage(GetVehicleDriver(i), COLOR_LIGHTRED, "[WARNING]:{FFFFFF} This vehicle is low on fuel. You must visit a fuel station!");
  97. }
  98. }
  99. if (CoreVehicles[i][vehFuel] <= 0)
  100. {
  101. CoreVehicles[i][vehFuel] = 0;
  102. SetEngineStatus(i, false);
  103. }
  104. }
  105. }
  106. ///////////////////////////////////////////////////////
  107.  
  108. public OnVehicleSpawn(vehicleid)
  109. {
  110. for(new i = 0; i < sizeof(pickCars); i++){
  111. if(vehicleid == pickCars[i]){
  112. CoreVehicles[i][vehFuel] = 100;
  113. }
  114. }
  115. for(new i = 0; i < sizeof(mecCars); i++)
  116. {
  117. if(vehicleid == mecCars[i])
  118. {
  119. CoreVehicles[i][vehFuel] = 100;
  120. }
  121. }
  122. for(new i = 0; i < sizeof(taxiCars); i++)
  123. {
  124. if(vehicleid == taxiCars[i])
  125. {
  126. CoreVehicles[i][vehFuel] = 100;
  127. }
  128. }
  129. for(new i = 0; i < sizeof(rentCars); i++)
  130. {
  131. if(vehicleid == rentCars[i])
  132. {
  133. CoreVehicles[i][vehFuel] = 100;
  134. }
  135. }
  136. for(new i = 0; i < sizeof(garbageCars); i++)
  137. {
  138. if(vehicleid == garbageCars[i])
  139. {
  140. CoreVehicles[i][vehFuel] = 100;
  141. }
  142. }
  143. for(new i = 0; i < sizeof(deliveryCars); i++)
  144. {
  145. if(vehicleid == deliveryCars[i])
  146. {
  147. CoreVehicles[i][vehFuel] = 100;
  148. }
  149. }
  150. for(new i = 0; i < sizeof(vendorCars); i++)
  151. {
  152. if(vehicleid == vendorCars[i])
  153. {
  154. CoreVehicles[i][vehFuel] = 100;
  155. }
  156. }
  157. if (CoreVehicles[vehicleid][vehTemporary])
  158. {
  159. CoreVehicles[vehicleid][vehTemporary] = false;
  160. DestroyVehicle(vehicleid);
  161. }
  162. for (new i = 0; i != MAX_CRATES; i ++) if (CrateData[i][crateExists] && CrateData[i][crateVehicle] == vehicleid) {
  163. Crate_Delete(i);
  164. }
  165. if (IsValidObject(CoreVehicles[vehicleid][vehCrate]) && GetVehicleModel(vehicleid) == 530)
  166. DestroyObject(CoreVehicles[vehicleid][vehCrate]);
  167.  
  168. ResetVehicle(vehicleid);
  169. return 1;
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement