Advertisement
1Deagle1

VehicleController 0.0.1v

Jul 30th, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.11 KB | None | 0 0
  1. /*
  2. Script: VehicleController
  3. Scripted By: 1Deagle1
  4. Version: 0.0.1v
  5. Latest Edited: 7/31/2015 @ 3:00 AM
  6. */
  7.  
  8. //Includes
  9. //===========================================================
  10. #include <a_samp>
  11. #include <zcmd>
  12. #include <sscanf>
  13. //Defines
  14. //===========================================================
  15. #define COL_GREEN "{00FF00}"
  16. #define COL_RED "{FF0000}"
  17. #define COL_WHITE "{FFFFFF}"
  18.  
  19. #define DIALOG_VController 5555
  20.  
  21. #define PRESSED(%0) \
  22. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  23.  
  24. //Code
  25. //===========================================================
  26. enum VController
  27. {
  28. Autofix
  29. }
  30. new Vinfo[MAX_PLAYERS][VController];
  31.  
  32. public OnFilterScriptInit()
  33. {
  34. print("\n--------------------------------------");
  35. print(" 1Deagle1's VehicleController System v0.0.1");
  36. print("--------------------------------------\n");
  37. return 1;
  38. }
  39.  
  40. forward AutoFix(playerid);
  41. public AutoFix(playerid)
  42. {
  43. Vinfo[playerid][Autofix] = 1;
  44. return 1;
  45. }
  46.  
  47. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  48. {
  49. if (PRESSED(KEY_FIRE))
  50. {
  51. if (IsPlayerInAnyVehicle(playerid)) // Key:- Left Mouse Bottom Usage:- NOS
  52. {
  53. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  54. }
  55. }
  56. if (PRESSED(KEY_LOOK_BEHIND)) //Key:- 2 Usage:- Car Autofix.
  57. {
  58. if (IsPlayerInAnyVehicle(playerid))
  59. {
  60. if(Vinfo[playerid][Autofix] == 0)
  61. {
  62. SetTimer("AutoFix", 1000, false);
  63. SendClientMessage(playerid, 0xFF356AA, "AutoFix On!");
  64. SetVehicleHealth(playerid, 9999999999999);
  65. }
  66. else if(Vinfo[playerid][Autofix] == 1)
  67. {
  68. Vinfo[playerid][Autofix] = 0;
  69. SendClientMessage(playerid, 0xFF356AA, "AutoFix Off!");
  70. SetVehicleHealth(playerid, 1000);
  71. }
  72. }
  73. }
  74. if (PRESSED(KEY_NO)) //Key:- n Usage:- Car Jump.
  75. {
  76. if (IsPlayerInAnyVehicle(playerid))
  77. {
  78. new Float:x, Float:y, Float:z;
  79. new vehicleid = GetPlayerVehicleID(playerid);
  80. GetVehicleVelocity(vehicleid, x, y, z);
  81. SetVehicleVelocity(vehicleid, x, y, z +1);
  82. }
  83. }
  84. if (PRESSED(KEY_YES)) //Key:- y Usage:- Car Flip.
  85. {
  86. if (IsPlayerInAnyVehicle(playerid))
  87. {
  88. new car, Float:angle;
  89. car = GetPlayerVehicleID(playerid);
  90. GetVehicleZAngle(car, angle);
  91. SetVehicleZAngle(car, angle);
  92. }
  93. }
  94. return 1;
  95. }
  96.  
  97. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  98. {
  99. if(Vinfo[playerid][Autofix] == 1)
  100. {
  101. new panels, doors, lights, tires;
  102. GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  103. SetVehicleHealth(vehicleid, 999999);
  104. panels = 0;
  105. doors = 0;
  106. lights = 0;
  107. tires = 0;
  108. UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  109. }
  110. return 1;
  111. }
  112.  
  113. CMD:cvehicle(playerid, params[])
  114. {
  115. if(IsPlayerAdmin(playerid))
  116. {
  117. new vehicleID,color, Float:x,Float:y,Float:z;
  118. if(sscanf(params,"dd",vehicleID,color)) return SendClientMessage(playerid,0xFFFFFFF,"Usage: /cv [VehicleID] [Color]");
  119. if(vehicleID < 400 || vehicleID > 611) return SendClientMessage(playerid,0xFFFFFFF,"Invalid Vehicle ID!");
  120. GetPlayerPos(playerid,x,y,z);
  121. CreateVehicle(vehicleID, x, y+5, z+3, 0.0000, color, 125, 5);
  122. }
  123. return 1;
  124. }
  125.  
  126. CMD:jump(playerid)
  127. {
  128. if (IsPlayerInAnyVehicle(playerid))
  129. {
  130. new Float:x, Float:y, Float:z;
  131. new vehicleid = GetPlayerVehicleID(playerid);
  132. GetVehicleVelocity(vehicleid, x, y, z);
  133. SetVehicleVelocity(vehicleid, x, y, z +1);
  134. }
  135. return 1;
  136. }
  137. CMD:flip(playerid)
  138. {
  139. if (IsPlayerInAnyVehicle(playerid))
  140. {
  141. new car, Float:angle;
  142. car = GetPlayerVehicleID(playerid);
  143. GetVehicleZAngle(car, angle);
  144. SetVehicleZAngle(car, angle);
  145. }
  146. return 1;
  147. }
  148.  
  149. CMD:autofix(playerid)
  150. {
  151. if (IsPlayerInAnyVehicle(playerid))
  152. {
  153. if(Vinfo[playerid][Autofix] == 0)
  154. {
  155. SetTimer("AutoFix", 1000, false);
  156. SendClientMessage(playerid, 0xFF435AA, "You Have Turned The Autofix On!");
  157. SetVehicleHealth(playerid, 99999999);
  158. }
  159. else if(Vinfo[playerid][Autofix] == 1)
  160. {
  161. SendClientMessage(playerid, 0xFF435AA, "You Have Turned The Autofix Off!");
  162. SetVehicleHealth(playerid, 1000);
  163. Vinfo[playerid][Autofix] = 0;
  164. }
  165. }
  166. return 1;
  167. }
  168.  
  169. CMD:nos(playerid)
  170. {
  171. if (IsPlayerInAnyVehicle(playerid))
  172. {
  173. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  174. }
  175. return 1;
  176. }
  177.  
  178. CMD:vkeys(playerid)
  179. {
  180. SendClientMessage(playerid, 0xFFF345AA, "___|Vehicle Controller|___");
  181. SendClientMessage(playerid, 0xFFF245AA, "Left Mouse Bottom - NOS");
  182. SendClientMessage(playerid, 0xFFF245AA, "2 - Car AutoFix");
  183. SendClientMessage(playerid, 0xFFF245AA, "N - Car Jump");
  184. SendClientMessage(playerid, 0xFFF245AA, "Y - Car Flip");
  185. return 1;
  186. }
  187.  
  188. CMD:vcmds(playerid)
  189. {
  190. SendClientMessage(playerid, 0xFFF345AA, "____|Vehicle Controller|____");
  191. SendClientMessage(playerid, 0xFFF245AA, "/autofix, /jump, /flip, /nos");
  192. return 1;
  193. }
  194.  
  195. CMD:vmenu(playerid)
  196. {
  197. ShowPlayerDialog(playerid, DIALOG_VController, DIALOG_STYLE_LIST, "Vehicle{FF0000} Controller {00FF00}Menu", "AutoFix{00FF00} On/{FF0000}Off\nJump{FF0000}Car\nFlip{FF0000}Car\nNos", "Choose", "Close");
  198. return 1;
  199. }
  200.  
  201. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  202. {
  203. if(dialogid == DIALOG_VController)
  204. {
  205. if(response)
  206. {
  207. switch(listitem)
  208. {
  209. case 0:
  210. {
  211. if (IsPlayerInAnyVehicle(playerid))
  212. {
  213. if(Vinfo[playerid][Autofix] == 0)
  214. {
  215. SetTimer("AutoFix", 1000, false);
  216. SendClientMessage(playerid, 0xFF435AA, "You Have Turned The Autofix On!");
  217. SetVehicleHealth(playerid, 999999);
  218. }
  219. else if(Vinfo[playerid][Autofix] == 1)
  220. {
  221. SendClientMessage(playerid, 0xFF435AA, "You Have Turned The Autofix Off!");
  222. SetVehicleHealth(playerid, 1000);
  223. Vinfo[playerid][Autofix] = 0;
  224. }
  225. }
  226. }
  227. case 1:
  228. {
  229. if (IsPlayerInAnyVehicle(playerid))
  230. {
  231. new Float:x, Float:y, Float:z;
  232. GetVehiclePos(playerid, x, y, z);
  233. SetVehiclePos(playerid, x, y, z+1);
  234. }
  235. }
  236. case 2:
  237. {
  238. if (IsPlayerInAnyVehicle(playerid))
  239. {
  240. new car, Float:angle;
  241. car = GetPlayerVehicleID(playerid);
  242. GetVehicleZAngle(car, angle);
  243. SetVehicleZAngle(car, angle);
  244. }
  245. }
  246.  
  247. case 3:
  248. {
  249. if (IsPlayerInAnyVehicle(playerid))
  250. {
  251. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  252. }
  253. }
  254. }
  255. }
  256. return 1;
  257. }
  258. return 0;
  259. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement