Guest User

Dynamic tuning garage system by Adel

a guest
Mar 5th, 2016
1,342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.91 KB | None | 0 0
  1. //------------------------------------------------------------------------------
  2. //
  3. //
  4. // Dynamic tuning garage system
  5. // by Adel
  6. //
  7. //
  8. //------------------------------------------------------------------------------
  9.  
  10. #include <a_samp>
  11. #include <Dini>
  12. #define FILTERSCRIPT
  13.  
  14. //------------------------------------------------------------------------------
  15.  
  16. #define CREATEGARAGE 500
  17. #define LABELCOLOR 501
  18. #define FIXPRICE 502
  19. #define COLORPRICE 503
  20. #define FIX 504
  21. #define COLORCHANGE 505
  22. #define TUNING1 506
  23. #define TUNINGSPOILER 507
  24. #define TUNINGNITRO 508
  25. #define TUNINGWHEELS 509
  26. #define TUNINGHYDRAULICS 510
  27. #define TUNINGFBUMPER 511
  28. #define TUNINGRBUMPER 512
  29. #define TUNINGSIDESKIRT 513
  30. #define TUNINGROOF 514
  31. #define TUNINGPRICE 515
  32. #define TUNINGPRICE1 516
  33. #define MAX_GARAGES 50
  34. #define OBJECTM 12929
  35. #pragma tabsize 0
  36.  
  37. //------------------------------------------------------------------------------
  38.  
  39. enum gr
  40. {
  41. Float:xgarage,
  42. Float:ygarage,
  43. Float:zgarage,
  44. Float:xrgarage,
  45. Float:yrgarage,
  46. Float:zrgarage,
  47. fixprice,
  48. colorprice,
  49. garag,
  50. Text3D:label,
  51. labelcolor,
  52. tune,
  53. tuningprice,
  54. };
  55. new Garage[MAX_GARAGES][gr];
  56. new editing[MAX_PLAYERS];
  57. new repair[MAX_PLAYERS];
  58.  
  59. //------------------------------------------------------------------------------
  60. #if defined FILTERSCRIPT
  61.  
  62. public OnFilterScriptInit()
  63. {
  64. print("Dynamic mechanic garage system by Adel loaded");
  65. LoadG();
  66. return 1;
  67. }
  68.  
  69. public OnFilterScriptExit()
  70. {
  71. return 1;
  72. }
  73.  
  74. #else
  75.  
  76. main()
  77. {
  78. print("\n----------------------------------");
  79. print(" Blank Gamemode by your name here");
  80. print("----------------------------------\n");
  81. }
  82.  
  83. #endif
  84.  
  85. public OnGameModeInit()
  86. {
  87. return 1;
  88. }
  89.  
  90. public OnGameModeExit()
  91. {
  92. return 1;
  93. }
  94.  
  95. public OnPlayerRequestClass(playerid, classid)
  96. {
  97. return 1;
  98. }
  99.  
  100. public OnPlayerConnect(playerid)
  101. {
  102. return 1;
  103. }
  104.  
  105. public OnPlayerDisconnect(playerid, reason)
  106. {
  107. return 1;
  108. }
  109.  
  110. public OnPlayerSpawn(playerid)
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnPlayerDeath(playerid, killerid, reason)
  116. {
  117. return 1;
  118. }
  119.  
  120. public OnVehicleSpawn(vehicleid)
  121. {
  122. return 1;
  123. }
  124.  
  125. public OnVehicleDeath(vehicleid, killerid)
  126. {
  127. return 1;
  128. }
  129.  
  130. public OnPlayerText(playerid, text[])
  131. {
  132. return 1;
  133. }
  134.  
  135. public OnPlayerCommandText(playerid, cmdtext[])
  136. {
  137. if(strcmp("/mgcreate", cmdtext, true, 9) == 0)
  138. {
  139. if(IsPlayerAdmin(playerid))
  140. {
  141. ShowPlayerDialog(playerid,CREATEGARAGE,DIALOG_STYLE_LIST,"Mechanic garage","Create garage\nEdit garage\nDestroy garage\nChange label color\nSet fix price\nSet color change price\nSet tuning price","Ok","Exit");
  142. }
  143. return 1;
  144. }
  145. if(strcmp("/fix", cmdtext, true, 4) == 0)
  146. {
  147. for(new i = 0; i < MAX_GARAGES; i++)
  148. {
  149. if(IsPlayerInRangeOfPoint(playerid,3.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  150. {
  151. new s[60];
  152. format(s,sizeof(s),"Fix car | %d$\nChange color | %d$",Garage[i][fixprice],Garage[i][colorprice]);
  153. ShowPlayerDialog(playerid,FIX,DIALOG_STYLE_LIST,"Mechanic garage",s,"Ok","Exit");
  154. repair[playerid] = i;
  155. }
  156. }
  157. return 1;
  158. }
  159. if(strcmp("/vehicle", cmdtext, true, 8) == 0)
  160. {
  161. if(IsPlayerAdmin(playerid))
  162. {
  163. new Float: x, Float: y, Float: z, Float: a;
  164. GetPlayerPos(playerid,x,y,z);
  165. GetPlayerFacingAngle(playerid,a);
  166. CreateVehicle(560, x+2, y+2, z, a, 0, 0, 10000);
  167. }
  168. return 1;
  169. }
  170. if(strcmp("/tuning", cmdtext, true, 7) == 0)
  171. {
  172. for(new i = 0; i < MAX_GARAGES; i++)
  173. {
  174. if(IsPlayerInRangeOfPoint(playerid,3.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  175. {
  176. if(Garage[i][tune] == 1)
  177. {
  178. ShowPlayerDialog(playerid, TUNINGSPOILER, DIALOG_STYLE_LIST,"Spoiler","Pro | CTC\nWin | CTC\nDrag | CTC\nAlpha | CTC\nChamp | CTC\nRace | CTC\nWorx | CTC\nFury | CTC\nAlien | Flash\nX-flow | Flash\nAlien | Sultan\nX-flow | Sultan\nAlien | Elegy\nX-flow | Elegy\nAlien | Jester\nX-flow | Jester\nAlien | Uranus\nX-flow | Uranus","Buy","Exit");
  179. }
  180. if(Garage[i][tune] == 2)
  181. {
  182. ShowPlayerDialog(playerid, TUNINGNITRO, DIALOG_STYLE_LIST,"Nitro","Nitro 2x\nNitro 5x\nNitro 10x","Buy","Exit");
  183. }
  184. if(Garage[i][tune] == 3)
  185. {
  186. ShowPlayerDialog(playerid, TUNINGWHEELS, DIALOG_STYLE_LIST,"Wheels","Shadow\nMega\nRimshine\nWires\nClassic\nTwist\nCutter\nSwitch\nGrove\nImport\nDollar\nTrance\nAtomic\nAhab\nVirtual\nAccess","Buy","Exit");
  187. }
  188. if(Garage[i][tune] == 4)
  189. {
  190. ShowPlayerDialog(playerid, TUNINGHYDRAULICS, DIALOG_STYLE_MSGBOX,"Hydraulics","Are you sure that you want add hydraulics in your car?","Yes","No");
  191. }
  192. if(Garage[i][tune] == 5)
  193. {
  194. ShowPlayerDialog(playerid, TUNINGFBUMPER, DIALOG_STYLE_LIST,"Front bumper","Chrome | Slamvan\nX-flow | Flash\nAlien | Flash\nAlien | Stratum\nX-flow | Stratum\nAlien | Jester\nX-flow | Jester\nX-flow | Uranus\nAlien | Uranus\nAlien | Sultan\nX-flow | Sultan\nAlien | Elegy\nX-flow | Elegy\nChrome | Broadway\nSlamin | Broadway\nChrome | Remington\nSlamin |Remington\nSlamin | Blade\nChrome | Blade\nSlamin | Savanna\nChrome | Savanna\nSlamin | Tornado\nChrome | Tornado","Buy","Exit");
  195. }
  196. if(Garage[i][tune] == 6)
  197. {
  198. ShowPlayerDialog(playerid, TUNINGRBUMPER, DIALOG_STYLE_LIST,"Rear bumper","X-flow | Sultan\nAlien | Sultan\nX-flow | Elegy\nAlien | Elegy\nAlien | Flash\nX-flow | Flash\nAlien | Stratum\nX-flow | Stratum\nAlien | Jester\nX-flow | Jester\nX-flow | Uranus\nAlien | Uranus\nChrome | Broadway\nSlamin | Broadway\nSlamin | Remington\nChrome | Remington\nSlamin | Blade\nChrome | Blade\nSlamin | Savanna\nChrome | Savanna\nChrome | Tornado\nSlamin | Tornado","Buy","Exit");
  199. }
  200. if(Garage[i][tune] == 7)
  201. {
  202. ShowPlayerDialog(playerid, TUNINGSIDESKIRT, DIALOG_STYLE_LIST,"Sideskirt","Right and left | CTC\nRAL Alien | Sultan\nRAL x-flow | Sultan\nRAL Alien | Elegy\nRAL x-flow | Elegy\nRAL chrome | Broadway\nRAL Alien | Flash\nRAL x-flow | Flash\nRAL Alien | Stratum\nRAL x-flow | Stratum\nRAL Alien | Jester\nRAL x-flow | Jester\nRAL Alien | Uranus\nRAL x-flow | Uranus\nRAL chrome | Remington\nRAL chrome | Blade\nRAL chrome | Slamvan\nRAL wheelcovers | Slamvan\nRAL chrome | Tornado","Buy","Exit");
  203. }
  204. if(Garage[i][tune] == 8)
  205. {
  206. ShowPlayerDialog(playerid, TUNINGROOF, DIALOG_STYLE_LIST,"Roof","Scoop | Certain transfender cars\nAlien | Sultan\nX-flow | Sultan\nX-flow | Elegy\nAlien | Elegy\nX-flow | Flash\nAlien | Flash\nAlien | Stratum\nX-flow | Stratum\nAlien | Jester\nX-flow | Jester\nAlien | Uranus\nX-flow | Uranus\nCovertible | Blade\nVinyl Hardtop | Blade\nHardtop | Savanna\nSofttop | Savanna","Buy","Exit");
  207. }
  208. repair[playerid] = i;
  209. }
  210. }
  211. return 1;
  212. }
  213. return 0;
  214. }
  215.  
  216. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerExitVehicle(playerid, vehicleid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnPlayerStateChange(playerid, newstate, oldstate)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnPlayerEnterCheckpoint(playerid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnPlayerLeaveCheckpoint(playerid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnPlayerEnterRaceCheckpoint(playerid)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnPlayerLeaveRaceCheckpoint(playerid)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnRconCommand(cmd[])
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnPlayerRequestSpawn(playerid)
  257. {
  258. return 1;
  259. }
  260.  
  261. public OnObjectMoved(objectid)
  262. {
  263. return 1;
  264. }
  265.  
  266. public OnPlayerObjectMoved(playerid, objectid)
  267. {
  268. return 1;
  269. }
  270.  
  271. public OnPlayerPickUpPickup(playerid, pickupid)
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnVehicleMod(playerid, vehicleid, componentid)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnPlayerSelectedMenuRow(playerid, row)
  292. {
  293. return 1;
  294. }
  295.  
  296. public OnPlayerExitedMenu(playerid)
  297. {
  298. return 1;
  299. }
  300.  
  301. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnRconLoginAttempt(ip[], password[], success)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnPlayerUpdate(playerid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnPlayerStreamIn(playerid, forplayerid)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnPlayerStreamOut(playerid, forplayerid)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnVehicleStreamIn(vehicleid, forplayerid)
  332. {
  333. return 1;
  334. }
  335.  
  336. public OnVehicleStreamOut(vehicleid, forplayerid)
  337. {
  338. return 1;
  339. }
  340.  
  341. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  342. {
  343. if(dialogid == CREATEGARAGE)
  344. {
  345. if(response)
  346. {
  347. if(listitem == 0)
  348. {
  349. ShowPlayerDialog(playerid, TUNING1, DIALOG_STYLE_LIST,"Tuning","Spoiler\nNitro\nWheels\nHydraulics\nFront Bumper\nRear Bumper\nSideskirt\nRoof","Ok","Exit");
  350. }
  351. if(listitem == 1)
  352. {
  353. for(new i = 0; i < MAX_GARAGES; i++)
  354. {
  355. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  356. {
  357. editing[playerid] = i;
  358. EditObject(playerid,Garage[i][garag]);
  359. }
  360. }
  361. SendClientMessage(playerid,-1,"You are editing a mechanic garage.");
  362. }
  363. if(listitem == 2)
  364. {
  365. for(new i = 0; i < MAX_GARAGES; i++)
  366. {
  367. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  368. {
  369. new s[20],w[30];
  370. format(s,sizeof(s),"Garages/%d.ini",i);
  371. if(fexist(s))
  372. {
  373. dini_Remove(s);
  374. Delete3DTextLabel(Garage[i][label]);
  375. DestroyObject(Garage[i][garag]);
  376. format(w,sizeof(w),"Mechanic garage %d destroyed.",i);
  377. SendClientMessage(playerid,-1,w);
  378. }
  379. }
  380. }
  381. }
  382. if(listitem == 3)
  383. {
  384. for(new i = 0; i < MAX_GARAGES; i++)
  385. {
  386. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  387. {
  388. editing[playerid] = i;
  389. ShowPlayerDialog(playerid,LABELCOLOR,DIALOG_STYLE_LIST,"Label color","Blue\nGreen\nRed\nYellow","Ok","Exit");
  390. }
  391. }
  392. }
  393. if(listitem == 4)
  394. {
  395. for(new i = 0; i < MAX_GARAGES; i++)
  396. {
  397. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  398. {
  399. editing[playerid] = i;
  400. ShowPlayerDialog(playerid,FIXPRICE,DIALOG_STYLE_INPUT,"Fix price","Input fix price:","Ok","Exit");
  401. }
  402. }
  403. }
  404. if(listitem == 5)
  405. {
  406. for(new i = 0; i < MAX_GARAGES; i++)
  407. {
  408. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  409. {
  410. editing[playerid] = i;
  411. ShowPlayerDialog(playerid,COLORPRICE,DIALOG_STYLE_INPUT,"Color change price","Input color change price:","Ok","Exit");
  412. }
  413. }
  414. }
  415. if(listitem == 6)
  416. {
  417. for(new i = 0; i < MAX_GARAGES; i++)
  418. {
  419. if(IsPlayerInRangeOfPoint(playerid,10.0,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage]))
  420. {
  421. ShowPlayerDialog(playerid, TUNINGPRICE, DIALOG_STYLE_INPUT,"Tuning price","Enter the tunining price","Ok","Exit");
  422. }
  423. }
  424. }
  425. }
  426. }
  427. if(dialogid == TUNINGPRICE)
  428. {
  429. if(response)
  430. {
  431. new id = editing[playerid],s[60];
  432. Garage[id][tuningprice] = strval(inputtext);
  433. format(s,sizeof(s),"You set the fix price of tuning to %d$.",strval(inputtext));
  434. SendClientMessage(playerid,-1,s);
  435. }
  436. }
  437. if(dialogid == TUNING1)
  438. {
  439. if(response)
  440. {
  441. if(listitem == 0)
  442. {
  443. new id = GarageID(),s[20];
  444. format(s,sizeof(s),"Garages/%d.ini",id);
  445. if(!fexist(s))
  446. {
  447. dini_Create(s);
  448. Garage[id][tune] = 1;
  449. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  450. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  451. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  452. EditObject(playerid,Garage[id][garag]);
  453. editing[playerid] = id;
  454. SGarage(id);
  455. }
  456. }
  457. if(listitem == 1)
  458. {
  459. new id = GarageID(),s[20];
  460. format(s,sizeof(s),"Garages/%d.ini",id);
  461. if(!fexist(s))
  462. {
  463. dini_Create(s);
  464. Garage[id][tune] = 2;
  465. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  466. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  467. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  468. EditObject(playerid,Garage[id][garag]);
  469. editing[playerid] = id;
  470. SGarage(id);
  471. }
  472. }
  473. if(listitem == 2)
  474. {
  475. new id = GarageID(),s[20];
  476. format(s,sizeof(s),"Garages/%d.ini",id);
  477. if(!fexist(s))
  478. {
  479. dini_Create(s);
  480. Garage[id][tune] = 3;
  481. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  482. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  483. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  484. EditObject(playerid,Garage[id][garag]);
  485. editing[playerid] = id;
  486. SGarage(id);
  487. }
  488. }
  489. if(listitem == 3)
  490. {
  491. new id = GarageID(),s[20];
  492. format(s,sizeof(s),"Garages/%d.ini",id);
  493. if(!fexist(s))
  494. {
  495. dini_Create(s);
  496. Garage[id][tune] = 4;
  497. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  498. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  499. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  500. EditObject(playerid,Garage[id][garag]);
  501. editing[playerid] = id;
  502. SGarage(id);
  503. }
  504. }
  505. if(listitem == 4)
  506. {
  507. new id = GarageID(),s[20];
  508. format(s,sizeof(s),"Garages/%d.ini",id);
  509. if(!fexist(s))
  510. {
  511. dini_Create(s);
  512. Garage[id][tune] = 5;
  513. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  514. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  515. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  516. EditObject(playerid,Garage[id][garag]);
  517. editing[playerid] = id;
  518. SGarage(id);
  519. }
  520. }
  521. if(listitem == 5)
  522. {
  523. new id = GarageID(),s[20];
  524. format(s,sizeof(s),"Garages/%d.ini",id);
  525. if(!fexist(s))
  526. {
  527. dini_Create(s);
  528. Garage[id][tune] = 6;
  529. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  530. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  531. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  532. EditObject(playerid,Garage[id][garag]);
  533. editing[playerid] = id;
  534. SGarage(id);
  535. }
  536. }
  537. if(listitem == 6)
  538. {
  539. new id = GarageID(),s[20];
  540. format(s,sizeof(s),"Garages/%d.ini",id);
  541. if(!fexist(s))
  542. {
  543. dini_Create(s);
  544. Garage[id][tune] = 7;
  545. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  546. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  547. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  548. EditObject(playerid,Garage[id][garag]);
  549. editing[playerid] = id;
  550. SGarage(id);
  551. }
  552. }
  553. if(listitem == 7)
  554. {
  555. new id = GarageID(),s[20];
  556. format(s,sizeof(s),"Garages/%d.ini",id);
  557. if(!fexist(s))
  558. {
  559. dini_Create(s);
  560. Garage[id][tune] = 8;
  561. GetPlayerPos(playerid,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage]);
  562. Garage[id][garag] = CreateObject(OBJECTM,Garage[id][xgarage],Garage[id][ygarage],Garage[id][zgarage],0,0,0, 96.0);
  563. Garage[id][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning", 0xFFFFFFFF, Garage[id][xgarage], Garage[id][ygarage], Garage[id][zgarage], 40.0, 0, 0);
  564. EditObject(playerid,Garage[id][garag]);
  565. editing[playerid] = id;
  566. SGarage(id);
  567. }
  568. }
  569. }
  570. }
  571. if(dialogid == TUNINGSPOILER)
  572. {
  573. if(response)
  574. {
  575. new vehicle = GetPlayerVehicleID(playerid);
  576. if(listitem == 0)
  577. {
  578. AddVehicleComponent(vehicle, 1000);
  579. }
  580. if(listitem == 1)
  581. {
  582. AddVehicleComponent(vehicle, 1001);
  583. }
  584. if(listitem == 2)
  585. {
  586. AddVehicleComponent(vehicle, 1002);
  587. }
  588. if(listitem == 3)
  589. {
  590. AddVehicleComponent(vehicle, 1003);
  591. }
  592. if(listitem == 4)
  593. {
  594. AddVehicleComponent(vehicle, 1014);
  595. }
  596. if(listitem == 5)
  597. {
  598. AddVehicleComponent(vehicle, 1015);
  599. }
  600. if(listitem == 6)
  601. {
  602. AddVehicleComponent(vehicle, 1016);
  603. }
  604. if(listitem == 7)
  605. {
  606. AddVehicleComponent(vehicle, 1023);
  607. }
  608. if(listitem == 8)
  609. {
  610. AddVehicleComponent(vehicle, 1049);
  611. }
  612. if(listitem == 9)
  613. {
  614. AddVehicleComponent(vehicle, 1050);
  615. }
  616. if(listitem == 10)
  617. {
  618. AddVehicleComponent(vehicle, 1023);
  619. }
  620. if(listitem == 11)
  621. {
  622. AddVehicleComponent(vehicle, 1138);
  623. }
  624. if(listitem == 12)
  625. {
  626. AddVehicleComponent(vehicle, 1139);
  627. }
  628. if(listitem == 13)
  629. {
  630. AddVehicleComponent(vehicle, 1147);
  631. }
  632. if(listitem == 14)
  633. {
  634. AddVehicleComponent(vehicle, 1146);
  635. }
  636. if(listitem == 15)
  637. {
  638. AddVehicleComponent(vehicle, 1162);
  639. }
  640. if(listitem == 16)
  641. {
  642. AddVehicleComponent(vehicle, 1158);
  643. }
  644. if(listitem == 17)
  645. {
  646. AddVehicleComponent(vehicle, 1164);
  647. }
  648. if(listitem == 18)
  649. {
  650. AddVehicleComponent(vehicle, 1163);
  651. }
  652. }
  653. }
  654. if(dialogid == TUNINGNITRO)
  655. {
  656. if(response)
  657. {
  658. new vehicle = GetPlayerVehicleID(playerid);
  659. if(listitem == 0)
  660. {
  661. AddVehicleComponent(vehicle, 1009);
  662. }
  663. if(listitem == 1)
  664. {
  665. AddVehicleComponent(vehicle, 1008);
  666. }
  667. if(listitem == 2)
  668. {
  669. AddVehicleComponent(vehicle, 1010);
  670. }
  671. }
  672. }
  673. if(dialogid == TUNINGWHEELS)
  674. {
  675. if(response)
  676. {
  677. new vehicle = GetPlayerVehicleID(playerid);
  678. if(listitem == 0)
  679. {
  680. AddVehicleComponent(vehicle, 1073);
  681. }
  682. if(listitem == 1)
  683. {
  684. AddVehicleComponent(vehicle, 1074);
  685. }
  686. if(listitem == 2)
  687. {
  688. AddVehicleComponent(vehicle, 1075);
  689. }
  690. if(listitem == 3)
  691. {
  692. AddVehicleComponent(vehicle, 1076);
  693. }
  694. if(listitem == 4)
  695. {
  696. AddVehicleComponent(vehicle, 1077);
  697. }
  698. if(listitem == 5)
  699. {
  700. AddVehicleComponent(vehicle, 1078);
  701. }
  702. if(listitem == 6)
  703. {
  704. AddVehicleComponent(vehicle, 1079);
  705. }
  706. if(listitem == 7)
  707. {
  708. AddVehicleComponent(vehicle, 1080);
  709. }
  710. if(listitem == 8)
  711. {
  712. AddVehicleComponent(vehicle, 1081);
  713. }
  714. if(listitem == 9)
  715. {
  716. AddVehicleComponent(vehicle, 1082);
  717. }
  718. if(listitem == 10)
  719. {
  720. AddVehicleComponent(vehicle, 1083);
  721. }
  722. if(listitem == 11)
  723. {
  724. AddVehicleComponent(vehicle, 1084);
  725. }
  726. if(listitem == 12)
  727. {
  728. AddVehicleComponent(vehicle, 1085);
  729. }
  730. if(listitem == 13)
  731. {
  732. AddVehicleComponent(vehicle, 1096);
  733. }
  734. if(listitem == 14)
  735. {
  736. AddVehicleComponent(vehicle, 1097);
  737. }
  738. }
  739. }
  740. if(dialogid == TUNINGHYDRAULICS)
  741. {
  742. if(response)
  743. {
  744. AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
  745. SendClientMessage(playerid,-1,"You added hydraulics in your car.");
  746. }
  747. }
  748. if(dialogid == TUNINGFBUMPER)
  749. {
  750. if(response)
  751. {
  752. new vehicle = GetPlayerVehicleID(playerid);
  753. if(listitem == 0)
  754. {
  755. AddVehicleComponent(vehicle, 1117);
  756. }
  757. if(listitem == 1)
  758. {
  759. AddVehicleComponent(vehicle, 1152);
  760. }
  761. if(listitem == 2)
  762. {
  763. AddVehicleComponent(vehicle, 1153);
  764. }
  765. if(listitem == 3)
  766. {
  767. AddVehicleComponent(vehicle, 1155);
  768. }
  769. if(listitem == 4)
  770. {
  771. AddVehicleComponent(vehicle, 1157);
  772. }
  773. if(listitem == 5)
  774. {
  775. AddVehicleComponent(vehicle, 1160);
  776. }
  777. if(listitem == 6)
  778. {
  779. AddVehicleComponent(vehicle, 1173);
  780. }
  781. if(listitem == 7)
  782. {
  783. AddVehicleComponent(vehicle, 1165);
  784. }
  785. if(listitem == 8)
  786. {
  787. AddVehicleComponent(vehicle, 1166);
  788. }
  789. if(listitem == 9)
  790. {
  791. AddVehicleComponent(vehicle, 1169);
  792. }
  793. if(listitem == 10)
  794. {
  795. AddVehicleComponent(vehicle, 1170);
  796. }
  797. if(listitem == 11)
  798. {
  799. AddVehicleComponent(vehicle, 1171);
  800. }
  801. if(listitem == 12)
  802. {
  803. AddVehicleComponent(vehicle, 1172);
  804. }
  805. if(listitem == 13)
  806. {
  807. AddVehicleComponent(vehicle, 1174);
  808. }
  809. if(listitem == 14)
  810. {
  811. AddVehicleComponent(vehicle, 1175);
  812. }
  813. if(listitem == 15)
  814. {
  815. AddVehicleComponent(vehicle, 1179);
  816. }
  817. if(listitem == 16)
  818. {
  819. AddVehicleComponent(vehicle, 1185);
  820. }
  821. if(listitem == 17)
  822. {
  823. AddVehicleComponent(vehicle, 1181);
  824. }
  825. if(listitem == 18)
  826. {
  827. AddVehicleComponent(vehicle, 1182);
  828. }
  829. if(listitem == 19)
  830. {
  831. AddVehicleComponent(vehicle, 1188);
  832. }
  833. if(listitem == 20)
  834. {
  835. AddVehicleComponent(vehicle, 1189);
  836. }
  837. if(listitem == 21)
  838. {
  839. AddVehicleComponent(vehicle, 1190);
  840. }
  841. if(listitem == 22)
  842. {
  843. AddVehicleComponent(vehicle, 1191);
  844. }
  845. }
  846. }
  847. if(dialogid == TUNINGRBUMPER)
  848. {
  849. if(response)
  850. {
  851. new vehicle = GetPlayerVehicleID(playerid);
  852. if(listitem == 0)
  853. {
  854. AddVehicleComponent(vehicle, 1140);
  855. }
  856. if(listitem == 1)
  857. {
  858. AddVehicleComponent(vehicle, 1141);
  859. }
  860. if(listitem == 2)
  861. {
  862. AddVehicleComponent(vehicle, 1148);
  863. }
  864. if(listitem == 3)
  865. {
  866. AddVehicleComponent(vehicle, 1149);
  867. }
  868. if(listitem == 4)
  869. {
  870. AddVehicleComponent(vehicle, 1150);
  871. }
  872. if(listitem == 5)
  873. {
  874. AddVehicleComponent(vehicle, 1151);
  875. }
  876. if(listitem == 6)
  877. {
  878. AddVehicleComponent(vehicle, 1154);
  879. }
  880. if(listitem == 7)
  881. {
  882. AddVehicleComponent(vehicle, 1156);
  883. }
  884. if(listitem == 8)
  885. {
  886. AddVehicleComponent(vehicle, 1159);
  887. }
  888. if(listitem == 9)
  889. {
  890. AddVehicleComponent(vehicle, 1161);
  891. }
  892. if(listitem == 10)
  893. {
  894. AddVehicleComponent(vehicle, 1167);
  895. }
  896. if(listitem == 11)
  897. {
  898. AddVehicleComponent(vehicle, 1168);
  899. }
  900. if(listitem == 12)
  901. {
  902. AddVehicleComponent(vehicle, 1176);
  903. }
  904. if(listitem == 13)
  905. {
  906. AddVehicleComponent(vehicle, 1177);
  907. }
  908. if(listitem == 14)
  909. {
  910. AddVehicleComponent(vehicle, 1178);
  911. }
  912. if(listitem == 15)
  913. {
  914. AddVehicleComponent(vehicle, 1180);
  915. }
  916. if(listitem == 16)
  917. {
  918. AddVehicleComponent(vehicle, 1183);
  919. }
  920. if(listitem == 17)
  921. {
  922. AddVehicleComponent(vehicle, 1184);
  923. }
  924. if(listitem == 18)
  925. {
  926. AddVehicleComponent(vehicle, 1186);
  927. }
  928. if(listitem == 19)
  929. {
  930. AddVehicleComponent(vehicle, 1187);
  931. }
  932. if(listitem == 20)
  933. {
  934. AddVehicleComponent(vehicle, 1192);
  935. }
  936. if(listitem == 21)
  937. {
  938. AddVehicleComponent(vehicle, 1193);
  939. }
  940. }
  941. }
  942. if(dialogid == TUNINGSIDESKIRT)
  943. {
  944. if(response)
  945. {
  946. new vehicle = GetPlayerVehicleID(playerid);
  947. if(listitem == 0)
  948. {
  949. AddVehicleComponent(vehicle, 1007);
  950. AddVehicleComponent(vehicle, 1017);
  951. }
  952. if(listitem == 1)
  953. {
  954. AddVehicleComponent(vehicle, 1026);
  955. AddVehicleComponent(vehicle, 1027);
  956. }
  957. if(listitem == 2)
  958. {
  959. AddVehicleComponent(vehicle, 1030);
  960. AddVehicleComponent(vehicle, 1031);
  961. }
  962. if(listitem == 3)
  963. {
  964. AddVehicleComponent(vehicle, 1036);
  965. AddVehicleComponent(vehicle, 1040);
  966. }
  967. if(listitem == 4)
  968. {
  969. AddVehicleComponent(vehicle, 1039);
  970. AddVehicleComponent(vehicle, 1041);
  971. }
  972. if(listitem == 5)
  973. {
  974. AddVehicleComponent(vehicle, 1042);
  975. AddVehicleComponent(vehicle, 1099);
  976. }
  977. if(listitem == 6)
  978. {
  979. AddVehicleComponent(vehicle, 1047);
  980. AddVehicleComponent(vehicle, 1051);
  981. }
  982. if(listitem == 7)
  983. {
  984. AddVehicleComponent(vehicle, 1048);
  985. AddVehicleComponent(vehicle, 1052);
  986. }
  987. if(listitem == 8)
  988. {
  989. AddVehicleComponent(vehicle, 1056);
  990. AddVehicleComponent(vehicle, 1062);
  991. }
  992. if(listitem == 9)
  993. {
  994. AddVehicleComponent(vehicle, 1057);
  995. AddVehicleComponent(vehicle, 1063);
  996. }
  997. if(listitem == 10)
  998. {
  999. AddVehicleComponent(vehicle, 1069);
  1000. AddVehicleComponent(vehicle, 1071);
  1001. }
  1002. if(listitem == 11)
  1003. {
  1004. AddVehicleComponent(vehicle, 1070);
  1005. AddVehicleComponent(vehicle, 1072);
  1006. }
  1007. if(listitem == 12)
  1008. {
  1009. AddVehicleComponent(vehicle, 1090);
  1010. AddVehicleComponent(vehicle, 1094);
  1011. }
  1012. if(listitem == 13)
  1013. {
  1014. AddVehicleComponent(vehicle, 1093);
  1015. AddVehicleComponent(vehicle, 1095);
  1016. }
  1017. if(listitem == 14)
  1018. {
  1019. AddVehicleComponent(vehicle, 1101);
  1020. AddVehicleComponent(vehicle, 1106);
  1021. }
  1022. if(listitem == 15)
  1023. {
  1024. AddVehicleComponent(vehicle, 1107);
  1025. AddVehicleComponent(vehicle, 1108);
  1026. }
  1027. if(listitem == 16)
  1028. {
  1029. AddVehicleComponent(vehicle, 1118);
  1030. AddVehicleComponent(vehicle, 1120);
  1031. }
  1032. if(listitem == 17)
  1033. {
  1034. AddVehicleComponent(vehicle, 1119);
  1035. AddVehicleComponent(vehicle, 1121);
  1036. }
  1037. if(listitem == 18)
  1038. {
  1039. AddVehicleComponent(vehicle, 1134);
  1040. AddVehicleComponent(vehicle, 1137);
  1041. }
  1042. }
  1043. }
  1044. if(dialogid == TUNINGROOF)
  1045. {
  1046. if(response)
  1047. {
  1048. new vehicle = GetPlayerVehicleID(playerid);
  1049. if(listitem == 0)
  1050. {
  1051. AddVehicleComponent(vehicle, 1006);
  1052. }
  1053. if(listitem == 1)
  1054. {
  1055. AddVehicleComponent(vehicle, 1032);
  1056. }
  1057. if(listitem == 2)
  1058. {
  1059. AddVehicleComponent(vehicle, 1033);
  1060. }
  1061. if(listitem == 3)
  1062. {
  1063. AddVehicleComponent(vehicle, 1035);
  1064. }
  1065. if(listitem == 4)
  1066. {
  1067. AddVehicleComponent(vehicle, 1038);
  1068. }
  1069. if(listitem == 5)
  1070. {
  1071. AddVehicleComponent(vehicle, 1053);
  1072. }
  1073. if(listitem == 6)
  1074. {
  1075. AddVehicleComponent(vehicle, 1054);
  1076. }
  1077. if(listitem == 7)
  1078. {
  1079. AddVehicleComponent(vehicle, 1055);
  1080. }
  1081. if(listitem == 8)
  1082. {
  1083. AddVehicleComponent(vehicle, 1061);
  1084. }
  1085. if(listitem == 9)
  1086. {
  1087. AddVehicleComponent(vehicle, 1067);
  1088. }
  1089. if(listitem == 10)
  1090. {
  1091. AddVehicleComponent(vehicle, 1068);
  1092. }
  1093. if(listitem == 11)
  1094. {
  1095. AddVehicleComponent(vehicle, 1088);
  1096. }
  1097. if(listitem == 12)
  1098. {
  1099. AddVehicleComponent(vehicle, 1091);
  1100. }
  1101. if(listitem == 13)
  1102. {
  1103. AddVehicleComponent(vehicle, 1103);
  1104. }
  1105. if(listitem == 14)
  1106. {
  1107. AddVehicleComponent(vehicle, 1128);
  1108. }
  1109. if(listitem == 15)
  1110. {
  1111. AddVehicleComponent(vehicle, 1130);
  1112. }
  1113. if(listitem == 16)
  1114. {
  1115. AddVehicleComponent(vehicle, 1131);
  1116. }
  1117. }
  1118. }
  1119. if(dialogid == LABELCOLOR)
  1120. {
  1121. if(response)
  1122. {
  1123. if(listitem == 0)
  1124. {
  1125. new s = editing[playerid];
  1126. Garage[s][labelcolor] = 0;
  1127. Delete3DTextLabel(Garage[s][label]);
  1128. Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1129. SGarage(s);
  1130. SendClientMessage(playerid,-1,"Label color changed.");
  1131. }
  1132. if(listitem == 1)
  1133. {
  1134. new s = editing[playerid];
  1135. Garage[s][labelcolor] = 1;
  1136. Delete3DTextLabel(Garage[s][label]);
  1137. Create3DTextLabel("{00FF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1138. SGarage(s);
  1139. SendClientMessage(playerid,-1,"Label color changed.");
  1140. }
  1141. if(listitem == 2)
  1142. {
  1143. new s = editing[playerid];
  1144. Garage[s][labelcolor] = 2;
  1145. Delete3DTextLabel(Garage[s][label]);
  1146. Create3DTextLabel("{FF0000}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1147. SGarage(s);
  1148. SendClientMessage(playerid,-1,"Label color changed.");
  1149. }
  1150. if(listitem == 3)
  1151. {
  1152. new s = editing[playerid];
  1153. Garage[s][labelcolor] = 3;
  1154. Delete3DTextLabel(Garage[s][label]);
  1155. Create3DTextLabel("{FFFF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1156. SGarage(s);
  1157. SendClientMessage(playerid,-1,"Label color changed.");
  1158. }
  1159. }
  1160. }
  1161. if(dialogid == FIXPRICE)
  1162. {
  1163. if(response)
  1164. {
  1165. new id = editing[playerid],s[35];
  1166. Garage[id][fixprice] = strval(inputtext);
  1167. format(s,sizeof(s),"You set the fix price to %d$.",strval(inputtext));
  1168. SendClientMessage(playerid,-1,s);
  1169. }
  1170. }
  1171. if(dialogid == COLORPRICE)
  1172. {
  1173. if(response)
  1174. {
  1175. new id = editing[playerid],s[42];
  1176. Garage[id][colorprice] = strval(inputtext);
  1177. format(s,sizeof(s),"You set the color change price to %d$.",strval(inputtext));
  1178. SendClientMessage(playerid,-1,s);
  1179. }
  1180. }
  1181. if(dialogid == FIX)
  1182. {
  1183. if(response)
  1184. {
  1185. if(listitem == 0)
  1186. {
  1187. if(GetPlayerMoney(playerid) >= Garage[repair[playerid]][fixprice])
  1188. {
  1189. SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
  1190. RepairVehicle(GetPlayerVehicleID(playerid));
  1191. GivePlayerMoney(playerid,-Garage[repair[playerid]][fixprice]);
  1192. SendClientMessage(playerid,-1,"Car fixed.");
  1193. }
  1194. else { SendClientMessage(playerid,-1,"You have not money."); }
  1195. }
  1196. if(listitem == 1)
  1197. {
  1198. ShowPlayerDialog(playerid,COLORCHANGE,DIALOG_STYLE_INPUT,"Mechanic garage","Enter vehicle color:","Ok","Exit");
  1199. }
  1200. }
  1201. }
  1202. if(dialogid == COLORCHANGE)
  1203. {
  1204. if(response)
  1205. {
  1206. if(GetPlayerMoney(playerid) >= Garage[repair[playerid]][colorprice])
  1207. {
  1208. ChangeVehicleColor(GetPlayerVehicleID(playerid), strval(inputtext),strval(inputtext));
  1209. SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
  1210. RepairVehicle(GetPlayerVehicleID(playerid));
  1211. GivePlayerMoney(playerid,-Garage[repair[playerid]][colorprice]);
  1212. SendClientMessage(playerid,-1,"Car color changed.");
  1213. }
  1214. else { SendClientMessage(playerid,-1,"You have not money."); }
  1215. }
  1216. }
  1217. return 1;
  1218. }
  1219.  
  1220. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1221. {
  1222. return 1;
  1223. }
  1224.  
  1225. public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
  1226. {
  1227. if(response == EDIT_RESPONSE_FINAL)
  1228. {
  1229. new s = editing[playerid];
  1230. if(objectid == Garage[s][garag])
  1231. {
  1232. SetObjectPos(objectid, fX, fY, fZ);
  1233. SetObjectRot(objectid, fRotX, fRotY, fRotZ);
  1234. Garage[s][xgarage] = fX;
  1235. Garage[s][ygarage] = fY;
  1236. Garage[s][zgarage] = fZ;
  1237. Garage[s][xrgarage] = fRotX;
  1238. Garage[s][yrgarage] = fRotY;
  1239. Garage[s][zrgarage] = fRotZ;
  1240. SGarage(s);
  1241. Delete3DTextLabel(Garage[s][label]);
  1242. if(Garage[s][labelcolor] == 0)
  1243. {
  1244. Garage[s][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1245. }
  1246. if(Garage[s][labelcolor] == 1)
  1247. {
  1248. Garage[s][label] = Create3DTextLabel("{00FF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1249. }
  1250. if(Garage[s][labelcolor] == 2)
  1251. {
  1252. Garage[s][label] = Create3DTextLabel("{FF0000}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1253. }
  1254. if(Garage[s][labelcolor] == 3)
  1255. {
  1256. Garage[s][label] = Create3DTextLabel("{FFFF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[s][xgarage],Garage[s][ygarage],Garage[s][zgarage], 30.0,0,0);
  1257. }
  1258. SendClientMessage(playerid,-1,"Mechanic garage edited.");
  1259. }
  1260. }
  1261. }
  1262.  
  1263. stock GarageID()
  1264. {
  1265. new s[20];
  1266. for(new i= 0; i < MAX_GARAGES; i++)
  1267. {
  1268. format(s,sizeof(s), "Garages/%d.ini", i);
  1269. if(!fexist(s)) return i;
  1270. }
  1271. return true;
  1272. }
  1273. stock SGarage(id)
  1274. {
  1275. new s[20];
  1276. format(s,sizeof(s),"Garages/%d.ini",id);
  1277. if(fexist(s))
  1278. {
  1279. dini_FloatSet(s, "GX", Garage[id][xgarage]);
  1280. dini_FloatSet(s, "GY", Garage[id][ygarage]);
  1281. dini_FloatSet(s, "GZ", Garage[id][zgarage]);
  1282. dini_FloatSet(s, "GXR",Garage[id][xrgarage]);
  1283. dini_FloatSet(s, "GYR",Garage[id][yrgarage]);
  1284. dini_FloatSet(s, "GZR",Garage[id][zrgarage]);
  1285. dini_IntSet(s, "Gprice",Garage[id][fixprice]);
  1286. dini_IntSet(s, "Cprice",Garage[id][colorprice]);
  1287. dini_IntSet(s, "Labelcolor",Garage[id][labelcolor]);
  1288. dini_IntSet(s, "Tuning",Garage[id][tune]);
  1289. dini_IntSet(s, "Tuningprice",Garage[id][tuningprice]);
  1290. }
  1291. return 1;
  1292. }
  1293. stock LoadG()
  1294. {
  1295. new s[20];
  1296. for(new i =0; i < MAX_GARAGES; i++)
  1297. {
  1298. format(s,sizeof(s), "Garages/%d.ini", i);
  1299. if(fexist(s))
  1300. {
  1301. Garage[i][xgarage] = dini_Float(s, "GX");
  1302. Garage[i][ygarage] = dini_Float(s, "GY");
  1303. Garage[i][zgarage] = dini_Float(s, "GZ");
  1304. Garage[i][xrgarage] = dini_Float(s, "GXR");
  1305. Garage[i][yrgarage] = dini_Float(s, "GYR");
  1306. Garage[i][zrgarage] = dini_Float(s, "GZR");
  1307. Garage[i][fixprice] = dini_Int(s, "Gprice");
  1308. Garage[i][colorprice] = dini_Int(s, "Cprice");
  1309. Garage[i][labelcolor] = dini_Int(s, "Labelcolor");
  1310. Garage[i][tune] = dini_Int(s, "Tuning");
  1311. Garage[i][tuningprice] = dini_Int(s, "Tuningprice");
  1312. Garage[i][garag] = CreateObject(OBJECTM,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage],Garage[i][xrgarage],Garage[i][yrgarage],Garage[i][zrgarage], 96.0);
  1313. if(Garage[i][labelcolor] == 0)
  1314. {
  1315. Garage[i][label] = Create3DTextLabel("{00BFFF}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage], 30.0,0,0);
  1316. }
  1317. if(Garage[i][labelcolor] == 1)
  1318. {
  1319. Garage[i][label] = Create3DTextLabel("{00FF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage], 30.0,0,0);
  1320. }
  1321. if(Garage[i][labelcolor] == 2)
  1322. {
  1323. Garage[i][label] = Create3DTextLabel("{FF0000}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage], 30.0,0,0);
  1324. }
  1325. if(Garage[i][labelcolor] == 3)
  1326. {
  1327. Garage[i][label] = Create3DTextLabel("{FFFF00}Mechanic garage\n/fix\n/tuning",0xFFFFFFFF,Garage[i][xgarage],Garage[i][ygarage],Garage[i][zgarage], 30.0,0,0);
  1328. }
  1329. }
  1330. }
  1331. return 1;
  1332. }
Advertisement
Add Comment
Please, Sign In to add comment