Guest User

InferNus` Vehicle Editor

a guest
Dec 31st, 2011
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.88 KB | None | 0 0
  1. /*
  2. Created by:
  3.  
  4. ----- InferNus` -----
  5. ----- | | -----
  6. ----- @ |\ | -----
  7. ----- | \ | -----
  8. ----- | | \ | -----
  9. ----- | | \| -----
  10. ----- | | | -----
  11. ---------------------
  12.  
  13. */
  14.  
  15. #include <a_samp>
  16. #include <dutils>
  17.  
  18. /*** Colors ***/
  19. #define Green 0x33FF3300
  20. #define Green_dark 0x33AA3300
  21. #define Cyan 0x33CCCC00
  22. #define Blue 0x3300FF00
  23. #define Red 0xFF000000
  24. #define White 0xFFFFFF00
  25. #define Black 0x00000000
  26. #define Gray 0x99999900
  27. #define Yellow 0xFFFF0000
  28. #define Gold 0xFFCC0000
  29. #define Pink 0xff519bff
  30. #define carid GetPlayerVehicleID(playerid)
  31.  
  32. /*** Dialogs Defines ***/
  33. #define VehCreateInfo 0
  34. #define VehCreate 1
  35. #define VehEditInfo 2
  36. #define VehEdit 3
  37.  
  38. #pragma unused ret_memcpy
  39.  
  40. public OnFilterScriptInit()
  41. {
  42. print(" == InferNus` == | Vehicles Loaded");
  43. return 1;
  44. }
  45.  
  46. public OnFilterScriptExit()
  47. {
  48. return 1;
  49. }
  50.  
  51. public OnPlayerConnect(playerid)
  52. {
  53. return 1;
  54. }
  55.  
  56. public OnPlayerDisconnect(playerid, reason)
  57. {
  58. return 1;
  59. }
  60.  
  61. public OnPlayerSpawn(playerid)
  62. {
  63. return 1;
  64. }
  65.  
  66. public OnPlayerDeath(playerid, killerid, reason)
  67. {
  68. return 1;
  69. }
  70.  
  71. public OnVehicleSpawn(vehicleid)
  72. {
  73. return 1;
  74. }
  75.  
  76. public OnVehicleDeath(vehicleid, killerid)
  77. {
  78. return 1;
  79. }
  80.  
  81. public OnPlayerText(playerid, text[])
  82. {
  83. return 1;
  84. }
  85.  
  86. public OnPlayerCommandText(playerid, cmdtext[])
  87. {
  88. new cmd[256], idx;
  89. cmd = strtok(cmdtext, idx);
  90. if(strcmp(cmd, "/vehhelp", true) == 0)
  91. {
  92. SendClientMessage(playerid, White, "----___ Vehicle Help ___----");
  93. SendClientMessage(playerid, Gray, "PLAYER: /unmodcar, /vehcre");
  94. if(IsPlayerAdmin(playerid)) SendClientMessage(playerid, Gray, "RCON ADMIN: /veh, /destroycar, /modcar, /repairvehicle");
  95. return 1;
  96. }
  97. if(strcmp(cmd, "/vehcre", true) == 0)
  98. {
  99. SendClientMessage(playerid, White, "----___ Vehicle Credits ___----");
  100. SendClientMessage(playerid, Gray, "Created by {00FFFF}InferNus`");
  101. SendClientMessage(playerid, Gray, "Enjoy it as you can.");
  102. return 1;
  103. }
  104. if(strcmp(cmd, "/veh", true) == 0)
  105. {
  106. if(!IsPlayerAdmin(playerid)) return Error(playerid, "You are not Authorised to use this Command");
  107. if(!IsPlayerInAnyVehicle(playerid))
  108. {
  109. new cnt[500];
  110. format(cnt, sizeof(cnt), "{FFFF00}~~~~ Vehicle Creation ~~~~\n\n\n{33FFCC}Press 'Create', and Choose Vehicle Model ID.\n{33FFCC}Vehicle models can be found at:\n\n{FFFF00}http://www.http://wiki.sa-mp.com/wiki/Category:Vehicle");
  111. ShowPlayerDialog(playerid, VehCreateInfo, DIALOG_STYLE_MSGBOX, "{33FF33}Vehicle Creation", cnt, "Create", "Cancel");
  112. return 1;
  113. }
  114. if(IsPlayerInAnyVehicle(playerid))
  115. {
  116. Error(playerid, "You cannot use that command while in Vehicle!");
  117. return 1;
  118. }
  119. return 1;
  120. }
  121. if(strcmp(cmd, "/destroycar", true) == 0)
  122. {
  123. if(!IsPlayerAdmin(playerid)) return Error(playerid, "You are not Authorised to use this Command");
  124. if(!IsPlayerInAnyVehicle(playerid))
  125. {
  126. Error(playerid, "You are not in Vehicle!");
  127. return 1;
  128. }
  129. if(IsPlayerInAnyVehicle(playerid))
  130. {
  131. new l1[128];
  132. format(l1, sizeof(l1), "{FF0000}Vehicle Destroyed: {FFFFFF}Model: %d | Vehicle ID: %i ", GetVehicleModel(carid), carid);
  133. SendClientMessage(playerid, White, l1);
  134. DestroyVehicle(carid);
  135. return 1;
  136. }
  137. return 1;
  138. }
  139. if(strcmp(cmd, "/modcar", true) == 0)
  140. {
  141. if(!IsPlayerAdmin(playerid)) return Error(playerid, "You are not Authorised to use this Command");
  142. if(!IsPlayerInAnyVehicle(playerid))
  143. {
  144. Error(playerid, "You are not in Vehicle!");
  145. return 1;
  146. }
  147. if(IsPlayerInAnyVehicle(playerid))
  148. {
  149. new cnt[500];
  150. format(cnt, sizeof(cnt), "{FFFF00}~~~~ Vehicle Modding ~~~~\n\n\n{33FFCC}Press 'List', and Choose Vehicle Mod ID.");
  151. ShowPlayerDialog(playerid, VehEditInfo, DIALOG_STYLE_MSGBOX, "{33FF33}Vehicle Modding", cnt, "List", "Cancel");
  152. return 1;
  153. }
  154. return 1;
  155. }
  156. if(strcmp(cmd, "/unmodcar", true) == 0)
  157. {
  158. if(!IsPlayerInAnyVehicle(playerid))
  159. {
  160. Error(playerid, "You are not in Vehicle!");
  161. return 1;
  162. }
  163. if(IsPlayerInAnyVehicle(playerid))
  164. {
  165. SendClientMessage(playerid, White, "{FF0000}Vehicle Unmodded!");
  166. UnmodVehicle(carid);
  167. return 1;
  168. }
  169. return 1;
  170. }
  171. if(strcmp(cmd, "/repairvehicle", true) == 0)
  172. {
  173. if(!IsPlayerAdmin(playerid)) return Error(playerid, "You are not Authorised to use this Command");
  174. if(!IsPlayerInAnyVehicle(playerid))
  175. {
  176. Error(playerid, "You are not in Vehicle!");
  177. return 1;
  178. }
  179. if(IsPlayerInAnyVehicle(playerid))
  180. {
  181. RepairVehicle(carid);
  182. SendClientMessage(playerid, White, "{33FF33}Vehicle Repaired!");
  183. return 1;
  184. }
  185. return 1;
  186. }
  187. return 0;
  188. }
  189.  
  190. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  191. {
  192. return 1;
  193. }
  194.  
  195. public OnPlayerExitVehicle(playerid, vehicleid)
  196. {
  197. return 1;
  198. }
  199.  
  200. public OnPlayerStateChange(playerid, newstate, oldstate)
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnPlayerEnterCheckpoint(playerid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnPlayerLeaveCheckpoint(playerid)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnPlayerEnterRaceCheckpoint(playerid)
  216. {
  217. return 1;
  218. }
  219.  
  220. public OnPlayerLeaveRaceCheckpoint(playerid)
  221. {
  222. return 1;
  223. }
  224.  
  225. public OnRconCommand(cmd[])
  226. {
  227. return 1;
  228. }
  229.  
  230. public OnPlayerRequestSpawn(playerid)
  231. {
  232. return 1;
  233. }
  234.  
  235. public OnObjectMoved(objectid)
  236. {
  237. return 1;
  238. }
  239.  
  240. public OnPlayerObjectMoved(playerid, objectid)
  241. {
  242. return 1;
  243. }
  244.  
  245. public OnPlayerPickUpPickup(playerid, pickupid)
  246. {
  247. return 1;
  248. }
  249.  
  250. public OnVehicleMod(playerid, vehicleid, componentid)
  251. {
  252. return 1;
  253. }
  254.  
  255. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnPlayerSelectedMenuRow(playerid, row)
  266. {
  267. return 1;
  268. }
  269.  
  270. public OnPlayerExitedMenu(playerid)
  271. {
  272. return 1;
  273. }
  274.  
  275. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  276. {
  277. return 1;
  278. }
  279.  
  280. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  281. {
  282. return 1;
  283. }
  284.  
  285. public OnRconLoginAttempt(ip[], password[], success)
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnPlayerUpdate(playerid)
  291. {
  292. return 1;
  293. }
  294.  
  295. public OnPlayerStreamIn(playerid, forplayerid)
  296. {
  297. return 1;
  298. }
  299.  
  300. public OnPlayerStreamOut(playerid, forplayerid)
  301. {
  302. return 1;
  303. }
  304.  
  305. public OnVehicleStreamIn(vehicleid, forplayerid)
  306. {
  307. return 1;
  308. }
  309.  
  310. public OnVehicleStreamOut(vehicleid, forplayerid)
  311. {
  312. return 1;
  313. }
  314.  
  315. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  316. {
  317. if(dialogid == VehCreateInfo)
  318. {
  319. if(!response) return 1;
  320. ShowPlayerDialog(playerid, VehCreate, DIALOG_STYLE_INPUT, "{33FF33}Vehicle Creation", "{FFFFFF}Write down the Vehicle Model ID and Press 'Spawn'\n{FF0000}Note: You will be directed to the Vehicle you'll spawn.", "Spawn", "Cancel");
  321. return 1;
  322. }
  323. if(dialogid == VehCreate)
  324. {
  325. if(!response) return 1;
  326. if(!strlen(inputtext)) return Error(playerid, "You didn't wrote any Vehicle Model ID");
  327. if(strval(inputtext) < 400) return Error(playerid, "Invalid Vehicle Model ID");
  328. if(strval(inputtext) > 611) return Error(playerid, "Invalid Vehicle Model ID");
  329. new SpawnedVehicle;
  330. new Float:X,Float:Y,Float:Z,Float:A;
  331. GetPlayerPos(playerid, X,Y,Z);
  332. GetPlayerFacingAngle(playerid, A);
  333. SpawnedVehicle = CreateVehicle(strval(inputtext), X,Y,Z,A,1,1,600000);
  334. PutPlayerInVehicle(playerid, SpawnedVehicle, 0);
  335. new l1[128], l2[128];
  336. format(l1, sizeof(l1), "{FF0000}Vehicle Created: {FFFFFF}Model: %i | Color: White | Location:", strval(inputtext));
  337. format(l2, sizeof(l2), "{FFFFFF}X - %f | Y - %f | Z - %f | Angle - %f", X,Y,Z,A);
  338. SendClientMessage(playerid, White, l1), SendClientMessage(playerid, White, l2);
  339. return 1;
  340. }
  341. if(dialogid == VehEditInfo)
  342. {
  343. if(!response) return 1;
  344. new ModsInfo[500];
  345. format(ModsInfo, sizeof(ModsInfo), "{FF0000}[X10] {FFFF00}Nitro\n{FFFF00}Hydraulics\n{FFFF00}Gold Wheels\n{33CCCC}Transfender Set\n{33CCCC}Remington Set\n{33CCCC}Sultan Set");
  346. ShowPlayerDialog(playerid, VehEdit, DIALOG_STYLE_LIST, "{33FF33}Vehicle Modding", ModsInfo, "Mod", "Cancel");
  347. return 1;
  348. }
  349. if(dialogid == VehEdit)
  350. {
  351. if(!response) return 1;
  352. if(!IsPlayerInAnyVehicle(playerid)) return Error(playerid, "You are not in Vehicle!");
  353. if(listitem == 0)
  354. {
  355. AddVehicleComponent(carid, 1010);
  356. SendClientMessage(playerid, White, "{FF0000}[X10] {FFFF00}Nitro {33FF33}ADDED!");
  357. Error(playerid, "HINT: Might not work for some of the Vehicles.");
  358. return 1;
  359. }
  360. if(listitem == 1)
  361. {
  362. AddVehicleComponent(carid, 1087);
  363. SendClientMessage(playerid, White, "{FFFF00}Hydraulics {33FF33}ADDED!");
  364. Error(playerid, "HINT: Might not work for some of the Vehicles.");
  365. return 1;
  366. }
  367. if(listitem == 2)
  368. {
  369. AddVehicleComponent(carid, 1080);
  370. SendClientMessage(playerid, White, "{FFFF00}Gold Wheels {33FF33}ADDED!");
  371. Error(playerid, "HINT: Might not work for some of the Vehicles.");
  372. return 1;
  373. }
  374. if(listitem == 3)
  375. {
  376. AddVehicleComponent(carid, 1010);
  377. AddVehicleComponent(carid, 1080);
  378. AddVehicleComponent(carid, 1087);
  379. AddVehicleComponent(carid, 1000);
  380. AddVehicleComponent(carid, 1004);
  381. AddVehicleComponent(carid, 1006);
  382. AddVehicleComponent(carid, 1024);
  383. AddVehicleComponent(carid, 1018);
  384. AddVehicleComponent(carid, 1007);
  385. AddVehicleComponent(carid, 1142);
  386. AddVehicleComponent(carid, 1143);
  387. SendClientMessage(playerid, White, "{33CCCC}Transfender Set:");
  388. SendClientMessage(playerid, White, "{FF33FF}* Nitro, Hydraulics, Gold Wheels");
  389. SendClientMessage(playerid, White, "{FF33FF}* Lamps, Vents, Hood, Roof, Exhaust ({FFFF00}And more{FF33FF})");
  390. SendClientMessage(playerid, White, "{33FF33}Were ADDED!");
  391. Error(playerid, "HINT: Might not work for some of the Vehicles.");
  392. return 1;
  393. }
  394. if(listitem == 4)
  395. {
  396. if(GetVehicleModel(carid) != 534) return Error(playerid, "You need to be in 'Remington' Vehicle.");
  397. AddVehicleComponent(carid, 1010);
  398. AddVehicleComponent(carid, 1080);
  399. AddVehicleComponent(carid, 1087);
  400. AddVehicleComponent(carid, 1106);
  401. AddVehicleComponent(carid, 1124);
  402. AddVehicleComponent(carid, 1125);
  403. AddVehicleComponent(carid, 1126);
  404. AddVehicleComponent(carid, 1179);
  405. AddVehicleComponent(carid, 1180);
  406. SendClientMessage(playerid, White, "{33CCCC}Remington Set:");
  407. SendClientMessage(playerid, White, "{FF33FF}* Nitro, Hydraulics, Gold Wheels");
  408. SendClientMessage(playerid, White, "{FF33FF}* Bullbars, Skirts, Exhaust ({FFFF00}And more{FF33FF})");
  409. SendClientMessage(playerid, White, "{33FF33}Were ADDED!");
  410. return 1;
  411. }
  412. if(listitem == 5)
  413. {
  414. if(GetVehicleModel(carid) != 560) return Error(playerid, "You need to be in 'Sultan' Vehicle.");
  415. AddVehicleComponent(carid, 1010);
  416. AddVehicleComponent(carid, 1080);
  417. AddVehicleComponent(carid, 1087);
  418. AddVehicleComponent(carid, 1029);
  419. AddVehicleComponent(carid, 1030);
  420. AddVehicleComponent(carid, 1031);
  421. AddVehicleComponent(carid, 1033);
  422. AddVehicleComponent(carid, 1139);
  423. AddVehicleComponent(carid, 1140);
  424. AddVehicleComponent(carid, 1170);
  425. SendClientMessage(playerid, White, "{33CCCC}Sultan Set:");
  426. SendClientMessage(playerid, White, "{FF33FF}* Nitro, Hydraulics, Gold Wheels");
  427. SendClientMessage(playerid, White, "{FF33FF}* Spoilers, Skirts, Exhaust, Roofs ({FFFF00}And more{FF33FF})");
  428. SendClientMessage(playerid, White, "{33FF33}Were ADDED!");
  429. return 1;
  430. }
  431. return 1;
  432. }
  433. return 1;
  434. }
  435.  
  436. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  437. {
  438. return 1;
  439. }
  440.  
  441. stock Error(playerid, text[])
  442. {
  443. new msg[128];
  444. format(msg, sizeof(msg), " %s", text);
  445. return SendClientMessage(playerid, 0x99999900, msg);
  446. }
  447.  
  448. stock UnmodVehicle(vehicleid)
  449. {
  450. new Com0,Com1,Com2,Com3,Com4,Com5,Com6,Com7,Com8,Com9,Com10,Com11,Com12,Com13;
  451. Com0 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SPOILER);
  452. Com1 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HOOD);
  453. Com2 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_ROOF);
  454. Com3 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SIDESKIRT);
  455. Com4 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_LAMPS);
  456. Com5 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO);
  457. Com6 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_EXHAUST);
  458. Com7 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_WHEELS);
  459. Com8 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_STEREO);
  460. Com9 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HYDRAULICS);
  461. Com10 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_FRONT_BUMPER);
  462. Com11 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_REAR_BUMPER);
  463. Com12 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_RIGHT);
  464. Com13 = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_LEFT);
  465. RemoveVehicleComponent(vehicleid, Com0);
  466. RemoveVehicleComponent(vehicleid, Com1);
  467. RemoveVehicleComponent(vehicleid, Com2);
  468. RemoveVehicleComponent(vehicleid, Com3);
  469. RemoveVehicleComponent(vehicleid, Com4);
  470. RemoveVehicleComponent(vehicleid, Com5);
  471. RemoveVehicleComponent(vehicleid, Com6);
  472. RemoveVehicleComponent(vehicleid, Com7);
  473. RemoveVehicleComponent(vehicleid, Com8);
  474. RemoveVehicleComponent(vehicleid, Com9);
  475. RemoveVehicleComponent(vehicleid, Com10);
  476. RemoveVehicleComponent(vehicleid, Com11);
  477. RemoveVehicleComponent(vehicleid, Com12);
  478. RemoveVehicleComponent(vehicleid, Com13);
  479. return 1;
  480. }
Advertisement
Add Comment
Please, Sign In to add comment