Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 111.24 KB | None | 0 0
  1. /*
  2. ------------------------------------------
  3. * CarOwnerShip |
  4. * Autor: LOZIO |
  5. * Data: 19 Aprilie 2015 |
  6. * Versiune: V0.1 |
  7. ------------------------------------------
  8. */
  9. //===========================Section: Includes==================================
  10. #include <a_samp>
  11. #include <utils>
  12. #include <dini>
  13. //===========================Section: Definations===============================
  14. #define COLOR_GRAD1 0xB4B5B7FF
  15. #define COLOR_GRAD2 0xBFC0C2FF
  16. #define COLOR_GRAD3 0xCBCCCEFF
  17. #define COLOR_GRAD4 0xD8D8D8FF
  18. #define COLOR_GRAD5 0xE3E3E3FF
  19. #define COLOR_GRAD6 0xF0F0F0FF
  20. #define COLOR_GREEN 0x33AA33AA
  21. #define COLOR_GREY 0xAFAFAFAA
  22. #define COLOR_WHITE 0xFFFFFFAA
  23. #define COLOR_YELLOW 0xFFFF00AA
  24. #define COLOR_YELLOW2 0xF5DEB3AA
  25. #define COLOR_BLUE 0x2641FEAA
  26. #define INI_MAX_VALUE MAX_STRING
  27. #define INI_MAX_KEY 24
  28. #define INI_MAX_LINE (INI_MAX_KEY + INI_MAX_VALUE + 3)
  29. #define INI_MAX_FILENAME 256
  30. #define INI_MAX_LINES 256
  31. #define INI_Exist fexist
  32. #define MAX_STRING 255
  33. #define DIALOGID 9999
  34. #define MAX_BUY_V 50
  35. //===========================Section: Forwards==================================
  36. forward split(const strsrc[], strdest[][], delimiter);
  37. forward SaveCarCoords();
  38. forward LoadCar();
  39. forward LoadComponents(vehicleid);
  40. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  41. forward CarMods(vehicleid);
  42. forward ProxDetectorS(Float:radi, playerid, targetid);
  43. forward CarKeys(playerid);
  44. forward SavePlayerData(playerid);
  45. forward ini_GetKey( line[] );
  46. forward ini_GetValue( line[] );
  47. forward OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  48. //===========================Section: New==================================
  49. new dealership;
  50. new dealershipsell;
  51. new vehSlots[612];
  52. new IDDS[MAX_PLAYERS];
  53. new IDIS[MAX_VEHICLES];
  54. new IDMasina[MAX_PLAYERS];
  55. new OwnableCarOffer[MAX_PLAYERS];
  56. new OwnableCarID[MAX_PLAYERS];
  57. new OwnableCarPrice[MAX_PLAYERS];
  58. new DSPlayerIntrat[MAX_PLAYERS];
  59. new sendername[MAX_PLAYER_NAME];
  60. new Locked[MAX_VEHICLES];
  61. new created;
  62. new Text:DSModelText;
  63. new Text:DSPretText;
  64. new Text:DSMarcaText;
  65. new Text:DSSfondText;
  66.  
  67. new vehName[][] = {
  68. "Landstalker",
  69. "Bravura",
  70. "Buffalo",
  71. "Linerunner",
  72. "Perrenial",
  73. "Sentinel",
  74. "Dumper",
  75. "Firetruck",
  76. "Trashmaster",
  77. "Stretch",
  78. "Manana",
  79. "Infernus",
  80. "Voodoo",
  81. "Pony",
  82. "Mule",
  83. "Cheetah",
  84. "Ambulance",
  85. "Leviathan",
  86. "Moonbeam",
  87. "Esperanto",
  88. "Taxi",
  89. "Washington",
  90. "Bobcat",
  91. "Whoopee",
  92. "BF Injection",
  93. "Hunter",
  94. "Premier",
  95. "Enforcer",
  96. "Securicar",
  97. "Banshee",
  98. "Predator",
  99. "Bus",
  100. "Rhino",
  101. "Barracks",
  102. "Hotknife",
  103. "Trailer",
  104. "Previon",
  105. "Coach",
  106. "Cabbie",
  107. "Stallion",
  108. "Rumpo",
  109. "RC Bandit",
  110. "Romero",
  111. "Packer",
  112. "Monster",
  113. "Admiral",
  114. "Squalo",
  115. "Seasparrow",
  116. "Pizzaboy",
  117. "Tram",
  118. "Trailer",
  119. "Turismo",
  120. "Speeder",
  121. "Reefer",
  122. "Tropic",
  123. "Flatbed",
  124. "Yankee",
  125. "Caddy",
  126. "Solair",
  127. "Berkley's RC Van",
  128. "Skimmer",
  129. "PCJ-600",
  130. "Faggio",
  131. "Freeway",
  132. "RC Baron",
  133. "RC Raider",
  134. "Glendale",
  135. "Oceanic",
  136. "Sanchez",
  137. "Sparrow",
  138. "Patriot",
  139. "ATV",
  140. "Coastguard",
  141. "Dinghy",
  142. "Hermes",
  143. "Sabre",
  144. "Rustler",
  145. "ZR-350",
  146. "Walton",
  147. "Regina",
  148. "Comet",
  149. "BMX",
  150. "Burrito",
  151. "Camper",
  152. "Marquis",
  153. "Baggage",
  154. "Dozer",
  155. "Maverick",
  156. "News Chopper",
  157. "Rancher",
  158. "FBI Rancher",
  159. "Virgo",
  160. "Greenwood",
  161. "Jetmax",
  162. "Hotring",
  163. "Sandking",
  164. "B Compact",
  165. "Police Maverick",
  166. "Boxvillde",
  167. "Benson",
  168. "Mesa",
  169. "RC Goblin",
  170. "Hotring Racer A",
  171. "Hotring Racer B",
  172. "Bloodring Banger",
  173. "Rancher",
  174. "Super GT",
  175. "Elegant",
  176. "Journey",
  177. "Bike",
  178. "MBike",
  179. "Beagle",
  180. "Cropduster",
  181. "Stunt",
  182. "Tanker",
  183. "Roadtrain",
  184. "Nebula",
  185. "Majestic",
  186. "Buccaneer",
  187. "Shamal",
  188. "Hydra",
  189. "FCR-900",
  190. "NRG-500",
  191. "HPV1000",
  192. "Cement Truck",
  193. "Tow Truck",
  194. "Fortune",
  195. "Cadrona",
  196. "FBI Truck",
  197. "Willard",
  198. "Forklift",
  199. "Tractor",
  200. "Combine",
  201. "Feltzer",
  202. "Remington",
  203. "Slamvan",
  204. "Blade",
  205. "Freight",
  206. "Streak",
  207. "Vortex",
  208. "Vincent",
  209. "Bullet",
  210. "Clover",
  211. "Sadler",
  212. "Firetruck",
  213. "Hustler",
  214. "Intruder",
  215. "Primo",
  216. "Cargobob",
  217. "Tampa",
  218. "Sunrise",
  219. "Merit",
  220. "Utility",
  221. "Nevada",
  222. "Jeep",
  223. "Windsor",
  224. "Monster",
  225. "Monster",
  226. "Uranus",
  227. "Jester",
  228. "Sultan",
  229. "Stratum",
  230. "Elegy",
  231. "Raindance",
  232. "RC Tiger",
  233. "Flash",
  234. "Tahoma",
  235. "Savanna",
  236. "Bandito",
  237. "Freight Flat",
  238. "Streak Carriage",
  239. "Kart",
  240. "Mower",
  241. "Dune",
  242. "Sweeper",
  243. "Broadway",
  244. "Tornado",
  245. "AT-400",
  246. "DFT-30",
  247. "Huntley",
  248. "Stafford",
  249. "BF-400",
  250. "News Van",
  251. "Tug",
  252. "Trailer",
  253. "Emperor",
  254. "Wayfarer",
  255. "Euros",
  256. "Hotdog",
  257. "Club",
  258. "Freight Box",
  259. "Trailer",
  260. "Andromada",
  261. "Dodo",
  262. "RC Cam",
  263. "Launch",
  264. "Police Car LSPD",
  265. "Police Car SFPD",
  266. "Police Car LVPD",
  267. "Police Ranger",
  268. "Picador",
  269. "S.W.A.T",
  270. "Alpha",
  271. "Phoenix",
  272. "Glendale",
  273. "Sadler",
  274. "Luggage",
  275. "Luggage",
  276. "Stairs",
  277. "Boxville",
  278. "Tiller",
  279. "Utility Trailer"
  280. };
  281.  
  282. new DSModele[50][3] = {
  283. {1,410,300000},
  284. {2,436,350000},
  285. {3,496,450000},
  286. {4,439,525000},
  287. {5,517,500000},
  288. {6,526,400000},
  289. {7,589,625000},
  290. {8,602,625000},
  291. {9,566,625000},
  292. {10,405,650000},
  293. {11,426,750000},
  294. {12,579,760000},
  295. {13,475,680000},
  296. {14,401,350000},
  297. {15,546,250000},
  298. {16,529,300000},
  299. {17,550,450000},
  300. {18,540,500000},
  301. {19,467,400000},
  302. {20,466,550000},
  303. {21,492,550000},
  304. {22,419,400000},
  305. {23,495,1300000},
  306. {24,541,4000000},
  307. {25,411,5000000},
  308. {26,451,3500000},
  309. {27,415,2200000},
  310. {28,560,3500000},
  311. {29,559,2500000},
  312. {30,562,2500000},
  313. {31,480,1300000},
  314. {32,565,1100000},
  315. {33,506,950000},
  316. {34,477,1650000},
  317. {35,603,850000},
  318. {36,558,1600000},
  319. {37,461,700000},
  320. {38,462,300000},
  321. {39,468,550000},
  322. {40,481,250000},
  323. {41,510,100000},
  324. {42,521,800000},
  325. {43,581,525000},
  326. {44,586,350000},
  327. {45,522,3500000},
  328. {56,494,5500000},
  329. {47,429,3000000},
  330. {48,444,8000000},
  331. {49,469,5500000},
  332. {50,487,5500000}
  333. };
  334. //===========================Section: Variables=================================
  335.  
  336. enum pInfo
  337. {
  338. pPcarkey,
  339. pPcarkey2,
  340. pPcarkey3,
  341. }
  342. new PlayerInfo[256][pInfo];
  343.  
  344. enum cInfo
  345. {
  346. cModel,
  347. Float:cLocationx,
  348. Float:cLocationy,
  349. Float:cLocationz,
  350. Float:cAngle,
  351. cColorOne,
  352. cColorTwo,
  353. cOwner[MAX_PLAYER_NAME],
  354. cValue,
  355. cLicense[14],
  356. cOwned,
  357. cLock,
  358. mod1,
  359. mod2,
  360. mod3,
  361. mod4,
  362. mod5,
  363. mod6,
  364. mod7,
  365. mod8,
  366. mod9,
  367. mod10,
  368. mod11,
  369. mod12,
  370. mod13,
  371. mod14,
  372. mod15,
  373. mod16,
  374. mod17,
  375. paintjob,
  376. };
  377.  
  378. new CarInfo[MAX_BUY_V][cInfo];
  379.  
  380. new spoiler[20][0] = {
  381. {1000},
  382. {1001},
  383. {1002},
  384. {1003},
  385. {1014},
  386. {1015},
  387. {1016},
  388. {1023},
  389. {1058},
  390. {1060},
  391. {1049},
  392. {1050},
  393. {1138},
  394. {1139},
  395. {1146},
  396. {1147},
  397. {1158},
  398. {1162},
  399. {1163},
  400. {1164}
  401. };
  402.  
  403. new nitro[3][0] = {
  404. {1008},
  405. {1009},
  406. {1010}
  407. };
  408.  
  409. new fbumper[23][0] = {
  410. {1117},
  411. {1152},
  412. {1153},
  413. {1155},
  414. {1157},
  415. {1160},
  416. {1165},
  417. {1167},
  418. {1169},
  419. {1170},
  420. {1171},
  421. {1172},
  422. {1173},
  423. {1174},
  424. {1175},
  425. {1179},
  426. {1181},
  427. {1182},
  428. {1185},
  429. {1188},
  430. {1189},
  431. {1192},
  432. {1193}
  433. };
  434.  
  435. new rbumper[22][0] = {
  436. {1140},
  437. {1141},
  438. {1148},
  439. {1149},
  440. {1150},
  441. {1151},
  442. {1154},
  443. {1156},
  444. {1159},
  445. {1161},
  446. {1166},
  447. {1168},
  448. {1176},
  449. {1177},
  450. {1178},
  451. {1180},
  452. {1183},
  453. {1184},
  454. {1186},
  455. {1187},
  456. {1190},
  457. {1191}
  458. };
  459.  
  460. new exhaust[28][0] = {
  461. {1018},
  462. {1019},
  463. {1020},
  464. {1021},
  465. {1022},
  466. {1028},
  467. {1029},
  468. {1037},
  469. {1043},
  470. {1044},
  471. {1045},
  472. {1046},
  473. {1059},
  474. {1064},
  475. {1065},
  476. {1066},
  477. {1089},
  478. {1092},
  479. {1104},
  480. {1105},
  481. {1113},
  482. {1114},
  483. {1126},
  484. {1127},
  485. {1129},
  486. {1132},
  487. {1135},
  488. {1136}
  489. };
  490.  
  491. new bventr[2][0] = {
  492. {1042},
  493. {1044}
  494. };
  495.  
  496. new bventl[2][0] = {
  497. {1043},
  498. {1045}
  499. };
  500.  
  501. new bscoop[4][0] = {
  502. {1004},
  503. {1005},
  504. {1011},
  505. {1012}
  506. };
  507.  
  508. new rscoop[13][0] = {
  509. {1006},
  510. {1032},
  511. {1033},
  512. {1035},
  513. {1038},
  514. {1053},
  515. {1054},
  516. {1055},
  517. {1061},
  518. {1067},
  519. {1068},
  520. {1088},
  521. {1091}
  522. };
  523.  
  524. new lskirt[21][0] = {
  525. {1007},
  526. {1026},
  527. {1031},
  528. {1036},
  529. {1039},
  530. {1042},
  531. {1047},
  532. {1048},
  533. {1056},
  534. {1057},
  535. {1069},
  536. {1070},
  537. {1090},
  538. {1093},
  539. {1106},
  540. {1108},
  541. {1118},
  542. {1119},
  543. {1133},
  544. {1122},
  545. {1134}
  546. };
  547.  
  548. new rskirt[21][0] = {
  549. {1017},
  550. {1027},
  551. {1030},
  552. {1040},
  553. {1041},
  554. {1051},
  555. {1052},
  556. {1062},
  557. {1063},
  558. {1071},
  559. {1072},
  560. {1094},
  561. {1095},
  562. {1099},
  563. {1101},
  564. {1102},
  565. {1107},
  566. {1120},
  567. {1121},
  568. {1124},
  569. {1137}
  570. };
  571.  
  572. new hydraulics[1][0] = {
  573. {1087}
  574. };
  575.  
  576. new base[1][0] = {
  577. {1086}
  578. };
  579.  
  580. new rbbars[2][0] = {
  581. {1109},
  582. {1110}
  583. };
  584.  
  585. new fbbars[2][0] = {
  586. {1115},
  587. {1116}
  588. };
  589.  
  590. new wheels[17][0] = {
  591. {1025},
  592. {1073},
  593. {1074},
  594. {1075},
  595. {1076},
  596. {1077},
  597. {1078},
  598. {1079},
  599. {1080},
  600. {1081},
  601. {1082},
  602. {1083},
  603. {1084},
  604. {1085},
  605. {1096},
  606. {1097},
  607. {1098}
  608. };
  609.  
  610. new light[2][0] = {
  611. {1013},
  612. {1024}
  613. };
  614.  
  615. InitComponents(componentid)
  616. {
  617. new i;
  618. for(i=0; i<20; i++)
  619. {
  620. if(spoiler[i][0]==componentid) { return 1; }
  621. }
  622. for(i=0; i<3; i++)
  623. {
  624. if(nitro[i][0]==componentid) { return 2; }
  625. }
  626. for(i=0; i<23; i++)
  627. {
  628. if(fbumper[i][0]==componentid) { return 3; }
  629. }
  630. for(i=0; i<22; i++)
  631. {
  632. if(rbumper[i][0]==componentid) { return 4; }
  633. }
  634. for(i=0; i<28; i++)
  635. {
  636. if(exhaust[i][0]==componentid) { return 5; }
  637. }
  638. for(i=0; i<2; i++)
  639. {
  640. if(bventr[i][0]==componentid) { return 6; }
  641. }
  642. for(i=0; i<2; i++)
  643. {
  644. if(bventl[i][0]==componentid) { return 7; }
  645. }
  646. for(i=0; i<4; i++)
  647. {
  648. if(bscoop[i][0]==componentid) { return 8; }
  649. }
  650. for(i=0; i<13; i++)
  651. {
  652. if(rscoop[i][0]==componentid) { return 9; }
  653. }
  654. for(i=0; i<21; i++)
  655. {
  656. if(lskirt[i][0]==componentid) { return 10; }
  657. }
  658. for(i=0; i<21; i++)
  659. {
  660. if(rskirt[i][0]==componentid) { return 11; }
  661. }
  662. if(hydraulics[0][0]==componentid) { return 12; }
  663. if(base[0][0]==componentid) { return 13; }
  664. for(i=0; i<2; i++)
  665. {
  666. if(rbbars[i][0]==componentid) { return 14; }
  667. }
  668. for(i=0; i<2; i++)
  669. {
  670. if(fbbars[i][0]==componentid) { return 15; }
  671. }
  672. for(i=0; i<17; i++)
  673. {
  674. if(wheels[i][0]==componentid) { return 16; }
  675. }
  676. for(i=0; i<2; i++)
  677. {
  678. if(light[i][0]==componentid) { return 17; }
  679. }
  680. return 0;
  681. }
  682.  
  683. //===========================Section: strtok & split============================
  684. strtok(const string[], &index)
  685. {
  686. new length = strlen(string);
  687. while ((index < length) && (string[index] <= ' '))
  688. {
  689. index++;
  690. }
  691.  
  692. new offset = index;
  693. new result[20];
  694. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  695. {
  696. result[index - offset] = string[index];
  697. index++;
  698. }
  699. result[index - offset] = EOS;
  700. return result;
  701. }
  702.  
  703. public split(const strsrc[], strdest[][], delimiter)
  704. {
  705. new i, li;
  706. new aNum;
  707. new len;
  708. while(i <= strlen(strsrc)){
  709. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  710. len = strmid(strdest[aNum], strsrc, li, i, 128);
  711. strdest[aNum][len] = 0;
  712. li = i+1;
  713. aNum++;
  714. }
  715. i++;
  716. }
  717. return 1;
  718. }
  719. //===========================Section: Callbacks & Functions=====================
  720. public OnFilterScriptInit()
  721. {
  722. printf("-----------------------------------------");
  723. printf(" * CarOwnerShip |");
  724. printf(" * Autor: LOZIO |");
  725. printf(" * Versiune: V0.1 |");
  726. printf("-----------------------------------------");
  727. LoadCar();
  728. LoadVehModels();
  729. DSModelText = TextDrawCreate(228.000000, 400.960083, "Modele Disponibile: 3");
  730. TextDrawLetterSize(DSModelText, 0.449999, 1.600000);
  731. TextDrawAlignment(DSModelText, 1);
  732. TextDrawColor(DSModelText, -1);
  733. TextDrawSetShadow(DSModelText, -3);
  734. TextDrawSetOutline(DSModelText, 0);
  735. TextDrawBackgroundColor(DSModelText, 51);
  736. TextDrawFont(DSModelText, 1);
  737. TextDrawSetProportional(DSModelText, 1);
  738.  
  739. DSPretText = TextDrawCreate(256.799926, 377.067260, "Pret: 100000");
  740. TextDrawLetterSize(DSPretText, 0.449999, 1.600000);
  741. TextDrawAlignment(DSPretText, 1);
  742. TextDrawColor(DSPretText, -1);
  743. TextDrawSetShadow(DSPretText, -3);
  744. TextDrawSetOutline(DSPretText, 0);
  745. TextDrawBackgroundColor(DSPretText, 51);
  746. TextDrawFont(DSPretText, 1);
  747. TextDrawSetProportional(DSPretText, 1);
  748.  
  749. DSMarcaText = TextDrawCreate(254.399932, 355.413391, "Marca: Bullet");
  750. TextDrawLetterSize(DSMarcaText, 0.449999, 1.600000);
  751. TextDrawAlignment(DSMarcaText, 1);
  752. TextDrawColor(DSMarcaText, -1);
  753. TextDrawSetShadow(DSMarcaText, -3);
  754. TextDrawSetOutline(DSMarcaText, 0);
  755. TextDrawBackgroundColor(DSMarcaText, 51);
  756. TextDrawFont(DSMarcaText, 1);
  757. TextDrawSetProportional(DSMarcaText, 1);
  758.  
  759. DSSfondText = TextDrawCreate(399.599975, 356.166687, "usebox");
  760. TextDrawLetterSize(DSSfondText, 0.000000, 6.735181);
  761. TextDrawTextSize(DSSfondText, 221.199996, 0.000000);
  762. TextDrawAlignment(DSSfondText, 1);
  763. TextDrawColor(DSSfondText, 0);
  764. TextDrawUseBox(DSSfondText, true);
  765. TextDrawBoxColor(DSSfondText, 102);
  766. TextDrawSetShadow(DSSfondText, 0);
  767. TextDrawSetOutline(DSSfondText, 0);
  768. TextDrawFont(DSSfondText, 1);
  769. dealership = CreatePickup(1239, 23, 2131.8562,-1151.3187,24.0611);
  770. dealershipsell = CreatePickup(1239, 23, 2118.9602,-1153.9385,24.0678);
  771. return 1;
  772. }
  773.  
  774. public OnFilterScriptExit() { return 1; }
  775.  
  776. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  777. {
  778. new carid = GetPlayerVehicleID(playerid);
  779. if (newkeys == KEY_SECONDARY_ATTACK)
  780. {
  781. if(GetCreatorID(carid) && CarInfo[carid][cOwned] == 0)
  782. {
  783. TogglePlayerControllable(playerid, 1);
  784. RemovePlayerFromVehicle(playerid);
  785. }
  786. }
  787. if(newkeys == KEY_YES)
  788. {
  789. if(DSPlayerIntrat[playerid] == 1)
  790. {
  791. TextDrawHideForPlayer(playerid,DSMarcaText);
  792. TextDrawHideForPlayer(playerid,DSPretText);
  793. TextDrawHideForPlayer(playerid,DSModelText);
  794. TextDrawHideForPlayer(playerid,DSSfondText);
  795. SetPlayerPos(playerid,2125.5842,-1151.8530,23.9997);
  796. DestroyVehicle(IDMasina[playerid]);
  797. SetPlayerVirtualWorld(playerid, 0);
  798. TogglePlayerControllable(playerid, 1);
  799. SetCameraBehindPlayer(playerid);
  800. DSPlayerIntrat[playerid] = 0;
  801. SendClientMessage(playerid,COLOR_YELLOW,"{33CCFF}ServeR: Ai parasit Magazinul!");
  802. }
  803. }
  804. if(newkeys == KEY_SPRINT)
  805. {
  806. if(DSPlayerIntrat[playerid] == 1)
  807. {
  808. if(IDDS[playerid] == 49) IDDS[playerid] = -1;
  809. IDDS[playerid] +=1;
  810. DestroyVehicle(IDMasina[playerid]);
  811. IDMasina[playerid] = CreateVehicle(DSModele[IDDS[playerid]][1],-1659.9817,1213.8199,6.9751,300.4067,3,3,-1);
  812. SetVehicleVirtualWorld(IDMasina[playerid],playerid+1);
  813. new string[456];
  814. format(string,sizeof(string),"Marca: %s",vehName[DSModele[IDDS[playerid]][1]-400]);
  815. TextDrawSetString(DSMarcaText,string);
  816. TextDrawShowForPlayer(playerid,DSMarcaText);
  817. format(string,sizeof(string),"Pret: %d",DSModele[IDDS[playerid]][2]);
  818. TextDrawSetString(DSPretText,string);
  819. TextDrawShowForPlayer(playerid,DSPretText);
  820. format(string,sizeof(string),"Modele Disponibile: %d",vehSlots[GetVehicleModel(IDMasina[playerid])]);
  821. TextDrawSetString(DSModelText,string);
  822. TextDrawShowForPlayer(playerid,DSModelText);
  823. }
  824. }
  825. if (newkeys == KEY_SECONDARY_ATTACK)
  826. {
  827. if(DSPlayerIntrat[playerid] == 1)
  828. {
  829. new string[456];
  830. new model = DSModele[IDDS[playerid]][1];
  831. new pret = DSModele[IDDS[playerid]][2];
  832. TextDrawHideForPlayer(playerid,DSMarcaText);
  833. TextDrawHideForPlayer(playerid,DSPretText);
  834. TextDrawHideForPlayer(playerid,DSModelText);
  835. TextDrawHideForPlayer(playerid,DSSfondText);
  836. SetPlayerPos(playerid,2125.5842,-1151.8530,23.9997);
  837. DestroyVehicle(IDMasina[playerid]);
  838. SetPlayerVirtualWorld(playerid, 0);
  839. TogglePlayerControllable(playerid, 1);
  840. SetCameraBehindPlayer(playerid);
  841. DSPlayerIntrat[playerid] = 0;
  842. if(GetPlayerMoney(playerid) < DSModele[IDDS[playerid]][2]) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu ai suficienti bani pentru a cumpara aceasta masina!");
  843. if(vehSlots[model] <= 0) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu sunt suficiente modele in stok!");
  844. GivePlayerMoney(playerid,- DSModele[IDDS[playerid]][2]);
  845. format(string,sizeof(string),"{33CCFF}ServeR: Ai cumparat un %s pentru %d.",vehName[DSModele[IDDS[playerid]][1]-400],DSModele[IDDS[playerid]][2]);
  846. SendClientMessage(playerid,COLOR_WHITE,string);
  847. created++;
  848. format(CarInfo[created][cLicense], 32 ,"DealerShip");
  849. CarInfo[created][cOwned] = 1; CarInfo[created][cModel] = model; CarInfo[created][cColorOne] = 3; CarInfo[created][cColorTwo] = 3;
  850. CarInfo[created][cLocationx] = 1649.6346; CarInfo[created][cLocationy] = -1080.1403; CarInfo[created][cLocationz] = 23.5273; CarInfo[created][cAngle] = 88.5238;
  851. CarInfo[created][cValue] = pret; CarInfo[created][cLock] = 0; CarInfo[created][paintjob] = -1; LoadComponents(created);
  852. GetPlayerName(playerid, sendername, sizeof(sendername));
  853. strmid(CarInfo[created][cOwner], sendername, 0, strlen(sendername), 999);
  854. SaveCarCoords();
  855. new ccar = CreateVehicle(CarInfo[created][cModel],CarInfo[created][cLocationx],CarInfo[created][cLocationy],CarInfo[created][cLocationz],CarInfo[created][cAngle],CarInfo[created][cColorOne],CarInfo[created][cColorTwo],-1);
  856. SetVehicleNumberPlate(ccar,CarInfo[created][cLicense]);
  857. if(PlayerInfo[playerid][pPcarkey] == 0) { PlayerInfo[playerid][pPcarkey] = created; }
  858. else if(PlayerInfo[playerid][pPcarkey2] == 0) { PlayerInfo[playerid][pPcarkey2] = created; }
  859. else if(PlayerInfo[playerid][pPcarkey3] == 0) { PlayerInfo[playerid][pPcarkey3] = created; }
  860. vehSlots[model] --;
  861. SaveVehModels();
  862. SavePlayerData(playerid);
  863. }
  864. }
  865. return 1;
  866. }
  867.  
  868. public SavePlayerData(playerid)
  869. {
  870. if(IsPlayerConnected(playerid))
  871. {
  872. new string3[32];
  873. new playername3[MAX_PLAYER_NAME];
  874. GetPlayerName(playerid, playername3, sizeof(playername3));
  875. format(string3, sizeof(string3), "Masini/CarKey%s.cfg", playername3);
  876. new File: hFile = fopen(string3, io_write);
  877. if (hFile)
  878. {
  879. new var[32];
  880. format(var, 32, "CarKey=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var);
  881. format(var, 32, "CarKey2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var);
  882. format(var, 32, "CarKey3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var);
  883. fclose(hFile);
  884. }
  885. }
  886. return 1;
  887. }
  888.  
  889. public ProxDetectorS(Float:radi, playerid, targetid)
  890. {
  891. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  892. {
  893. new Float:posx, Float:posy, Float:posz;
  894. new Float:oldposx, Float:oldposy, Float:oldposz;
  895. new Float:tempposx, Float:tempposy, Float:tempposz;
  896. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  897. GetPlayerPos(targetid, posx, posy, posz);
  898. tempposx = (oldposx -posx);
  899. tempposy = (oldposy -posy);
  900. tempposz = (oldposz -posz);
  901. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  902. {
  903. return 1;
  904. }
  905. }
  906. return 0;
  907. }
  908.  
  909. public CarKeys(playerid)
  910. {
  911. new string2[64];
  912. new playername2[MAX_PLAYER_NAME];
  913. GetPlayerName(playerid, playername2, sizeof(playername2));
  914. format(string2, sizeof(string2), "Masini/CarKey%s.cfg", playername2);
  915. new File: UserFile = fopen(string2, io_read);
  916. if ( UserFile )
  917. {
  918. new key[ 256 ] , val[ 256 ];
  919. new Data[ 256 ];
  920. while ( fread( UserFile , Data , sizeof( Data ) ) )
  921. {
  922. key = ini_GetKey( Data );
  923. if( strcmp( key , "CarKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey] = strval( val ); }
  924. if( strcmp( key , "CarKey2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey2] = strval( val ); }
  925. if( strcmp( key , "CarKey3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey3] = strval( val ); }
  926. }
  927. fclose(UserFile);
  928. }
  929. return 1;
  930. }
  931.  
  932. public CarMods(vehicleid)
  933. {
  934. 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)
  935. {
  936. return 1;
  937. }
  938. 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)
  939. {
  940. return 1;
  941. }
  942. return 0;
  943. }
  944.  
  945. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  946. {
  947. if(IsPlayerConnected(playerid))
  948. {
  949. new Float:oldposx, Float:oldposy, Float:oldposz;
  950. new Float:tempposx, Float:tempposy, Float:tempposz;
  951. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  952. tempposx = (oldposx -x);
  953. tempposy = (oldposy -y);
  954. tempposz = (oldposz -z);
  955. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  956. {
  957. return 1;
  958. }
  959. }
  960. return 0;
  961. }
  962.  
  963. public OnVehicleMod(playerid,vehicleid,componentid)
  964. {
  965. new mods = InitComponents(componentid);
  966. if(IsPlayerInVehicle(playerid, vehicleid))
  967. {
  968. switch(mods)
  969. {
  970. case 1: { CarInfo[vehicleid][mod1] = componentid; }
  971. case 2: { CarInfo[vehicleid][mod2] = componentid; }
  972. case 3: { CarInfo[vehicleid][mod3] = componentid; }
  973. case 4: { CarInfo[vehicleid][mod4] = componentid; }
  974. case 5: { CarInfo[vehicleid][mod5] = componentid; }
  975. case 6: { CarInfo[vehicleid][mod6] = componentid; }
  976. case 7: { CarInfo[vehicleid][mod7] = componentid; }
  977. case 8: { CarInfo[vehicleid][mod8] = componentid; }
  978. case 9: { CarInfo[vehicleid][mod9] = componentid; }
  979. case 10: { CarInfo[vehicleid][mod10] = componentid; }
  980. case 11: { CarInfo[vehicleid][mod11] = componentid; }
  981. case 12: { CarInfo[vehicleid][mod12] = componentid; }
  982. case 13: { CarInfo[vehicleid][mod13] = componentid; }
  983. case 14: { CarInfo[vehicleid][mod14] = componentid; }
  984. case 15: { CarInfo[vehicleid][mod15] = componentid; }
  985. case 16: { CarInfo[vehicleid][mod16] = componentid; }
  986. case 17: { CarInfo[vehicleid][mod17] = componentid; }
  987. }
  988. }
  989. return 1;
  990. }
  991.  
  992. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  993. {
  994. if(IsPlayerInVehicle(playerid, vehicleid))
  995. {
  996. if(GetVehicleModel(vehicleid) == 483)
  997. {
  998. switch(paintjobid)
  999. {
  1000. case 0: CarInfo[vehicleid][paintjob] = 0;
  1001. }
  1002. }
  1003. if(GetVehicleModel(vehicleid) == 534)
  1004. {
  1005. switch(paintjobid)
  1006. {
  1007. case 0: CarInfo[vehicleid][paintjob] = 0;
  1008. case 1: CarInfo[vehicleid][paintjob] = 1;
  1009. case 2: CarInfo[vehicleid][paintjob] = 2;
  1010. }
  1011. }
  1012. if(GetVehicleModel(vehicleid) == 535)
  1013. {
  1014. switch(paintjobid)
  1015. {
  1016. case 0: CarInfo[vehicleid][paintjob] = 0;
  1017. case 1: CarInfo[vehicleid][paintjob] = 1;
  1018. case 2: CarInfo[vehicleid][paintjob] = 2;
  1019. }
  1020. }
  1021. if(GetVehicleModel(vehicleid) == 536)
  1022. {
  1023. switch(paintjobid)
  1024. {
  1025. case 0: CarInfo[vehicleid][paintjob] = 0;
  1026. case 1: CarInfo[vehicleid][paintjob] = 1;
  1027. case 2: CarInfo[vehicleid][paintjob] = 2;
  1028. }
  1029. }
  1030. if(GetVehicleModel(vehicleid) == 558)
  1031. {
  1032. switch(paintjobid)
  1033. {
  1034. case 0: CarInfo[vehicleid][paintjob] = 0;
  1035. case 1: CarInfo[vehicleid][paintjob] = 1;
  1036. case 2: CarInfo[vehicleid][paintjob] = 2;
  1037. }
  1038. }
  1039. if(GetVehicleModel(vehicleid) == 559)
  1040. {
  1041. switch(paintjobid)
  1042. {
  1043. case 0: CarInfo[vehicleid][paintjob] = 0;
  1044. case 1: CarInfo[vehicleid][paintjob] = 1;
  1045. case 2: CarInfo[vehicleid][paintjob] = 2;
  1046. }
  1047. }
  1048. if(GetVehicleModel(vehicleid) == 560)
  1049. {
  1050. switch(paintjobid)
  1051. {
  1052. case 0: CarInfo[vehicleid][paintjob] = 0;
  1053. case 1: CarInfo[vehicleid][paintjob] = 1;
  1054. case 2: CarInfo[vehicleid][paintjob] = 2;
  1055. }
  1056. }
  1057. if(GetVehicleModel(vehicleid) == 561)
  1058. {
  1059. switch(paintjobid)
  1060. {
  1061. case 0: CarInfo[vehicleid][paintjob] = 0;
  1062. case 1: CarInfo[vehicleid][paintjob] = 1;
  1063. case 2: CarInfo[vehicleid][paintjob] = 2;
  1064. }
  1065. }
  1066. if(GetVehicleModel(vehicleid) == 562)
  1067. {
  1068. switch(paintjobid)
  1069. {
  1070. case 0: CarInfo[vehicleid][paintjob] = 0;
  1071. case 1: CarInfo[vehicleid][paintjob] = 1;
  1072. case 2: CarInfo[vehicleid][paintjob] = 2;
  1073. }
  1074. }
  1075. if(GetVehicleModel(vehicleid) == 565)
  1076. {
  1077. switch(paintjobid)
  1078. {
  1079. case 0: CarInfo[vehicleid][paintjob] = 0;
  1080. case 1: CarInfo[vehicleid][paintjob] = 1;
  1081. case 2: CarInfo[vehicleid][paintjob] = 2;
  1082. }
  1083. }
  1084. if(GetVehicleModel(vehicleid) == 567)
  1085. {
  1086. switch(paintjobid)
  1087. {
  1088. case 0: CarInfo[vehicleid][paintjob] = 0;
  1089. case 1: CarInfo[vehicleid][paintjob] = 1;
  1090. case 2: CarInfo[vehicleid][paintjob] = 2;
  1091. }
  1092. }
  1093. if(GetVehicleModel(vehicleid) == 575)
  1094. {
  1095. switch(paintjobid)
  1096. {
  1097. case 0: CarInfo[vehicleid][paintjob] = 0;
  1098. case 1: CarInfo[vehicleid][paintjob] = 1;
  1099. }
  1100. }
  1101. if(GetVehicleModel(vehicleid) == 576)
  1102. {
  1103. switch(paintjobid)
  1104. {
  1105. case 0: CarInfo[vehicleid][paintjob] = 0;
  1106. case 1: CarInfo[vehicleid][paintjob] = 1;
  1107. case 2: CarInfo[vehicleid][paintjob] = 2;
  1108. }
  1109. }
  1110. }
  1111. return 1;
  1112. }
  1113.  
  1114. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1115. {
  1116. new vehid;
  1117. new string[256];
  1118. vehid = GetPlayerVehicleID(playerid);
  1119. if(response)
  1120. {
  1121. if(dialogid == DIALOGID+1)
  1122. {
  1123. if(response)
  1124. {
  1125. if(listitem==0)
  1126. {
  1127. if(CarInfo[vehid][mod1] > 0)
  1128. {
  1129. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1130. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1131. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1132. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod1] = 0;
  1133. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1134. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1135. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1136. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Eleronul a fost scos cu succes!");
  1137. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1138. }
  1139. else
  1140. {
  1141. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Eleron Instalat!");
  1142. }
  1143. }
  1144. if(listitem==1)
  1145. {
  1146. if(CarInfo[vehid][mod3] > 0)
  1147. {
  1148. new Float:XX,Float:YY,Float:ZZ,Float:CarHP,Float:OldCarHP; new panels,doors,lights,tires;
  1149. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1150. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1151. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod3] = 0;
  1152. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1153. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1154. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1155. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Spoilerul din fata a fost scos cu succes!");
  1156. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1157. }
  1158. else
  1159. {
  1160. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Spoilerul din fata Instalat!");
  1161. }
  1162. }
  1163. if(listitem==2)
  1164. {
  1165. if(CarInfo[vehid][mod4] > 0)
  1166. {
  1167. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1168. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1169. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1170. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod4] = 0;
  1171. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1172. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1173. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1174. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Spoilerul din spate a fost scos cu succes!");
  1175. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1176. }
  1177. else
  1178. {
  1179. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Spoilerul din spate Instalat!");
  1180. }
  1181. }
  1182. if(listitem==3)
  1183. {
  1184. if(CarInfo[vehid][mod10] > 0 && CarInfo[vehid][mod11] > 0)
  1185. {
  1186. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1187. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1188. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1189. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod10] = 0;
  1190. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1191. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1192. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1193. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Lateralele au fost scoase cu succes!");
  1194. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1195. }
  1196. else
  1197. {
  1198. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Laterale Instalate!");
  1199. }
  1200. }
  1201. if(listitem==4)
  1202. {
  1203. if(CarInfo[vehid][mod9] > 0)
  1204. {
  1205. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1206. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1207. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1208. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod9] = 0;
  1209. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1210. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1211. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1212. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Roof Scoops au fost scoase cu succes!");
  1213. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1214. }
  1215. else
  1216. {
  1217. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Roof Scoops Instalat!");
  1218. }
  1219. }
  1220. if(listitem==5)
  1221. {
  1222. if(CarInfo[vehid][mod5] > 0)
  1223. {
  1224. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1225. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1226. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1227. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod5] = 0;
  1228. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1229. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1230. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1231. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Tobele de Esapament au fost scoase cu succes!");
  1232. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1233. }
  1234. else
  1235. {
  1236. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Tobe de Esapament Instalate!");
  1237. }
  1238. }
  1239. if(listitem==6)
  1240. {
  1241. if(CarInfo[vehid][mod2] > 0)
  1242. {
  1243. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1244. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1245. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1246. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod2] = 0;
  1247. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1248. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1249. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1250. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Nitro a fost scos cu succes!");
  1251. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1252. }
  1253. else
  1254. {
  1255. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Nitro Instalat!");
  1256. }
  1257. }
  1258. if(listitem==7)
  1259. {
  1260. if(CarInfo[vehid][mod12] > 0)
  1261. {
  1262. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1263. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1264. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1265. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod12] = 0;
  1266. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1267. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1268. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1269. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Hidraulica a fost scoasa cu succes!");
  1270. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1271. }
  1272. else
  1273. {
  1274. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Hidraulica Instalata!");
  1275. }
  1276. }
  1277. if(listitem==8)
  1278. {
  1279. if(CarInfo[vehid][mod16] > 0)
  1280. {
  1281. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1282. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1283. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1284. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod16] = 0;
  1285. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1286. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1287. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1288. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Rotile au fost scoase cu succes!");
  1289. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1290. }
  1291. else
  1292. {
  1293. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Roti Instalate!");
  1294. }
  1295. }
  1296. if(listitem==9)
  1297. {
  1298. if(CarInfo[vehid][paintjob] > -1)
  1299. {
  1300. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1301. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1302. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1303. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1;
  1304. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1305. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1306. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1307. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Tatuajul a fost indepartat cu succes!");
  1308. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1309. }
  1310. else
  1311. {
  1312. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu are Tatuaj!");
  1313. }
  1314. }
  1315. if(listitem==10)
  1316. {
  1317. if(CarMods(vehid))
  1318. {
  1319. new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1320. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1321. GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1322. GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1; CarInfo[vehid][mod1] = 0; CarInfo[vehid][mod2] = 0;
  1323. CarInfo[vehid][mod3] = 0; CarInfo[vehid][mod4] = 0; CarInfo[vehid][mod5] = 0; CarInfo[vehid][mod6] = 0; CarInfo[vehid][mod7] = 0;
  1324. CarInfo[vehid][mod8] = 0; CarInfo[vehid][mod9] = 0; CarInfo[vehid][mod10] = 0; CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod12] = 0;
  1325. CarInfo[vehid][mod13] = 0; CarInfo[vehid][mod14] = 0; CarInfo[vehid][mod15] = 0; CarInfo[vehid][mod16] = 0; CarInfo[vehid][mod17] = 0;
  1326. SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1327. PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1328. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1329. SendClientMessage(playerid, COLOR_BLUE,"{33CCFF}ServeR: Tuningul a fost indepartat cu succes!");
  1330. LoadComponents(vehid); SaveCarCoords(); SavePlayerData(playerid);
  1331. }
  1332. else
  1333. {
  1334. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}ServeR: Masina ta nu este Tunata!");
  1335. }
  1336. }
  1337. }
  1338. }
  1339. }
  1340. if(dialogid == DIALOGID+2)// DealerShip
  1341. {
  1342. if(response)
  1343. {
  1344. ShowPlayerDialog(playerid,DIALOGID+3,DIALOG_STYLE_MSGBOX,"{FFFFFF} Magazin de Masini","{FFFFFF}Ai iesit din meniu. Vrei sa cumperi acest vehicul? \nDaca da, apasa {33CCFF}'Cumpara'{FFFFFF}.\nAltfel, apasa pe butonul {33CCFF}'Iesi'{FFFFFF} pentru a iesi din magazin.","Cumpara","Iesi");
  1345. }
  1346. else
  1347. {
  1348. new stringg[2555];
  1349. if(IDDS[playerid] == 49) IDDS[playerid] = -1;
  1350. IDDS[playerid] +=1;
  1351. DestroyVehicle(IDMasina[playerid]);
  1352. IDMasina[playerid] = CreateVehicle(DSModele[IDDS[playerid]][1],-1659.9817,1213.8199,6.9751,300.4067,3,3,-1);
  1353. SetVehicleVirtualWorld(IDMasina[playerid],playerid+1);
  1354. format(stringg, sizeof(stringg), "{FFFFFF}Mai jos se afla lista cu informatii despre acest vehicul: \n\n{FFFFFF}- Marca: {FFFFFF}%s\n{FFFFFF}- Pret: %d\n{FFFFFF}- Modele Disponibile: %d\n\n{FFFFFF}Pentru urmatoarea marca de masina click pe '>>'.",vehName[DSModele[IDDS[playerid]][1]-400],DSModele[IDDS[playerid]][2],vehSlots[GetVehicleModel(IDMasina[playerid])]);
  1355. ShowPlayerDialog(playerid,DIALOGID+2,DIALOG_STYLE_MSGBOX,"{FFFFFF} Magazin de Masini",stringg,"Iesi",">>");
  1356. }
  1357. }
  1358. if(dialogid == DIALOGID+3)// DealerShip
  1359. {
  1360. new model = DSModele[IDDS[playerid]][1];
  1361. new pret = DSModele[IDDS[playerid]][2];
  1362. if(response)
  1363. {
  1364. SetPlayerPos(playerid,2125.5842,-1151.8530,23.9997);
  1365. DestroyVehicle(IDMasina[playerid]);
  1366. SetPlayerVirtualWorld(playerid, 0);
  1367. TogglePlayerControllable(playerid, 1);
  1368. SetCameraBehindPlayer(playerid);
  1369. if(GetPlayerMoney(playerid) < DSModele[IDDS[playerid]][2]) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu ai suficienti bani pentru a cumpara aceasta masina!");
  1370. if(vehSlots[model] <= 0) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu sunt suficiente modele in stok!");
  1371. GivePlayerMoney(playerid,- DSModele[IDDS[playerid]][2]);
  1372. format(string,sizeof(string),"{33CCFF}ServeR: Ai cumparat un %s pentru %d.",vehName[DSModele[IDDS[playerid]][1]-400],DSModele[IDDS[playerid]][2]);
  1373. SendClientMessage(playerid,COLOR_WHITE,string);
  1374. created++;
  1375. format(CarInfo[created][cLicense], 32 ,"DealerShip");
  1376. CarInfo[created][cOwned] = 1; CarInfo[created][cModel] = model; CarInfo[created][cColorOne] = 3; CarInfo[created][cColorTwo] = 3;
  1377. CarInfo[created][cLocationx] = 1649.6346; CarInfo[created][cLocationy] = -1080.1403; CarInfo[created][cLocationz] = 23.5273; CarInfo[created][cAngle] = 88.5238;
  1378. CarInfo[created][cValue] = pret; CarInfo[created][cLock] = 0; CarInfo[created][paintjob] = -1; LoadComponents(created);
  1379. GetPlayerName(playerid, sendername, sizeof(sendername));
  1380. strmid(CarInfo[created][cOwner], sendername, 0, strlen(sendername), 999);
  1381. SaveCarCoords();
  1382. new ccar = CreateVehicle(CarInfo[created][cModel],CarInfo[created][cLocationx],CarInfo[created][cLocationy],CarInfo[created][cLocationz],CarInfo[created][cAngle],CarInfo[created][cColorOne],CarInfo[created][cColorTwo],-1);
  1383. SetVehicleNumberPlate(ccar,CarInfo[created][cLicense]);
  1384. if(PlayerInfo[playerid][pPcarkey] == 0) { PlayerInfo[playerid][pPcarkey] = created; }
  1385. else if(PlayerInfo[playerid][pPcarkey2] == 0) { PlayerInfo[playerid][pPcarkey2] = created; }
  1386. else if(PlayerInfo[playerid][pPcarkey3] == 0) { PlayerInfo[playerid][pPcarkey3] = created; }
  1387. vehSlots[model] --;
  1388. SaveVehModels();
  1389. SavePlayerData(playerid);
  1390. }
  1391. else
  1392. {
  1393. SetPlayerPos(playerid,2125.5842,-1151.8530,23.9997);
  1394. DestroyVehicle(IDMasina[playerid]);
  1395. SetPlayerVirtualWorld(playerid, 0);
  1396. TogglePlayerControllable(playerid, 1);
  1397. SetCameraBehindPlayer(playerid);
  1398. SendClientMessage(playerid,COLOR_YELLOW,"{33CCFF}ServeR: Ai parasit Magazinul!");
  1399. }
  1400. }
  1401. if(dialogid == DIALOGID+4)// DealerShip
  1402. {
  1403. if(response)
  1404. {
  1405. if(listitem==0)
  1406. {
  1407. SetPlayerPos(playerid,-1558.0000,1153.1772,1.5000);
  1408. TogglePlayerControllable(playerid, 0);
  1409. SetPlayerCameraPos(playerid,-1650.8524,1210.4797,9.4186);
  1410. SetPlayerCameraLookAt(playerid,-1660.0663,1213.8904,8.5841);
  1411. SetPlayerVirtualWorld(playerid,playerid+1);
  1412. new stringg[456];
  1413. IDDS[playerid] = 0;
  1414. IDMasina[playerid] = CreateVehicle(DSModele[IDDS[playerid]][1],-1659.9817,1213.8199,6.9751,300.4067,3,3,-1);
  1415. SetVehicleVirtualWorld(IDMasina[playerid],playerid+1);
  1416. format(stringg, sizeof(stringg), "{FFFFFF}Mai jos se afla lista cu informatii despre acest vehicul: \n\n{FFFFFF}- Marca: {FFFFFF}%s\n{FFFFFF}- Pret: %d\n{FFFFFF}- Modele Disponibile: %d\n\n{FFFFFF}Pentru urmatoarea marca de masina click pe '>>'.",vehName[DSModele[IDDS[playerid]][1]-400],DSModele[IDDS[playerid]][2],vehSlots[GetVehicleModel(IDMasina[playerid])]);
  1417. ShowPlayerDialog(playerid,DIALOGID+2,DIALOG_STYLE_MSGBOX,"{FFFFFF} Magazin de Masini",stringg,"Iesi",">>");
  1418. return 1;
  1419. }
  1420. if(listitem==1)
  1421. {
  1422. SendClientMessage(playerid, COLOR_WHITE, "");
  1423. SendClientMessage(playerid, COLOR_WHITE, "");
  1424. SendClientMessage(playerid, COLOR_WHITE, "");
  1425. SendClientMessage(playerid, COLOR_WHITE, "");
  1426. SendClientMessage(playerid, COLOR_WHITE, "");
  1427. SendClientMessage(playerid, COLOR_WHITE, "");
  1428. SendClientMessage(playerid, COLOR_WHITE, "");
  1429. SendClientMessage(playerid, COLOR_WHITE, "");
  1430. SendClientMessage(playerid, COLOR_WHITE, "");
  1431. SendClientMessage(playerid, COLOR_WHITE, "");
  1432. SendClientMessage(playerid, COLOR_WHITE, "");
  1433. SendClientMessage(playerid, COLOR_WHITE, "");
  1434. SendClientMessage(playerid, COLOR_WHITE, "");
  1435. SendClientMessage(playerid, COLOR_WHITE, "");
  1436. SendClientMessage(playerid, COLOR_WHITE, "");
  1437. SendClientMessage(playerid, COLOR_WHITE, "");
  1438. SendClientMessage(playerid, COLOR_WHITE, "");
  1439. SendClientMessage(playerid, COLOR_WHITE, "");
  1440. SendClientMessage(playerid, COLOR_WHITE, "");
  1441. SendClientMessage(playerid, COLOR_WHITE, "");
  1442. SendClientMessage(playerid, COLOR_WHITE, "Magazin de Masini");
  1443. SendClientMessage(playerid, 0x0080FFFF, "-----------------------------------------------------------------------------------------------------------");
  1444. SendClientMessage(playerid, COLOR_WHITE, "* Pentru a schimba vehiculul apasa:{33CCFF} SPACE");
  1445. SendClientMessage(playerid, COLOR_WHITE, "* Pentru a parasi magazinul apasa:{33CCFF} Y");
  1446. SendClientMessage(playerid, COLOR_WHITE, "* Pentru a cumpara vehiculul apasa:{33CCFF} ENTER");
  1447. SetPlayerPos(playerid,-1558.0000,1153.1772,1.5000);
  1448. TogglePlayerControllable(playerid, 0);
  1449. SetPlayerCameraPos(playerid,-1650.8524,1210.4797,9.4186);
  1450. SetPlayerCameraLookAt(playerid,-1660.0663,1213.8904,8.5841);
  1451. SetPlayerVirtualWorld(playerid,playerid+1);
  1452. DSPlayerIntrat[playerid] = 1;
  1453. IDDS[playerid] = 0;
  1454. IDMasina[playerid] = CreateVehicle(DSModele[IDDS[playerid]][1],-1659.9817,1213.8199,6.9751,300.4067,3,3,-1);
  1455. SetVehicleVirtualWorld(IDMasina[playerid],playerid+1);
  1456. TextDrawShowForPlayer(playerid,DSMarcaText);
  1457. TextDrawShowForPlayer(playerid,DSPretText);
  1458. TextDrawShowForPlayer(playerid,DSModelText);
  1459. TextDrawShowForPlayer(playerid,DSSfondText);
  1460. format(string,sizeof(string),"Marca: %s",vehName[DSModele[IDDS[playerid]][1]-400]);
  1461. TextDrawSetString(DSMarcaText,string);
  1462. TextDrawShowForPlayer(playerid,DSMarcaText);
  1463. format(string,sizeof(string),"Pret: %d",DSModele[IDDS[playerid]][2]);
  1464. TextDrawSetString(DSPretText,string);
  1465. TextDrawShowForPlayer(playerid,DSPretText);
  1466. format(string,sizeof(string),"Modele Disponibile: %d",vehSlots[GetVehicleModel(IDMasina[playerid])]);
  1467. TextDrawSetString(DSModelText,string);
  1468. TextDrawShowForPlayer(playerid,DSModelText);
  1469. return 1;
  1470. }
  1471. }
  1472. }
  1473. return 1;
  1474. }
  1475.  
  1476. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1477. {
  1478. if(GetCreatorID(vehicleid) && CarInfo[vehicleid][cLock] == 1 && CarInfo[vehicleid][cOwned] == 1)
  1479. {
  1480. if(IsPlayerAdmin(playerid)) { }
  1481. else
  1482. {
  1483. new Float:cx, Float:cy, Float:cz;
  1484. GetPlayerPos(playerid, cx, cy, cz);
  1485. SetPlayerPos(playerid, cx, cy, cz);
  1486. }
  1487. }
  1488. return 1;
  1489. }
  1490.  
  1491. public OnVehicleSpawn(vehicleid)
  1492. {
  1493. LoadComponents(vehicleid);
  1494. return 1;
  1495. }
  1496.  
  1497. public LoadComponents(vehicleid)
  1498. {
  1499. if(CarInfo[vehicleid][cOwned] == 1)
  1500. {
  1501. if(CarInfo[vehicleid][mod1] >= 1000 && CarInfo[vehicleid][mod1] <= 1193)
  1502. {
  1503. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod1])) != CarInfo[vehicleid][mod1]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod1]); }
  1504. }
  1505. if(CarInfo[vehicleid][mod2] >= 1000 && CarInfo[vehicleid][mod2] <= 1193)
  1506. {
  1507. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod2])) != CarInfo[vehicleid][mod2]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod2]); }
  1508. }
  1509. if(CarInfo[vehicleid][mod3] >= 1000 && CarInfo[vehicleid][mod3] <= 1193)
  1510. {
  1511. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod3])) != CarInfo[vehicleid][mod3]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod3]); }
  1512. }
  1513. if(CarInfo[vehicleid][mod4] >= 1000 && CarInfo[vehicleid][mod4] <= 1193)
  1514. {
  1515. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod4])) != CarInfo[vehicleid][mod4]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod4]); }
  1516. }
  1517. if(CarInfo[vehicleid][mod5] >= 1000 && CarInfo[vehicleid][mod5] <= 1193)
  1518. {
  1519. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod5])) != CarInfo[vehicleid][mod5]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod5]); }
  1520. }
  1521. if(CarInfo[vehicleid][mod6] >= 1000 && CarInfo[vehicleid][mod6] <= 1193)
  1522. {
  1523. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod6])) != CarInfo[vehicleid][mod6]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod6]); }
  1524. }
  1525. if(CarInfo[vehicleid][mod7] >= 1000 && CarInfo[vehicleid][mod7] <= 1193)
  1526. {
  1527. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod7])) != CarInfo[vehicleid][mod7]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod7]); }
  1528. }
  1529. if(CarInfo[vehicleid][mod8] >= 1000 && CarInfo[vehicleid][mod8] <= 1193)
  1530. {
  1531. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod8])) != CarInfo[vehicleid][mod8]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod8]); }
  1532. }
  1533. if(CarInfo[vehicleid][mod9] >= 1000 && CarInfo[vehicleid][mod9] <= 1193)
  1534. {
  1535. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod9])) != CarInfo[vehicleid][mod9]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod9]); }
  1536. }
  1537. if(CarInfo[vehicleid][mod10] >= 1000 && CarInfo[vehicleid][mod10] <= 1193)
  1538. {
  1539. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod10])) != CarInfo[vehicleid][mod10]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod10]); }
  1540. }
  1541. if(CarInfo[vehicleid][mod11] >= 1000 && CarInfo[vehicleid][mod11] <= 1193)
  1542. {
  1543. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod11])) != CarInfo[vehicleid][mod11]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod11]); }
  1544. }
  1545. if(CarInfo[vehicleid][mod12] >= 1000 && CarInfo[vehicleid][mod12] <= 1193)
  1546. {
  1547. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod12])) != CarInfo[vehicleid][mod12]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod12]); }
  1548. }
  1549. if(CarInfo[vehicleid][mod13] >= 1000 && CarInfo[vehicleid][mod13] <= 1193)
  1550. {
  1551. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod13])) != CarInfo[vehicleid][mod13]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod13]); }
  1552. }
  1553. if(CarInfo[vehicleid][mod14] >= 1000 && CarInfo[vehicleid][mod14] <= 1193)
  1554. {
  1555. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod14])) != CarInfo[vehicleid][mod14]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod14]); }
  1556. }
  1557. if(CarInfo[vehicleid][mod15] >= 1000 && CarInfo[vehicleid][mod15] <= 1193)
  1558. {
  1559. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod15])) != CarInfo[vehicleid][mod15]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod15]); }
  1560. }
  1561. if(CarInfo[vehicleid][mod16] >= 1000 && CarInfo[vehicleid][mod16] <= 1193)
  1562. {
  1563. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod16])) != CarInfo[vehicleid][mod16]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod16]); }
  1564. }
  1565. if(CarInfo[vehicleid][mod17] >= 1000 && CarInfo[vehicleid][mod17] <= 1193)
  1566. {
  1567. if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod17])) != CarInfo[vehicleid][mod17]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod17]); }
  1568. }
  1569. if(CarInfo[vehicleid][paintjob] > -1) { ChangeVehiclePaintjob(vehicleid,CarInfo[vehicleid][paintjob]); ChangeVehicleColor(vehicleid, 1, 1); }
  1570. else { ChangeVehicleColor(vehicleid, CarInfo[vehicleid][cColorOne], CarInfo[vehicleid][cColorTwo]); }
  1571. if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1572. }
  1573. else
  1574. {
  1575. if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1576. }
  1577. return 1;
  1578. }
  1579.  
  1580. public OnPlayerConnect(playerid)
  1581. {
  1582. PlayerInfo[playerid][pPcarkey] = 0;
  1583. PlayerInfo[playerid][pPcarkey2] = 0;
  1584. PlayerInfo[playerid][pPcarkey3] = 0;
  1585. DSPlayerIntrat[playerid] = 0;
  1586. CarKeys(playerid);
  1587. SetPlayerMapIcon(playerid, 13, 2131.8562,-1151.3187,24.0611, 55, 0, MAPICON_LOCAL); // MapIcon: DealerShip
  1588. return 1;
  1589. }
  1590.  
  1591. public OnPlayerCommandText(playerid, cmdtext[])
  1592. {
  1593. new idx;
  1594. new string[256];
  1595. new cmd[256];
  1596. new tmp[256];
  1597. new playername[MAX_PLAYER_NAME];
  1598. new giveplayer[MAX_PLAYER_NAME];
  1599. new giveplayerid;
  1600. cmd = strtok(cmdtext, idx);
  1601. new vehid;
  1602. vehid = GetPlayerVehicleID(playerid);
  1603. //-----------------------------------------Comanda-----------------------------------------//
  1604. if(strcmp(cmd,"/cancel",true)==0)
  1605. {
  1606. if(IsPlayerConnected(playerid))
  1607. {
  1608. new x_job[256];
  1609. x_job = strtok(cmdtext, idx);
  1610. if(!strlen(x_job)) { return 1; }
  1611. if(strcmp(x_job,"ownablecar",true) == 0) { OwnableCarOffer[playerid] = 999; OwnableCarID[playerid] = 0; OwnableCarPrice[playerid] = 0; }
  1612. else { return 1; }
  1613. format(string, sizeof(string), "{33CCFF}* Ai cancelat: %s.", x_job);
  1614. SendClientMessage(playerid, COLOR_YELLOW, string);
  1615. }
  1616. return 1;
  1617. }
  1618. //-----------------------------------------Comanda-----------------------------------------//
  1619. if(strcmp(cmd,"/accept",true)==0)
  1620. {
  1621. if(IsPlayerConnected(playerid))
  1622. {
  1623. new x_job[256];
  1624. x_job = strtok(cmdtext, idx);
  1625. if(!strlen(x_job)) { return 1; }
  1626. if(strcmp(x_job,"ownablecar",true) == 0)
  1627. {
  1628. if(OwnableCarOffer[playerid] < 999)
  1629. {
  1630. if(OwnableCarID[playerid] == 0) { return 1; }
  1631. if(OwnableCarPrice[playerid] == 0 || OwnableCarPrice[playerid] > 1500001) { return 1; }
  1632.  
  1633. if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey]) { }
  1634. else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2]) { }
  1635. else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3]) { }
  1636. else { SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Oferta nu mai este disponibila!"); return 1; }
  1637.  
  1638. if(GetPlayerMoney(playerid) >= OwnableCarPrice[playerid])
  1639. {
  1640. if(IsPlayerConnected(OwnableCarOffer[playerid]))
  1641. {
  1642. GetPlayerName(OwnableCarOffer[playerid], giveplayer, sizeof(giveplayer));
  1643. GetPlayerName(playerid, sendername, sizeof(sendername));
  1644. if(PlayerInfo[playerid][pPcarkey] == 0)
  1645. {
  1646. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1647. {
  1648. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1649. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 0;
  1650. }
  1651. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1652. {
  1653. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1654. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 0;
  1655. }
  1656. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1657. {
  1658. PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1659. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = 0;
  1660. }
  1661. else
  1662. {
  1663. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Masina ta a fost vanduta cu succes!");
  1664. return 1;
  1665. }
  1666. format(string, sizeof(string), "{33CCFF}* Ai platit $%d pentru masina de la %s.",OwnableCarPrice[playerid],giveplayer);
  1667. SendClientMessage(playerid, COLOR_WHITE, string);
  1668. format(string, sizeof(string), "{33CCFF}* %s a cumparat masina ta pentru: $%d.",sendername,OwnableCarPrice[playerid]);
  1669. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1670. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1671. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1672. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1673. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1674. }
  1675. else if(PlayerInfo[playerid][pPcarkey2] == 0)
  1676. {
  1677. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1678. {
  1679. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1680. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 0;
  1681. }
  1682. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1683. {
  1684. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1685. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 0;
  1686. }
  1687. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1688. {
  1689. PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1690. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = 0;
  1691. }
  1692. else
  1693. {
  1694. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Masina ta a fost vanduta cu succes!");
  1695. return 1;
  1696. }
  1697. format(string, sizeof(string), "{33CCFF}* Ai platit $%d pentru masina de la %s.",OwnableCarPrice[playerid],giveplayer);
  1698. SendClientMessage(playerid, COLOR_WHITE, string);
  1699. format(string, sizeof(string), "{33CCFF}* %s a cumparat masina ta pentru: $%d.",sendername,OwnableCarPrice[playerid]);
  1700. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1701. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1702. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1703. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1704. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1705. }
  1706. else if(PlayerInfo[playerid][pPcarkey3] == 0)
  1707. {
  1708. if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1709. {
  1710. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1711. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 0;
  1712. }
  1713. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1714. {
  1715. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1716. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 0;
  1717. }
  1718. else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1719. {
  1720. PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1721. PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = 0;
  1722. }
  1723. else
  1724. {
  1725. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Masina ta a fost vanduta cu succes!");
  1726. return 1;
  1727. }
  1728. format(string, sizeof(string), "{33CCFF}* Ai platit $%d pentru masina de la %s.",OwnableCarPrice[playerid],giveplayer);
  1729. SendClientMessage(playerid, COLOR_WHITE, string);
  1730. format(string, sizeof(string), "{33CCFF}* %s a cumparat masina ta pentru: $%d.",sendername,OwnableCarPrice[playerid]);
  1731. SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1732. RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1733. GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1734. GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1735. strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1736. }
  1737. else
  1738. {
  1739. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Tu deja ai 3 masini! ");
  1740. return 1;
  1741. }
  1742. SaveCarCoords();
  1743. SavePlayerData(playerid);
  1744. SavePlayerData(OwnableCarOffer[playerid]);
  1745. OwnableCarOffer[playerid] = -1;
  1746. OwnableCarID[playerid] = 0;
  1747. OwnableCarPrice[playerid] = 0;
  1748. GameTextForPlayer(playerid, "~w~Felicitari!~n~Nu uita sa o parchiezi prin /v park!", 5000, 3);
  1749. SendClientMessage(playerid, COLOR_GRAD2, "{FF9900}Scrie:{33CCFF} /vehicle pentru a vedea comenzile!");
  1750. return 1;
  1751. }
  1752. else
  1753. {
  1754. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Vanzatorul s-a deconectat!");
  1755. return 1;
  1756. }
  1757. }
  1758. }
  1759. else
  1760. {
  1761. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nimeni nu vrea sa-ti vanda masina!");
  1762. return 1;
  1763. }
  1764. }
  1765. else { return 1; }
  1766. }
  1767. return 1;
  1768. }
  1769. //-----------------------------------------Comanda-----------------------------------------//
  1770. if(strcmp(cmd, "/setvslots", true) == 0)
  1771. {
  1772. if(IsPlayerAdmin(playerid))
  1773. {
  1774. tmp = strtok(cmdtext, idx);
  1775. if(!strlen(tmp))
  1776. {
  1777. return SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /setvslots <modelid> <number>");
  1778. }
  1779. new car = strval(tmp);
  1780. tmp = strtok(cmdtext, idx);
  1781. if(!strlen(tmp))
  1782. {
  1783. return SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /setvslots <modelid> <number>");
  1784. }
  1785. new numbah = strval(tmp);
  1786. if(car < 400 || car > 611) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Modelul vehiculului trebuie sa fie cuprins intre 400 si 611!");
  1787. vehSlots[car] = numbah;
  1788. format(string, sizeof(string), "{33CCFF}ServeR: Ai setat %d vehicule cu ID-ul %d in DealerShip.", numbah, car);
  1789. SendClientMessage(playerid, COLOR_WHITE, string);
  1790. SaveVehModels();
  1791. return 1;
  1792. }
  1793. }
  1794. //-----------------------------------------Comanda-----------------------------------------//
  1795. if(strcmp(cmd, "/gotods", true) == 0)
  1796. {
  1797. if(IsPlayerConnected(playerid))
  1798. {
  1799. if (IsPlayerAdmin(playerid))
  1800. {
  1801. SetPlayerPos(playerid, 2131.8562,-1151.3187,24.0611);
  1802. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Ai fost teleportat cu succes!");
  1803. SetPlayerInterior(playerid,0);
  1804. SetPlayerVirtualWorld(playerid, 0);
  1805. }
  1806. }
  1807. return 1;
  1808. }
  1809. //-----------------------------------------Comanda-----------------------------------------//
  1810. if(strcmp(cmd, "/vslots", true) == 0)
  1811. {
  1812. if(IsPlayerAdmin(playerid))
  1813. {
  1814. tmp = strtok(cmdtext, idx);
  1815. if(!strlen(tmp))
  1816. {
  1817. return SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /vslots <modelid>");
  1818. }
  1819. new car = strval(tmp);
  1820. if(car < 400 || car > 611) return SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Modelul vehiculului trebuie sa fie cuprins intre 400 si 611!");
  1821. format(string, sizeof(string), "{33CCFF}ServeR: Modele valabile pentru masina %d sunt: %d", car, vehSlots[car]);
  1822. SendClientMessage(playerid, COLOR_WHITE, string);
  1823. return 1;
  1824. }
  1825. }
  1826. //-----------------------------------------Comanda-----------------------------------------//
  1827. if (strcmp("/buycar", cmdtext, true, 10) == 0)
  1828. {
  1829. if(IsPlayerConnected(playerid))
  1830. if(PlayerInfo[playerid][pPcarkey] == 0) { }
  1831. else if(PlayerInfo[playerid][pPcarkey2] == 0) { }
  1832. else if(PlayerInfo[playerid][pPcarkey3] == 0) { }
  1833. else { SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Ai deja 3 masini!"); return 1; }
  1834. {
  1835. if(PlayerToPoint(2.0, playerid,2131.8562,-1151.3187,24.0611))
  1836. {
  1837. new DSVariante[1900];
  1838. strcat(DSVariante, "1.Model tip Dialog\n", 1900 );
  1839. strcat(DSVariante, "2.Model tip TextDraw\n", 1900 );
  1840. ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "{FFFFFF} Magazin de Masini", DSVariante, "Alege", "Iesi");
  1841. return 1;
  1842. }
  1843. else
  1844. {
  1845. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu esti la Magazin!");
  1846. }
  1847. }
  1848. return 1;
  1849. }
  1850. //-----------------------------------------Comanda-----------------------------------------//
  1851. if (strcmp(cmd, "/mycarhelp", true) == 0)
  1852. {
  1853. if(IsPlayerConnected(playerid))
  1854. {
  1855. SendClientMessage(playerid, COLOR_WHITE," ");
  1856. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}-------------------------------------------------[Masini Personale]-----------------------------------------------");
  1857. new carkey = PlayerInfo[playerid][pPcarkey];
  1858. new carkey2 = PlayerInfo[playerid][pPcarkey2];
  1859. new carkey3 = PlayerInfo[playerid][pPcarkey3];
  1860. new lock[20];
  1861. if(CarInfo[carkey][cLock] == 0) { lock = "Nu"; }
  1862. else if(CarInfo[carkey][cLock] == 1) { lock = "Da"; }
  1863. new lock2[20];
  1864. if(CarInfo[carkey2][cLock] == 0) { lock2 = "Nu"; }
  1865. else if(CarInfo[carkey2][cLock] == 1) { lock2= "Da"; }
  1866. new lock3[20];
  1867. if(CarInfo[carkey3][cLock] == 0) { lock3 = "Nu"; }
  1868. else if(CarInfo[carkey3][cLock] == 1) { lock3 = "Da"; }
  1869. if (PlayerInfo[playerid][pPcarkey] > 0)
  1870. {
  1871. format(string, sizeof(string), "{FF9900}Masina1 - Model: [%s] Valoare: [%d] Culoare1: [%d] Culoare2: [%d] Inchisa: [%s]", vehName[CarInfo[carkey][cModel]-400], CarInfo[carkey][cValue], CarInfo[carkey][cColorOne], CarInfo[carkey][cColorTwo], lock);
  1872. SendClientMessage(playerid, COLOR_GRAD5,string);
  1873. }
  1874. if (PlayerInfo[playerid][pPcarkey2] > 0)
  1875. {
  1876. format(string, sizeof(string), "{FF9900}Masina2 - Model: [%s] Valoare: [%d] Culoare1: [%d] Culoare2: [%d] Inchisa: [%s]", vehName[CarInfo[carkey2][cModel]-400], CarInfo[carkey2][cValue], CarInfo[carkey2][cColorOne], CarInfo[carkey2][cColorTwo], lock2);
  1877. SendClientMessage(playerid, COLOR_GRAD5,string);
  1878. }
  1879. if (PlayerInfo[playerid][pPcarkey3] > 0)
  1880. {
  1881. format(string, sizeof(string), "{FF9900}Masina3 - Model: [%s] Valoare: [%d] Culoare1: [%d] Culoare2: [%d] Inchisa: [%s]", vehName[CarInfo[carkey3][cModel]-400], CarInfo[carkey3][cValue], CarInfo[carkey3][cColorOne], CarInfo[carkey3][cColorTwo], lock3);
  1882. SendClientMessage(playerid, COLOR_GRAD5,string);
  1883. }
  1884. SendClientMessage(playerid, COLOR_GRAD4,"{FF9900}Comenzi: {33CCFF}/vehicle /savetuning /removetuning");
  1885. SendClientMessage(playerid, COLOR_WHITE,"{33CCFF}-------------------------------------------------------------------------------------------------------------------------");
  1886. return 1;
  1887. }
  1888. return 1;
  1889. }
  1890. //-----------------------------------------Comanda-----------------------------------------//
  1891. if (strcmp(cmd, "/savetuning", true) == 0)
  1892. {
  1893. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu esti intr-o masina!");
  1894. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1895. {
  1896. new component;
  1897. component = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 0);
  1898. LoadComponents(component); SaveCarCoords();
  1899. SendClientMessage(playerid,COLOR_WHITE,"{33CCFF}ServeR: Tuningul masini tale a fost salvat!");
  1900. }
  1901. else
  1902. {
  1903. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu poti salva tuningul pentru ca aceasta masina nu iti apartine.");
  1904. return 1;
  1905. }
  1906. return 1;
  1907. }
  1908. //-----------------------------------------Comanda-----------------------------------------//
  1909. if(strcmp(cmd, "/removetuning", true) == 0)
  1910. {
  1911. if(IsPlayerInVehicle(playerid, vehid))
  1912. {
  1913. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1914. {
  1915. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Lista Tuning", "Eleron\nSpoiler Fata\nSpoiler Spate\nLaterale\nRoof\nToba Esapament\nNitro\nHidraulica\nRoti\nTatuaj\nToate Componentele","Scoate", "Cancel");
  1916. }
  1917. else
  1918. {
  1919. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Nu poti scoate tuningul pentru ca aceasta masina nu iti apartine.");
  1920. return 1;
  1921. }
  1922. }
  1923. else
  1924. {
  1925. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Trebuie sa fii in masina pentru a scoate tuningul!");
  1926. return 1;
  1927. }
  1928. }
  1929. //-----------------------------------------Comanda-----------------------------------------//
  1930. if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
  1931. {
  1932. if(IsPlayerConnected(playerid))
  1933. {
  1934. new x_nr[64];
  1935. x_nr = strtok(cmdtext, idx);
  1936. if(!strlen(x_nr))
  1937. {
  1938. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} (/v)ehicle [name]");
  1939. SendClientMessage(playerid, COLOR_WHITE, "{FF9900} park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  1940. return 1;
  1941. }
  1942. if(strcmp(x_nr,"sell",true) == 0)
  1943. {
  1944. if(GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pPcarkey3])
  1945. {
  1946. if(PlayerToPoint(2.0, playerid,2118.9602,-1153.9385,24.0678))
  1947. {
  1948. GetPlayerName(playerid, sendername, sizeof(sendername));
  1949. new ownvehkey;
  1950. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  1951. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  1952. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  1953. else { return 1; }
  1954. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  1955. {
  1956. new carsellprice = CarInfo[ownvehkey][cValue] / 2;
  1957. CarInfo[ownvehkey][cOwned] = 0;
  1958. CarInfo[ownvehkey][cOwner] = 0;
  1959. GivePlayerMoney(playerid,carsellprice);
  1960. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1961. format(string, sizeof(string), "{33CCFF}ServeR: Ti-ai vandut masina pentru: $%d", carsellprice);
  1962. SendClientMessage(playerid,COLOR_WHITE,string);
  1963. CarInfo[ownvehkey][cLocationx] = 0; CarInfo[ownvehkey][cLocationy] = 0; CarInfo[ownvehkey][cLocationz] = 0; CarInfo[ownvehkey][cAngle] = 0;
  1964. CarInfo[ownvehkey][mod1] = 0; CarInfo[ownvehkey][mod2] = 0; CarInfo[ownvehkey][mod3] = 0; CarInfo[ownvehkey][mod4] = 0;
  1965. CarInfo[ownvehkey][mod5] = 0; CarInfo[ownvehkey][mod6] = 0; CarInfo[ownvehkey][mod7] = 0; CarInfo[ownvehkey][mod8] = 0;
  1966. CarInfo[ownvehkey][mod9] = 0; CarInfo[ownvehkey][mod10] = 0; CarInfo[ownvehkey][mod11] = 0; CarInfo[ownvehkey][mod12] = 0;
  1967. CarInfo[ownvehkey][mod13] = 0; CarInfo[ownvehkey][mod14] = 0; CarInfo[ownvehkey][mod15] = 0; CarInfo[ownvehkey][mod16] = 0;
  1968. CarInfo[ownvehkey][mod17] = 0; CarInfo[ownvehkey][paintjob] = -1; CarInfo[vehid][cLicense] = 0;
  1969. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = 0; }
  1970. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { PlayerInfo[playerid][pPcarkey2] = 0; }
  1971. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { PlayerInfo[playerid][pPcarkey3] = 0; }
  1972. RemovePlayerFromVehicle(playerid);
  1973. TogglePlayerControllable(playerid, 1);
  1974. vehSlots[GetVehicleModel(GetPlayerVehicleID(playerid))] ++;
  1975. SaveVehModels(); SaveCarCoords(); SavePlayerData(playerid);
  1976. DestroyVehicle(ownvehkey);
  1977. LoadComponents(ownvehkey);
  1978. return 1;
  1979. }
  1980. }
  1981. else
  1982. {
  1983. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu esti la DealerShip!");
  1984. return 1;
  1985. }
  1986. }
  1987. else
  1988. {
  1989. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu esti in masina ta!");
  1990. return 1;
  1991. }
  1992. }
  1993. else if(strcmp(x_nr,"sellto",true) == 0)
  1994. {
  1995. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1996. {
  1997. GetPlayerName(playerid, sendername, sizeof(sendername));
  1998. new ownvehkey;
  1999. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  2000. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  2001. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  2002. else { return 1; }
  2003. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  2004. {
  2005. tmp = strtok(cmdtext, idx);
  2006. if(!strlen(tmp))
  2007. {
  2008. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v sellto [playerid/PartOfName] [price]");
  2009. return 1;
  2010. }
  2011. giveplayerid = ReturnUser(tmp);
  2012. if(IsPlayerConnected(giveplayerid))
  2013. {
  2014. if(giveplayerid != INVALID_PLAYER_ID)
  2015. {
  2016. if(ProxDetectorS(8.0, playerid, giveplayerid))
  2017. {
  2018. if(PlayerInfo[giveplayerid][pPcarkey] == 0)
  2019. {
  2020. tmp = strtok(cmdtext, idx);
  2021. if(!strlen(tmp))
  2022. {
  2023. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v sellto [playerid/PartOfName] [price]");
  2024. return 1;
  2025. }
  2026. new price;
  2027. price = strval(tmp);
  2028. if(price < 1 || price > 1500000)
  2029. {
  2030. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Pretul trebuie sa fie intre 1$ si 1500000$.");
  2031. return 1;
  2032. }
  2033. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2034. format(string, sizeof(string), "{33CCFF}* I-ai oferit masina ta lui %s pentru suma de: $%d.", giveplayer, price);
  2035. SendClientMessage(playerid, COLOR_WHITE, string);
  2036. format(string, sizeof(string), "{33CCFF}* %s vrea sa-ti vanda masina lui pentru suma de: $%d (scrie /accept ownablecar) pentru a cumpara.", playername, price);
  2037. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  2038. OwnableCarOffer[giveplayerid] = playerid;
  2039. OwnableCarID[giveplayerid] = ownvehkey;
  2040. OwnableCarPrice[giveplayerid] = price;
  2041. return 1;
  2042. }
  2043. else if(PlayerInfo[giveplayerid][pPcarkey2] == 0)
  2044. {
  2045. tmp = strtok(cmdtext, idx);
  2046. if(!strlen(tmp))
  2047. {
  2048. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v sellto [playerid/PartOfName] [price]");
  2049. return 1;
  2050. }
  2051. new price;
  2052. price = strval(tmp);
  2053. if(price < 1 || price > 1500000)
  2054. {
  2055. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Pretul trebuie sa fie intre 1$ si 1500000$.");
  2056. return 1;
  2057. }
  2058. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2059. format(string, sizeof(string), "{33CCFF}* I-ai oferit masina ta lui %s pentru suma de: $%d.", giveplayer, price);
  2060. SendClientMessage(playerid, COLOR_WHITE, string);
  2061. format(string, sizeof(string), "{33CCFF}* %s vrea sa-ti vanda masina lui pentru suma de: $%d (scrie /accept ownablecar) pentru a cumpara.", playername, price);
  2062. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  2063. OwnableCarOffer[giveplayerid] = playerid;
  2064. OwnableCarID[giveplayerid] = ownvehkey;
  2065. OwnableCarPrice[giveplayerid] = price;
  2066. return 1;
  2067. }
  2068. else if(PlayerInfo[giveplayerid][pPcarkey3] == 0)
  2069. {
  2070. tmp = strtok(cmdtext, idx);
  2071. if(!strlen(tmp))
  2072. {
  2073. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v sellto [playerid/PartOfName] [price]");
  2074. return 1;
  2075. }
  2076. new price;
  2077. price = strval(tmp);
  2078. if(price < 1 || price > 1500000)
  2079. {
  2080. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Pretul trebuie sa fie intre 1$ si 1500000$.");
  2081. return 1;
  2082. }
  2083. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2084. format(string, sizeof(string), "{33CCFF}* I-ai oferit masina ta lui %s pentru suma de: $%d.", giveplayer, price);
  2085. SendClientMessage(playerid, COLOR_WHITE, string);
  2086. format(string, sizeof(string), "{33CCFF}* %s vrea sa-ti vanda masina lui pentru suma de: $%d (scrie /accept ownablecar) pentru a cumpara.", playername, price);
  2087. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  2088. OwnableCarOffer[giveplayerid] = playerid;
  2089. OwnableCarID[giveplayerid] = ownvehkey;
  2090. OwnableCarPrice[giveplayerid] = price;
  2091. return 1;
  2092. }
  2093. else
  2094. {
  2095. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Acest jucator are deja 3 masini personale!");
  2096. return 1;
  2097. }
  2098. }
  2099. else
  2100. {
  2101. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Acest jucator nu se afla langa tine!");
  2102. return 1;
  2103. }
  2104. }
  2105. }
  2106. }
  2107. else
  2108. {
  2109. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu esti in masina ta!");
  2110. return 1;
  2111. }
  2112. }
  2113. else
  2114. {
  2115. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Jucatorul trebuie sa fie in masina ta!");
  2116. return 1;
  2117. }
  2118. }
  2119. else if(strcmp(x_nr,"park",true) == 0)
  2120. {
  2121. new Float:x,Float:y,Float:z;
  2122. new Float:a;
  2123. new carid;
  2124. new getcarid;
  2125. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
  2126. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
  2127. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
  2128. else { return 1; }
  2129. getcarid = GetPlayerVehicleID(playerid);
  2130. GetPlayerName(playerid, playername, sizeof(playername));
  2131. GetVehiclePos(carid, x, y, z);
  2132. GetVehicleZAngle(carid, a);
  2133. if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
  2134. {
  2135. if(PlayerInfo[playerid][pPcarkey] == 0 && PlayerInfo[playerid][pPcarkey2] == 0 && PlayerInfo[playerid][pPcarkey3] == 0)
  2136. {
  2137. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Tu nu ai o masina.");
  2138. return 1;
  2139. }
  2140. if(getcarid == carid)
  2141. {
  2142. new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  2143. CarInfo[carid][cLocationx] = x;
  2144. CarInfo[carid][cLocationy] = y;
  2145. CarInfo[carid][cLocationz] = z;
  2146. CarInfo[carid][cAngle] = a;
  2147. GetVehicleDamageStatus(carid,panels,doors,lights,tires);
  2148. GetVehicleHealth(carid, CarHP); OldCarHP = CarHP;
  2149. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Masina a fost parcata cu succes. De acuma se va respawna aici.");
  2150. LoadComponents(carid); SaveCarCoords(); SavePlayerData(playerid);
  2151. PutPlayerInVehicle(playerid,carid,0); SetVehicleHealth(carid, OldCarHP);
  2152. UpdateVehicleDamageStatus(carid,panels,doors,lights,tires);
  2153. TogglePlayerControllable(playerid, 1);
  2154. return 1;
  2155. }
  2156. }
  2157. }
  2158. else if(strcmp(x_nr,"setplate",true) == 0)
  2159. {
  2160. if(IsPlayerInVehicle(playerid, vehid) || PlayerInfo[vehid][pPcarkey] != 0 && PlayerInfo[vehid][pPcarkey2] != 0 && PlayerInfo[vehid][pPcarkey3] != 0)
  2161. {
  2162. if(cmdtext[idx++] != 32 || cmdtext[idx] == EOS)
  2163. {
  2164. SendClientMessage(playerid,0xFFFFFFAA,"{FF9900}Scrie:{33CCFF} /v setplate [newplate]");
  2165. return 1;
  2166. }
  2167. new Float:XX,Float:YY,Float:ZZ,Float:AA;
  2168. new Float:CarHP, Float:OldCarHP;
  2169. new panels,doors,lights,tires;
  2170. GetVehicleHealth(vehid, CarHP);
  2171. GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2172. OldCarHP = CarHP;
  2173. format(CarInfo[vehid][cLicense], 32 ,"%s",cmdtext[idx]);
  2174. SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  2175. GetVehiclePos(vehid,XX,YY,ZZ);
  2176. GetVehicleZAngle(vehid, AA);
  2177. SetVehicleToRespawn(vehid);
  2178. SetVehiclePos(vehid,XX,YY,ZZ);
  2179. SetVehicleZAngle(vehid, AA);
  2180. PutPlayerInVehicle(playerid,vehid,0);
  2181. SetVehicleHealth(vehid, OldCarHP);
  2182. UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2183. format(string, sizeof(string), "{33CCFF}ServeR: Ti-ai schimbat NR de Inmatriculare in:{FFFFFF} %s", CarInfo[vehid][cLicense]);
  2184. SendClientMessage(playerid, 0xFFFFFFFF, string);
  2185. SaveCarCoords(); SavePlayerData(playerid);
  2186. }
  2187. else
  2188. {
  2189. SendClientMessage(playerid, 0xFFFFFFAA, "{33CCFF}ServeR: Nu esti in masina ta personala pentru a putea schimba NR de Inmatriculare.");
  2190. return 1;
  2191. }
  2192. }
  2193.  
  2194. else if(strcmp(x_nr,"lock1",true) == 0)
  2195. {
  2196. new keycar = PlayerInfo[playerid][pPcarkey];
  2197. if(keycar != 0)
  2198. {
  2199. new locked[256];
  2200. locked = strtok(cmdtext, idx);
  2201. if(CarInfo[keycar][cLock] == 1)
  2202. {
  2203. for(new i = 0; i < MAX_PLAYERS; i++)
  2204. {
  2205. if (IsPlayerConnected(i))
  2206. {
  2207. SetVehicleParamsForPlayer(keycar,i,0,0);
  2208. }
  2209. }
  2210. format(string, sizeof(string), "~w~Masina~n~~g~Descuiata");
  2211. GameTextForPlayer(playerid, string, 4000, 3);
  2212. CarInfo[keycar][cLock] = 0;
  2213. SaveCarCoords(); SavePlayerData(playerid);
  2214. return 1;
  2215. }
  2216. else if(CarInfo[keycar][cLock] == 0)
  2217. {
  2218. for(new i = 0; i < MAX_PLAYERS; i++)
  2219. {
  2220. if (IsPlayerConnected(i))
  2221. {
  2222. SetVehicleParamsForPlayer(keycar,i,0,1);
  2223. }
  2224. }
  2225. format(string, sizeof(string), "~w~Masina~n~~r~Incuiata");
  2226. GameTextForPlayer(playerid, string, 4000, 3);
  2227. CarInfo[keycar][cLock] = 1;
  2228. SaveCarCoords(); SavePlayerData(playerid);
  2229. return 1;
  2230. }
  2231. }
  2232. else
  2233. {
  2234. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu deti nici-o masina.");
  2235. return 1;
  2236. }
  2237. }
  2238. else if(strcmp(x_nr,"lock2",true) == 0)
  2239. {
  2240. new keycar = PlayerInfo[playerid][pPcarkey2];
  2241. if(keycar != 0)
  2242. {
  2243. new locked[256];
  2244. locked = strtok(cmdtext, idx);
  2245. if(CarInfo[keycar][cLock] == 1)
  2246. {
  2247. for(new i = 0; i < MAX_PLAYERS; i++)
  2248. {
  2249. if (IsPlayerConnected(i))
  2250. {
  2251. SetVehicleParamsForPlayer(keycar,i,0,0);
  2252. }
  2253. }
  2254. format(string, sizeof(string), "~w~Masina~n~~g~Descuiata");
  2255. GameTextForPlayer(playerid, string, 4000, 3);
  2256. CarInfo[keycar][cLock] = 0;
  2257. SaveCarCoords(); SavePlayerData(playerid);
  2258. return 1;
  2259. }
  2260. else if(CarInfo[keycar][cLock] == 0)
  2261. {
  2262. for(new i = 0; i < MAX_PLAYERS; i++)
  2263. {
  2264. if (IsPlayerConnected(i))
  2265. {
  2266. SetVehicleParamsForPlayer(keycar,i,0,1);
  2267. }
  2268. }
  2269. format(string, sizeof(string), "~w~Masina~n~~r~Incuiata");
  2270. GameTextForPlayer(playerid, string, 4000, 3);
  2271. CarInfo[keycar][cLock] = 1;
  2272. SaveCarCoords(); SavePlayerData(playerid);
  2273. return 1;
  2274. }
  2275. }
  2276. else
  2277. {
  2278. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu deti nici-o masina.");
  2279. return 1;
  2280. }
  2281. }
  2282. else if(strcmp(x_nr,"lock3",true) == 0)
  2283. {
  2284. new keycar = PlayerInfo[playerid][pPcarkey3];
  2285. if(keycar != 0)
  2286. {
  2287. new locked[256];
  2288. locked = strtok(cmdtext, idx);
  2289. if(CarInfo[keycar][cLock] == 1)
  2290. {
  2291. for(new i = 0; i < MAX_PLAYERS; i++)
  2292. {
  2293. if (IsPlayerConnected(i))
  2294. {
  2295. SetVehicleParamsForPlayer(keycar,i,0,0);
  2296. }
  2297. }
  2298. format(string, sizeof(string), "~w~Masina~n~~g~Descuiata");
  2299. GameTextForPlayer(playerid, string, 4000, 3);
  2300. CarInfo[keycar][cLock] = 0;
  2301. SaveCarCoords(); SavePlayerData(playerid);
  2302. return 1;
  2303. }
  2304. else if(CarInfo[keycar][cLock] == 0)
  2305. {
  2306. for(new i = 0; i < MAX_PLAYERS; i++)
  2307. {
  2308. if (IsPlayerConnected(i))
  2309. {
  2310. SetVehicleParamsForPlayer(keycar,i,0,1);
  2311. }
  2312. }
  2313. format(string, sizeof(string), "~w~Masina~n~~r~Incuiata");
  2314. GameTextForPlayer(playerid, string, 4000, 3);
  2315. CarInfo[keycar][cLock] = 1;
  2316. SaveCarCoords(); SavePlayerData(playerid);
  2317. return 1;
  2318. }
  2319. }
  2320. else
  2321. {
  2322. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Nu deti nici-o masina.");
  2323. return 1;
  2324. }
  2325. }
  2326. else if(strcmp(x_nr,"color",true) == 0)
  2327. {
  2328. if(PlayerInfo[playerid][pPcarkey] == 0 && PlayerInfo[playerid][pPcarkey2] == 0 && PlayerInfo[playerid][pPcarkey3] == 0)
  2329. {
  2330. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina.");
  2331. return 1;
  2332. }
  2333. if(GetPlayerMoney(playerid) < 1000)
  2334. {
  2335. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu ai destui bani.");
  2336. return 1;
  2337. }
  2338. tmp = strtok(cmdtext, idx);
  2339. if(!strlen(tmp))
  2340. {
  2341. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v color [Culoare1ID] [Culoare2ID]");
  2342. return 1;
  2343. }
  2344. new color1;
  2345. color1 = strval(tmp);
  2346. if(color1 < 0 && color1 > 126)
  2347. {
  2348. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Ai gresit ID culoare!");
  2349. return 1;
  2350. }
  2351. tmp = strtok(cmdtext, idx);
  2352. if(!strlen(tmp))
  2353. {
  2354. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} /v color [Culoare1ID] [Culoare2ID]");
  2355. return 1;
  2356. }
  2357. new color2;
  2358. color2 = strval(tmp);
  2359. if(color2 < 0 && color2 > 126)
  2360. {
  2361. SendClientMessage(playerid, COLOR_GREY, "{33CCFF}ServeR: Ai gresit ID culoare!");
  2362. return 1;
  2363. }
  2364.  
  2365. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
  2366. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
  2367. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
  2368. else { return 1; }
  2369.  
  2370. if(IsPlayerInVehicle(playerid, vehid))
  2371. {
  2372. CarInfo[vehid][cColorOne] = color1;
  2373. CarInfo[vehid][cColorTwo] = color2;
  2374. GivePlayerMoney(playerid, -1000);
  2375. GameTextForPlayer(playerid, "~w~Ai vopsit masina~n~~r~-$1000", 5000, 1);
  2376. ChangeVehicleColor(vehid, color1, color2);
  2377. SaveCarCoords(); SavePlayerData(playerid);
  2378. return 1;
  2379. }
  2380. else
  2381. {
  2382. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu esti intr-o masina");
  2383. return 1;
  2384. }
  2385. }
  2386. else if(strcmp(x_nr,"locate1",true) == 0)
  2387. {
  2388. if(!IsPlayerConnected(playerid)) { return 1; }
  2389. new Float:x,Float:y,Float:z;
  2390. new car = PlayerInfo[playerid][pPcarkey];
  2391. if(PlayerInfo[playerid][pPcarkey]==0) { SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina."); return 1; }
  2392. SendClientMessage(playerid,COLOR_WHITE,"{33CCFF}ServeR: Locatia masinii a fost gasita.");
  2393. GetVehiclePos(car, x, y, z);
  2394. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2395. return 1;
  2396. }
  2397. else if(strcmp(x_nr,"locate2",true) == 0)
  2398. {
  2399. if(!IsPlayerConnected(playerid)) { return 1; }
  2400. new Float:x,Float:y,Float:z;
  2401. new car = PlayerInfo[playerid][pPcarkey2];
  2402. if(PlayerInfo[playerid][pPcarkey2]==0) { SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina."); return 1; }
  2403. SendClientMessage(playerid,COLOR_WHITE,"{33CCFF}ServeR: Locatia masinii a fost gasita.");
  2404. GetVehiclePos(car, x, y, z);
  2405. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2406. return 1;
  2407. }
  2408. else if(strcmp(x_nr,"locate3",true) == 0)
  2409. {
  2410. if(!IsPlayerConnected(playerid)) { return 1; }
  2411. new Float:x,Float:y,Float:z;
  2412. new car = PlayerInfo[playerid][pPcarkey3];
  2413. if(PlayerInfo[playerid][pPcarkey3]==0) { SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina."); return 1; }
  2414. SendClientMessage(playerid,COLOR_WHITE,"{33CCFF}ServeR: Locatia masinii a fost gasita.");
  2415. GetVehiclePos(car, x, y, z);
  2416. SetPlayerCheckpoint(playerid, x, y, z, 6);
  2417. return 1;
  2418. }
  2419. else if(strcmp(x_nr,"tow1",true) == 0)
  2420. {
  2421. if(IsPlayerConnected(playerid))
  2422. {
  2423. new car = PlayerInfo[playerid][pPcarkey];
  2424. GetPlayerName(playerid, playername, sizeof(playername));
  2425. if (car != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
  2426. {
  2427. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2428. GivePlayerMoney(playerid,-1500);
  2429. SetVehicleToRespawn(car);
  2430. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2431. }
  2432. else
  2433. {
  2434. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina.");
  2435. }
  2436. }
  2437. }
  2438. else if(strcmp(x_nr,"tow2",true) == 0)
  2439. {
  2440. if(IsPlayerConnected(playerid))
  2441. {
  2442. new car = PlayerInfo[playerid][pPcarkey2];
  2443. GetPlayerName(playerid, playername, sizeof(playername));
  2444. if (car != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], true) == 0)
  2445. {
  2446. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2447. GivePlayerMoney(playerid,-1500);
  2448. SetVehicleToRespawn(car);
  2449. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2450. }
  2451. else
  2452. {
  2453. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina.");
  2454. }
  2455. }
  2456. }
  2457. else if(strcmp(x_nr,"tow3",true) == 0)
  2458. {
  2459. if(IsPlayerConnected(playerid))
  2460. {
  2461. new car = PlayerInfo[playerid][pPcarkey3];
  2462. GetPlayerName(playerid, playername, sizeof(playername));
  2463. if (car != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey3]][cOwner], true) == 0)
  2464. {
  2465. GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2466. GivePlayerMoney(playerid,-1500);
  2467. SetVehicleToRespawn(car);
  2468. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2469. }
  2470. else
  2471. {
  2472. SendClientMessage(playerid, COLOR_GREY,"{33CCFF}ServeR: Nu deti nici-o masina.");
  2473. }
  2474. }
  2475. }
  2476. else
  2477. {
  2478. SendClientMessage(playerid, COLOR_WHITE, "{FF9900}Scrie:{33CCFF} (/v)ehicle [name]");
  2479. SendClientMessage(playerid, COLOR_WHITE, "{FF9900} park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  2480. return 1;
  2481. }
  2482. }
  2483. return 1;
  2484. }
  2485. return 0;
  2486. }
  2487.  
  2488. public OnPlayerEnterCheckpoint(playerid)
  2489. {
  2490. DisablePlayerCheckpoint(playerid);
  2491. return 1;
  2492. }
  2493.  
  2494. public LoadCar()
  2495. {
  2496. if(!dini_Exists("Masini/Masini.cfg")){
  2497. dini_Create("Masini/Masini.cfg");}
  2498. new loader[128];
  2499. for(new i = 0;i<MAX_BUY_V;i++)
  2500. {
  2501. format(loader,sizeof(loader),"Masina_Model_ID_%d",i);
  2502. CarInfo[i][cModel] = dini_Int("Masini/Masini.cfg",loader);
  2503. format(loader,sizeof(loader),"Masina_Cumparata_ID_%d",i);
  2504. CarInfo[i][cOwned] = dini_Int("Masini/Masini.cfg",loader);
  2505. format(loader,sizeof(loader),"Masina_Incuiata_ID_%d",i);
  2506. CarInfo[i][cLock] = dini_Int("Masini/Masini.cfg",loader);
  2507. format(loader,sizeof(loader),"Masina_Propietar_ID_%d",i);
  2508. strmid(CarInfo[i][cOwner],dini_Get("Masini/Masini.cfg",loader),0,128,128);
  2509. format(loader,sizeof(loader),"Masina_PozitiaX_ID_%d",i);
  2510. CarInfo[i][cLocationx] = dini_Float("Masini/Masini.cfg",loader);
  2511. format(loader,sizeof(loader),"Masina_PozitiaY_ID_%d",i);
  2512. CarInfo[i][cLocationy] = dini_Float("Masini/Masini.cfg",loader);
  2513. format(loader,sizeof(loader),"Masina_PozitiaZ_ID_%d",i);
  2514. CarInfo[i][cLocationz] = dini_Float("Masini/Masini.cfg",loader);
  2515. format(loader,sizeof(loader),"Masina_Culoare1_ID_%d",i);
  2516. CarInfo[i][cColorOne] = dini_Int("Masini/Masini.cfg",loader);
  2517. format(loader,sizeof(loader),"Masina_Culoare2_ID_%d",i);
  2518. CarInfo[i][cColorTwo] = dini_Int("Masini/Masini.cfg",loader);
  2519. format(loader,sizeof(loader),"Masina_PozitiaA_ID_%d",i);
  2520. CarInfo[i][cAngle] = dini_Float("Masini/Masini.cfg",loader);
  2521. format(loader,sizeof(loader),"Masina_Inmatriculata_ID_%d",i);
  2522. strmid(CarInfo[i][cLicense],dini_Get("Masini/Masini.cfg",loader),0,128,128);
  2523. format(loader,sizeof(loader),"Masina_Pret_ID_%d",i);
  2524. CarInfo[i][cValue] = dini_Int("Masini/Masini.cfg",loader);
  2525. format(loader,sizeof(loader),"Masina_Mod1_ID_%d",i);
  2526. CarInfo[i][mod1] = dini_Int("Masini/Masini.cfg",loader);
  2527. format(loader,sizeof(loader),"Masina_Mod2_ID_%d",i);
  2528. CarInfo[i][mod2] = dini_Int("Masini/Masini.cfg",loader);
  2529. format(loader,sizeof(loader),"Masina_Mod3_ID_%d",i);
  2530. CarInfo[i][mod3] = dini_Int("Masini/Masini.cfg",loader);
  2531. format(loader,sizeof(loader),"Masina_Mod4_ID_%d",i);
  2532. CarInfo[i][mod4] = dini_Int("Masini/Masini.cfg",loader);
  2533. format(loader,sizeof(loader),"Masina_Mod5_ID_%d",i);
  2534. CarInfo[i][mod5] = dini_Int("Masini/Masini.cfg",loader);
  2535. format(loader,sizeof(loader),"Masina_Mod6_ID_%d",i);
  2536. CarInfo[i][mod6] = dini_Int("Masini/Masini.cfg",loader);
  2537. format(loader,sizeof(loader),"Masina_Mod7_ID_%d",i);
  2538. CarInfo[i][mod7] = dini_Int("Masini/Masini.cfg",loader);
  2539. format(loader,sizeof(loader),"Masina_Mod8_ID_%d",i);
  2540. CarInfo[i][mod8] = dini_Int("Masini/Masini.cfg",loader);
  2541. format(loader,sizeof(loader),"Masina_Mod9_ID_%d",i);
  2542. CarInfo[i][mod9] = dini_Int("Masini/Masini.cfg",loader);
  2543. format(loader,sizeof(loader),"Masina_Mod10_ID_%d",i);
  2544. CarInfo[i][mod10] = dini_Int("Masini/Masini.cfg",loader);
  2545. format(loader,sizeof(loader),"Masina_Mod11_ID_%d",i);
  2546. CarInfo[i][mod11] = dini_Int("Masini/Masini.cfg",loader);
  2547. format(loader,sizeof(loader),"Masina_Mod12_ID_%d",i);
  2548. CarInfo[i][mod12] = dini_Int("Masini/Masini.cfg",loader);
  2549. format(loader,sizeof(loader),"Masina_Mod13_ID_%d",i);
  2550. CarInfo[i][mod13] = dini_Int("Masini/Masini.cfg",loader);
  2551. format(loader,sizeof(loader),"Masina_Mod14_ID_%d",i);
  2552. CarInfo[i][mod14] = dini_Int("Masini/Masini.cfg",loader);
  2553. format(loader,sizeof(loader),"Masina_Mod15_ID_%d",i);
  2554. CarInfo[i][mod15] = dini_Int("Masini/Masini.cfg",loader);
  2555. format(loader,sizeof(loader),"Masina_Mod16_ID_%d",i);
  2556. CarInfo[i][mod16] = dini_Int("Masini/Masini.cfg",loader);
  2557. format(loader,sizeof(loader),"Masina_Mod17_ID_%d",i);
  2558. CarInfo[i][mod17] = dini_Int("Masini/Masini.cfg",loader);
  2559. format(loader,sizeof(loader),"Masina_PaintJob_ID_%d",i);
  2560. CarInfo[i][paintjob] = dini_Int("Masini/Masini.cfg",loader);
  2561. new car = CreateVehicle(CarInfo[i][cModel],CarInfo[i][cLocationx],CarInfo[i][cLocationy],CarInfo[i][cLocationz],CarInfo[i][cAngle],CarInfo[i][cColorOne],CarInfo[i][cColorTwo],600000);
  2562. if(CarInfo[i][cModel]!=0){
  2563. created++;
  2564. IDIS[car] = created;
  2565. LoadComponents(car);
  2566. }
  2567. }
  2568. return 1;
  2569. }
  2570.  
  2571. public SaveCarCoords()
  2572. {
  2573. new count;
  2574. new saver[128];
  2575. fremove("Masini/Masini.cfg");
  2576. dini_Create("Masini/Masini.cfg");
  2577. for(new i = 0;i<MAX_BUY_V;i++)
  2578. {
  2579. if(CarInfo[i][cModel]!=0)
  2580. {
  2581. count++;
  2582. format(saver,sizeof(saver),"Masina_Model_ID_%d",count);
  2583. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cModel]);
  2584. format(saver,sizeof(saver),"Masina_Cumparata_ID_%d",count);
  2585. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cOwned]);
  2586. format(saver,sizeof(saver),"Masina_Incuiata_ID_%d",count);
  2587. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cLock]);
  2588. format(saver,sizeof(saver),"Masina_PozitiaX_ID_%d",count);
  2589. dini_FloatSet("Masini/Masini.cfg",saver,CarInfo[i][cLocationx]);
  2590. format(saver,sizeof(saver),"Masina_PozitiaY_ID_%d",count);
  2591. dini_FloatSet("Masini/Masini.cfg",saver,CarInfo[i][cLocationy]);
  2592. format(saver,sizeof(saver),"Masina_PozitiaZ_ID_%d",count);
  2593. dini_FloatSet("Masini/Masini.cfg",saver,CarInfo[i][cLocationz]);
  2594. format(saver,sizeof(saver),"Masina_PozitiaA_ID_%d",count);
  2595. dini_FloatSet("Masini/Masini.cfg",saver,CarInfo[i][cAngle]);
  2596. format(saver,sizeof(saver),"Masina_Culoare1_ID_%d",count);
  2597. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cColorOne]);
  2598. format(saver,sizeof(saver),"Masina_Culoare2_ID_%d",count);
  2599. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cColorTwo]);
  2600. format(saver,sizeof(saver),"Masina_Propietar_ID_%d",count);
  2601. dini_Set("Masini/Masini.cfg",saver,CarInfo[i][cOwner]);
  2602. format(saver,sizeof(saver),"Masina_Pret_ID_%d",count);
  2603. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][cValue]);
  2604. format(saver,sizeof(saver),"Masina_Inmatriculata_ID_%d",count);
  2605. dini_Set("Masini/Masini.cfg",saver,CarInfo[i][cLicense]);
  2606. format(saver,sizeof(saver),"Masina_Mod1_ID_%d",count);
  2607. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod1]);
  2608. format(saver,sizeof(saver),"Masina_Mod2_ID_%d",count);
  2609. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod2]);
  2610. format(saver,sizeof(saver),"Masina_Mod3_ID_%d",count);
  2611. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod3]);
  2612. format(saver,sizeof(saver),"Masina_Mod4_ID_%d",count);
  2613. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod4]);
  2614. format(saver,sizeof(saver),"Masina_Mod5_ID_%d",count);
  2615. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod5]);
  2616. format(saver,sizeof(saver),"Masina_Mod6_ID_%d",count);
  2617. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod6]);
  2618. format(saver,sizeof(saver),"Masina_Mod7_ID_%d",count);
  2619. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod7]);
  2620. format(saver,sizeof(saver),"Masina_Mod8_ID_%d",count);
  2621. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod8]);
  2622. format(saver,sizeof(saver),"Masina_Mod9_ID_%d",count);
  2623. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod9]);
  2624. format(saver,sizeof(saver),"Masina_Mod10_ID_%d",count);
  2625. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod10]);
  2626. format(saver,sizeof(saver),"Masina_Mod11_ID_%d",count);
  2627. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod11]);
  2628. format(saver,sizeof(saver),"Masina_Mod12_ID_%d",count);
  2629. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod12]);
  2630. format(saver,sizeof(saver),"Masina_Mod13_ID_%d",count);
  2631. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod13]);
  2632. format(saver,sizeof(saver),"Masina_Mod14_ID_%d",count);
  2633. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod14]);
  2634. format(saver,sizeof(saver),"Masina_Mod15_ID_%d",count);
  2635. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod15]);
  2636. format(saver,sizeof(saver),"Masina_Mod16_ID_%d",count);
  2637. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod16]);
  2638. format(saver,sizeof(saver),"Masina_Mod17_ID_%d",count);
  2639. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][mod17]);
  2640. format(saver,sizeof(saver),"Masina_PaintJob_ID_%d",count);
  2641. dini_IntSet("Masini/Masini.cfg",saver,CarInfo[i][paintjob]);
  2642. }
  2643. }
  2644. return 1;
  2645. }
  2646.  
  2647. public OnPlayerPickUpPickup(playerid, pickupid)
  2648. {
  2649. if (pickupid == dealership)
  2650. {
  2651. GameTextForPlayer(playerid, "~w~ DealerShip ~n~ ~g~ Tasteaza ~b~ /buycar ~g~ Pentru a intra", 5000, 3);
  2652. }
  2653. if (pickupid == dealershipsell)
  2654. {
  2655. GameTextForPlayer(playerid, "~w~ DealerShip ~n~ ~g~ Tasteaza ~b~ /v sell ~g~ Pentru a vinde masina", 5000, 3);
  2656. }
  2657. return 1;
  2658. }
  2659.  
  2660. public OnPlayerStateChange(playerid, newstate, oldstate)
  2661. {
  2662. new string[128];
  2663. new newcar = GetPlayerVehicleID(playerid);
  2664. if(newstate == PLAYER_STATE_DRIVER)
  2665. {
  2666. if(GetCreatorID(newcar))
  2667. {
  2668. if(CarInfo[newcar][cOwned]==1)
  2669. {
  2670. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}ServeR: Masina ta este descuiata!");
  2671. }
  2672. if(Locked[newcar] == 0)
  2673. {
  2674. format(string,sizeof(string),"{33CCFF}ServeR: Masina asta apartine lui: %s",CarInfo[newcar][cOwner]);
  2675. SendClientMessage(playerid, COLOR_BLUE, string);
  2676. }
  2677. }
  2678. }
  2679. return 1;
  2680. }
  2681.  
  2682. enum E_CACHE
  2683. {
  2684. E_KEY[INI_MAX_KEY],
  2685. E_VALUE[INI_MAX_VALUE]
  2686. }
  2687.  
  2688. enum E_FILE
  2689. {
  2690. E_FILENAME[INI_MAX_FILENAME],
  2691. bool: E_OPEN
  2692. }
  2693.  
  2694. static gCache[INI_MAX_LINES][E_CACHE];
  2695. static gEmptyCache[E_CACHE];
  2696. static gFile[E_FILE];
  2697. static gNoFile[E_FILE];
  2698.  
  2699. stock GetCreatorID(vehicleid)
  2700. {
  2701. return IDIS[vehicleid];
  2702. }
  2703.  
  2704. #define INI_Exist fexist
  2705.  
  2706.  
  2707. stock INI_Open(const filename[])
  2708. {
  2709. if (!filename[0]) return false;
  2710. if (gFile[E_OPEN])
  2711. {
  2712. if (!strcmp(gFile[E_FILENAME], filename, true)) return true;
  2713. //return false;
  2714. INI_Close();
  2715. }
  2716. new File: h;
  2717. h = fopen(filename, io_readwrite);
  2718. if (h)
  2719. {
  2720. INI_strcpy(gFile[E_FILENAME], filename, INI_MAX_FILENAME, INI_MAX_FILENAME);
  2721. new line[INI_MAX_LINE];
  2722. new ln = -1;
  2723. new separator;
  2724. while (((ln + 1) < INI_MAX_LINES) && (fread(h, line)))
  2725. {
  2726. ln ++;
  2727. INI_StripLine(line);
  2728. separator = strfind(line, "=", false);
  2729. if ((line[0] == ';') || (line[0] == '=') || (separator == -1) || (separator > INI_MAX_KEY))
  2730. {
  2731. if (line[0] == ';')
  2732. {
  2733. INI_strcpy(gCache[ln][E_VALUE], line, INI_MAX_VALUE, INI_MAX_VALUE);
  2734. }
  2735. else
  2736. {
  2737. INI_strcpy(gCache[ln][E_VALUE][1], line, INI_MAX_VALUE - 1, INI_MAX_VALUE - 1);
  2738. gCache[ln][E_VALUE][0] = ';';
  2739. }
  2740. continue;
  2741. }
  2742. INI_strcpy(gCache[ln][E_KEY], line, separator, INI_MAX_KEY);
  2743. INI_strcpy(gCache[ln][E_VALUE], line[separator + 1], INI_MAX_VALUE, INI_MAX_VALUE);
  2744. if (!gCache[ln][E_VALUE][0]) gCache[ln][E_VALUE][0] = ' ';
  2745. }
  2746. fclose(h);
  2747. gFile[E_OPEN] = true;
  2748. return 1;
  2749. }
  2750. return 0;
  2751. }
  2752.  
  2753.  
  2754. stock INI_Save()
  2755. {
  2756. if (!gFile[E_OPEN]) return false;
  2757. new File: h;
  2758. h = fopen(gFile[E_FILENAME], io_write);
  2759. if (h)
  2760. {
  2761. new line[INI_MAX_LINE];
  2762. new ln = -1;
  2763. while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
  2764. {
  2765. ln ++;
  2766. if (gCache[ln][E_VALUE][0] == ';')
  2767. {
  2768. if (gCache[ln][E_VALUE][1])
  2769. {
  2770. format(line, sizeof(line), "%s\r\n", gCache[ln][E_VALUE]);
  2771. fwrite(h, line);
  2772. continue;
  2773. }
  2774. fwrite(h, "\r\n");
  2775. continue;
  2776. }
  2777. format(line, sizeof(line), "%s=%s\r\n", gCache[ln][E_KEY], gCache[ln][E_VALUE]);
  2778. fwrite(h, line);
  2779. }
  2780. fclose(h);
  2781. return true;
  2782. }
  2783. return false;
  2784. }
  2785.  
  2786.  
  2787. stock INI_Close()
  2788. {
  2789. if (!gFile[E_OPEN]) return false;
  2790. for (new ln; ln < INI_MAX_LINES; ln++) gCache[ln] = gEmptyCache;
  2791. gFile = gNoFile;
  2792. return true;
  2793. }
  2794.  
  2795.  
  2796. stock INI_ReadString(dest[], const key[], maxlength = sizeof(dest))
  2797. {
  2798. if ((!gFile[E_OPEN]) || (!key[0])) return false;
  2799. new ln = -1;
  2800. while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
  2801. {
  2802. ln ++;
  2803. if (gCache[ln][E_VALUE][0] == ';') continue;
  2804. if (!strcmp(gCache[ln][E_KEY], key, false))
  2805. {
  2806. INI_strcpy(dest, gCache[ln][E_VALUE], INI_MAX_VALUE, maxlength);
  2807. return true;
  2808. }
  2809. }
  2810. return false;
  2811. }
  2812.  
  2813.  
  2814. stock INI_ReadInt(const key[])
  2815. {
  2816. new dest[12];
  2817. if (INI_ReadString(dest, key)) return strval(dest);
  2818. return false;
  2819. }
  2820.  
  2821.  
  2822. stock Float: INI_ReadFloat(const key[])
  2823. {
  2824. new dest[12];
  2825. if (INI_ReadString(dest, key)) return floatstr(dest);
  2826. return 0.0;
  2827. }
  2828.  
  2829.  
  2830. stock INI_WriteString(const key[], const value[])
  2831. {
  2832. if ((!gFile[E_OPEN]) || (!key[0]) || (key[0] == ';') || (strfind(key, "=", false) != -1)) return false;
  2833. new ln = -1;
  2834. while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
  2835. {
  2836. ln ++;
  2837. if (gCache[ln][E_VALUE][0] == ';') continue;
  2838. if (!strcmp(gCache[ln][E_KEY], key, false))
  2839. {
  2840. INI_strcpy(gCache[ln][E_VALUE], value, INI_MAX_VALUE, INI_MAX_VALUE);
  2841. return true;
  2842. }
  2843. }
  2844. ln ++;
  2845. if (ln < INI_MAX_LINES)
  2846. {
  2847. INI_strcpy(gCache[ln][E_KEY], key, INI_MAX_KEY, INI_MAX_KEY);
  2848. INI_strcpy(gCache[ln][E_VALUE], value, INI_MAX_VALUE, INI_MAX_VALUE);
  2849. return true;
  2850. }
  2851. return false;
  2852. }
  2853.  
  2854.  
  2855. stock INI_WriteInt(const key[], value)
  2856. {
  2857. new dest[12];
  2858. format(dest, sizeof(dest), "%i", value);
  2859. return INI_WriteString(key, dest);
  2860. }
  2861.  
  2862.  
  2863. stock INI_WriteFloat(const key[], Float: value)
  2864. {
  2865. new dest[12];
  2866. format(dest, sizeof(dest), "%0.4f", value);
  2867. return INI_WriteString(key, dest);
  2868. }
  2869.  
  2870.  
  2871. stock INI_RemoveEntry(const key[])
  2872. {
  2873. if ((!gFile[E_OPEN]) || (!key[0]) || (strfind(key, "=", false) != -1)) return false;
  2874. new ln = -1;
  2875. while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
  2876. {
  2877. ln ++;
  2878. if (gCache[ln][E_VALUE][0] == ';') continue;
  2879. if (!strcmp(gCache[ln][E_KEY], key, false))
  2880. {
  2881. for (; ln < (INI_MAX_LINES - 1); ln ++)
  2882. {
  2883. INI_strcpy(gCache[ln][E_KEY], gCache[ln + 1][E_KEY], INI_MAX_KEY, INI_MAX_KEY);
  2884. INI_strcpy(gCache[ln][E_VALUE], gCache[ln + 1][E_VALUE], INI_MAX_VALUE, INI_MAX_VALUE);
  2885. }
  2886. return true;
  2887. }
  2888. }
  2889. return false;
  2890. }
  2891.  
  2892.  
  2893. stock INI_Remove(const filename[])
  2894. {
  2895. if (!filename[0]) return false;
  2896. if ((gFile[E_OPEN]) && (!strcmp(gFile[E_FILENAME], filename, true))) gFile = gNoFile;
  2897. return fremove(filename);
  2898. }
  2899.  
  2900.  
  2901. stock INI_strcpy(dest[], const source[], numcells = sizeof(source), maxlength = sizeof(dest))
  2902. {
  2903. new i;
  2904. while ((source[i]) && (i < numcells) && (i < maxlength))
  2905. {
  2906. dest[i] = source[i];
  2907. i ++;
  2908. }
  2909. dest[(i == maxlength) ? (i - 1) : (i)] = '\0';
  2910. }
  2911.  
  2912.  
  2913. stock INI_StripLine(string[])
  2914. {
  2915. new l;
  2916. l = strlen(string);
  2917. if (string[l - 2] == '\r') string[l - 2] = '\0';
  2918. if (string[l - 1] == '\n') string[l - 1] = '\0';
  2919. }
  2920.  
  2921.  
  2922. stock SaveVehModels()
  2923. {
  2924. new iStr[20];
  2925. format(iStr, sizeof(iStr), "Masini/Sloturi.ini");
  2926. if(INI_Open(iStr))
  2927. {
  2928. INI_WriteInt("410", vehSlots[410]);
  2929. INI_WriteInt("436", vehSlots[436]);
  2930. INI_WriteInt("496", vehSlots[496]);
  2931. INI_WriteInt("439", vehSlots[439]);
  2932. INI_WriteInt("517", vehSlots[517]);
  2933. INI_WriteInt("526", vehSlots[526]);
  2934. INI_WriteInt("589", vehSlots[589]);
  2935. INI_WriteInt("602", vehSlots[602]);
  2936. INI_WriteInt("566", vehSlots[566]);
  2937. INI_WriteInt("405", vehSlots[405]);
  2938. INI_WriteInt("426", vehSlots[426]);
  2939. INI_WriteInt("579", vehSlots[579]);
  2940. INI_WriteInt("475", vehSlots[475]);
  2941. INI_WriteInt("401", vehSlots[401]);
  2942. INI_WriteInt("546", vehSlots[546]);
  2943. INI_WriteInt("529", vehSlots[529]);
  2944. INI_WriteInt("550", vehSlots[550]);
  2945. INI_WriteInt("540", vehSlots[540]);
  2946. INI_WriteInt("467", vehSlots[467]);
  2947. INI_WriteInt("466", vehSlots[466]);
  2948. INI_WriteInt("492", vehSlots[492]);
  2949. INI_WriteInt("419", vehSlots[419]);
  2950. INI_WriteInt("495", vehSlots[495]);
  2951. INI_WriteInt("541", vehSlots[541]);
  2952. INI_WriteInt("411", vehSlots[411]);
  2953. INI_WriteInt("451", vehSlots[451]);
  2954. INI_WriteInt("415", vehSlots[415]);
  2955. INI_WriteInt("560", vehSlots[560]);
  2956. INI_WriteInt("559", vehSlots[559]);
  2957. INI_WriteInt("562", vehSlots[562]);
  2958. INI_WriteInt("480", vehSlots[480]);
  2959. INI_WriteInt("565", vehSlots[565]);
  2960. INI_WriteInt("506", vehSlots[506]);
  2961. INI_WriteInt("477", vehSlots[477]);
  2962. INI_WriteInt("603", vehSlots[603]);
  2963. INI_WriteInt("558", vehSlots[558]);
  2964. INI_WriteInt("461", vehSlots[461]);
  2965. INI_WriteInt("462", vehSlots[462]);
  2966. INI_WriteInt("468", vehSlots[468]);
  2967. INI_WriteInt("481", vehSlots[481]);
  2968. INI_WriteInt("510", vehSlots[510]);
  2969. INI_WriteInt("521", vehSlots[521]);
  2970. INI_WriteInt("581", vehSlots[581]);
  2971. INI_WriteInt("586", vehSlots[586]);
  2972. INI_WriteInt("461", vehSlots[461]);
  2973. INI_WriteInt("522", vehSlots[522]);
  2974. INI_WriteInt("494", vehSlots[494]);
  2975. INI_WriteInt("429", vehSlots[429]);
  2976. INI_WriteInt("444", vehSlots[444]);
  2977. INI_WriteInt("469", vehSlots[469]);
  2978. INI_WriteInt("487", vehSlots[487]);
  2979. INI_Save();
  2980. INI_Close();
  2981. }
  2982. return 1;
  2983. }
  2984.  
  2985. stock LoadVehModels()
  2986. {
  2987. new iStr[20];
  2988. format(iStr, sizeof(iStr), "Masini/Sloturi.ini");
  2989. if(INI_Exist(iStr))
  2990. {
  2991. INI_Open(iStr);
  2992.  
  2993. vehSlots[410] = INI_ReadInt("410");
  2994. vehSlots[436] = INI_ReadInt("436");
  2995. vehSlots[496] = INI_ReadInt("496");
  2996. vehSlots[439] = INI_ReadInt("439");
  2997. vehSlots[517] = INI_ReadInt("517");
  2998. vehSlots[526] = INI_ReadInt("526");
  2999. vehSlots[589] = INI_ReadInt("589");
  3000. vehSlots[602] = INI_ReadInt("602");
  3001. vehSlots[566] = INI_ReadInt("566");
  3002. vehSlots[405] = INI_ReadInt("405");
  3003. vehSlots[426] = INI_ReadInt("426");
  3004. vehSlots[579] = INI_ReadInt("579");
  3005. vehSlots[475] = INI_ReadInt("475");
  3006. vehSlots[401] = INI_ReadInt("401");
  3007. vehSlots[546] = INI_ReadInt("546");
  3008. vehSlots[529] = INI_ReadInt("529");
  3009. vehSlots[550] = INI_ReadInt("550");
  3010. vehSlots[540] = INI_ReadInt("540");
  3011. vehSlots[467] = INI_ReadInt("467");
  3012. vehSlots[466] = INI_ReadInt("466");
  3013. vehSlots[492] = INI_ReadInt("492");
  3014. vehSlots[419] = INI_ReadInt("419");
  3015. vehSlots[495] = INI_ReadInt("495");
  3016. vehSlots[541] = INI_ReadInt("541");
  3017. vehSlots[411] = INI_ReadInt("411");
  3018. vehSlots[451] = INI_ReadInt("451");
  3019. vehSlots[415] = INI_ReadInt("415");
  3020. vehSlots[560] = INI_ReadInt("560");
  3021. vehSlots[559] = INI_ReadInt("559");
  3022. vehSlots[562] = INI_ReadInt("562");
  3023. vehSlots[480] = INI_ReadInt("480");
  3024. vehSlots[565] = INI_ReadInt("565");
  3025. vehSlots[506] = INI_ReadInt("506");
  3026. vehSlots[477] = INI_ReadInt("477");
  3027. vehSlots[603] = INI_ReadInt("603");
  3028. vehSlots[558] = INI_ReadInt("558");
  3029. vehSlots[461] = INI_ReadInt("461");
  3030. vehSlots[462] = INI_ReadInt("462");
  3031. vehSlots[468] = INI_ReadInt("468");
  3032. vehSlots[481] = INI_ReadInt("481");
  3033. vehSlots[510] = INI_ReadInt("510");
  3034. vehSlots[521] = INI_ReadInt("521");
  3035. vehSlots[581] = INI_ReadInt("581");
  3036. vehSlots[586] = INI_ReadInt("586");
  3037. vehSlots[461] = INI_ReadInt("461");
  3038. vehSlots[522] = INI_ReadInt("522");
  3039. vehSlots[494] = INI_ReadInt("494");
  3040. vehSlots[429] = INI_ReadInt("429");
  3041. vehSlots[444] = INI_ReadInt("444");
  3042. vehSlots[469] = INI_ReadInt("469");
  3043. vehSlots[487] = INI_ReadInt("487");
  3044. INI_Close();
  3045. }
  3046. return 1;
  3047. }
  3048.  
  3049. stock ini_GetKey( line[] )
  3050. {
  3051. new keyRes[256];
  3052. keyRes[0] = 0;
  3053. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  3054. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  3055. return keyRes;
  3056. }
  3057.  
  3058. stock ini_GetValue( line[] )
  3059. {
  3060. new valRes[256];
  3061. valRes[0]=0;
  3062. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  3063. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  3064. return valRes;
  3065. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement