Advertisement
Guest User

Untitled

a guest
Nov 16th, 2011
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 94.16 KB | None | 0 0
  1. //===========================Section: Includes==================================
  2. #include <a_samp>
  3. #include <utils>
  4. //===========================Section: Definations===============================
  5. #define COLOR_GRAD1 0xB4B5B7FF
  6. #define COLOR_GRAD2 0xBFC0C2FF
  7. #define COLOR_GRAD3 0xCBCCCEFF
  8. #define COLOR_GRAD4 0xD8D8D8FF
  9. #define COLOR_GRAD5 0xE3E3E3FF
  10. #define COLOR_GRAD6 0xF0F0F0FF
  11. #define COLOR_GREEN 0x33AA33AA
  12. #define COLOR_GREY 0xAFAFAFAA
  13. #define COLOR_WHITE 0xFFFFFFAA
  14. #define COLOR_YELLOW 0xFFFF00AA
  15. #define COLOR_YELLOW2 0xF5DEB3AA
  16. #define COLOR_BLUE 0x2641FEAA
  17.  
  18. #define DIALOGID 9999
  19. //-----------
  20.  
  21. new carsonserver = 57;
  22. //===========================Section: Forwards==================================
  23. forward split(const strsrc[], strdest[][], delimiter);
  24. forward LoadCar();
  25. forward SaveCarCoords();
  26. forward LoadComponents(vehicleid);
  27. forward OnPropUpdate();
  28. forward IsAnOwnableCar(vehicleid);
  29. forward IsAtDealership(playerid);
  30. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  31. forward CarMods(vehicleid);
  32.  
  33. forward ProxDetectorS(Float:radi, playerid, targetid);
  34. forward CarKeys(playerid);
  35. forward SavePlayerData(playerid);
  36. forward ini_GetKey( line[] );
  37. forward ini_GetValue( line[] );
  38. forward OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  39.  
  40.  
  41.  
  42. new OwnableCarOffer[MAX_PLAYERS];
  43. new OwnableCarID[MAX_PLAYERS];
  44. new OwnableCarPrice[MAX_PLAYERS];
  45.  
  46. new vehName[][] = {
  47. "Landstalker",
  48. "Bravura",
  49. "Buffalo",
  50. "Linerunner",
  51. "Perrenial",
  52. "Sentinel",
  53. "Dumper",
  54. "Firetruck",
  55. "Trashmaster",
  56. "Stretch",
  57. "Manana",
  58. "Infernus",
  59. "Voodoo",
  60. "Pony",
  61. "Mule",
  62. "Cheetah",
  63. "Ambulance",
  64. "Leviathan",
  65. "Moonbeam",
  66. "Esperanto",
  67. "Taxi",
  68. "Washington",
  69. "Bobcat",
  70. "Whoopee",
  71. "BF Injection",
  72. "Hunter",
  73. "Premier",
  74. "Enforcer",
  75. "Securicar",
  76. "Banshee",
  77. "Predator",
  78. "Bus",
  79. "Rhino",
  80. "Barracks",
  81. "Hotknife",
  82. "Trailer",
  83. "Previon",
  84. "Coach",
  85. "Cabbie",
  86. "Stallion",
  87. "Rumpo",
  88. "RC Bandit",
  89. "Romero",
  90. "Packer",
  91. "Monster",
  92. "Admiral",
  93. "Squalo",
  94. "Seasparrow",
  95. "Pizzaboy",
  96. "Tram",
  97. "Trailer",
  98. "Turismo",
  99. "Speeder",
  100. "Reefer",
  101. "Tropic",
  102. "Flatbed",
  103. "Yankee",
  104. "Caddy",
  105. "Solair",
  106. "Berkley's RC Van",
  107. "Skimmer",
  108. "PCJ-600",
  109. "Faggio",
  110. "Freeway",
  111. "RC Baron",
  112. "RC Raider",
  113. "Glendale",
  114. "Oceanic",
  115. "Sanchez",
  116. "Sparrow",
  117. "Patriot",
  118. "ATV",
  119. "Coastguard",
  120. "Dinghy",
  121. "Hermes",
  122. "Sabre",
  123. "Rustler",
  124. "ZR-350",
  125. "Walton",
  126. "Regina",
  127. "Comet",
  128. "BMX",
  129. "Burrito",
  130. "Camper",
  131. "Marquis",
  132. "Baggage",
  133. "Dozer",
  134. "Maverick",
  135. "News Chopper",
  136. "Rancher",
  137. "FBI Rancher",
  138. "Virgo",
  139. "Greenwood",
  140. "Jetmax",
  141. "Hotring",
  142. "Sandking",
  143. "Blista Compact",
  144. "Police Maverick",
  145. "Boxvillde",
  146. "Benson",
  147. "Mesa",
  148. "RC Goblin",
  149. "Hotring Racer A",
  150. "Hotring Racer B",
  151. "Bloodring Banger",
  152. "Rancher",
  153. "Super GT",
  154. "Elegant",
  155. "Journey",
  156. "Bike",
  157. "Mountain Bike",
  158. "Beagle",
  159. "Cropduster",
  160. "Stunt",
  161. "Tanker",
  162. "Roadtrain",
  163. "Nebula",
  164. "Majestic",
  165. "Buccaneer",
  166. "Shamal",
  167. "Hydra",
  168. "FCR-900",
  169. "NRG-500",
  170. "HPV1000",
  171. "Cement Truck",
  172. "Tow Truck",
  173. "Fortune",
  174. "Cadrona",
  175. "FBI Truck",
  176. "Willard",
  177. "Forklift",
  178. "Tractor",
  179. "Combine",
  180. "Feltzer",
  181. "Remington",
  182. "Slamvan",
  183. "Blade",
  184. "Freight",
  185. "Streak",
  186. "Vortex",
  187. "Vincent",
  188. "Bullet",
  189. "Clover",
  190. "Sadler",
  191. "Firetruck",
  192. "Hustler",
  193. "Intruder",
  194. "Primo",
  195. "Cargobob",
  196. "Tampa",
  197. "Sunrise",
  198. "Merit",
  199. "Utility",
  200. "Nevada",
  201. "Jeep",
  202. "Windsor",
  203. "Monster",
  204. "Monster",
  205. "Uranus",
  206. "Jester",
  207. "Sultan",
  208. "Stratum",
  209. "Elegy",
  210. "Raindance",
  211. "RC Tiger",
  212. "Flash",
  213. "Tahoma",
  214. "Savanna",
  215. "Bandito",
  216. "Freight Flat",
  217. "Streak Carriage",
  218. "Kart",
  219. "Mower",
  220. "Dune",
  221. "Sweeper",
  222. "Broadway",
  223. "Tornado",
  224. "AT-400",
  225. "DFT-30",
  226. "Huntley",
  227. "Stafford",
  228. "BF-400",
  229. "News Van",
  230. "Tug",
  231. "Trailer",
  232. "Emperor",
  233. "Wayfarer",
  234. "Euros",
  235. "Hotdog",
  236. "Club",
  237. "Freight Box",
  238. "Trailer",
  239. "Andromada",
  240. "Dodo",
  241. "RC Cam",
  242. "Launch",
  243. "Police Car LSPD",
  244. "Police Car SFPD",
  245. "Police Car LVPD",
  246. "Police Ranger",
  247. "Picador",
  248. "S.W.A.T",
  249. "Alpha",
  250. "Phoenix",
  251. "Glendale",
  252. "Sadler",
  253. "Luggage",
  254. "Luggage",
  255. "Stairs",
  256. "Boxville",
  257. "Tiller",
  258. "Utility Trailer"
  259. };
  260. //===========================Section: Variables=================================
  261.  
  262. enum pInfo
  263. {
  264. pPcarkey,
  265. pPcarkey2,
  266. pPcarkey3,
  267. }
  268. new PlayerInfo[256][pInfo];
  269.  
  270. enum cInfo
  271. {
  272. cModel,
  273. Float:cLocationx,
  274. Float:cLocationy,
  275. Float:cLocationz,
  276. Float:cAngle,
  277. cColorOne,
  278. cColorTwo,
  279. cOwner[MAX_PLAYER_NAME],
  280. cDescription[12],
  281. cValue,
  282. cLicense[14],
  283. cRegistration,
  284. cOwned,
  285. cLock,
  286. mod1,
  287. mod2,
  288. mod3,
  289. mod4,
  290. mod5,
  291. mod6,
  292. mod7,
  293. mod8,
  294. mod9,
  295. mod10,
  296. mod11,
  297. mod12,
  298. mod13,
  299. mod14,
  300. mod15,
  301. mod16,
  302. mod17,
  303. paintjob,
  304. };
  305.  
  306. new CarInfo[1000][cInfo];
  307.  
  308. new spoiler[20][0] = {
  309. {1000},
  310. {1001},
  311. {1002},
  312. {1003},
  313. {1014},
  314. {1015},
  315. {1016},
  316. {1023},
  317. {1058},
  318. {1060},
  319. {1049},
  320. {1050},
  321. {1138},
  322. {1139},
  323. {1146},
  324. {1147},
  325. {1158},
  326. {1162},
  327. {1163},
  328. {1164}
  329. };
  330.  
  331. new nitro[3][0] = {
  332. {1008},
  333. {1009},
  334. {1010}
  335. };
  336.  
  337. new fbumper[23][0] = {
  338. {1117},
  339. {1152},
  340. {1153},
  341. {1155},
  342. {1157},
  343. {1160},
  344. {1165},
  345. {1167},
  346. {1169},
  347. {1170},
  348. {1171},
  349. {1172},
  350. {1173},
  351. {1174},
  352. {1175},
  353. {1179},
  354. {1181},
  355. {1182},
  356. {1185},
  357. {1188},
  358. {1189},
  359. {1192},
  360. {1193}
  361. };
  362.  
  363. new rbumper[22][0] = {
  364. {1140},
  365. {1141},
  366. {1148},
  367. {1149},
  368. {1150},
  369. {1151},
  370. {1154},
  371. {1156},
  372. {1159},
  373. {1161},
  374. {1166},
  375. {1168},
  376. {1176},
  377. {1177},
  378. {1178},
  379. {1180},
  380. {1183},
  381. {1184},
  382. {1186},
  383. {1187},
  384. {1190},
  385. {1191}
  386. };
  387.  
  388. new exhaust[28][0] = {
  389. {1018},
  390. {1019},
  391. {1020},
  392. {1021},
  393. {1022},
  394. {1028},
  395. {1029},
  396. {1037},
  397. {1043},
  398. {1044},
  399. {1045},
  400. {1046},
  401. {1059},
  402. {1064},
  403. {1065},
  404. {1066},
  405. {1089},
  406. {1092},
  407. {1104},
  408. {1105},
  409. {1113},
  410. {1114},
  411. {1126},
  412. {1127},
  413. {1129},
  414. {1132},
  415. {1135},
  416. {1136}
  417. };
  418.  
  419. new bventr[2][0] = {
  420. {1042},
  421. {1044}
  422. };
  423.  
  424. new bventl[2][0] = {
  425. {1043},
  426. {1045}
  427. };
  428.  
  429. new bscoop[4][0] = {
  430. {1004},
  431. {1005},
  432. {1011},
  433. {1012}
  434. };
  435.  
  436. new rscoop[13][0] = {
  437. {1006},
  438. {1032},
  439. {1033},
  440. {1035},
  441. {1038},
  442. {1053},
  443. {1054},
  444. {1055},
  445. {1061},
  446. {1067},
  447. {1068},
  448. {1088},
  449. {1091}
  450. };
  451.  
  452. new lskirt[21][0] = {
  453. {1007},
  454. {1026},
  455. {1031},
  456. {1036},
  457. {1039},
  458. {1042},
  459. {1047},
  460. {1048},
  461. {1056},
  462. {1057},
  463. {1069},
  464. {1070},
  465. {1090},
  466. {1093},
  467. {1106},
  468. {1108},
  469. {1118},
  470. {1119},
  471. {1133},
  472. {1122},
  473. {1134}
  474. };
  475.  
  476. new rskirt[21][0] = {
  477. {1017},
  478. {1027},
  479. {1030},
  480. {1040},
  481. {1041},
  482. {1051},
  483. {1052},
  484. {1062},
  485. {1063},
  486. {1071},
  487. {1072},
  488. {1094},
  489. {1095},
  490. {1099},
  491. {1101},
  492. {1102},
  493. {1107},
  494. {1120},
  495. {1121},
  496. {1124},
  497. {1137}
  498. };
  499.  
  500. new hydraulics[1][0] = {
  501. {1087}
  502. };
  503.  
  504. new base[1][0] = {
  505. {1086}
  506. };
  507.  
  508. new rbbars[2][0] = {
  509. {1109},
  510. {1110}
  511. };
  512.  
  513. new fbbars[2][0] = {
  514. {1115},
  515. {1116}
  516. };
  517.  
  518. new wheels[17][0] = {
  519. {1025},
  520. {1073},
  521. {1074},
  522. {1075},
  523. {1076},
  524. {1077},
  525. {1078},
  526. {1079},
  527. {1080},
  528. {1081},
  529. {1082},
  530. {1083},
  531. {1084},
  532. {1085},
  533. {1096},
  534. {1097},
  535. {1098}
  536. };
  537.  
  538. new light[2][0] = {
  539. {1013},
  540. {1024}
  541. };
  542.  
  543. InitComponents(componentid)
  544. {
  545. new i;
  546. for(i=0; i<20; i++)
  547. {
  548. if(spoiler[i][0]==componentid) { return 1; }
  549. }
  550. for(i=0; i<3; i++)
  551. {
  552. if(nitro[i][0]==componentid) { return 2; }
  553. }
  554. for(i=0; i<23; i++)
  555. {
  556. if(fbumper[i][0]==componentid) { return 3; }
  557. }
  558. for(i=0; i<22; i++)
  559. {
  560. if(rbumper[i][0]==componentid) { return 4; }
  561. }
  562. for(i=0; i<28; i++)
  563. {
  564. if(exhaust[i][0]==componentid) { return 5; }
  565. }
  566. for(i=0; i<2; i++)
  567. {
  568. if(bventr[i][0]==componentid) { return 6; }
  569. }
  570. for(i=0; i<2; i++)
  571. {
  572. if(bventl[i][0]==componentid) { return 7; }
  573. }
  574. for(i=0; i<4; i++)
  575. {
  576. if(bscoop[i][0]==componentid) { return 8; }
  577. }
  578. for(i=0; i<13; i++)
  579. {
  580. if(rscoop[i][0]==componentid) { return 9; }
  581. }
  582. for(i=0; i<21; i++)
  583. {
  584. if(lskirt[i][0]==componentid) { return 10; }
  585. }
  586. for(i=0; i<21; i++)
  587. {
  588. if(rskirt[i][0]==componentid) { return 11; }
  589. }
  590. if(hydraulics[0][0]==componentid) { return 12; }
  591. if(base[0][0]==componentid) { return 13; }
  592. for(i=0; i<2; i++)
  593. {
  594. if(rbbars[i][0]==componentid) { return 14; }
  595. }
  596. for(i=0; i<2; i++)
  597. {
  598. if(fbbars[i][0]==componentid) { return 15; }
  599. }
  600. for(i=0; i<17; i++)
  601. {
  602. if(wheels[i][0]==componentid) { return 16; }
  603. }
  604. for(i=0; i<2; i++)
  605. {
  606. if(light[i][0]==componentid) { return 17; }
  607. }
  608. return 0;
  609. }
  610.  
  611. //===========================Section: strtok & split============================
  612. strtok(const string[], &index)
  613. {
  614. new length = strlen(string);
  615. while ((index < length) && (string[index] <= ' '))
  616. {
  617. index++;
  618. }
  619.  
  620. new offset = index;
  621. new result[20];
  622. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  623. {
  624. result[index - offset] = string[index];
  625. index++;
  626. }
  627. result[index - offset] = EOS;
  628. return result;
  629. }
  630.  
  631. public split(const strsrc[], strdest[][], delimiter)
  632. {
  633. new i, li;
  634. new aNum;
  635. new len;
  636. while(i <= strlen(strsrc)){
  637. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  638. len = strmid(strdest[aNum], strsrc, li, i, 128);
  639. strdest[aNum][len] = 0;
  640. li = i+1;
  641. aNum++;
  642. }
  643. i++;
  644. }
  645. return 1;
  646. }
  647. //===========================Section: Callbacks & Functions=====================
  648. public OnFilterScriptInit()
  649. {
  650. printf("Filterscript carownership.amx Initiated\n");
  651. LoadCar();
  652.  
  653. for(new h = carsonserver; h < sizeof(CarInfo); h++)
  654. {
  655. AddStaticVehicleEx(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
  656. LoadComponents(h);
  657. }
  658. return 1;
  659. }
  660.  
  661. public OnFilterScriptExit() { return 1; }
  662.  
  663. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  664. {
  665. new carid = GetPlayerVehicleID(playerid);
  666. if ((newkeys & KEY_SECONDARY_ATTACK))
  667. {
  668. if(IsAnOwnableCar(carid) && CarInfo[carid][cOwned] == 0)
  669. {
  670. TogglePlayerControllable(playerid, 1);
  671. RemovePlayerFromVehicle(playerid);
  672. }
  673. }
  674. return 1;
  675. }
  676.  
  677. public SavePlayerData(playerid)
  678. {
  679. if(IsPlayerConnected(playerid))
  680. {
  681. new string3[32];
  682. new playername3[MAX_PLAYER_NAME];
  683. GetPlayerName(playerid, playername3, sizeof(playername3));
  684. format(string3, sizeof(string3), "carkeys/%s.ini", playername3);
  685. new File: hFile = fopen(string3, io_write);
  686. if (hFile)
  687. {
  688. new var[32];
  689. format(var, 32, "CarKey=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var);
  690. format(var, 32, "CarKey2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var);
  691. format(var, 32, "CarKey3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var);
  692. fclose(hFile);
  693. }
  694. }
  695. return 1;
  696. }
  697.  
  698. public ProxDetectorS(Float:radi, playerid, targetid)
  699. {
  700. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  701. {
  702. new Float:posx, Float:posy, Float:posz;
  703. new Float:oldposx, Float:oldposy, Float:oldposz;
  704. new Float:tempposx, Float:tempposy, Float:tempposz;
  705. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  706. //radi = 2.0; //Trigger Radius
  707. GetPlayerPos(targetid, posx, posy, posz);
  708. tempposx = (oldposx -posx);
  709. tempposy = (oldposy -posy);
  710. tempposz = (oldposz -posz);
  711. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  712. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  713. {
  714. return 1;
  715. }
  716. }
  717. return 0;
  718. }
  719.  
  720. public CarKeys(playerid)
  721. {
  722. new string2[64];
  723. new playername2[MAX_PLAYER_NAME];
  724. GetPlayerName(playerid, playername2, sizeof(playername2));
  725. format(string2, sizeof(string2), "carkeys/%s.ini", playername2);
  726. new File: UserFile = fopen(string2, io_read);
  727. if ( UserFile )
  728. {
  729. new key[ 256 ] , val[ 256 ];
  730. new Data[ 256 ];
  731. while ( fread( UserFile , Data , sizeof( Data ) ) )
  732. {
  733. key = ini_GetKey( Data );
  734. if( strcmp( key , "CarKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey] = strval( val ); }
  735. if( strcmp( key , "CarKey2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey2] = strval( val ); }
  736. if( strcmp( key , "CarKey3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey3] = strval( val ); }
  737. }
  738. fclose(UserFile);
  739. SendClientMessage(playerid, COLOR_WHITE,"Kljucevi od auta Loaded!!!");
  740. }
  741. return 1;
  742. }
  743.  
  744. public CarMods(vehicleid)
  745. {
  746. if(CarInfo[vehicleid][paintjob] > -1 || CarInfo[vehicleid][mod1] > 0 || CarInfo[vehicleid][mod2] > 0 || CarInfo[vehicleid][mod3] > 0 || CarInfo[vehicleid][mod4] > 0 || CarInfo[vehicleid][mod5] > 0 || CarInfo[vehicleid][mod6] > 0 || CarInfo[vehicleid][mod7] > 0 || CarInfo[vehicleid][mod8] > 0)
  747. {
  748. return 1;
  749. }
  750. else if (CarInfo[vehicleid][mod9] > 0 || CarInfo[vehicleid][mod10] > 0 || CarInfo[vehicleid][mod11] > 0 || CarInfo[vehicleid][mod12] > 0|| CarInfo[vehicleid][mod13] > 0|| CarInfo[vehicleid][mod14] > 0|| CarInfo[vehicleid][mod15] > 0|| CarInfo[vehicleid][mod16] > 0|| CarInfo[vehicleid][mod17] > 0)
  751. {
  752. return 1;
  753. }
  754. return 0;
  755. }
  756.  
  757. public IsAtDealership(playerid)
  758. {
  759. if(IsPlayerConnected(playerid))
  760. {
  761. if(PlayerToPoint(25.0,playerid,2128.0864,-1135.3912,25.5855) || PlayerToPoint(50,playerid,537.3366,-1293.2140,17.2422) || PlayerToPoint(35,playerid,2521.5544,-1524.4504,23.8365) || PlayerToPoint(50,playerid,2155.0146,-1177.3333,23.8211) || PlayerToPoint(50,playerid,299.1723,-1518.6627,24.6007) || PlayerToPoint(99,playerid,1938.414428,-2643.810058,13.723393))
  762. {
  763. return 1;
  764. }
  765. }
  766. return 0;
  767. }
  768.  
  769. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  770. {
  771. if(IsPlayerConnected(playerid))
  772. {
  773. new Float:oldposx, Float:oldposy, Float:oldposz;
  774. new Float:tempposx, Float:tempposy, Float:tempposz;
  775. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  776. tempposx = (oldposx -x);
  777. tempposy = (oldposy -y);
  778. tempposz = (oldposz -z);
  779. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  780. {
  781. return 1;
  782. }
  783. }
  784. return 0;
  785. }
  786.  
  787. public OnVehicleMod(playerid,vehicleid,componentid)
  788. {
  789. new mods = InitComponents(componentid);
  790. if(IsPlayerInVehicle(playerid, vehicleid))
  791. {
  792. switch(mods)
  793. {
  794. case 1: { CarInfo[vehicleid][mod1] = componentid; }
  795. case 2: { CarInfo[vehicleid][mod2] = componentid; }
  796. case 3: { CarInfo[vehicleid][mod3] = componentid; }
  797. case 4: { CarInfo[vehicleid][mod4] = componentid; }
  798. case 5: { CarInfo[vehicleid][mod5] = componentid; }
  799. case 6: { CarInfo[vehicleid][mod6] = componentid; }
  800. case 7: { CarInfo[vehicleid][mod7] = componentid; }
  801. case 8: { CarInfo[vehicleid][mod8] = componentid; }
  802. case 9: { CarInfo[vehicleid][mod9] = componentid; }
  803. case 10: { CarInfo[vehicleid][mod10] = componentid; }
  804. case 11: { CarInfo[vehicleid][mod11] = componentid; }
  805. case 12: { CarInfo[vehicleid][mod12] = componentid; }
  806. case 13: { CarInfo[vehicleid][mod13] = componentid; }
  807. case 14: { CarInfo[vehicleid][mod14] = componentid; }
  808. case 15: { CarInfo[vehicleid][mod15] = componentid; }
  809. case 16: { CarInfo[vehicleid][mod16] = componentid; }
  810. case 17: { CarInfo[vehicleid][mod17] = componentid; }
  811. }
  812. }
  813. return 1;
  814. }
  815.  
  816. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  817. {
  818. if(IsPlayerInVehicle(playerid, vehicleid))
  819. {
  820. if(GetVehicleModel(vehicleid) == 483)
  821. {
  822. switch(paintjobid)
  823. {
  824. case 0: CarInfo[vehicleid][paintjob] = 0;
  825. }
  826. }
  827. if(GetVehicleModel(vehicleid) == 534)
  828. {
  829. switch(paintjobid)
  830. {
  831. case 0: CarInfo[vehicleid][paintjob] = 0;
  832. case 1: CarInfo[vehicleid][paintjob] = 1;
  833. case 2: CarInfo[vehicleid][paintjob] = 2;
  834. }
  835. }
  836. if(GetVehicleModel(vehicleid) == 535)
  837. {
  838. switch(paintjobid)
  839. {
  840. case 0: CarInfo[vehicleid][paintjob] = 0;
  841. case 1: CarInfo[vehicleid][paintjob] = 1;
  842. case 2: CarInfo[vehicleid][paintjob] = 2;
  843. }
  844. }
  845. if(GetVehicleModel(vehicleid) == 536)
  846. {
  847. switch(paintjobid)
  848. {
  849. case 0: CarInfo[vehicleid][paintjob] = 0;
  850. case 1: CarInfo[vehicleid][paintjob] = 1;
  851. case 2: CarInfo[vehicleid][paintjob] = 2;
  852. }
  853. }
  854. if(GetVehicleModel(vehicleid) == 558)
  855. {
  856. switch(paintjobid)
  857. {
  858. case 0: CarInfo[vehicleid][paintjob] = 0;
  859. case 1: CarInfo[vehicleid][paintjob] = 1;
  860. case 2: CarInfo[vehicleid][paintjob] = 2;
  861. }
  862. }
  863. if(GetVehicleModel(vehicleid) == 559)
  864. {
  865. switch(paintjobid)
  866. {
  867. case 0: CarInfo[vehicleid][paintjob] = 0;
  868. case 1: CarInfo[vehicleid][paintjob] = 1;
  869. case 2: CarInfo[vehicleid][paintjob] = 2;
  870. }
  871. }
  872. if(GetVehicleModel(vehicleid) == 560)
  873. {
  874. switch(paintjobid)
  875. {
  876. case 0: CarInfo[vehicleid][paintjob] = 0;
  877. case 1: CarInfo[vehicleid][paintjob] = 1;
  878. case 2: CarInfo[vehicleid][paintjob] = 2;
  879. }
  880. }
  881. if(GetVehicleModel(vehicleid) == 561)
  882. {
  883. switch(paintjobid)
  884. {
  885. case 0: CarInfo[vehicleid][paintjob] = 0;
  886. case 1: CarInfo[vehicleid][paintjob] = 1;
  887. case 2: CarInfo[vehicleid][paintjob] = 2;
  888. }
  889. }
  890. if(GetVehicleModel(vehicleid) == 562)
  891. {
  892. switch(paintjobid)
  893. {
  894. case 0: CarInfo[vehicleid][paintjob] = 0;
  895. case 1: CarInfo[vehicleid][paintjob] = 1;
  896. case 2: CarInfo[vehicleid][paintjob] = 2;
  897. }
  898. }
  899. if(GetVehicleModel(vehicleid) == 565)
  900. {
  901. switch(paintjobid)
  902. {
  903. case 0: CarInfo[vehicleid][paintjob] = 0;
  904. case 1: CarInfo[vehicleid][paintjob] = 1;
  905. case 2: CarInfo[vehicleid][paintjob] = 2;
  906. }
  907. }
  908. if(GetVehicleModel(vehicleid) == 567)
  909. {
  910. switch(paintjobid)
  911. {
  912. case 0: CarInfo[vehicleid][paintjob] = 0;
  913. case 1: CarInfo[vehicleid][paintjob] = 1;
  914. case 2: CarInfo[vehicleid][paintjob] = 2;
  915. }
  916. }
  917. if(GetVehicleModel(vehicleid) == 575)
  918. {
  919. switch(paintjobid)
  920. {
  921. case 0: CarInfo[vehicleid][paintjob] = 0;
  922. case 1: CarInfo[vehicleid][paintjob] = 1;
  923. }
  924. }
  925. if(GetVehicleModel(vehicleid) == 576)
  926. {
  927. switch(paintjobid)
  928. {
  929. case 0: CarInfo[vehicleid][paintjob] = 0;
  930. case 1: CarInfo[vehicleid][paintjob] = 1;
  931. case 2: CarInfo[vehicleid][paintjob] = 2;
  932. }
  933. }
  934. }
  935. return 1;
  936. }
  937.  
  938. public OnPropUpdate()
  939. {
  940. new idx;
  941. new File: file2;
  942. idx = carsonserver;
  943. while (idx < sizeof(CarInfo))
  944. {
  945. new coordsstring[256];
  946. format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
  947. CarInfo[idx][cModel],
  948. CarInfo[idx][cLocationx],
  949. CarInfo[idx][cLocationy],
  950. CarInfo[idx][cLocationz],
  951. CarInfo[idx][cAngle],
  952. CarInfo[idx][cColorOne],
  953. CarInfo[idx][cColorTwo],
  954. CarInfo[idx][cOwner],
  955. CarInfo[idx][cDescription],
  956. CarInfo[idx][cValue],
  957. CarInfo[idx][cLicense],
  958. CarInfo[idx][cOwned],
  959. CarInfo[idx][cLock],
  960. CarInfo[idx][mod1],
  961. CarInfo[idx][mod2],
  962. CarInfo[idx][mod3],
  963. CarInfo[idx][mod4],
  964. CarInfo[idx][mod5],
  965. CarInfo[idx][mod6],
  966. CarInfo[idx][mod7],
  967. CarInfo[idx][mod8],
  968. CarInfo[idx][mod9],
  969. CarInfo[idx][mod10],
  970. CarInfo[idx][mod11],
  971. CarInfo[idx][mod12],
  972. CarInfo[idx][mod13],
  973. CarInfo[idx][mod14],
  974. CarInfo[idx][mod15],
  975. CarInfo[idx][mod16],
  976. CarInfo[idx][mod17],
  977. CarInfo[idx][paintjob]);
  978. if(idx == carsonserver)
  979. {
  980. file2 = fopen("masini.cfg", io_write);
  981. }
  982. else
  983. {
  984. file2 = fopen("masini.cfg", io_append);
  985. }
  986. fwrite(file2, coordsstring);
  987. idx++;
  988. fclose(file2);
  989. }
  990. return 1;
  991. }
  992.  
  993. public IsAnOwnableCar(vehicleid)
  994. {
  995. if(vehicleid >= carsonserver && vehicleid <= 1000) { return 1; }
  996. return 0;
  997. }
  998.  
  999. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1000. {
  1001. new vehid;
  1002. vehid = GetPlayerVehicleID(playerid);
  1003. if(response)
  1004. {
  1005. if(dialogid == DIALOGID+2)
  1006. {
  1007. if(response)
  1008. {
  1009. if(listitem==0)
  1010. {
  1011. if(CarInfo[vehid][mod1] > 0)
  1012. {
  1013. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1014. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1015. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1016. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod1] = 0;
  1017. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1018. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1019. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1020. SendClientMessage(playerid, COLOR_BLUE,"* Eleronul a fost scos cu succes!!!");
  1021. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1022. }
  1023. else
  1024. {
  1025. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Eleron Instalat!!!");
  1026. }
  1027. }
  1028. if(listitem==1)
  1029. {
  1030. if(CarInfo[vehid][mod3] > 0)
  1031. {
  1032. new Float:XX,Float:YY,Float:ZZ,Float:CarHP,Float:OldCarHP; new panels,doors,lights,tires;
  1033. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1034. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1035. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod3] = 0;
  1036. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1037. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1038. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1039. SendClientMessage(playerid, COLOR_BLUE,"* Spoilerul din fata a fost scos cu succes!!!");
  1040. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1041. }
  1042. else
  1043. {
  1044. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Spoilerul din fata Instalat!!!");
  1045. }
  1046. }
  1047. if(listitem==2)
  1048. {
  1049. if(CarInfo[vehid][mod4] > 0)
  1050. {
  1051. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1052. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1053. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1054. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod4] = 0;
  1055. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1056. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1057. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1058. SendClientMessage(playerid, COLOR_BLUE,"* Spoilerul din spate a fost scos cu succes!!!");
  1059. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1060. }
  1061. else
  1062. {
  1063. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Spoilerul din spate Instalat!!!");
  1064. }
  1065. }
  1066. if(listitem==3)
  1067. {
  1068. if(CarInfo[vehid][mod10] > 0 && CarInfo[vehid][mod11] > 0)
  1069. {
  1070. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1071. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1072. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1073. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod10] = 0;
  1074. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1075. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1076. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1077. SendClientMessage(playerid, COLOR_BLUE,"* Lateralele au fost scoase cu succes!!!");
  1078. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1079. }
  1080. else
  1081. {
  1082. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Laterale Instalate!!!");
  1083. }
  1084. }
  1085. if(listitem==4)
  1086. {
  1087. if(CarInfo[vehid][mod9] > 0)
  1088. {
  1089. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1090. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1091. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1092. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod9] = 0;
  1093. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1094. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1095. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1096. SendClientMessage(playerid, COLOR_BLUE,"* Roof Scoops au fost scoase cu succes!!!");
  1097. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1098. }
  1099. else
  1100. {
  1101. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Roof Scoops Instalat!!!");
  1102. }
  1103. }
  1104. if(listitem==5)
  1105. {
  1106. if(CarInfo[vehid][mod5] > 0)
  1107. {
  1108. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1109. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1110. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1111. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod5] = 0;
  1112. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1113. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1114. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1115. SendClientMessage(playerid, COLOR_BLUE,"* Tobele de Esapament au fost scoase cu succes!!!");
  1116. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1117. }
  1118. else
  1119. {
  1120. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Tobe de Esapament Instalate!!!");
  1121. }
  1122. }
  1123. if(listitem==6)
  1124. {
  1125. if(CarInfo[vehid][mod2] > 0)
  1126. {
  1127. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1128. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1129. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1130. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod2] = 0;
  1131. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1132. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1133. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1134. SendClientMessage(playerid, COLOR_BLUE,"* Nitro a fost scos cu succes!!!");
  1135. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1136. }
  1137. else
  1138. {
  1139. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Nitro Instalat!!!");
  1140. }
  1141. }
  1142. if(listitem==7)
  1143. {
  1144. if(CarInfo[vehid][mod12] > 0)
  1145. {
  1146. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1147. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1148. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1149. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod12] = 0;
  1150. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1151. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1152. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1153. SendClientMessage(playerid, COLOR_BLUE,"* Hidraulica a fost scoasa cu succes!!!");
  1154. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1155. }
  1156. else
  1157. {
  1158. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Hidraulica Instalata!!!");
  1159. }
  1160. }
  1161. if(listitem==8)
  1162. {
  1163. if(CarInfo[vehid][mod16] > 0)
  1164. {
  1165. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1166. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1167. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1168. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod16] = 0;
  1169. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1170. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1171. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1172. SendClientMessage(playerid, COLOR_BLUE,"* Rotile au fost scoase cu succes!!!");
  1173. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1174. }
  1175. else
  1176. {
  1177. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Roti Instalate!!!");
  1178. }
  1179. }
  1180. if(listitem==9)
  1181. {
  1182. if(CarInfo[vehid][paintjob] > -1)
  1183. {
  1184. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1185. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1186. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1187. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1;
  1188. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1189. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1190. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1191. SendClientMessage(playerid, COLOR_BLUE,"* Tatuajul a fost indepartat cu succes!!!");
  1192. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1193. }
  1194. else
  1195. {
  1196. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu are Tatuaj!!!");
  1197. }
  1198. }
  1199. if(listitem==10)
  1200. {
  1201. if(CarMods(vehid))
  1202. {
  1203. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1204. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1205. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1206. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1; CarInfo[vehid][mod1] = 0; CarInfo[vehid][mod2] = 0;
  1207. CarInfo[vehid][mod3] = 0; CarInfo[vehid][mod4] = 0; CarInfo[vehid][mod5] = 0; CarInfo[vehid][mod6] = 0; CarInfo[vehid][mod7] = 0;
  1208. CarInfo[vehid][mod8] = 0; CarInfo[vehid][mod9] = 0; CarInfo[vehid][mod10] = 0; CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod12] = 0;
  1209. CarInfo[vehid][mod13] = 0; CarInfo[vehid][mod14] = 0; CarInfo[vehid][mod15] = 0; CarInfo[vehid][mod16] = 0; CarInfo[vehid][mod17] = 0;
  1210. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1211. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1212. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1213. SendClientMessage(playerid, COLOR_BLUE,"* Tuningul a fost indepartat cu succes!!!");
  1214. LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1215. }
  1216. else
  1217. {
  1218. SendClientMessage(playerid, COLOR_WHITE,"* Masina ta nu este Tunata!!!");
  1219. }
  1220. }
  1221. }
  1222. }
  1223. }
  1224. else
  1225. {
  1226. SendClientMessage(playerid, COLOR_WHITE,"* Dialog has been hidden");
  1227. }
  1228. return 1;
  1229. }
  1230.  
  1231. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1232. {
  1233. if(IsAnOwnableCar(vehicleid) && CarInfo[vehicleid][cLock] == 1 && CarInfo[vehicleid][cOwned] == 1)
  1234. {
  1235. if(IsPlayerAdmin(playerid)) { }
  1236. else
  1237. {
  1238. new Float:cx, Float:cy, Float:cz;
  1239. GetPlayerPos(playerid, cx, cy, cz);
  1240. SetPlayerPos(playerid, cx, cy, cz);
  1241. }
  1242. }
  1243. return 1;
  1244. }
  1245.  
  1246. public OnVehicleSpawn(vehicleid)
  1247. {
  1248. LoadComponents(vehicleid);
  1249. return 1;
  1250. }
  1251.  
  1252. public LoadComponents(vehicleid)
  1253. {
  1254. if(CarInfo[vehicleid][cOwned] == 1)
  1255. {
  1256. if(CarInfo[vehicleid][mod1] >= 1000 && CarInfo[vehicleid][mod1] <= 1193)
  1257. {
  1258. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod1])) != CarInfo[vehicleid][mod1]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod1]); }
  1259. }
  1260. if(CarInfo[vehicleid][mod2] >= 1000 && CarInfo[vehicleid][mod2] <= 1193)
  1261. {
  1262. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod2])) != CarInfo[vehicleid][mod2]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod2]); }
  1263. }
  1264. if(CarInfo[vehicleid][mod3] >= 1000 && CarInfo[vehicleid][mod3] <= 1193)
  1265. {
  1266. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod3])) != CarInfo[vehicleid][mod3]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod3]); }
  1267. }
  1268. if(CarInfo[vehicleid][mod4] >= 1000 && CarInfo[vehicleid][mod4] <= 1193)
  1269. {
  1270. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod4])) != CarInfo[vehicleid][mod4]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod4]); }
  1271. }
  1272. if(CarInfo[vehicleid][mod5] >= 1000 && CarInfo[vehicleid][mod5] <= 1193)
  1273. {
  1274. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod5])) != CarInfo[vehicleid][mod5]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod5]); }
  1275. }
  1276. if(CarInfo[vehicleid][mod6] >= 1000 && CarInfo[vehicleid][mod6] <= 1193)
  1277. {
  1278. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod6])) != CarInfo[vehicleid][mod6]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod6]); }
  1279. }
  1280. if(CarInfo[vehicleid][mod7] >= 1000 && CarInfo[vehicleid][mod7] <= 1193)
  1281. {
  1282. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod7])) != CarInfo[vehicleid][mod7]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod7]); }
  1283. }
  1284. if(CarInfo[vehicleid][mod8] >= 1000 && CarInfo[vehicleid][mod8] <= 1193)
  1285. {
  1286. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod8])) != CarInfo[vehicleid][mod8]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod8]); }
  1287. }
  1288. if(CarInfo[vehicleid][mod9] >= 1000 && CarInfo[vehicleid][mod9] <= 1193)
  1289. {
  1290. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod9])) != CarInfo[vehicleid][mod9]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod9]); }
  1291. }
  1292. if(CarInfo[vehicleid][mod10] >= 1000 && CarInfo[vehicleid][mod10] <= 1193)
  1293. {
  1294. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod10])) != CarInfo[vehicleid][mod10]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod10]); }
  1295. }
  1296. if(CarInfo[vehicleid][mod11] >= 1000 && CarInfo[vehicleid][mod11] <= 1193)
  1297. {
  1298. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod11])) != CarInfo[vehicleid][mod11]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod11]); }
  1299. }
  1300. if(CarInfo[vehicleid][mod12] >= 1000 && CarInfo[vehicleid][mod12] <= 1193)
  1301. {
  1302. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod12])) != CarInfo[vehicleid][mod12]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod12]); }
  1303. }
  1304. if(CarInfo[vehicleid][mod13] >= 1000 && CarInfo[vehicleid][mod13] <= 1193)
  1305. {
  1306. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod13])) != CarInfo[vehicleid][mod13]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod13]); }
  1307. }
  1308. if(CarInfo[vehicleid][mod14] >= 1000 && CarInfo[vehicleid][mod14] <= 1193)
  1309. {
  1310. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod14])) != CarInfo[vehicleid][mod14]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod14]); }
  1311. }
  1312. if(CarInfo[vehicleid][mod15] >= 1000 && CarInfo[vehicleid][mod15] <= 1193)
  1313. {
  1314. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod15])) != CarInfo[vehicleid][mod15]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod15]); }
  1315. }
  1316. if(CarInfo[vehicleid][mod16] >= 1000 && CarInfo[vehicleid][mod16] <= 1193)
  1317. {
  1318. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod16])) != CarInfo[vehicleid][mod16]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod16]); }
  1319. }
  1320. if(CarInfo[vehicleid][mod17] >= 1000 && CarInfo[vehicleid][mod17] <= 1193)
  1321. {
  1322. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod17])) != CarInfo[vehicleid][mod17]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod17]); }
  1323. }
  1324. if(CarInfo[vehicleid][paintjob] > -1) { ChangeVehiclePaintjob(vehicleid,CarInfo[vehicleid][paintjob]); ChangeVehicleColor(vehicleid, 1, 1); }
  1325. else { ChangeVehicleColor(vehicleid, CarInfo[vehicleid][cColorOne], CarInfo[vehicleid][cColorTwo]); }
  1326. if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1327. }
  1328. else
  1329. {
  1330. if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1331. }
  1332. return 1;
  1333. }
  1334.  
  1335. public OnPlayerSpawn(playerid)
  1336. {
  1337. CarKeys(playerid);
  1338. return 1;
  1339. }
  1340.  
  1341. public OnPlayerConnect(playerid)
  1342. {
  1343. PlayerInfo[playerid][pPcarkey] = -1;
  1344. PlayerInfo[playerid][pPcarkey2] = -1;
  1345. PlayerInfo[playerid][pPcarkey3] = -1;
  1346. for(new h = carsonserver; h < sizeof(CarInfo); h++)
  1347. {
  1348. SetVehicleParamsForPlayer(h,playerid,0,CarInfo[h][cLock]);
  1349. }
  1350. return 1;
  1351. }
  1352.  
  1353. public OnPlayerCommandText(playerid, cmdtext[])
  1354. {
  1355. new idx;
  1356. new string[256];
  1357. new cmd[256];
  1358. new tmp[256];
  1359. new sendername[MAX_PLAYER_NAME];
  1360. new playername[MAX_PLAYER_NAME];
  1361. new giveplayer[MAX_PLAYER_NAME];
  1362. new giveplayerid;
  1363. new idcar = GetPlayerVehicleID(playerid);
  1364. cmd = strtok(cmdtext, idx);
  1365. new vehid;
  1366. vehid = GetPlayerVehicleID(playerid);
  1367.  
  1368. if(strcmp(cmd,"/cancel",true)==0)
  1369. {
  1370. if(IsPlayerConnected(playerid))
  1371. {
  1372. new x_job[256];
  1373. x_job = strtok(cmdtext, idx);
  1374. if(!strlen(x_job)) { return 1; }
  1375. if(strcmp(x_job,"ownablecar",true) == 0) { OwnableCarOffer[playerid] = 999; OwnableCarID[playerid] = 0; OwnableCarPrice[playerid] = 0; }
  1376. else { return 1; }
  1377. format(string, sizeof(string), "* You have canceled: %s.", x_job);
  1378. SendClientMessage(playerid, COLOR_YELLOW, string);
  1379. }
  1380. return 1;
  1381. }
  1382.  
  1383. if(strcmp(cmd,"/accept",true)==0)
  1384. {
  1385. if(IsPlayerConnected(playerid))
  1386. {
  1387. new x_job[256];
  1388. x_job = strtok(cmdtext, idx);
  1389. if(!strlen(x_job)) { return 1; }
  1390. if(strcmp(x_job,"ownablecar",true) == 0)
  1391. {
  1392. if(OwnableCarOffer[playerid] < 999)
  1393. {
  1394. if(OwnableCarID[playerid] == 0) { return 1; }
  1395. if(OwnableCarPrice[playerid] == 0 || OwnableCarPrice[playerid] > 1500001) { return 1; }
  1396.  
  1397. if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey]) { }
  1398. else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2]) { }
  1399. else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3]) { }
  1400. else { SendClientMessage(playerid, COLOR_GREY, " Offer is no longer available"); return 1; }
  1401.  
  1402. if(GetPlayerMoney(playerid) >= OwnableCarPrice[playerid])
  1403. {
  1404. if(IsPlayerConnected(OwnableCarOffer[playerid]))
  1405. {
  1406. GetPlayerName(OwnableCarOffer[playerid], giveplayer, sizeof(giveplayer));
  1407. GetPlayerName(playerid, sendername, sizeof(sendername));
  1408. if(PlayerInfo[playerid][pPcarkey] == -1)
  1409. {
  1410. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1411. {
  1412. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1413. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1414. }
  1415. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1416. {
  1417. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1418. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1419. }
  1420. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1421. {
  1422. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1423. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1424. }
  1425. else
  1426. {
  1427. SendClientMessage(playerid, COLOR_GREY, " Vehicle seller needs to be at his car !");
  1428. return 1;
  1429. }
  1430. format(string, sizeof(string), "* You bought a car for $%d from %s.",OwnableCarPrice[playerid],giveplayer);
  1431. SendClientMessage(playerid, COLOR_WHITE, string);
  1432. format(string, sizeof(string), "* %s has bought your car for $%d.",sendername,OwnableCarPrice[playerid]);
  1433. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1434. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1435. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1436. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1437. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1438. }
  1439. else if(PlayerInfo[playerid][pPcarkey2] == -1)
  1440. {
  1441. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1442. {
  1443. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1444. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1445. }
  1446. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1447. {
  1448. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1449. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1450. }
  1451. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1452. {
  1453. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1454. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1455. }
  1456. else
  1457. {
  1458. SendClientMessage(playerid, COLOR_GREY, " Vehicle seller needs to be at his car !");
  1459. return 1;
  1460. }
  1461. format(string, sizeof(string), "* Kupio si auto za $%d od %s.",OwnableCarPrice[playerid],giveplayer);
  1462. SendClientMessage(playerid, COLOR_WHITE, string);
  1463. format(string, sizeof(string), "* %s je kupio tvoj auto za $%d.",sendername,OwnableCarPrice[playerid]);
  1464. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1465. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1466. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1467. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1468. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1469. }
  1470. else if(PlayerInfo[playerid][pPcarkey3] == -1)
  1471. {
  1472. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1473. {
  1474. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1475. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1476. }
  1477. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1478. {
  1479. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1480. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1481. }
  1482. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1483. {
  1484. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1485. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1486. }
  1487. else
  1488. {
  1489. SendClientMessage(playerid, COLOR_GREY, " Prodavac mora da ima svoje vozilo !");
  1490. return 1;
  1491. }
  1492. format(string, sizeof(string), "* Kupio si auto za $%d od %s.",OwnableCarPrice[playerid],giveplayer);
  1493. SendClientMessage(playerid, COLOR_WHITE, string);
  1494. format(string, sizeof(string), "* %s je kupio tvoje auto za $%d.",sendername,OwnableCarPrice[playerid]);
  1495. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1496. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1497. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1498. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1499. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1500. }
  1501. else
  1502. {
  1503. SendClientMessage(playerid, COLOR_GREY, " Vec Imas 3 auta ! ");
  1504. return 1;
  1505. }
  1506. OnPropUpdate();
  1507. SavePlayerData(playerid);
  1508. SavePlayerData(OwnableCarOffer[playerid]);
  1509. OwnableCarOffer[playerid] = -1;
  1510. OwnableCarID[playerid] = 0;
  1511. OwnableCarPrice[playerid] = 0;
  1512. GameTextForPlayer(playerid, "~w~Congratulations~n~Don't forget to /v park it!", 5000, 3);
  1513. SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
  1514. SendClientMessage(playerid, COLOR_GRAD2, "Type /vehiclemanual to view the vehicle manual!");
  1515. return 1;
  1516. }
  1517. else
  1518. {
  1519. SendClientMessage(playerid, COLOR_GREY, " Prodavac auta je offline !");
  1520. return 1;
  1521. }
  1522. }
  1523. }
  1524. else
  1525. {
  1526. SendClientMessage(playerid, COLOR_GREY, " No-one offerd you any Ownable Car !");
  1527. return 1;
  1528. }
  1529. }
  1530. else { return 1; }
  1531. }
  1532. return 1;
  1533. }
  1534.  
  1535. if (strcmp(cmd, "/mycars", true) == 0)
  1536. {
  1537. if(IsPlayerConnected(playerid))
  1538. {
  1539. new carkey = PlayerInfo[playerid][pPcarkey];
  1540. new carkey2 = PlayerInfo[playerid][pPcarkey2];
  1541. new carkey3 = PlayerInfo[playerid][pPcarkey3];
  1542. if (PlayerInfo[playerid][pPcarkey] != -1)
  1543. {
  1544. format(string, sizeof(string), "1| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey][cDescription], CarInfo[carkey][cValue], CarInfo[carkey][cColorOne], CarInfo[carkey][cColorTwo], CarInfo[carkey][cLock]);
  1545. SendClientMessage(playerid, COLOR_GRAD5,string);
  1546. }
  1547. if (PlayerInfo[playerid][pPcarkey2] != -1)
  1548. {
  1549. format(string, sizeof(string), "2| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey2][cColorOne], CarInfo[carkey2][cColorTwo], CarInfo[carkey2][cLock]);
  1550. SendClientMessage(playerid, COLOR_GRAD5,string);
  1551. }
  1552. if (PlayerInfo[playerid][pPcarkey3] != -1)
  1553. {
  1554. format(string, sizeof(string), "3| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey3][cDescription], CarInfo[carkey3][cValue], CarInfo[carkey3][cColorOne], CarInfo[carkey3][cColorTwo], CarInfo[carkey3][cLock]);
  1555. SendClientMessage(playerid, COLOR_GRAD5,string);
  1556. }
  1557. }
  1558. return 1;
  1559. }
  1560.  
  1561. if(strcmp(cmd, "/apark", true) == 0)
  1562. {
  1563. if(IsPlayerConnected(playerid))
  1564. {
  1565. new Float:x,Float:y,Float:z;
  1566. new Float:a;
  1567. new carid;
  1568. carid = GetPlayerVehicleID(playerid);
  1569. GetPlayerName(playerid, playername, sizeof(playername));
  1570. GetVehiclePos(carid, x, y, z);
  1571. GetVehicleZAngle(carid, a);
  1572. if(IsPlayerAdmin(playerid))
  1573. {
  1574. CarInfo[carid][cLocationx] = x;
  1575. CarInfo[carid][cLocationy] = y;
  1576. CarInfo[carid][cLocationz] = z;
  1577. CarInfo[carid][cAngle] = a;
  1578. format(string, sizeof(string), "~n~ Parkirao si svoj auto na ovoj lokaciji. ~n~");
  1579. GameTextForPlayer(playerid, "Ovde si parkirao svoje auto,respawnace se sada ovde.", 10000, 3);
  1580. OnPropUpdate(); SavePlayerData(playerid);
  1581. DestroyVehicle(carid);
  1582. new thiscar = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
  1583. LoadComponents(thiscar);
  1584. return 1;
  1585. }
  1586. else
  1587. {
  1588. SendClientMessage(playerid, COLOR_GREY, " Niste ovlasceni za koriscenje te komande !");
  1589. return 1;
  1590. }
  1591. }
  1592. return 1;
  1593. }
  1594.  
  1595. if(strcmp(cmd, "/adeletecar", true) == 0)
  1596. {
  1597. if(IsPlayerAdmin(playerid))
  1598. {
  1599. CarInfo[idcar][cOwned] = 0; CarInfo[idcar][cModel] = 0; CarInfo[idcar][cColorOne] = 0; CarInfo[idcar][cColorTwo] = 0;
  1600. CarInfo[idcar][cLocationx] = 0; CarInfo[idcar][cLocationy] = 0; CarInfo[idcar][cLocationz] = 0; CarInfo[idcar][cAngle] = 0;
  1601. CarInfo[idcar][cValue] = 0; CarInfo[idcar][cLock] = 0; CarInfo[idcar][paintjob] = -1; LoadComponents(idcar);
  1602. strmid(CarInfo[idcar][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1603. format(CarInfo[idcar][cDescription], 32, "0");
  1604. DestroyVehicle(idcar);
  1605. OnPropUpdate(); SavePlayerData(playerid);
  1606. }
  1607. }
  1608.  
  1609. if(strcmp(cmd, "/acreatecar", true) == 0)
  1610. {
  1611. if(IsPlayerAdmin(playerid))
  1612. {
  1613. tmp = strtok(cmdtext, idx);
  1614. if(!strlen(tmp))
  1615. {
  1616. SendClientMessage(playerid, COLOR_GRAD2, "Koristi: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1617. return 1;
  1618. }
  1619. new car;
  1620. car = strval(tmp);
  1621. if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_WHITE, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
  1622. tmp = strtok(cmdtext, idx);
  1623. if(!strlen(tmp))
  1624. {
  1625. SendClientMessage(playerid, COLOR_GRAD2, "Koristi: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1626. return 1;
  1627. }
  1628. new color1;
  1629. color1 = strval(tmp);
  1630. if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_WHITE, " Color Number can't be below 0 or above 126 !"); return 1; }
  1631. tmp = strtok(cmdtext, idx);
  1632. if(!strlen(tmp))
  1633. {
  1634. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1635. return 1;
  1636. }
  1637. new color2;
  1638. color2 = strval(tmp);
  1639. if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_WHITE, " Color Number can't be below 0 or above 126 !"); return 1; }
  1640. tmp = strtok(cmdtext, idx);
  1641. if(!strlen(tmp))
  1642. {
  1643. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1644. return 1;
  1645. }
  1646. new value;
  1647. value = strval(tmp);
  1648. new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z);
  1649. new thiscar = CreateVehicle(car,X,Y,Z,1,color1,color2,99999999);
  1650. format(CarInfo[thiscar][cLicense], 32 ,"ForSale");
  1651. SetVehicleNumberPlate(vehid,CarInfo[thiscar][cLicense]);
  1652. CarInfo[thiscar][cOwned] = 0; CarInfo[thiscar][cModel] = car; CarInfo[thiscar][cColorOne] = color1; CarInfo[thiscar][cColorTwo] = color2;
  1653. CarInfo[thiscar][cLocationx] = X; CarInfo[thiscar][cLocationy] = Y; CarInfo[thiscar][cLocationz] = Z; CarInfo[thiscar][cAngle] = 1;
  1654. CarInfo[thiscar][cValue] = value; CarInfo[thiscar][cLock] = 0; CarInfo[thiscar][paintjob] = -1; LoadComponents(thiscar);
  1655. PutPlayerInVehicle(playerid,thiscar,0);
  1656. strmid(CarInfo[vehid][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1657. format(CarInfo[thiscar][cDescription], 32, "%s",vehName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
  1658. format(string, sizeof(string), " Masina %d a fost creata cu succes!.", thiscar);
  1659. SendClientMessage(playerid, COLOR_BLUE, string);
  1660. }
  1661. else
  1662. {
  1663. SendClientMessage(playerid, COLOR_GRAD1, " Niste ovlasceni za tu komandu!");
  1664. return 1;
  1665. }
  1666. }
  1667.  
  1668. if(!strcmp(cmdtext, "/asellcar", true))
  1669. {
  1670. if(IsPlayerConnected(playerid))
  1671. {
  1672. if(!IsAtDealership(playerid))
  1673. {
  1674. SendClientMessage(playerid, COLOR_GREY, " dealership ! ");
  1675. return 1;
  1676. }
  1677. if(IsPlayerAdmin(playerid))
  1678. {
  1679. new Float:x,Float:y,Float:z;
  1680. new Float:a;
  1681. CarInfo[vehid][cOwned] = 0;
  1682. strmid(CarInfo[vehid][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1683. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1684. GameTextForPlayer(playerid, "~w~You have admin sold the vehicle", 10000, 3);
  1685. GetVehiclePos(vehid, x, y, z);
  1686. GetVehicleZAngle(vehid, a);
  1687. CarInfo[vehid][cLocationx] = x;
  1688. CarInfo[vehid][cLocationy] = y;
  1689. CarInfo[vehid][cLocationz] = z;
  1690. CarInfo[vehid][cAngle] = a;
  1691. RemovePlayerFromVehicle(playerid);
  1692. TogglePlayerControllable(playerid, 1);
  1693. format(CarInfo[vehid][cLicense], 32 ,"ForSale");
  1694. SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  1695. OnPropUpdate(); SavePlayerData(playerid);
  1696. DestroyVehicle(vehid);
  1697. new thiscar = CreateVehicle(CarInfo[vehid][cModel],CarInfo[vehid][cLocationx],CarInfo[vehid][cLocationy],CarInfo[vehid][cLocationz]+1.0,CarInfo[vehid][cAngle],CarInfo[vehid][cColorOne],CarInfo[vehid][cColorTwo],60000);
  1698. LoadComponents(thiscar);
  1699. return 1;
  1700. }
  1701. else
  1702. {
  1703. SendClientMessage(playerid, COLOR_GREY, " You're not authorized to use that command !");
  1704. return 1;
  1705. }
  1706. }
  1707. return 1;
  1708. }
  1709.  
  1710. if(strcmp(cmd, "/asetkey", true) == 0)
  1711. {
  1712. if(IsPlayerConnected(playerid))
  1713. {
  1714. tmp = strtok(cmdtext, idx);
  1715. if(!strlen(tmp))
  1716. {
  1717. SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1718. SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1719. return 1;
  1720. }
  1721. giveplayerid = ReturnUser(tmp);
  1722. if(IsPlayerAdmin(playerid))
  1723. {
  1724. if(giveplayerid != INVALID_PLAYER_ID)
  1725. {
  1726. tmp = strtok(cmdtext, idx);
  1727. if(!strlen(tmp))
  1728. {
  1729. SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1730. SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1731. return 1;
  1732. }
  1733. new stat;
  1734. stat = strval(tmp);
  1735. tmp = strtok(cmdtext, idx);
  1736. if(!strlen(tmp))
  1737. {
  1738. SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1739. SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1740. return 1;
  1741. }
  1742. new amount;
  1743. amount = strval(tmp);
  1744. switch (stat)
  1745. {
  1746. case 1:
  1747. {
  1748. PlayerInfo[giveplayerid][pPcarkey] = amount;
  1749. format(string, sizeof(string), " The Player Car Key Was Set To %d", amount);
  1750. SavePlayerData(playerid);
  1751. }
  1752. case 2:
  1753. {
  1754. PlayerInfo[giveplayerid][pPcarkey2] = amount;
  1755. format(string, sizeof(string), " The Player Car Key 2 Was Set To %d", amount);
  1756. SavePlayerData(playerid);
  1757. }
  1758. case 3:
  1759. {
  1760. PlayerInfo[giveplayerid][pPcarkey3] = amount;
  1761. format(string, sizeof(string), " The Player Car Key 3 Was Set To %d", amount);
  1762. SavePlayerData(playerid);
  1763. }
  1764. default:
  1765. {
  1766. format(string, sizeof(string), " Invalid Car Key Code", amount);
  1767. }
  1768. }
  1769. SendClientMessage(playerid, COLOR_GRAD1, string);
  1770. }
  1771. }
  1772. else
  1773. {
  1774. SendClientMessage(playerid, COLOR_GRAD1, " Doar adminii pot folosi aceasta comanda!");
  1775. return 1;
  1776. }
  1777. }
  1778. return 1;
  1779. }
  1780.  
  1781. if(strcmp(cmd, "/removetuning", true) == 0)
  1782. {
  1783. if(IsPlayerInVehicle(playerid, vehid))
  1784. {
  1785. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1786. {
  1787. ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Lista Tuning", "Eleron\nSpoiler Fata\nSpoiler Spate\nLaterale\nRoof\nToba Esapament\nNitro\nHidraulica\nRoti\nTatuaj\nToate Componentele","Scoate", "Cancel");
  1788. }
  1789. else
  1790. {
  1791. SendClientMessage(playerid, COLOR_WHITE, "Nu poti scoate tuningul pentru ca aceasta masina nu iti apartine.");
  1792. return 1;
  1793. }
  1794. }
  1795. else
  1796. {
  1797. SendClientMessage(playerid, COLOR_WHITE, "Trebuie sa fii in masina pentru a scoate tuningul!!");
  1798. return 1;
  1799. }
  1800. }
  1801.  
  1802. if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
  1803. {
  1804. if(IsPlayerConnected(playerid))
  1805. {
  1806. new x_nr[64];
  1807. x_nr = strtok(cmdtext, idx);
  1808. if(!strlen(x_nr))
  1809. {
  1810. SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
  1811. SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  1812. return 1;
  1813. }
  1814. if(strcmp(x_nr,"sell",true) == 0)
  1815. {
  1816. if(IsAtDealership(playerid))
  1817. {
  1818. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1819. {
  1820. GetPlayerName(playerid, sendername, sizeof(sendername));
  1821. new ownvehkey;
  1822. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  1823. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  1824. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  1825. else { return 1; }
  1826. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  1827. {
  1828. new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
  1829. new Float:x,Float:y,Float:z;
  1830. new Float:a;
  1831. CarInfo[ownvehkey][cOwned] = 0;
  1832. strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1833. GivePlayerMoney(playerid,carsellprice);
  1834. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1835. format(string, sizeof(string), "~w~You have sold your car for: ~n~~g~$%d", carsellprice);
  1836. GameTextForPlayer(playerid, string, 10000, 3);
  1837. GetVehiclePos(ownvehkey, x, y, z);
  1838. GetVehicleZAngle(ownvehkey, a);
  1839. CarInfo[ownvehkey][cLocationx] = x; CarInfo[ownvehkey][cLocationy] = y; CarInfo[ownvehkey][cLocationz] = z; CarInfo[ownvehkey][cAngle] = a;
  1840. CarInfo[ownvehkey][mod1] = 0; CarInfo[ownvehkey][mod2] = 0; CarInfo[ownvehkey][mod3] = 0; CarInfo[ownvehkey][mod4] = 0;
  1841. CarInfo[ownvehkey][mod5] = 0; CarInfo[ownvehkey][mod6] = 0; CarInfo[ownvehkey][mod7] = 0; CarInfo[ownvehkey][mod8] = 0;
  1842. CarInfo[ownvehkey][mod9] = 0; CarInfo[ownvehkey][mod10] = 0; CarInfo[ownvehkey][mod11] = 0; CarInfo[ownvehkey][mod12] = 0;
  1843. CarInfo[ownvehkey][mod13] = 0; CarInfo[ownvehkey][mod14] = 0; CarInfo[ownvehkey][mod15] = 0; CarInfo[ownvehkey][mod16] = 0;
  1844. CarInfo[ownvehkey][mod17] = 0; CarInfo[ownvehkey][paintjob] = -1;
  1845. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = -1; }
  1846. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { PlayerInfo[playerid][pPcarkey2] = -1; }
  1847. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { PlayerInfo[playerid][pPcarkey3] = -1; }
  1848. RemovePlayerFromVehicle(playerid);
  1849. TogglePlayerControllable(playerid, 1);
  1850. format(CarInfo[vehid][cLicense], 32 ,"ForSale");
  1851. SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  1852. OnPropUpdate(); SavePlayerData(playerid);
  1853. DestroyVehicle(ownvehkey);
  1854. new thiscar = CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
  1855. LoadComponents(thiscar);
  1856. return 1;
  1857. }
  1858. }
  1859. else
  1860. {
  1861. SendClientMessage(playerid, COLOR_GREY, " You have to sit at your own car to sell it! ");
  1862. return 1;
  1863. }
  1864. }
  1865. else
  1866. {
  1867. SendClientMessage(playerid, COLOR_GREY, "You are not at a dealership");
  1868. return 1;
  1869. }
  1870. }
  1871. else if(strcmp(x_nr,"buy",true) == 0)
  1872. {
  1873. if(IsAnOwnableCar(idcar))
  1874. {
  1875. if(PlayerInfo[playerid][pPcarkey] == -1) { }
  1876. else if(PlayerInfo[playerid][pPcarkey2] == -1) { }
  1877. else if(PlayerInfo[playerid][pPcarkey3] == -1) { }
  1878. else { SendClientMessage(playerid, COLOR_GREY, " Ai deja 3 masini!!"); return 1; }
  1879. if(CarInfo[idcar][cOwned]==1)
  1880. {
  1881. SendClientMessage(playerid, COLOR_GREY, "Someone already owns this car");
  1882. return 1;
  1883. }
  1884. if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
  1885. {
  1886. if(PlayerInfo[playerid][pPcarkey] == -1) { PlayerInfo[playerid][pPcarkey] = idcar; }
  1887. else if(PlayerInfo[playerid][pPcarkey2] == -1) { PlayerInfo[playerid][pPcarkey2] = idcar; }
  1888. else if(PlayerInfo[playerid][pPcarkey3] == -1) { PlayerInfo[playerid][pPcarkey3] = idcar; }
  1889. else { return 1; }
  1890. CarInfo[idcar][cOwned] = 1;
  1891. GetPlayerName(playerid, sendername, sizeof(sendername));
  1892. strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
  1893. GivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
  1894. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1895. GameTextForPlayer(playerid, "~w~Felicitari~n~Nu uita sa o parchezi cu /v park!", 5000, 3);
  1896. SendClientMessage(playerid, COLOR_GRAD2, "Felicitari ti-ai cumparat o masina noua!");
  1897. TogglePlayerControllable(playerid, 1);
  1898. OnPropUpdate(); SavePlayerData(playerid);
  1899. return 1;
  1900. }
  1901. else
  1902. {
  1903. SendClientMessage(playerid, COLOR_GREY, " You don't have enough cash with you ! ");
  1904. return 1;
  1905. }
  1906. }
  1907. }
  1908. else if(strcmp(x_nr,"sellto",true) == 0)
  1909. {
  1910. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1911. {
  1912. GetPlayerName(playerid, sendername, sizeof(sendername));
  1913. new ownvehkey;
  1914. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  1915. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  1916. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  1917. else { return 1; }
  1918. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  1919. {
  1920. tmp = strtok(cmdtext, idx);
  1921. if(!strlen(tmp))
  1922. {
  1923. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1924. return 1;
  1925. }
  1926. giveplayerid = ReturnUser(tmp);
  1927. if(IsPlayerConnected(giveplayerid))
  1928. {
  1929. if(giveplayerid != INVALID_PLAYER_ID)
  1930. {
  1931. if(ProxDetectorS(8.0, playerid, giveplayerid))
  1932. {
  1933. if(PlayerInfo[giveplayerid][pPcarkey] == -1)
  1934. {
  1935. tmp = strtok(cmdtext, idx);
  1936. if(!strlen(tmp))
  1937. {
  1938. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1939. return 1;
  1940. }
  1941. new price;
  1942. price = strval(tmp);
  1943. if(price < 1 || price > 1500000)
  1944. {
  1945. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  1946. return 1;
  1947. }
  1948. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1949. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  1950. SendClientMessage(playerid, COLOR_WHITE, string);
  1951. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  1952. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  1953. OwnableCarOffer[giveplayerid] = playerid;
  1954. OwnableCarID[giveplayerid] = ownvehkey;
  1955. OwnableCarPrice[giveplayerid] = price;
  1956. return 1;
  1957. }
  1958. else if(PlayerInfo[giveplayerid][pPcarkey2] == -1)
  1959. {
  1960. tmp = strtok(cmdtext, idx);
  1961. if(!strlen(tmp))
  1962. {
  1963. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1964. return 1;
  1965. }
  1966. new price;
  1967. price = strval(tmp);
  1968. if(price < 1 || price > 1500000)
  1969. {
  1970. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  1971. return 1;
  1972. }
  1973. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1974. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  1975. SendClientMessage(playerid, COLOR_WHITE, string);
  1976. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  1977. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  1978. OwnableCarOffer[giveplayerid] = playerid;
  1979. OwnableCarID[giveplayerid] = ownvehkey;
  1980. OwnableCarPrice[giveplayerid] = price;
  1981. return 1;
  1982. }
  1983. else if(PlayerInfo[giveplayerid][pPcarkey3] == -1)
  1984. {
  1985. tmp = strtok(cmdtext, idx);
  1986. if(!strlen(tmp))
  1987. {
  1988. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1989. return 1;
  1990. }
  1991. new price;
  1992. price = strval(tmp);
  1993. if(price < 1 || price > 1500000)
  1994. {
  1995. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  1996. return 1;
  1997. }
  1998. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1999. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  2000. SendClientMessage(playerid, COLOR_WHITE, string);
  2001. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  2002. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  2003. OwnableCarOffer[giveplayerid] = playerid;
  2004. OwnableCarID[giveplayerid] = ownvehkey;
  2005. OwnableCarPrice[giveplayerid] = price;
  2006. return 1;
  2007. }
  2008. else
  2009. {
  2010. SendClientMessage(playerid, COLOR_GREY, " Player has 3 cars already ! ");
  2011. return 1;
  2012. }
  2013. }
  2014. else
  2015. {
  2016. SendClientMessage(playerid, COLOR_GREY, " Player is not near you ! ");
  2017. return 1;
  2018. }
  2019. }
  2020. }
  2021. }
  2022. else
  2023. {
  2024. SendClientMessage(playerid, COLOR_GREY, " This is not your car");
  2025. return 1;
  2026. }
  2027. }
  2028. else
  2029. {
  2030. SendClientMessage(playerid, COLOR_GREY, " You have to sit at your own car to sell it");
  2031. return 1;
  2032. }
  2033. }
  2034. else if(strcmp(x_nr,"park",true) == 0)
  2035. {
  2036. new Float:x,Float:y,Float:z;
  2037. new Float:a;
  2038. new carid;
  2039. new getcarid;
  2040. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
  2041. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
  2042. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
  2043. else { return 1; }
  2044. getcarid = GetPlayerVehicleID(playerid);
  2045. GetPlayerName(playerid, playername, sizeof(playername));
  2046. GetVehiclePos(carid, x, y, z);
  2047. GetVehicleZAngle(carid, a);
  2048. if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
  2049. {
  2050. if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
  2051. {
  2052. SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
  2053. return 1;
  2054. }
  2055. if(getcarid == carid)
  2056. {
  2057. new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  2058. CarInfo[carid][cLocationx] = x;
  2059. CarInfo[carid][cLocationy] = y;
  2060. CarInfo[carid][cLocationz] = z;
  2061. CarInfo[carid][cAngle] = a;
  2062. GetVehicleDamageStatus(carid,panels,doors,lights,tires);
  2063. GetVehicleHealth(carid, CarHP); OldCarHP = CarHP;
  2064. format(string, sizeof(string), "~n~ You have parked your vehicle in this location. ~n~");
  2065. GameTextForPlayer(playerid, "You have parked your vehicle in this position. It will respawn here.", 10000, 3);
  2066. OnPropUpdate(); SavePlayerData(playerid); DestroyVehicle(carid);
  2067. CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
  2068. LoadComponents(carid);
  2069. PutPlayerInVehicle(playerid,carid,0); SetVehicleHealth(carid, OldCarHP);
  2070. UpdateVehicleDamageStatus(carid,panels,doors,lights,tires);
  2071. TogglePlayerControllable(playerid, 1);
  2072. return 1;
  2073. }
  2074. }
  2075. }
  2076. else if(strcmp(x_nr,"setplate",true) == 0)
  2077. {
  2078. if(IsPlayerInVehicle(playerid, vehid) || PlayerInfo[vehid][pPcarkey] != -1 && PlayerInfo[vehid][pPcarkey2] != -1 && PlayerInfo[vehid][pPcarkey3] != -1)
  2079. {
  2080. if(cmdtext[idx++] != 32 || cmdtext[idx] == EOS)
  2081. {
  2082. SendClientMessage(playerid,0xFFFFFFAA,"USAGE: /v setplate [newplate]");
  2083. return 1;
  2084. }
  2085. new Float:XX,Float:YY,Float:ZZ,Float:AA;
  2086. new Float:CarHP, Float:OldCarHP;
  2087. new panels,doors,lights,tires;
  2088. GetVehicleHealth(vehid, CarHP);
  2089. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2090. OldCarHP = CarHP;
  2091. format(CarInfo[vehid][cLicense], 32 ,"%s",cmdtext[idx]);
  2092. SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  2093. GetVehiclePos(vehid,XX,YY,ZZ);
  2094. GetVehicleZAngle(vehid, AA);
  2095. SetVehicleToRespawn(vehid);
  2096. SetVehiclePos(vehid,XX,YY,ZZ);
  2097. SetVehicleZAngle(vehid, AA);
  2098. PutPlayerInVehicle(playerid,vehid,0);
  2099. SetVehicleHealth(vehid, OldCarHP);
  2100. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2101. format(string, sizeof(string), "{FFFF00}You have set your vehicle's plate to:{FFFFFF} %s", CarInfo[vehid][cLicense]);
  2102. SendClientMessage(playerid, 0xFFFFFFFF, string);
  2103. OnPropUpdate(); SavePlayerData(playerid);
  2104. }
  2105. else
  2106. {
  2107. SendClientMessage(playerid, 0xFFFFFFAA, "Nu esti in masina ta personala pentru a putea schimba NR de Inmatriculare.");
  2108. return 1;
  2109. }
  2110. }
  2111.  
  2112. else if(strcmp(x_nr,"lock1",true) == 0)
  2113. {
  2114. new keycar = PlayerInfo[playerid][pPcarkey];
  2115. if(keycar != -1)
  2116. {
  2117. new locked[256];
  2118. locked = strtok(cmdtext, idx);
  2119. if(CarInfo[keycar][cLock] == 1)
  2120. {
  2121. for(new i = 0; i < MAX_PLAYERS; i++)
  2122. {
  2123. if (IsPlayerConnected(i))
  2124. {
  2125. SetVehicleParamsForPlayer(keycar,i,0,0);
  2126. }
  2127. }
  2128. format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2129. GameTextForPlayer(playerid, string, 4000, 3);
  2130. CarInfo[keycar][cLock] = 0;
  2131. OnPropUpdate(); SavePlayerData(playerid);
  2132. return 1;
  2133. }
  2134. else if(CarInfo[keycar][cLock] == 0)
  2135. {
  2136. for(new i = 0; i < MAX_PLAYERS; i++)
  2137. {
  2138. if (IsPlayerConnected(i))
  2139. {
  2140. SetVehicleParamsForPlayer(keycar,i,0,1);
  2141. }
  2142. }
  2143. format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2144. GameTextForPlayer(playerid, string, 4000, 3);
  2145. CarInfo[keycar][cLock] = 1;
  2146. OnPropUpdate(); SavePlayerData(playerid);
  2147. return 1;
  2148. }
  2149. }
  2150. else
  2151. {
  2152. SendClientMessage(playerid, COLOR_GREY, " You don't have a vehicle at slot 1");
  2153. return 1;
  2154. }
  2155. }
  2156. else if(strcmp(x_nr,"lock2",true) == 0)
  2157. {
  2158. new keycar = PlayerInfo[playerid][pPcarkey2];
  2159. if(keycar != -1)
  2160. {
  2161. new locked[256];
  2162. locked = strtok(cmdtext, idx);
  2163. if(CarInfo[keycar][cLock] == 1)
  2164. {
  2165. for(new i = 0; i < MAX_PLAYERS; i++)
  2166. {
  2167. if (IsPlayerConnected(i))
  2168. {
  2169. SetVehicleParamsForPlayer(keycar,i,0,0);
  2170. }
  2171. }
  2172. format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2173. GameTextForPlayer(playerid, string, 4000, 3);
  2174. CarInfo[keycar][cLock] = 0;
  2175. OnPropUpdate(); SavePlayerData(playerid);
  2176. return 1;
  2177. }
  2178. else if(CarInfo[keycar][cLock] == 0)
  2179. {
  2180. for(new i = 0; i < MAX_PLAYERS; i++)
  2181. {
  2182. if (IsPlayerConnected(i))
  2183. {
  2184. SetVehicleParamsForPlayer(keycar,i,0,1);
  2185. }
  2186. }
  2187. format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2188. GameTextForPlayer(playerid, string, 4000, 3);
  2189. CarInfo[keycar][cLock] = 1;
  2190. OnPropUpdate(); SavePlayerData(playerid);
  2191. return 1;
  2192. }
  2193. }
  2194. else
  2195. {
  2196. SendClientMessage(playerid, COLOR_GREY, " You don't have a vehicle at slot 2");
  2197. return 1;
  2198. }
  2199. }
  2200. else if(strcmp(x_nr,"lock3",true) == 0)
  2201. {
  2202. new keycar = PlayerInfo[playerid][pPcarkey3];
  2203. if(keycar != -1)
  2204. {
  2205. new locked[256];
  2206. locked = strtok(cmdtext, idx);
  2207. if(CarInfo[keycar][cLock] == 1)
  2208. {
  2209. for(new i = 0; i < MAX_PLAYERS; i++)
  2210. {
  2211. if (IsPlayerConnected(i))
  2212. {
  2213. SetVehicleParamsForPlayer(keycar,i,0,0);
  2214. }
  2215. }
  2216. format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2217. GameTextForPlayer(playerid, string, 4000, 3);
  2218. CarInfo[keycar][cLock] = 0;
  2219. OnPropUpdate(); SavePlayerData(playerid);
  2220. return 1;
  2221. }
  2222. else if(CarInfo[keycar][cLock] == 0)
  2223. {
  2224. for(new i = 0; i < MAX_PLAYERS; i++)
  2225. {
  2226. if (IsPlayerConnected(i))
  2227. {
  2228. SetVehicleParamsForPlayer(keycar,i,0,1);
  2229. }
  2230. }
  2231. format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2232. GameTextForPlayer(playerid, string, 4000, 3);
  2233. CarInfo[keycar][cLock] = 1;
  2234. OnPropUpdate(); SavePlayerData(playerid);
  2235. return 1;
  2236. }
  2237. }
  2238. else
  2239. {
  2240. SendClientMessage(playerid, COLOR_GREY, " You don't have a vehicle at slot 3");
  2241. return 1;
  2242. }
  2243. }
  2244. else if(strcmp(x_nr,"color",true) == 0)
  2245. {
  2246. if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
  2247. {
  2248. SendClientMessage(playerid, COLOR_GREY," You don't have a vehicle to respray.");
  2249. return 1;
  2250. }
  2251. if(GetPlayerMoney(playerid) < 1000)
  2252. {
  2253. SendClientMessage(playerid, COLOR_GREY," You don't have enough money for vehicle respray.");
  2254. return 1;
  2255. }
  2256. tmp = strtok(cmdtext, idx);
  2257. if(!strlen(tmp))
  2258. {
  2259. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  2260. return 1;
  2261. }
  2262. new color1;
  2263. color1 = strval(tmp);
  2264. if(color1 < 0 && color1 > 126)
  2265. {
  2266. SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
  2267. return 1;
  2268. }
  2269. tmp = strtok(cmdtext, idx);
  2270. if(!strlen(tmp))
  2271. {
  2272. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  2273. return 1;
  2274. }
  2275. new color2;
  2276. color2 = strval(tmp);
  2277. if(color2 < 0 && color2 > 126)
  2278. {
  2279. SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
  2280. return 1;
  2281. }
  2282.  
  2283. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
  2284. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
  2285. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
  2286. else { return 1; }
  2287.  
  2288. if(IsPlayerInVehicle(playerid, vehid))
  2289. {
  2290. CarInfo[vehid][cColorOne] = color1;
  2291. CarInfo[vehid][cColorTwo] = color2;
  2292. GivePlayerMoney(playerid, -1000);
  2293. GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$1000", 5000, 1);
  2294. ChangeVehicleColor(vehid, color1, color2);
  2295. OnPropUpdate(); SavePlayerData(playerid);
  2296. return 1;
  2297. }
  2298. else
  2299. {
  2300. SendClientMessage(playerid, COLOR_GREY," You are not in your vehicle.");
  2301. return 1;
  2302. }
  2303. }
  2304. else if(strcmp(x_nr,"locate1",true) == 0)
  2305. {
  2306. if(!IsPlayerConnected(playerid)) { return 1; }
  2307. new Float:x,Float:y,Float:z;
  2308. new car = PlayerInfo[playerid][pPcarkey];
  2309. if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2310. SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2311. GetVehiclePos(car, x, y, z);
  2312. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2313. return 1;
  2314. }
  2315. else if(strcmp(x_nr,"locate2",true) == 0)
  2316. {
  2317. if(!IsPlayerConnected(playerid)) { return 1; }
  2318. new Float:x,Float:y,Float:z;
  2319. new car = PlayerInfo[playerid][pPcarkey2];
  2320. if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2321. SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2322. GetVehiclePos(car, x, y, z);
  2323. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2324. return 1;
  2325. }
  2326. else if(strcmp(x_nr,"locate3",true) == 0)
  2327. {
  2328. if(!IsPlayerConnected(playerid)) { return 1; }
  2329. new Float:x,Float:y,Float:z;
  2330. new car = PlayerInfo[playerid][pPcarkey3];
  2331. if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2332. SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2333. GetVehiclePos(car, x, y, z);
  2334. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2335. return 1;
  2336. }
  2337. else if(strcmp(x_nr,"tow1",true) == 0)
  2338. {
  2339. if(IsPlayerConnected(playerid))
  2340. {
  2341. new car = PlayerInfo[playerid][pPcarkey];
  2342. GetPlayerName(playerid, playername, sizeof(playername));
  2343. if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
  2344. {
  2345. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2346. GivePlayerMoney(playerid,-1500);
  2347. SetVehicleToRespawn(car);
  2348. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2349. }
  2350. else
  2351. {
  2352. GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2353. }
  2354. }
  2355. }
  2356. else if(strcmp(x_nr,"tow2",true) == 0)
  2357. {
  2358. if(IsPlayerConnected(playerid))
  2359. {
  2360. new car = PlayerInfo[playerid][pPcarkey2];
  2361. GetPlayerName(playerid, playername, sizeof(playername));
  2362. if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], true) == 0)
  2363. {
  2364. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2365. GivePlayerMoney(playerid,-1500);
  2366. SetVehicleToRespawn(car);
  2367. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2368. }
  2369. else
  2370. {
  2371. GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2372. }
  2373. }
  2374. }
  2375. else if(strcmp(x_nr,"tow3",true) == 0)
  2376. {
  2377. if(IsPlayerConnected(playerid))
  2378. {
  2379. new car = PlayerInfo[playerid][pPcarkey3];
  2380. GetPlayerName(playerid, playername, sizeof(playername));
  2381. if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey3]][cOwner], true) == 0)
  2382. {
  2383. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2384. GivePlayerMoney(playerid,-1500);
  2385. SetVehicleToRespawn(car);
  2386. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2387. }
  2388. else
  2389. {
  2390. GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2391. }
  2392. }
  2393. }
  2394. else
  2395. {
  2396. SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
  2397. SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  2398. return 1;
  2399. }
  2400. }
  2401. return 1;
  2402. }
  2403. return 0;
  2404. }
  2405.  
  2406. public OnPlayerEnterCheckpoint(playerid)
  2407. {
  2408. DisablePlayerCheckpoint(playerid);
  2409. return 1;
  2410. }
  2411. /*----------Car Save Functions----------*/
  2412.  
  2413. public LoadCar()
  2414. {
  2415. new arrCoords[31][64];
  2416. new strFromFile2[256];
  2417. new File: file = fopen("masini.cfg", io_read);
  2418. if (file)
  2419. {
  2420. new idx = carsonserver;
  2421. while (idx < sizeof(CarInfo))
  2422. {
  2423. fread(file, strFromFile2);
  2424. split(strFromFile2, arrCoords, ',');
  2425. CarInfo[idx][cModel] = strval(arrCoords[0]);
  2426. CarInfo[idx][cLocationx] = floatstr(arrCoords[1]);
  2427. CarInfo[idx][cLocationy] = floatstr(arrCoords[2]);
  2428. CarInfo[idx][cLocationz] = floatstr(arrCoords[3]);
  2429. CarInfo[idx][cAngle] = floatstr(arrCoords[4]);
  2430. CarInfo[idx][cColorOne] = strval(arrCoords[5]);
  2431. CarInfo[idx][cColorTwo] = strval(arrCoords[6]);
  2432. strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
  2433. strmid(CarInfo[idx][cDescription], arrCoords[8], 0, strlen(arrCoords[8]), 255);
  2434. CarInfo[idx][cValue] = strval(arrCoords[9]);
  2435. strmid(CarInfo[idx][cLicense], arrCoords[10], 0, strlen(arrCoords[10]), 255);
  2436. CarInfo[idx][cOwned] = strval(arrCoords[11]);
  2437. CarInfo[idx][cLock] = strval(arrCoords[12]);
  2438. CarInfo[idx][mod1] = strval(arrCoords[13]);
  2439. CarInfo[idx][mod2] = strval(arrCoords[14]);
  2440. CarInfo[idx][mod3] = strval(arrCoords[15]);
  2441. CarInfo[idx][mod4] = strval(arrCoords[16]);
  2442. CarInfo[idx][mod5] = strval(arrCoords[17]);
  2443. CarInfo[idx][mod6] = strval(arrCoords[18]);
  2444. CarInfo[idx][mod7] = strval(arrCoords[19]);
  2445. CarInfo[idx][mod8] = strval(arrCoords[20]);
  2446. CarInfo[idx][mod9] = strval(arrCoords[21]);
  2447. CarInfo[idx][mod10] = strval(arrCoords[22]);
  2448. CarInfo[idx][mod11] = strval(arrCoords[23]);
  2449. CarInfo[idx][mod12] = strval(arrCoords[24]);
  2450. CarInfo[idx][mod13] = strval(arrCoords[25]);
  2451. CarInfo[idx][mod14] = strval(arrCoords[26]);
  2452. CarInfo[idx][mod15] = strval(arrCoords[27]);
  2453. CarInfo[idx][mod16] = strval(arrCoords[28]);
  2454. CarInfo[idx][mod17] = strval(arrCoords[29]);
  2455. CarInfo[idx][paintjob] = strval(arrCoords[30]);
  2456. printf("CarInfo: %d Owner:%s LicensePlate %s",idx,CarInfo[idx][cOwner],CarInfo[idx][cLicense]);
  2457. idx++;
  2458. }
  2459. }
  2460. return 1;
  2461. }
  2462.  
  2463. public SaveCarCoords()
  2464. {
  2465. new idx;
  2466. new File: file2;
  2467. while (idx < sizeof(CarInfo))
  2468. {
  2469. new coordsstring[256];
  2470. format(coordsstring, sizeof(coordsstring), "%d|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
  2471. CarInfo[idx][cModel],
  2472. CarInfo[idx][cLocationx],
  2473. CarInfo[idx][cLocationy],
  2474. CarInfo[idx][cLocationz],
  2475. CarInfo[idx][cAngle],
  2476. CarInfo[idx][cColorOne],
  2477. CarInfo[idx][cColorTwo],
  2478. CarInfo[idx][mod1],
  2479. CarInfo[idx][mod2],
  2480. CarInfo[idx][mod3],
  2481. CarInfo[idx][mod4],
  2482. CarInfo[idx][mod5],
  2483. CarInfo[idx][mod6],
  2484. CarInfo[idx][mod7],
  2485. CarInfo[idx][mod8],
  2486. CarInfo[idx][mod9],
  2487. CarInfo[idx][mod10],
  2488. CarInfo[idx][mod11],
  2489. CarInfo[idx][mod12],
  2490. CarInfo[idx][mod13],
  2491. CarInfo[idx][mod14],
  2492. CarInfo[idx][mod15],
  2493. CarInfo[idx][mod16],
  2494. CarInfo[idx][mod17],
  2495. CarInfo[idx][paintjob]);
  2496. if(idx == carsonserver)
  2497. {
  2498. file2 = fopen("masini.cfg", io_write);
  2499. }
  2500. else
  2501. {
  2502. file2 = fopen("masini.cfg", io_append);
  2503. }
  2504. fwrite(file2, coordsstring);
  2505. idx++;
  2506. fclose(file2);
  2507. }
  2508. return 1;
  2509. }
  2510.  
  2511. public OnPlayerStateChange(playerid, newstate, oldstate)
  2512. {
  2513. new string[128];
  2514. new vehicle = GetPlayerVehicleID(playerid);
  2515. new newcar = GetPlayerVehicleID(playerid);
  2516. if(newstate == PLAYER_STATE_DRIVER)
  2517. {
  2518. if(IsAnOwnableCar(newcar))
  2519. {
  2520. if(CarInfo[newcar][cOwned]==0)
  2521. {
  2522. TogglePlayerControllable(playerid, 0);
  2523. format(string,sizeof(string),"%s Price: %d /v buy to buy this vehicle",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
  2524. SendClientMessage(playerid, COLOR_BLUE, string);
  2525. SendClientMessage(playerid, COLOR_BLUE, "or press Enter to exit this vehicle");
  2526. }
  2527. if(CarInfo[newcar][cOwned]==1)
  2528. {
  2529. format(string,sizeof(string),"Vehicle registered to %s",CarInfo[newcar][cOwner]);
  2530. SendClientMessage(playerid, COLOR_BLUE, string);
  2531. if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
  2532. else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
  2533. else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
  2534. else
  2535. {
  2536. if(IsPlayerAdmin(playerid))
  2537. {
  2538. SendClientMessage(playerid, COLOR_GREY, " You can drive this car because you are admin");
  2539. }
  2540. else
  2541. {
  2542. RemovePlayerFromVehicle(playerid);
  2543. SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
  2544. }
  2545. }
  2546. }
  2547. }
  2548. }
  2549. return 1;
  2550. }
  2551.  
  2552. stock ini_GetKey( line[] )
  2553. {
  2554. new keyRes[256];
  2555. keyRes[0] = 0;
  2556. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  2557. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  2558. return keyRes;
  2559. }
  2560.  
  2561. stock ini_GetValue( line[] )
  2562. {
  2563. new valRes[256];
  2564. valRes[0]=0;
  2565. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  2566. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  2567. return valRes;
  2568. }
  2569.  
  2570. //////////
  2571. public OnGameModeInit()
  2572. {
  2573. AddStaticVehicleEx(550,2827.50000000,-1672.40002441,9.89999962,0.00000000,-1,-1,15); //Sunrise
  2574. AddStaticVehicleEx(550,2787.89941406,-1672.69921875,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2575. AddStaticVehicleEx(550,2787.89941406,-1672.69921875,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2576. AddStaticVehicleEx(550,2793.09960938,-1672.69921875,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2577. AddStaticVehicleEx(550,2798.00000000,-1672.59960938,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2578. AddStaticVehicleEx(550,2798.00000000,-1672.59960938,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2579. AddStaticVehicleEx(550,2802.79980469,-1672.29980469,9.80000019,0.00000000,-1,-1,15); //Sunrise
  2580. AddStaticVehicleEx(550,2807.50000000,-1672.69921875,9.89999962,0.00000000,-1,-1,15); //Sunrise
  2581. AddStaticVehicleEx(550,2812.79980469,-1672.79980469,9.89999962,0.00000000,-1,-1,15); //Sunrise
  2582. AddStaticVehicleEx(550,2817.39941406,-1672.69921875,9.89999962,0.00000000,-1,-1,15); //Sunrise
  2583. AddStaticVehicleEx(550,2822.29980469,-1672.29980469,9.89999962,0.00000000,-1,-1,15); //Sunrise
  2584. AddStaticVehicleEx(496,2818.19995117,-1684.09997559,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2585. AddStaticVehicleEx(496,2788.39990234,-1682.90002441,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2586. AddStaticVehicleEx(496,2813.29980469,-1683.79980469,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2587. AddStaticVehicleEx(496,2808.89941406,-1683.69921875,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2588. AddStaticVehicleEx(496,2804.19995117,-1683.90002441,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2589. AddStaticVehicleEx(496,2799.39941406,-1683.69921875,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2590. AddStaticVehicleEx(496,2794.00000000,-1683.39941406,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2591. AddStaticVehicleEx(506,2794.00000000,-1692.40002441,9.69999981,0.00000000,-1,-1,15); //Super GT
  2592. AddStaticVehicleEx(506,2799.50000000,-1692.00000000,9.80000019,0.00000000,-1,-1,15); //Super GT
  2593. AddStaticVehicleEx(506,2823.60009766,-1691.50000000,9.80000019,0.00000000,-1,-1,15); //Super GT
  2594. AddStaticVehicleEx(506,2804.39941406,-1691.79980469,9.80000019,0.00000000,-1,-1,15); //Super GT
  2595. AddStaticVehicleEx(506,2809.39941406,-1691.69921875,9.80000019,0.00000000,-1,-1,15); //Super GT
  2596. AddStaticVehicleEx(506,2813.39941406,-1691.59960938,9.80000019,0.00000000,-1,-1,15); //Super GT
  2597. AddStaticVehicleEx(451,2821.80004883,-1702.00000000,9.69999981,0.00000000,-1,-1,15); //Turismo
  2598. AddStaticVehicleEx(451,2796.50000000,-1701.29980469,9.69999981,0.00000000,-1,-1,15); //Turismo
  2599. AddStaticVehicleEx(451,2802.50000000,-1701.29980469,9.69999981,0.00000000,-1,-1,15); //Turismo
  2600. AddStaticVehicleEx(451,2808.09960938,-1701.39941406,9.69999981,0.00000000,-1,-1,15); //Turismo
  2601. AddStaticVehicleEx(451,2813.00000000,-1701.69921875,9.69999981,0.00000000,-1,-1,15); //Turismo
  2602. AddStaticVehicleEx(451,2817.50000000,-1701.59997559,9.69999981,0.00000000,-1,-1,15); //Turismo
  2603. AddStaticVehicleEx(411,2803.00000000,-1711.50000000,9.69999981,0.00000000,-1,-1,15); //Infernus
  2604. AddStaticVehicleEx(411,2823.30004883,-1710.40002441,9.80000019,0.00000000,-1,-1,15); //Infernus
  2605. AddStaticVehicleEx(411,2808.50000000,-1711.19921875,9.69999981,0.00000000,-1,-1,15); //Infernus
  2606. AddStaticVehicleEx(411,2813.50000000,-1710.89941406,9.80000019,0.00000000,-1,-1,15); //Infernus
  2607. AddStaticVehicleEx(411,2818.50000000,-1710.69921875,9.80000019,0.00000000,-1,-1,15); //Infernus
  2608. AddStaticVehicleEx(496,2824.69995117,-1684.50000000,9.69999981,0.00000000,-1,-1,15); //Blista Compact
  2609. AddStaticVehicleEx(506,2817.89941406,-1691.09960938,9.80000019,0.00000000,-1,-1,15); //Super GT
  2610. AddStaticVehicleEx(463,2803.79980469,-1874.59960938,9.69999981,0.00000000,-1,-1,15); //Freeway
  2611. AddStaticVehicleEx(463,2800.29980469,-1874.50000000,9.60000038,0.00000000,-1,-1,15); //Freeway
  2612. AddStaticVehicleEx(463,2798.19995117,-1874.30004883,9.60000038,0.00000000,-1,-1,15); //Freeway
  2613. AddStaticVehicleEx(463,2795.80004883,-1874.30004883,9.60000038,0.00000000,-1,-1,15); //Freeway
  2614. AddStaticVehicleEx(463,2791.60009766,-1874.30004883,9.60000038,0.00000000,-1,-1,15); //Freeway
  2615. AddStaticVehicleEx(463,2793.69995117,-1874.40002441,9.60000038,0.00000000,-1,-1,15); //Freeway
  2616. AddStaticVehicleEx(461,2803.50000000,-1868.69995117,9.60000038,0.00000000,-1,-1,15); //PCJ-600
  2617. AddStaticVehicleEx(461,2800.80004883,-1868.80004883,9.50000000,0.00000000,-1,-1,15); //PCJ-600
  2618. AddStaticVehicleEx(461,2798.10009766,-1869.59997559,9.50000000,0.00000000,-1,-1,15); //PCJ-600
  2619. AddStaticVehicleEx(461,2795.60009766,-1869.69995117,9.50000000,0.00000000,-1,-1,15); //PCJ-600
  2620. AddStaticVehicleEx(461,2793.60009766,-1869.90002441,9.50000000,0.00000000,-1,-1,15); //PCJ-600
  2621. AddStaticVehicleEx(461,2791.60009766,-1870.19995117,9.50000000,0.00000000,-1,-1,15); //PCJ-600
  2622. AddStaticVehicleEx(405,2783.19995117,-1873.80004883,9.80000019,0.00000000,-1,-1,15); //Sentinel
  2623. AddStaticVehicleEx(405,2779.00000000,-1873.90002441,9.80000019,0.00000000,-1,-1,15); //Sentinel
  2624. AddStaticVehicleEx(405,2774.39990234,-1873.90002441,9.80000019,0.00000000,-1,-1,15); //Sentinel
  2625. AddStaticVehicleEx(405,2769.80004883,-1873.80004883,9.80000019,0.00000000,-1,-1,15); //Sentinel
  2626. AddStaticVehicleEx(405,2759.69995117,-1873.90002441,9.69999981,0.00000000,-1,-1,15); //Sentinel
  2627. AddStaticVehicleEx(405,2764.59960938,-1874.00000000,9.69999981,0.00000000,-1,-1,15); //Sentinel
  2628. AddStaticVehicleEx(405,2796.30004883,-1876.00000000,8.89999962,0.00000000,-1,-1,15); //Sentinel
  2629.  
  2630. }
  2631.  
  2632. public OnGameModeExit()
  2633. {
  2634. {
  2635. SendRconCommand("unloadfs carownership");
  2636. return 1;
  2637. }
  2638. }
  2639.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement