Advertisement
Guest User

Untitled

a guest
Dec 17th, 2013
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.81 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. enum car_info
  5. {
  6. Model,
  7. Price,
  8. Float:CarX,
  9. Float:CarY,
  10. Float:CarZ,
  11. Float:CarRot,
  12. Locked,
  13. mod1,
  14. mod2,
  15. mod3,
  16. mod4,
  17. mod5,
  18. mod6,
  19. mod7,
  20. mod8,
  21. mod9,
  22. mod10,
  23. mod11,
  24. mod12,
  25. mod13,
  26. mod14,
  27. mod15,
  28. mod16,
  29. mod17,
  30. paintjob,
  31. colora,
  32. colorb
  33. };
  34. new VehicleInfo[MAX_PLAYERS][car_info];
  35. new DealerCars[8];
  36. new Text3D:DealerCar[8];
  37. new Vehicle[MAX_PLAYERS];
  38. new OwnerID[MAX_VEHICLES];
  39. new CarPrice[MAX_VEHICLES];
  40. new VehOwned[MAX_VEHICLES];
  41. new ConfirmSale[MAX_PLAYERS];
  42. new gVehLocked[MAX_VEHICLES];
  43. new VehPlate[MAX_VEHICLES][256];
  44. new gPlayerHasCar[MAX_PLAYERS];
  45. new IsADealerCar[MAX_VEHICLES];
  46. new Checkpoint[MAX_PLAYERS];
  47. new bool:Destroyed[MAX_VEHICLES];
  48.  
  49. enum trunk_info
  50. {
  51. Slot1,
  52. Slot2,
  53. Slot3,
  54. Slot4,
  55. Slot5,
  56. Slot6,
  57. Slot7,
  58. Slot8,
  59. Slot9,
  60. Slot10,
  61. Ammo1,
  62. Ammo2,
  63. Ammo3,
  64. Ammo4,
  65. Ammo5,
  66. Ammo6,
  67. Ammo7,
  68. Ammo8,
  69. Ammo9,
  70. Ammo10
  71. };
  72. new TrunkInfo[MAX_VEHICLES][trunk_info];
  73. new TrunkOpen[MAX_VEHICLES];
  74.  
  75. forward RemovePlayerWeapon(playerid, weaponid);
  76. forward ini_GetKey(line[]);
  77. forward ini_GetValue(line[]);
  78. forward SaveTrunk(playerid);
  79. forward LoadTrunk(playerid);
  80.  
  81. stock ini_GetKey(line[])
  82. {
  83. new keyRes[256];
  84. keyRes[0] = 0;
  85. if(strfind(line, "=", true) == -1) return keyRes;
  86. strmid(keyRes, line, 0, strfind(line, "=", true), sizeof(keyRes));
  87. return keyRes;
  88. }
  89.  
  90. stock ini_GetValue(line[])
  91. {
  92. new valRes[256];
  93. valRes[0] = 0;
  94. if(strfind(line, "=", true) == -1) return valRes;
  95. strmid(valRes, line, strfind(line, "=", true) + 1, strlen(line), sizeof(valRes));
  96. return valRes;
  97. }
  98.  
  99. new spoiler[20][0] = {
  100. {1000},
  101. {1001},
  102. {1002},
  103. {1003},
  104. {1014},
  105. {1015},
  106. {1016},
  107. {1023},
  108. {1058},
  109. {1060},
  110. {1049},
  111. {1050},
  112. {1138},
  113. {1139},
  114. {1146},
  115. {1147},
  116. {1158},
  117. {1162},
  118. {1163},
  119. {1164}
  120. };
  121.  
  122. new nitro[3][0] = {
  123. {1008},
  124. {1009},
  125. {1010}
  126. };
  127.  
  128. new fbumper[23][0] = {
  129. {1117},
  130. {1152},
  131. {1153},
  132. {1155},
  133. {1157},
  134. {1160},
  135. {1165},
  136. {1167},
  137. {1169},
  138. {1170},
  139. {1171},
  140. {1172},
  141. {1173},
  142. {1174},
  143. {1175},
  144. {1179},
  145. {1181},
  146. {1182},
  147. {1185},
  148. {1188},
  149. {1189},
  150. {1192},
  151. {1193}
  152. };
  153.  
  154. new rbumper[22][0] = {
  155. {1140},
  156. {1141},
  157. {1148},
  158. {1149},
  159. {1150},
  160. {1151},
  161. {1154},
  162. {1156},
  163. {1159},
  164. {1161},
  165. {1166},
  166. {1168},
  167. {1176},
  168. {1177},
  169. {1178},
  170. {1180},
  171. {1183},
  172. {1184},
  173. {1186},
  174. {1187},
  175. {1190},
  176. {1191}
  177. };
  178.  
  179. new exhaust[28][0] = {
  180. {1018},
  181. {1019},
  182. {1020},
  183. {1021},
  184. {1022},
  185. {1028},
  186. {1029},
  187. {1037},
  188. {1043},
  189. {1044},
  190. {1045},
  191. {1046},
  192. {1059},
  193. {1064},
  194. {1065},
  195. {1066},
  196. {1089},
  197. {1092},
  198. {1104},
  199. {1105},
  200. {1113},
  201. {1114},
  202. {1126},
  203. {1127},
  204. {1129},
  205. {1132},
  206. {1135},
  207. {1136}
  208. };
  209.  
  210. new bventr[2][0] = {
  211. {1042},
  212. {1044}
  213. };
  214.  
  215. new bventl[2][0] = {
  216. {1043},
  217. {1045}
  218. };
  219.  
  220. new bscoop[4][0] = {
  221. {1004},
  222. {1005},
  223. {1011},
  224. {1012}
  225. };
  226.  
  227. new rscoop[13][0] = {
  228. {1006},
  229. {1032},
  230. {1033},
  231. {1035},
  232. {1038},
  233. {1053},
  234. {1054},
  235. {1055},
  236. {1061},
  237. {1067},
  238. {1068},
  239. {1088},
  240. {1091}
  241. };
  242.  
  243. new lskirt[21][0] = {
  244. {1007},
  245. {1026},
  246. {1031},
  247. {1036},
  248. {1039},
  249. {1042},
  250. {1047},
  251. {1048},
  252. {1056},
  253. {1057},
  254. {1069},
  255. {1070},
  256. {1090},
  257. {1093},
  258. {1106},
  259. {1108},
  260. {1118},
  261. {1119},
  262. {1133},
  263. {1122},
  264. {1134}
  265. };
  266.  
  267. new rskirt[21][0] = {
  268. {1017},
  269. {1027},
  270. {1030},
  271. {1040},
  272. {1041},
  273. {1051},
  274. {1052},
  275. {1062},
  276. {1063},
  277. {1071},
  278. {1072},
  279. {1094},
  280. {1095},
  281. {1099},
  282. {1101},
  283. {1102},
  284. {1107},
  285. {1120},
  286. {1121},
  287. {1124},
  288. {1137}
  289. };
  290.  
  291. new hydraulics[1][0] = {
  292. {1087}
  293. };
  294.  
  295. new base[1][0] = {
  296. {1086}
  297. };
  298.  
  299. new rbbars[2][0] = {
  300. {1109},
  301. {1110}
  302. };
  303.  
  304. new fbbars[2][0] = {
  305. {1115},
  306. {1116}
  307. };
  308.  
  309. new wheels[17][0] = {
  310. {1025},
  311. {1073},
  312. {1074},
  313. {1075},
  314. {1076},
  315. {1077},
  316. {1078},
  317. {1079},
  318. {1080},
  319. {1081},
  320. {1082},
  321. {1083},
  322. {1084},
  323. {1085},
  324. {1096},
  325. {1097},
  326. {1098}
  327. };
  328.  
  329. new light[2][0] = {
  330. {1013},
  331. {1024}
  332. };
  333.  
  334. InitComponents(componentid)
  335. {
  336. new i;
  337. for(i=0; i<20; i++)
  338. {
  339. if(spoiler[i][0]==componentid) { return 1; }
  340. }
  341. for(i=0; i<3; i++)
  342. {
  343. if(nitro[i][0]==componentid) { return 2; }
  344. }
  345. for(i=0; i<23; i++)
  346. {
  347. if(fbumper[i][0]==componentid) { return 3; }
  348. }
  349. for(i=0; i<22; i++)
  350. {
  351. if(rbumper[i][0]==componentid) { return 4; }
  352. }
  353. for(i=0; i<28; i++)
  354. {
  355. if(exhaust[i][0]==componentid) { return 5; }
  356. }
  357. for(i=0; i<2; i++)
  358. {
  359. if(bventr[i][0]==componentid) { return 6; }
  360. }
  361. for(i=0; i<2; i++)
  362. {
  363. if(bventl[i][0]==componentid) { return 7; }
  364. }
  365. for(i=0; i<4; i++)
  366. {
  367. if(bscoop[i][0]==componentid) { return 8; }
  368. }
  369. for(i=0; i<13; i++)
  370. {
  371. if(rscoop[i][0]==componentid) { return 9; }
  372. }
  373. for(i=0; i<21; i++)
  374. {
  375. if(lskirt[i][0]==componentid) { return 10; }
  376. }
  377. for(i=0; i<21; i++)
  378. {
  379. if(rskirt[i][0]==componentid) { return 11; }
  380. }
  381. if(hydraulics[0][0]==componentid) { return 12; }
  382. if(base[0][0]==componentid) { return 13; }
  383. for(i=0; i<2; i++)
  384. {
  385. if(rbbars[i][0]==componentid) { return 14; }
  386. }
  387. for(i=0; i<2; i++)
  388. {
  389. if(fbbars[i][0]==componentid) { return 15; }
  390. }
  391. for(i=0; i<17; i++)
  392. {
  393. if(wheels[i][0]==componentid) { return 16; }
  394. }
  395. for(i=0; i<2; i++)
  396. {
  397. if(light[i][0]==componentid) { return 17; }
  398. }
  399. return 0;
  400. }
  401.  
  402. stock GetVehicleNameFromID(vehicleid)
  403. {
  404. static const scVehicleNames[][18] = {
  405. "Landstalker",
  406. "Bravura",
  407. "Buffalo",
  408. "Linerunner",
  409. "Perrenial",
  410. "Sentinel",
  411. "Dumper",
  412. "Firetruck",
  413. "Trashmaster",
  414. "Stretch",
  415. "Manana",
  416. "Infernus",
  417. "Voodoo",
  418. "Pony",
  419. "Mule",
  420. "Cheetah",
  421. "Ambulance",
  422. "Leviathan",
  423. "Moonbeam",
  424. "Esperanto",
  425. "Taxi",
  426. "Washington",
  427. "Bobcat",
  428. "Mr Whoopee",
  429. "BF Injection",
  430. "Hunter",
  431. "Premier",
  432. "Enforcer",
  433. "Securicar",
  434. "Banshee",
  435. "Predator",
  436. "Bus",
  437. "Rhino",
  438. "Barracks",
  439. "Hotknife",
  440. "Trailer 1",
  441. "Previon",
  442. "Coach",
  443. "Cabbie",
  444. "Stallion",
  445. "Rumpo",
  446. "RC Bandit",
  447. "Romero",
  448. "Packer",
  449. "Monster",
  450. "Admiral",
  451. "Squalo",
  452. "Seasparrow",
  453. "Pizzaboy",
  454. "Tram",
  455. "Trailer 2",
  456. "Turismo",
  457. "Speeder",
  458. "Reefer",
  459. "Tropic",
  460. "Flatbed",
  461. "Yankee",
  462. "Caddy",
  463. "Solair",
  464. "Berkley's RC Van",
  465. "Skimmer",
  466. "PCJ-600",
  467. "Faggio",
  468. "Freeway",
  469. "RC Baron",
  470. "RC Raider",
  471. "Glendale",
  472. "Oceanic",
  473. "Sanchez",
  474. "Sparrow",
  475. "Patriot",
  476. "Quad",
  477. "Coastguard",
  478. "Dinghy",
  479. "Hermes",
  480. "Sabre",
  481. "Rustler",
  482. "ZR-350",
  483. "Walton",
  484. "Regina",
  485. "Comet",
  486. "BMX",
  487. "Burrito",
  488. "Camper",
  489. "Marquis",
  490. "Baggage",
  491. "Dozer",
  492. "Maverick",
  493. "News Chopper",
  494. "Rancher",
  495. "FBI Rancher",
  496. "Virgo",
  497. "Greenwood",
  498. "Jetmax",
  499. "Hotring",
  500. "Sandking",
  501. "Blista Compact",
  502. "Police Maverick",
  503. "Boxville",
  504. "Benson",
  505. "Mesa",
  506. "RC Goblin",
  507. "Hotring Racer A",
  508. "Hotring Racer B",
  509. "Bloodring Banger",
  510. "Rancher",
  511. "Super GT",
  512. "Elegant",
  513. "Journey",
  514. "Bike",
  515. "Mountain Bike",
  516. "Beagle",
  517. "Cropdust",
  518. "Stunt",
  519. "Tanker",
  520. "Roadtrain",
  521. "Nebula",
  522. "Majestic",
  523. "Buccaneer",
  524. "Shamal",
  525. "Hydra",
  526. "FCR-900",
  527. "NRG-500",
  528. "HPV1000",
  529. "Cement Truck",
  530. "Tow Truck",
  531. "Fortune",
  532. "Cadrona",
  533. "FBI Truck",
  534. "Willard",
  535. "Forklift",
  536. "Tractor",
  537. "Combine",
  538. "Feltzer",
  539. "Remington",
  540. "Slamvan",
  541. "Blade",
  542. "Freight",
  543. "Streak",
  544. "Vortex",
  545. "Vincent",
  546. "Bullet",
  547. "Clover",
  548. "Sadler",
  549. "Firetruck LA",
  550. "Hustler",
  551. "Intruder",
  552. "Primo",
  553. "Cargobob",
  554. "Tampa",
  555. "Sunrise",
  556. "Merit",
  557. "Utility",
  558. "Nevada",
  559. "Yosemite",
  560. "Windsor",
  561. "Monster A",
  562. "Monster B",
  563. "Uranus",
  564. "Jester",
  565. "Sultan",
  566. "Stratum",
  567. "Elegy",
  568. "Raindance",
  569. "RC Tiger",
  570. "Flash",
  571. "Tahoma",
  572. "Savanna",
  573. "Bandito",
  574. "Freight Flat",
  575. "Streak Carriage",
  576. "Kart",
  577. "Mower",
  578. "Duneride",
  579. "Sweeper",
  580. "Broadway",
  581. "Tornado",
  582. "AT-400",
  583. "DFT-30",
  584. "Huntley",
  585. "Stafford",
  586. "BF-400",
  587. "Newsvan",
  588. "Tug",
  589. "Trailer 3",
  590. "Emperor",
  591. "Wayfarer",
  592. "Euros",
  593. "Hotdog",
  594. "Club",
  595. "Freight Carriage",
  596. "Trailer 3",
  597. "Andromada",
  598. "Dodo",
  599. "RC Cam",
  600. "Launch",
  601. "LS Police Car",
  602. "SF Police Car",
  603. "LV Police Car",
  604. "Police Ranger",
  605. "Picador",
  606. "S.W.A.T. Van",
  607. "Alpha",
  608. "Phoenix",
  609. "Glendale",
  610. "Sadler",
  611. "Luggage Trailer A",
  612. "Luggage Trailer B",
  613. "Stair Trailer",
  614. "Boxville",
  615. "Farm Plow",
  616. "Utility Trailer"
  617. },
  618. scOnFoot[18] = "OnFoot";
  619. if (vehicleid > 0) {
  620. return scVehicleNames[GetVehicleModel(vehicleid) - 400];
  621. }
  622. else {
  623. return scOnFoot;
  624. }
  625. }
  626.  
  627. public OnFilterScriptInit()
  628. {
  629. new string[32], string2[32], string3[32], string4[32], string5[32], string6[32], string7[32], string8[32];
  630. DealerCars[0] = AddStaticVehicle(546,2135.7805,-1147.6683,24.2358,45.7344,1,1); // Intruder
  631. DealerCars[1] = AddStaticVehicle(547,2136.1267,-1142.5652,24.8062,48.5747,1,1); // Primo
  632. DealerCars[2] = AddStaticVehicle(550,2136.2810,-1137.8374,25.3877,49.0252,1,1); // Sunrise
  633. DealerCars[3] = AddStaticVehicle(551,2136.1887,-1132.9510,25.4904,50.6219,1,1); // Merit
  634. DealerCars[4] = AddStaticVehicle(554,2120.1875,-1122.7693,25.4782,236.7405,1,1); // Yosemite
  635. DealerCars[5] = AddStaticVehicle(561,2119.2405,-1127.4752,25.1522,235.1129,1,1); // Stratum
  636. DealerCars[6] = AddStaticVehicle(585,2119.3145,-1132.3177,24.8819,236.2470,1,1); // Emperor
  637. DealerCars[7] = AddStaticVehicle(579,2119.3181,-1136.4448,25.1078,231.7601,1,1); // Huntley
  638. IsADealerCar[DealerCars[0]] = true;
  639. IsADealerCar[DealerCars[1]] = true;
  640. IsADealerCar[DealerCars[2]] = true;
  641. IsADealerCar[DealerCars[3]] = true;
  642. IsADealerCar[DealerCars[4]] = true;
  643. IsADealerCar[DealerCars[5]] = true;
  644. IsADealerCar[DealerCars[6]] = true;
  645. IsADealerCar[DealerCars[7]] = true;
  646. CarPrice[DealerCars[0]] = 15000;
  647. CarPrice[DealerCars[1]] = 20000;
  648. CarPrice[DealerCars[2]] = 22500;
  649. CarPrice[DealerCars[3]] = 23500;
  650. CarPrice[DealerCars[4]] = 10000;
  651. CarPrice[DealerCars[5]] = 9000;
  652. CarPrice[DealerCars[6]] = 11500;
  653. CarPrice[DealerCars[7]] = 26500;
  654. format(string, sizeof(string), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[0]), CarPrice[DealerCars[0]]);
  655. format(string2, sizeof(string2), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[1]), CarPrice[DealerCars[1]]);
  656. format(string3, sizeof(string3), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[2]), CarPrice[DealerCars[2]]);
  657. format(string4, sizeof(string4), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[3]), CarPrice[DealerCars[3]]);
  658. format(string5, sizeof(string5), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[4]), CarPrice[DealerCars[4]]);
  659. format(string6, sizeof(string6), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[5]), CarPrice[DealerCars[5]]);
  660. format(string7, sizeof(string7), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[6]), CarPrice[DealerCars[6]]);
  661. format(string8, sizeof(string8), "Name: %s\nPrice: $%i", GetVehicleNameFromID(DealerCars[7]), CarPrice[DealerCars[7]]);
  662. DealerCar[0] = Create3DTextLabel(string, 0x33CCFFAA, 2135.7805,-1147.6683,24.2358, 20.0, 0);
  663. DealerCar[1] = Create3DTextLabel(string2, 0x33CCFFAA, 2136.1267,-1142.5652,24.8062, 20.0, 0);
  664. DealerCar[2] = Create3DTextLabel(string3, 0x33CCFFAA, 2136.2810,-1137.8374,25.3877, 20.0, 0);
  665. DealerCar[3] = Create3DTextLabel(string4, 0x33CCFFAA, 2136.1887,-1132.9510,25.4904, 20.0, 0);
  666. DealerCar[4] = Create3DTextLabel(string5, 0x33CCFFAA, 2120.1875,-1122.7693,25.4782, 20.0, 0);
  667. DealerCar[5] = Create3DTextLabel(string6, 0x33CCFFAA, 2119.2405,-1127.4752,25.1522, 20.0, 0);
  668. DealerCar[6] = Create3DTextLabel(string7, 0x33CCFFAA, 2119.3145,-1132.3177,24.8819, 20.0, 0);
  669. DealerCar[7] = Create3DTextLabel(string8, 0x33CCFFAA, 2119.3181,-1136.4448,25.1078, 20.0, 0);
  670. return 1;
  671. }
  672.  
  673. public OnFilterScriptExit()
  674. {
  675. IsADealerCar[DealerCars[0]] = false;
  676. IsADealerCar[DealerCars[1]] = false;
  677. IsADealerCar[DealerCars[2]] = false;
  678. IsADealerCar[DealerCars[3]] = false;
  679. IsADealerCar[DealerCars[4]] = false;
  680. IsADealerCar[DealerCars[5]] = false;
  681. IsADealerCar[DealerCars[6]] = false;
  682. IsADealerCar[DealerCars[7]] = false;
  683. CarPrice[DealerCars[0]] = 0;
  684. CarPrice[DealerCars[1]] = 0;
  685. CarPrice[DealerCars[2]] = 0;
  686. CarPrice[DealerCars[3]] = 0;
  687. CarPrice[DealerCars[4]] = 0;
  688. CarPrice[DealerCars[5]] = 0;
  689. CarPrice[DealerCars[6]] = 0;
  690. CarPrice[DealerCars[7]] = 0;
  691. DestroyVehicle(DealerCars[0]);
  692. DestroyVehicle(DealerCars[1]);
  693. DestroyVehicle(DealerCars[2]);
  694. DestroyVehicle(DealerCars[3]);
  695. DestroyVehicle(DealerCars[4]);
  696. DestroyVehicle(DealerCars[5]);
  697. DestroyVehicle(DealerCars[6]);
  698. DestroyVehicle(DealerCars[7]);
  699. Delete3DTextLabel(DealerCar[0]);
  700. Delete3DTextLabel(DealerCar[1]);
  701. Delete3DTextLabel(DealerCar[2]);
  702. Delete3DTextLabel(DealerCar[3]);
  703. Delete3DTextLabel(DealerCar[4]);
  704. Delete3DTextLabel(DealerCar[5]);
  705. Delete3DTextLabel(DealerCar[6]);
  706. Delete3DTextLabel(DealerCar[7]);
  707. return 1;
  708. }
  709.  
  710. public OnPlayerConnect(playerid)
  711. {
  712. new file[256], name[MAX_PLAYER_NAME];
  713. GetPlayerName(playerid, name, sizeof(name));
  714. format(file,sizeof(file),"Carros/%s.sav",name);
  715. if(dini_Exists(file))
  716. {
  717. VehicleInfo[playerid][Model] = dini_Int(file, "Model");
  718. VehicleInfo[playerid][Price] = dini_Int(file, "Price");
  719. VehicleInfo[playerid][CarX] = dini_Float(file, "X");
  720. VehicleInfo[playerid][CarY] = dini_Float(file, "Y");
  721. VehicleInfo[playerid][CarZ] = dini_Float(file, "Z");
  722. VehicleInfo[playerid][CarRot] = dini_Float(file, "Rot");
  723. VehicleInfo[playerid][Locked] = dini_Int(file, "Locked");
  724. VehicleInfo[playerid][mod1] = dini_Int(file, "mod1");
  725. VehicleInfo[playerid][mod2] = dini_Int(file, "mod2");
  726. VehicleInfo[playerid][mod3] = dini_Int(file, "mod3");
  727. VehicleInfo[playerid][mod4] = dini_Int(file, "mod4");
  728. VehicleInfo[playerid][mod5] = dini_Int(file, "mod5");
  729. VehicleInfo[playerid][mod6] = dini_Int(file, "mod6");
  730. VehicleInfo[playerid][mod7] = dini_Int(file, "mod7");
  731. VehicleInfo[playerid][mod8] = dini_Int(file, "mod8");
  732. VehicleInfo[playerid][mod9] = dini_Int(file, "mod9");
  733. VehicleInfo[playerid][mod10] = dini_Int(file, "mod10");
  734. VehicleInfo[playerid][mod11] = dini_Int(file, "mod11");
  735. VehicleInfo[playerid][mod12] = dini_Int(file, "mod12");
  736. VehicleInfo[playerid][mod13] = dini_Int(file, "mod13");
  737. VehicleInfo[playerid][mod14] = dini_Int(file, "mod14");
  738. VehicleInfo[playerid][mod15] = dini_Int(file, "mod15");
  739. VehicleInfo[playerid][mod16] = dini_Int(file, "mod16");
  740. VehicleInfo[playerid][mod17] = dini_Int(file, "mod17");
  741. VehicleInfo[playerid][paintjob] = dini_Int(file, "paintjob");
  742. VehicleInfo[playerid][colora] = dini_Int(file, "color1");
  743. VehicleInfo[playerid][colorb] = dini_Int(file, "color2");
  744. Vehicle[playerid] = CreateVehicle(VehicleInfo[playerid][Model], VehicleInfo[playerid][CarX], VehicleInfo[playerid][CarY], VehicleInfo[playerid][CarZ], VehicleInfo[playerid][CarRot], -1, -1, 3600000);
  745. if(VehicleInfo[playerid][mod1]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod1]); }
  746. if(VehicleInfo[playerid][mod2]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod2]); }
  747. if(VehicleInfo[playerid][mod3]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod3]); }
  748. if(VehicleInfo[playerid][mod4]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod4]); }
  749. if(VehicleInfo[playerid][mod5]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod5]); }
  750. if(VehicleInfo[playerid][mod6]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod6]); }
  751. if(VehicleInfo[playerid][mod7]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod7]); }
  752. if(VehicleInfo[playerid][mod8]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod8]); }
  753. if(VehicleInfo[playerid][mod9]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod9]); }
  754. if(VehicleInfo[playerid][mod10]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod10]); }
  755. if(VehicleInfo[playerid][mod11]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod11]); }
  756. if(VehicleInfo[playerid][mod12]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod12]); }
  757. if(VehicleInfo[playerid][mod13]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod13]); }
  758. if(VehicleInfo[playerid][mod14]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod14]); }
  759. if(VehicleInfo[playerid][mod15]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod15]); }
  760. if(VehicleInfo[playerid][mod16]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod16]); }
  761. if(VehicleInfo[playerid][mod17]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod17]); }
  762. if(VehicleInfo[playerid][colora]!=0 || VehicleInfo[playerid][colorb]!=0)
  763. {
  764. ChangeVehicleColor(Vehicle[playerid],VehicleInfo[playerid][colora],VehicleInfo[playerid][colorb]);
  765. }
  766. if(VehicleInfo[playerid][paintjob]!=0)
  767. {
  768. ChangeVehiclePaintjob(Vehicle[playerid],VehicleInfo[playerid][paintjob]);
  769. }
  770. new tmp[256]; tmp = dini_Get(file, "Plate");
  771. gPlayerHasCar[playerid] = 1;
  772. VehOwned[Vehicle[playerid]] = 1;
  773. OwnerID[Vehicle[playerid]] = playerid;
  774. SetVehicleParamsForPlayer(Vehicle[playerid], playerid, 0, VehicleInfo[playerid][Locked]);
  775. gVehLocked[Vehicle[playerid]] = VehicleInfo[playerid][Locked];
  776. SetVehicleNumberPlate(Vehicle[playerid], tmp);
  777. VehPlate[Vehicle[playerid]] = tmp;
  778. LoadTrunk(playerid);
  779. }
  780. return 1;
  781. }
  782.  
  783.  
  784. public OnPlayerDisconnect(playerid)
  785. {
  786. new file[256], name[24];
  787. GetPlayerName(playerid, name, 24);
  788. format(file,sizeof(file),"Carros/%s.sav",name);
  789. if(dini_Exists(file))
  790. {
  791. dini_IntSet(file, "Model", GetVehicleModel(Vehicle[playerid]));
  792. dini_IntSet(file, "Price", VehicleInfo[playerid][Price]);
  793. dini_FloatSet(file, "X", VehicleInfo[playerid][CarX]);
  794. dini_FloatSet(file, "Y", VehicleInfo[playerid][CarY]);
  795. dini_FloatSet(file, "Z", VehicleInfo[playerid][CarZ]);
  796. dini_FloatSet(file, "Rot", VehicleInfo[playerid][CarRot]);
  797. dini_IntSet(file, "Locked", VehicleInfo[playerid][Locked]);
  798. dini_Set(file, "Plate", VehPlate[Vehicle[playerid]]);
  799. dini_IntSet(file, "mod1", VehicleInfo[playerid][mod1]);
  800. dini_IntSet(file, "mod2", VehicleInfo[playerid][mod2]);
  801. dini_IntSet(file, "mod3", VehicleInfo[playerid][mod3]);
  802. dini_IntSet(file, "mod4", VehicleInfo[playerid][mod4]);
  803. dini_IntSet(file, "mod5", VehicleInfo[playerid][mod5]);
  804. dini_IntSet(file, "mod6", VehicleInfo[playerid][mod6]);
  805. dini_IntSet(file, "mod7", VehicleInfo[playerid][mod7]);
  806. dini_IntSet(file, "mod8", VehicleInfo[playerid][mod8]);
  807. dini_IntSet(file, "mod9", VehicleInfo[playerid][mod9]);
  808. dini_IntSet(file, "mod10", VehicleInfo[playerid][mod10]);
  809. dini_IntSet(file, "mod11", VehicleInfo[playerid][mod11]);
  810. dini_IntSet(file, "mod12", VehicleInfo[playerid][mod12]);
  811. dini_IntSet(file, "mod13", VehicleInfo[playerid][mod13]);
  812. dini_IntSet(file, "mod14", VehicleInfo[playerid][mod14]);
  813. dini_IntSet(file, "mod15", VehicleInfo[playerid][mod15]);
  814. dini_IntSet(file, "mod16", VehicleInfo[playerid][mod16]);
  815. dini_IntSet(file, "mod17", VehicleInfo[playerid][mod17]);
  816. dini_IntSet(file, "paintjob", VehicleInfo[playerid][paintjob]);
  817. dini_IntSet(file, "color1", VehicleInfo[playerid][colora]);
  818. dini_IntSet(file, "color2", VehicleInfo[playerid][colorb]);
  819. DestroyVehicle(Vehicle[playerid]);
  820. SaveTrunk(playerid);
  821. }
  822. return 1;
  823. }
  824.  
  825. public OnPlayerStateChange(playerid, newstate, oldstate)
  826. {
  827. if(newstate == PLAYER_STATE_DRIVER)
  828. {
  829. new veh = GetPlayerVehicleID(playerid);
  830. if(VehOwned[veh] == 0)
  831. {
  832. if(IsADealerCar[veh] == 1)
  833. {
  834. new string[128];
  835. format(string, sizeof(string), "Tem certeza que você gostaria de comprar este %s por $%i?", GetVehicleNameFromID(veh), CarPrice[veh]);
  836. ShowPlayerDialog(playerid, 669, DIALOG_STYLE_MSGBOX, "Concessionária", string, "Sim", "Não");
  837. return 1;
  838. }
  839. }
  840. else if(VehOwned[veh] == 1)
  841. {
  842. new owner[24], string[128];
  843. GetPlayerName(OwnerID[veh], owner, sizeof(owner));
  844. format(string, sizeof(string), "Este %s é propriedade de %s.", GetVehicleNameFromID(veh), owner);
  845. SendClientMessage(playerid, 0xFFFFFFAA, string);
  846. return 1;
  847. }
  848. }
  849. return 1;
  850. }
  851.  
  852. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  853. {
  854. if(dialogid == 669)
  855. {
  856. if(response)
  857. {
  858. new file[256], name[MAX_PLAYER_NAME];
  859. GetPlayerName(playerid, name, sizeof(name));
  860. format(file,sizeof(file),"Carros/%s.sav",name);
  861. new veh = GetPlayerVehicleID(playerid);
  862. new money = GetPlayerMoney(playerid);
  863. if(money >= CarPrice[veh])
  864. {
  865. if(gPlayerHasCar[playerid] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "Você já possui um carro.");
  866. new string[64];
  867. SendClientMessage(playerid, 0xAFAFAFAA, "Obrigado por comprar na Coutt e Schutz.");
  868. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  869. dini_Create(file);
  870. Vehicle[playerid] = CreateVehicle(GetVehicleModel(veh), 2130.1914, -1109.5881, 25.1890, 76.2599, 1, 1, 3600000);
  871. format(string, sizeof(string), "Criando o seu veículo %i.", veh);
  872. SendClientMessage(playerid, 0xAFAFAFAA, string);
  873. VehicleInfo[playerid][Model] = GetVehicleModel(veh);
  874. VehicleInfo[playerid][Price] = CarPrice[veh];
  875. VehicleInfo[playerid][CarX] = 2130.1914;
  876. VehicleInfo[playerid][CarY] = -1109.5881;
  877. VehicleInfo[playerid][CarZ] = 25.1890;
  878. VehicleInfo[playerid][CarRot] = 76.2599;
  879. gPlayerHasCar[playerid] = 1;
  880. RemovePlayerFromVehicle(playerid);
  881. OwnerID[Vehicle[playerid]] = playerid;
  882. VehPlate[Vehicle[playerid]] = "XYZR 000";
  883. PutPlayerInVehicle(playerid, Vehicle[playerid], 0);
  884. GivePlayerMoney(playerid, -VehicleInfo[playerid][Price]);
  885. }
  886. else
  887. {
  888. RemovePlayerFromVehicle(playerid);
  889. SendClientMessage(playerid, 0xAFAFAFAA, "Você não tem dinheiro para comprar esse veículo.");
  890. return 1;
  891. }
  892. }
  893. else
  894. {
  895. RemovePlayerFromVehicle(playerid);
  896. }
  897. }
  898. if(dialogid == 670)
  899. {
  900. if(response)
  901. {
  902. new file[256], name[24], license[10];
  903. GetPlayerName(playerid, name, 24);
  904. format(file,sizeof(file),"Carros/%s.sav",name);
  905. dini_IntSet(file, "Model", VehicleInfo[playerid][Model]);
  906. dini_IntSet(file, "Price", VehicleInfo[playerid][Price]);
  907. dini_FloatSet(file, "X", VehicleInfo[playerid][CarX]);
  908. dini_FloatSet(file, "Y", VehicleInfo[playerid][CarY]);
  909. dini_FloatSet(file, "Z", VehicleInfo[playerid][CarZ]);
  910. dini_FloatSet(file, "Rot", VehicleInfo[playerid][CarRot]);
  911. dini_IntSet(file, "Locked", VehicleInfo[playerid][Locked]);
  912. dini_IntSet(file, "mod1", VehicleInfo[playerid][mod1]);
  913. dini_IntSet(file, "mod2", VehicleInfo[playerid][mod2]);
  914. dini_IntSet(file, "mod3", VehicleInfo[playerid][mod3]);
  915. dini_IntSet(file, "mod4", VehicleInfo[playerid][mod4]);
  916. dini_IntSet(file, "mod5", VehicleInfo[playerid][mod5]);
  917. dini_IntSet(file, "mod6", VehicleInfo[playerid][mod6]);
  918. dini_IntSet(file, "mod7", VehicleInfo[playerid][mod7]);
  919. dini_IntSet(file, "mod8", VehicleInfo[playerid][mod8]);
  920. dini_IntSet(file, "mod9", VehicleInfo[playerid][mod9]);
  921. dini_IntSet(file, "mod10", VehicleInfo[playerid][mod10]);
  922. dini_IntSet(file, "mod11", VehicleInfo[playerid][mod11]);
  923. dini_IntSet(file, "mod12", VehicleInfo[playerid][mod12]);
  924. dini_IntSet(file, "mod13", VehicleInfo[playerid][mod13]);
  925. dini_IntSet(file, "mod14", VehicleInfo[playerid][mod14]);
  926. dini_IntSet(file, "mod15", VehicleInfo[playerid][mod15]);
  927. dini_IntSet(file, "mod16", VehicleInfo[playerid][mod16]);
  928. dini_IntSet(file, "mod17", VehicleInfo[playerid][mod17]);
  929. dini_IntSet(file, "paintjob", VehicleInfo[playerid][paintjob]);
  930. dini_IntSet(file, "color1", VehicleInfo[playerid][colora]);
  931. dini_IntSet(file, "color2", VehicleInfo[playerid][colorb]);
  932. new string[128], Float:CarHP, Float:OldCarHP, Float:X, Float:Y, Float:Z, Float:Rot;
  933. new plate = strlen(inputtext);
  934. if(plate < 4) return ShowPlayerDialog(playerid, 670, DIALOG_STYLE_INPUT, "Plate", "Placa deve ter pelo menos 4 caracteres.\n\nPor favor, tente novamente.", "OK", "Cancelar");
  935. if(plate > 8) return ShowPlayerDialog(playerid, 670, DIALOG_STYLE_INPUT, "Plate", "Placa deve ter menos de 8 caracteres.\n\nPor favor, tente novamente.", "OK", "Cancelar");
  936. GetVehicleHealth(Vehicle[playerid], CarHP);
  937. OldCarHP = CarHP;
  938. GetVehiclePos(Vehicle[playerid], X, Y, Z);
  939. GetVehicleZAngle(Vehicle[playerid], Rot);
  940. SetVehicleNumberPlate(Vehicle[playerid], inputtext);
  941. SetVehicleToRespawn(Vehicle[playerid]);
  942. SetVehiclePos(Vehicle[playerid], X, Y, Z);
  943. SetVehicleZAngle(Vehicle[playerid], Rot);
  944. PutPlayerInVehicle(playerid, Vehicle[playerid], 0);
  945. format(license, sizeof(license), "%s", inputtext);
  946. VehPlate[Vehicle[playerid]] = license;
  947. dini_Set(file, "Plate", VehPlate[Vehicle[playerid]]);
  948. format(string, sizeof(string), "{FFFF00}Você definiu placa do seu veículo para:{FFFFFF} %s", inputtext);
  949. SendClientMessage(playerid, 0xFFFFFFFF, string);
  950. SendClientMessage(playerid, 0xFFFFFFFF, "NOTA:A saúde do seu veículo foi restaurada para o valor anterior (para impedir a exploração).");
  951. SetVehicleHealth(Vehicle[playerid], OldCarHP);
  952. VehicleInfo[playerid][Model] = dini_Int(file, "Model");
  953. VehicleInfo[playerid][Price] = dini_Int(file, "Price");
  954. VehicleInfo[playerid][CarX] = dini_Float(file, "X");
  955. VehicleInfo[playerid][CarY] = dini_Float(file, "Y");
  956. VehicleInfo[playerid][CarZ] = dini_Float(file, "Z");
  957. VehicleInfo[playerid][CarRot] = dini_Float(file, "Rot");
  958. VehicleInfo[playerid][Locked] = dini_Int(file, "Locked");
  959. VehicleInfo[playerid][mod1] = dini_Int(file, "mod1");
  960. VehicleInfo[playerid][mod2] = dini_Int(file, "mod2");
  961. VehicleInfo[playerid][mod3] = dini_Int(file, "mod3");
  962. VehicleInfo[playerid][mod4] = dini_Int(file, "mod4");
  963. VehicleInfo[playerid][mod5] = dini_Int(file, "mod5");
  964. VehicleInfo[playerid][mod6] = dini_Int(file, "mod6");
  965. VehicleInfo[playerid][mod7] = dini_Int(file, "mod7");
  966. VehicleInfo[playerid][mod8] = dini_Int(file, "mod8");
  967. VehicleInfo[playerid][mod9] = dini_Int(file, "mod9");
  968. VehicleInfo[playerid][mod10] = dini_Int(file, "mod10");
  969. VehicleInfo[playerid][mod11] = dini_Int(file, "mod11");
  970. VehicleInfo[playerid][mod12] = dini_Int(file, "mod12");
  971. VehicleInfo[playerid][mod13] = dini_Int(file, "mod13");
  972. VehicleInfo[playerid][mod14] = dini_Int(file, "mod14");
  973. VehicleInfo[playerid][mod15] = dini_Int(file, "mod15");
  974. VehicleInfo[playerid][mod16] = dini_Int(file, "mod16");
  975. VehicleInfo[playerid][mod17] = dini_Int(file, "mod17");
  976. VehicleInfo[playerid][paintjob] = dini_Int(file, "paintjob");
  977. VehicleInfo[playerid][colora] = dini_Int(file, "color1");
  978. VehicleInfo[playerid][colorb] = dini_Int(file, "color2");
  979. if(VehicleInfo[playerid][mod1]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod1]); }
  980. if(VehicleInfo[playerid][mod2]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod2]); }
  981. if(VehicleInfo[playerid][mod3]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod3]); }
  982. if(VehicleInfo[playerid][mod4]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod4]); }
  983. if(VehicleInfo[playerid][mod5]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod5]); }
  984. if(VehicleInfo[playerid][mod6]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod6]); }
  985. if(VehicleInfo[playerid][mod7]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod7]); }
  986. if(VehicleInfo[playerid][mod8]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod8]); }
  987. if(VehicleInfo[playerid][mod9]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod9]); }
  988. if(VehicleInfo[playerid][mod10]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod10]); }
  989. if(VehicleInfo[playerid][mod11]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod11]); }
  990. if(VehicleInfo[playerid][mod12]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod12]); }
  991. if(VehicleInfo[playerid][mod13]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod13]); }
  992. if(VehicleInfo[playerid][mod14]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod14]); }
  993. if(VehicleInfo[playerid][mod15]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod15]); }
  994. if(VehicleInfo[playerid][mod16]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod16]); }
  995. if(VehicleInfo[playerid][mod17]!=0) { AddVehicleComponent(Vehicle[playerid],VehicleInfo[playerid][mod17]); }
  996. if(VehicleInfo[playerid][colora]!=0 || VehicleInfo[playerid][colorb]!=0)
  997. {
  998. ChangeVehicleColor(Vehicle[playerid],VehicleInfo[playerid][colora],VehicleInfo[playerid][colorb]);
  999. }
  1000. if(VehicleInfo[playerid][paintjob]!=0)
  1001. {
  1002. ChangeVehiclePaintjob(Vehicle[playerid],VehicleInfo[playerid][paintjob]);
  1003. }
  1004. SetVehicleParamsForPlayer(Vehicle[playerid], playerid, 0, VehicleInfo[playerid][Locked]);
  1005. gVehLocked[Vehicle[playerid]] = VehicleInfo[playerid][Locked];
  1006. CarHP = 0;
  1007. OldCarHP = 0;
  1008. return 1;
  1009. }
  1010. return 1;
  1011. }
  1012. return 1;
  1013. }
  1014.  
  1015. public OnVehicleMod(playerid,vehicleid,componentid)
  1016. {
  1017. new mods = InitComponents(componentid);
  1018. if(IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1019. {
  1020. switch(mods)
  1021. {
  1022. case 1: { VehicleInfo[playerid][mod1] = componentid; }
  1023. case 2: { VehicleInfo[playerid][mod2] = componentid; }
  1024. case 3: { VehicleInfo[playerid][mod3] = componentid; }
  1025. case 4: { VehicleInfo[playerid][mod4] = componentid; }
  1026. case 5: { VehicleInfo[playerid][mod5] = componentid; }
  1027. case 6: { VehicleInfo[playerid][mod6] = componentid; }
  1028. case 7: { VehicleInfo[playerid][mod7] = componentid; }
  1029. case 8: { VehicleInfo[playerid][mod8] = componentid; }
  1030. case 9: { VehicleInfo[playerid][mod9] = componentid; }
  1031. case 10: { VehicleInfo[playerid][mod10] = componentid; }
  1032. case 11: { VehicleInfo[playerid][mod11] = componentid; }
  1033. case 12: { VehicleInfo[playerid][mod12] = componentid; }
  1034. case 13: { VehicleInfo[playerid][mod13] = componentid; }
  1035. case 14: { VehicleInfo[playerid][mod14] = componentid; }
  1036. case 15: { VehicleInfo[playerid][mod15] = componentid; }
  1037. case 16: { VehicleInfo[playerid][mod16] = componentid; }
  1038. case 17: { VehicleInfo[playerid][mod17] = componentid; }
  1039. }
  1040. }
  1041. return 1;
  1042. }
  1043.  
  1044. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1045. {
  1046. if(IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1047. {
  1048. if(GetVehicleModel(Vehicle[playerid]) == 483)
  1049. {
  1050. switch(paintjobid)
  1051. {
  1052. case 0: VehicleInfo[playerid][paintjob] = 0;
  1053. }
  1054. }
  1055. if(GetVehicleModel(Vehicle[playerid]) == 534)
  1056. {
  1057. switch(paintjobid)
  1058. {
  1059. case 0: VehicleInfo[playerid][paintjob] = 0;
  1060. case 1: VehicleInfo[playerid][paintjob] = 1;
  1061. case 2: VehicleInfo[playerid][paintjob] = 2;
  1062. }
  1063. }
  1064. if(GetVehicleModel(Vehicle[playerid]) == 535)
  1065. {
  1066. switch(paintjobid)
  1067. {
  1068. case 0: VehicleInfo[playerid][paintjob] = 0;
  1069. case 1: VehicleInfo[playerid][paintjob] = 1;
  1070. case 2: VehicleInfo[playerid][paintjob] = 2;
  1071. }
  1072. }
  1073. if(GetVehicleModel(Vehicle[playerid]) == 536)
  1074. {
  1075. switch(paintjobid)
  1076. {
  1077. case 0: VehicleInfo[playerid][paintjob] = 0;
  1078. case 1: VehicleInfo[playerid][paintjob] = 1;
  1079. case 2: VehicleInfo[playerid][paintjob] = 2;
  1080. }
  1081. }
  1082. if(GetVehicleModel(Vehicle[playerid]) == 558)
  1083. {
  1084. switch(paintjobid)
  1085. {
  1086. case 0: VehicleInfo[playerid][paintjob] = 0;
  1087. case 1: VehicleInfo[playerid][paintjob] = 1;
  1088. case 2: VehicleInfo[playerid][paintjob] = 2;
  1089. }
  1090. }
  1091. if(GetVehicleModel(Vehicle[playerid]) == 559)
  1092. {
  1093. switch(paintjobid)
  1094. {
  1095. case 0: VehicleInfo[playerid][paintjob] = 0;
  1096. case 1: VehicleInfo[playerid][paintjob] = 1;
  1097. case 2: VehicleInfo[playerid][paintjob] = 2;
  1098. }
  1099. }
  1100. if(GetVehicleModel(Vehicle[playerid]) == 560)
  1101. {
  1102. switch(paintjobid)
  1103. {
  1104. case 0: VehicleInfo[playerid][paintjob] = 0;
  1105. case 1: VehicleInfo[playerid][paintjob] = 1;
  1106. case 2: VehicleInfo[playerid][paintjob] = 2;
  1107. }
  1108. }
  1109. if(GetVehicleModel(Vehicle[playerid]) == 561)
  1110. {
  1111. switch(paintjobid)
  1112. {
  1113. case 0: VehicleInfo[playerid][paintjob] = 0;
  1114. case 1: VehicleInfo[playerid][paintjob] = 1;
  1115. case 2: VehicleInfo[playerid][paintjob] = 2;
  1116. }
  1117. }
  1118. if(GetVehicleModel(Vehicle[playerid]) == 562)
  1119. {
  1120. switch(paintjobid)
  1121. {
  1122. case 0: VehicleInfo[playerid][paintjob] = 0;
  1123. case 1: VehicleInfo[playerid][paintjob] = 1;
  1124. case 2: VehicleInfo[playerid][paintjob] = 2;
  1125. }
  1126. }
  1127. if(GetVehicleModel(Vehicle[playerid]) == 565)
  1128. {
  1129. switch(paintjobid)
  1130. {
  1131. case 0: VehicleInfo[playerid][paintjob] = 0;
  1132. case 1: VehicleInfo[playerid][paintjob] = 1;
  1133. case 2: VehicleInfo[playerid][paintjob] = 2;
  1134. }
  1135. }
  1136. if(GetVehicleModel(Vehicle[playerid]) == 567)
  1137. {
  1138. switch(paintjobid)
  1139. {
  1140. case 0: VehicleInfo[playerid][paintjob] = 0;
  1141. case 1: VehicleInfo[playerid][paintjob] = 1;
  1142. case 2: VehicleInfo[playerid][paintjob] = 2;
  1143. }
  1144. }
  1145. if(GetVehicleModel(Vehicle[playerid]) == 575)
  1146. {
  1147. switch(paintjobid)
  1148. {
  1149. case 0: VehicleInfo[playerid][paintjob] = 0;
  1150. case 1: VehicleInfo[playerid][paintjob] = 1;
  1151. }
  1152. }
  1153. if(GetVehicleModel(Vehicle[playerid]) == 576)
  1154. {
  1155. switch(paintjobid)
  1156. {
  1157. case 0: VehicleInfo[playerid][paintjob] = 0;
  1158. case 1: VehicleInfo[playerid][paintjob] = 1;
  1159. case 2: VehicleInfo[playerid][paintjob] = 2;
  1160. }
  1161. }
  1162. }
  1163. return 1;
  1164. }
  1165.  
  1166. public OnVehicleRespray(playerid,vehicleid, color1, color2)
  1167. {
  1168. if(IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1169. {
  1170. VehicleInfo[playerid][colora] = color1;
  1171. VehicleInfo[playerid][colorb] = color2;
  1172. }
  1173. return 1;
  1174. }
  1175.  
  1176. strtok(const string[], &index)
  1177. {
  1178. new length = strlen(string);
  1179. while ((index < length) && (string[index] <= ' '))
  1180. {
  1181. index++;
  1182. }
  1183.  
  1184. new offset = index;
  1185. new result[20];
  1186. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1187. {
  1188. result[index - offset] = string[index];
  1189. index++;
  1190. }
  1191. result[index - offset] = EOS;
  1192. return result;
  1193. }
  1194.  
  1195. public OnPlayerCommandText(playerid, cmdtext[])
  1196. {
  1197. new idx, tmp[128], cmd[128];
  1198. cmd = strtok(cmdtext, idx);
  1199. if(strcmp(cmd, "/portamalas", true) == 0)
  1200. {
  1201. if(gPlayerHasCar[playerid] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Você não possui um carro !");
  1202. new x_nr[256];
  1203. x_nr = strtok(cmdtext, idx);
  1204. if(!strlen(x_nr))
  1205. {
  1206. SendClientMessage(playerid, 0xFFFFFFFF, "USE: /portamalas [item]");
  1207. SendClientMessage(playerid, 0xFFFFFFFF, "Itens disponíveis: abrir, fechar, colocararma, pegararma");
  1208. return 1;
  1209. }
  1210. if(strcmp(x_nr, "abrir", true) == 0)
  1211. {
  1212. if(TrunkOpen[Vehicle[playerid]] == 1) return SendClientMessage(playerid, 0xAFAFAFAA, " O porta-malas já está aberto !");
  1213. new engine, lights, alarm, doors, bonnet, boot, objective;
  1214. GetVehicleParamsEx(Vehicle[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  1215. SetVehicleParamsEx(Vehicle[playerid], engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
  1216. TrunkOpen[Vehicle[playerid]] = 1;
  1217. return 1;
  1218. }
  1219. if(strcmp(x_nr, "fechar", true) == 0)
  1220. {
  1221. if(TrunkOpen[Vehicle[playerid]] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, " O porta-malas já está fechado !");
  1222. new engine, lights, alarm, doors, bonnet, boot, objective;
  1223. GetVehicleParamsEx(Vehicle[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  1224. SetVehicleParamsEx(Vehicle[playerid], engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_OFF, objective);
  1225. TrunkOpen[Vehicle[playerid]] = 0;
  1226. return 1;
  1227. }
  1228. if(strcmp(x_nr, "colocararma", true) == 0)
  1229. {
  1230. if(TrunkOpen[Vehicle[playerid]] == 0) { SendClientMessage(playerid, 0xAFAFAFAA, " Você deve abrir o porta-malas primeiro !"); return 1; }
  1231. tmp = strtok(cmdtext, idx);
  1232. if(!strlen(tmp)) { SendClientMessage(playerid, 0xFFFFFFFF, "USE: /portamalas colocararma [slot]"); return 1; }
  1233. new slot = strval(tmp), weapon = GetPlayerWeapon(playerid);
  1234. if(slot < 1 || slot > 10) { SendClientMessage(playerid, 0xAFAFAFAA, " Slot não pode ser menos do que 1 ou acima de 10 !"); return 1; }
  1235. if(weapon == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "Você não tem uma arma !");
  1236. if(slot == 1)
  1237. {
  1238. new string[128], gunname[16];
  1239. new ammo = GetPlayerAmmo(playerid);
  1240. new v = Vehicle[playerid];
  1241. if(TrunkInfo[v][Slot1] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1242. TrunkInfo[v][Slot1] = weapon;
  1243. TrunkInfo[v][Ammo1] = ammo;
  1244. GetWeaponName(weapon, gunname, sizeof(gunname));
  1245. format(string, sizeof(string), "Você guardou o seu %s no slot 1 do seu porta-malas.",gunname);
  1246. SendClientMessage(playerid, 0xFFFF00FF, string);
  1247. RemovePlayerWeapon(playerid, weapon);
  1248. return 1;
  1249. }
  1250. if(slot == 2)
  1251. {
  1252. new string[128], gunname[16];
  1253. new ammo = GetPlayerAmmo(playerid);
  1254. new v = Vehicle[playerid];
  1255. if(TrunkInfo[v][Slot2] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1256. TrunkInfo[v][Slot2] = weapon;
  1257. TrunkInfo[v][Ammo2] = ammo;
  1258. GetWeaponName(weapon, gunname, sizeof(gunname));
  1259. format(string, sizeof(string), "Você guardou o seu %s no slot 2 do seu porta-malas.",gunname);
  1260. SendClientMessage(playerid, 0xFFFF00FF, string);
  1261. RemovePlayerWeapon(playerid, weapon);
  1262. return 1;
  1263. }
  1264. if(slot == 3)
  1265. {
  1266. new string[128], gunname[16];
  1267. new ammo = GetPlayerAmmo(playerid);
  1268. new v = Vehicle[playerid];
  1269. if(TrunkInfo[v][Slot3] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1270. TrunkInfo[v][Slot3] = weapon;
  1271. TrunkInfo[v][Ammo3] = ammo;
  1272. GetWeaponName(weapon, gunname, sizeof(gunname));
  1273. format(string, sizeof(string), "Você guardou o seu %s no slot 3 do seu porta-malas.",gunname);
  1274. SendClientMessage(playerid, 0xFFFF00FF, string);
  1275. RemovePlayerWeapon(playerid, weapon);
  1276. return 1;
  1277. }
  1278. if(slot == 4)
  1279. {
  1280. new string[128], gunname[16];
  1281. new ammo = GetPlayerAmmo(playerid);
  1282. new v = Vehicle[playerid];
  1283. if(TrunkInfo[v][Slot4] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1284. TrunkInfo[v][Slot4] = weapon;
  1285. TrunkInfo[v][Ammo4] = ammo;
  1286. GetWeaponName(weapon, gunname, sizeof(gunname));
  1287. format(string, sizeof(string), "Você guardou o seu %s no slot 4 do seu porta-malas",gunname);
  1288. SendClientMessage(playerid, 0xFFFF00FF, string);
  1289. RemovePlayerWeapon(playerid, weapon);
  1290. return 1;
  1291. }
  1292. if(slot == 5)
  1293. {
  1294. new string[128], gunname[16];
  1295. new ammo = GetPlayerAmmo(playerid);
  1296. new v = Vehicle[playerid];
  1297. if(TrunkInfo[v][Slot5] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1298. TrunkInfo[v][Slot5] = weapon;
  1299. TrunkInfo[v][Ammo5] = ammo;
  1300. GetWeaponName(weapon, gunname, sizeof(gunname));
  1301. format(string, sizeof(string), "Você guardou o seu %s no slot 5 do seu porta-malas",gunname);
  1302. SendClientMessage(playerid, 0xFFFF00FF, string);
  1303. RemovePlayerWeapon(playerid, weapon);
  1304. return 1;
  1305. }
  1306. if(slot == 6)
  1307. {
  1308. new string[128], gunname[16];
  1309. new ammo = GetPlayerAmmo(playerid);
  1310. new v = Vehicle[playerid];
  1311. if(TrunkInfo[v][Slot6] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1312. TrunkInfo[v][Slot6] = weapon;
  1313. TrunkInfo[v][Ammo6] = ammo;
  1314. GetWeaponName(weapon, gunname, sizeof(gunname));
  1315. format(string, sizeof(string), "Você guardou o seu %s no slot 6 do seu porta-malas",gunname);
  1316. SendClientMessage(playerid, 0xFFFF00FF, string);
  1317. RemovePlayerWeapon(playerid, weapon);
  1318. return 1;
  1319. }
  1320. if(slot == 7)
  1321. {
  1322. new string[128], gunname[16];
  1323. new ammo = GetPlayerAmmo(playerid);
  1324. new v = Vehicle[playerid];
  1325. if(TrunkInfo[v][Slot7] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1326. TrunkInfo[v][Slot7] = weapon;
  1327. TrunkInfo[v][Ammo7] = ammo;
  1328. GetWeaponName(weapon, gunname, sizeof(gunname));
  1329. format(string, sizeof(string), "Você guardou o seu %s no slot 7 do seu porta-malas",gunname);
  1330. SendClientMessage(playerid, 0xFFFF00FF, string);
  1331. RemovePlayerWeapon(playerid, weapon);
  1332. return 1;
  1333. }
  1334. if(slot == 8)
  1335. {
  1336. new string[128], gunname[16];
  1337. new ammo = GetPlayerAmmo(playerid);
  1338. new v = Vehicle[playerid];
  1339. if(TrunkInfo[v][Slot8] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1340. TrunkInfo[v][Slot8] = weapon;
  1341. TrunkInfo[v][Ammo8] = ammo;
  1342. GetWeaponName(weapon, gunname, sizeof(gunname));
  1343. format(string, sizeof(string), "Você guardou o seu %s no slot 8 do seu porta-malas",gunname);
  1344. SendClientMessage(playerid, 0xFFFF00FF, string);
  1345. RemovePlayerWeapon(playerid, weapon);
  1346. return 1;
  1347. }
  1348. if(slot == 9)
  1349. {
  1350. new string[128], gunname[16];
  1351. new ammo = GetPlayerAmmo(playerid);
  1352. new v = Vehicle[playerid];
  1353. if(TrunkInfo[v][Slot9] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1354. TrunkInfo[v][Slot9] = weapon;
  1355. TrunkInfo[v][Ammo9] = ammo;
  1356. GetWeaponName(weapon, gunname, sizeof(gunname));
  1357. format(string, sizeof(string), "Você guardou o seu %s no slot 9 do seu porta-malas",gunname);
  1358. SendClientMessage(playerid, 0xFFFF00FF, string);
  1359. RemovePlayerWeapon(playerid, weapon);
  1360. return 1;
  1361. }
  1362. if(slot == 10)
  1363. {
  1364. new string[128], gunname[16];
  1365. new ammo = GetPlayerAmmo(playerid);
  1366. new v = Vehicle[playerid];
  1367. if(TrunkInfo[v][Slot10] > 0) return SendClientMessage(playerid, 0xAFAFAFAA, " Já existe alguma coisa nesse slot !");
  1368. TrunkInfo[v][Slot10] = weapon;
  1369. TrunkInfo[v][Ammo10] = ammo;
  1370. GetWeaponName(weapon, gunname, sizeof(gunname));
  1371. format(string, sizeof(string), "Você guardou o seu %s no slot 10 do seu porta-malas",gunname);
  1372. SendClientMessage(playerid, 0xFFFF00FF, string);
  1373. RemovePlayerWeapon(playerid, weapon);
  1374. return 1;
  1375. }
  1376. }
  1377. if(strcmp(x_nr, "pegararma", true) == 0)
  1378. {
  1379. if(TrunkOpen[Vehicle[playerid]] == 0) { SendClientMessage(playerid, 0xAFAFAFAA, " Primeiro você deve abrir o porta-malas !"); return 1; }
  1380. tmp = strtok(cmdtext, idx);
  1381. if(!strlen(tmp)) { SendClientMessage(playerid, 0xFFFFFFFF, "USE: /portamalas pegararma [slot]"); return 1; }
  1382. new slot = strval(tmp);
  1383. if(slot < 1 || slot > 10) { SendClientMessage(playerid, 0xAFAFAFAA, " Slot não pode ser menor do que 1 ou acima de 10 !"); return 1; }
  1384. if(slot == 1)
  1385. {
  1386. new string[128], gunname[16];
  1387. new v = Vehicle[playerid];
  1388. if(TrunkInfo[v][Slot1] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1389. GetWeaponName(TrunkInfo[v][Slot1], gunname, sizeof(gunname));
  1390. format(string, sizeof(string), "Você pegou seu %s que estava no slot 1 do seu porta-malas.",gunname);
  1391. SendClientMessage(playerid, 0xFFFF00FF, string);
  1392. GivePlayerWeapon(playerid, TrunkInfo[v][Slot1], TrunkInfo[v][Ammo1]);
  1393. TrunkInfo[v][Slot1] = 0;
  1394. TrunkInfo[v][Ammo1] = 0;
  1395. return 1;
  1396. }
  1397. if(slot == 2)
  1398. {
  1399. new string[128], gunname[16];
  1400. new v = Vehicle[playerid];
  1401. if(TrunkInfo[v][Slot2] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1402. GetWeaponName(TrunkInfo[v][Slot2], gunname, sizeof(gunname));
  1403. format(string, sizeof(string), "Você pegou seu %s que estava no slot 2 do seu porta-malas.",gunname);
  1404. SendClientMessage(playerid, 0xFFFF00FF, string);
  1405. GivePlayerWeapon(playerid, TrunkInfo[v][Slot2], TrunkInfo[v][Ammo2]);
  1406. TrunkInfo[v][Slot2] = 0;
  1407. TrunkInfo[v][Ammo2] = 0;
  1408. return 1;
  1409. }
  1410. if(slot == 3)
  1411. {
  1412. new string[128], gunname[16];
  1413. new v = Vehicle[playerid];
  1414. if(TrunkInfo[v][Slot3] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1415. GetWeaponName(TrunkInfo[v][Slot3], gunname, sizeof(gunname));
  1416. format(string, sizeof(string), "Você pegou seu %s que estava no slot 3 do seu porta-malas.",gunname);
  1417. SendClientMessage(playerid, 0xFFFF00FF, string);
  1418. GivePlayerWeapon(playerid, TrunkInfo[v][Slot3], TrunkInfo[v][Ammo3]);
  1419. TrunkInfo[v][Slot3] = 0;
  1420. TrunkInfo[v][Ammo3] = 0;
  1421. return 1;
  1422. }
  1423. if(slot == 4)
  1424. {
  1425. new string[128], gunname[16];
  1426. new v = Vehicle[playerid];
  1427. if(TrunkInfo[v][Slot4] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1428. GetWeaponName(TrunkInfo[v][Slot4], gunname, sizeof(gunname));
  1429. format(string, sizeof(string), "Você pegou seu %s que estava no slot 4 do seu porta-malas.",gunname);
  1430. SendClientMessage(playerid, 0xFFFF00FF, string);
  1431. GivePlayerWeapon(playerid, TrunkInfo[v][Slot4], TrunkInfo[v][Ammo4]);
  1432. TrunkInfo[v][Slot4] = 0;
  1433. TrunkInfo[v][Ammo4] = 0;
  1434. return 1;
  1435. }
  1436. if(slot == 5)
  1437. {
  1438. new string[128], gunname[16];
  1439. new v = Vehicle[playerid];
  1440. if(TrunkInfo[v][Slot5] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1441. GetWeaponName(TrunkInfo[v][Slot5], gunname, sizeof(gunname));
  1442. format(string, sizeof(string), "Você pegou seu %s que estava no slot 5 do seu porta-malas.",gunname);
  1443. SendClientMessage(playerid, 0xFFFF00FF, string);
  1444. GivePlayerWeapon(playerid, TrunkInfo[v][Slot5], TrunkInfo[v][Ammo5]);
  1445. TrunkInfo[v][Slot5] = 0;
  1446. TrunkInfo[v][Ammo5] = 0;
  1447. return 1;
  1448. }
  1449. if(slot == 6)
  1450. {
  1451. new string[128], gunname[16];
  1452. new v = Vehicle[playerid];
  1453. if(TrunkInfo[v][Slot6] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1454. GetWeaponName(TrunkInfo[v][Slot6], gunname, sizeof(gunname));
  1455. format(string, sizeof(string), "Você pegou seu %s que estava no slot 6 do seu porta-malas.",gunname);
  1456. SendClientMessage(playerid, 0xFFFF00FF, string);
  1457. GivePlayerWeapon(playerid, TrunkInfo[v][Slot6], TrunkInfo[v][Ammo6]);
  1458. TrunkInfo[v][Slot6] = 0;
  1459. TrunkInfo[v][Ammo6] = 0;
  1460. return 1;
  1461. }
  1462. if(slot == 7)
  1463. {
  1464. new string[128], gunname[16];
  1465. new v = Vehicle[playerid];
  1466. if(TrunkInfo[v][Slot7] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1467. GetWeaponName(TrunkInfo[v][Slot7], gunname, sizeof(gunname));
  1468. format(string, sizeof(string), "Você pegou seu %s que estava no slot 7 do seu porta-malas.",gunname);
  1469. SendClientMessage(playerid, 0xFFFF00FF, string);
  1470. GivePlayerWeapon(playerid, TrunkInfo[v][Slot7], TrunkInfo[v][Ammo7]);
  1471. TrunkInfo[v][Slot7] = 0;
  1472. TrunkInfo[v][Ammo7] = 0;
  1473. return 1;
  1474. }
  1475. if(slot == 8)
  1476. {
  1477. new string[128], gunname[16];
  1478. new v = Vehicle[playerid];
  1479. if(TrunkInfo[v][Slot8] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1480. GetWeaponName(TrunkInfo[v][Slot8], gunname, sizeof(gunname));
  1481. format(string, sizeof(string), "Você pegou seu %s que estava no slot 8 do seu porta-malas.",gunname);
  1482. SendClientMessage(playerid, 0xFFFF00FF, string);
  1483. GivePlayerWeapon(playerid, TrunkInfo[v][Slot8], TrunkInfo[v][Ammo8]);
  1484. TrunkInfo[v][Slot8] = 0;
  1485. TrunkInfo[v][Ammo8] = 0;
  1486. return 1;
  1487. }
  1488. if(slot == 9)
  1489. {
  1490. new string[128], gunname[16];
  1491. new v = Vehicle[playerid];
  1492. if(TrunkInfo[v][Slot9] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1493. GetWeaponName(TrunkInfo[v][Slot9], gunname, sizeof(gunname));
  1494. format(string, sizeof(string), "Você pegou seu %s que estava no slot 9 do seu porta-malas.",gunname);
  1495. SendClientMessage(playerid, 0xFFFF00FF, string);
  1496. GivePlayerWeapon(playerid, TrunkInfo[v][Slot9], TrunkInfo[v][Ammo9]);
  1497. TrunkInfo[v][Slot9] = 0;
  1498. TrunkInfo[v][Ammo9] = 0;
  1499. return 1;
  1500. }
  1501. if(slot == 10)
  1502. {
  1503. new string[128], gunname[16];
  1504. new v = Vehicle[playerid];
  1505. if(TrunkInfo[v][Slot10] < 1) return SendClientMessage(playerid, 0xAFAFAFAA, " Não há nada nesse slot !");
  1506. GetWeaponName(TrunkInfo[v][Slot10], gunname, sizeof(gunname));
  1507. format(string, sizeof(string), "Você pegou seu %s que estava no slot 10 do seu porta-malas.",gunname);
  1508. SendClientMessage(playerid, 0xFFFF00FF, string);
  1509. GivePlayerWeapon(playerid, TrunkInfo[v][Slot10], TrunkInfo[v][Ammo10]);
  1510. TrunkInfo[v][Slot10] = 0;
  1511. TrunkInfo[v][Ammo10] = 0;
  1512. return 1;
  1513. }
  1514. }
  1515. if(strcmp(cmd, "/limparchat", true) == 0)
  1516. {
  1517. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xC0C0C0AA, "Você não pode usar esse comando.");
  1518. new gunname[16], gunname2[16], gunname3[16], gunname4[16], gunname5[16], gunname6[16], gunname7[16], gunname8[16], gunname9[16],
  1519. gunname10[16], string[64], string2[64], string3[64], string4[64], string5[64], string6[64], string7[64], string8[64], string9[64], string10[64];
  1520. if(TrunkOpen[Vehicle[playerid]] == 0) { SendClientMessage(playerid, 0xAFAFAFAA, " Primeiro você deve abrir o porta-malas !"); return 1; }
  1521. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot1], gunname, sizeof(gunname));
  1522. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot2], gunname2, sizeof(gunname2));
  1523. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot3], gunname3, sizeof(gunname3));
  1524. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot4], gunname4, sizeof(gunname4));
  1525. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot5], gunname5, sizeof(gunname5));
  1526. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot6], gunname6, sizeof(gunname6));
  1527. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot7], gunname7, sizeof(gunname7));
  1528. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot8], gunname8, sizeof(gunname8));
  1529. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot9], gunname9, sizeof(gunname9));
  1530. GetWeaponName(TrunkInfo[Vehicle[playerid]][Slot10], gunname10, sizeof(gunname10));
  1531. SendClientMessage(playerid, 0x33AA33AA, "Chat Limpo");
  1532. if(TrunkInfo[Vehicle[playerid]][Slot1] != 0) { format(string, sizeof(string), "Slot 1: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo1]); } else { format(string, sizeof(string), "Slot 1: None (0 Ammo)"); }
  1533. if(TrunkInfo[Vehicle[playerid]][Slot2] != 0) { format(string, sizeof(string), "Slot 2: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo2]); } else { format(string, sizeof(string), "Slot 2: None (0 Ammo)"); }
  1534. if(TrunkInfo[Vehicle[playerid]][Slot3] != 0) { format(string, sizeof(string), "Slot 3: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo3]); } else { format(string, sizeof(string), "Slot 3: None (0 Ammo)"); }
  1535. if(TrunkInfo[Vehicle[playerid]][Slot4] != 0) { format(string, sizeof(string), "Slot 4: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo4]); } else { format(string, sizeof(string), "Slot 4: None (0 Ammo)"); }
  1536. if(TrunkInfo[Vehicle[playerid]][Slot5] != 0) { format(string, sizeof(string), "Slot 5: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo5]); } else { format(string, sizeof(string), "Slot 5: None (0 Ammo)"); }
  1537. if(TrunkInfo[Vehicle[playerid]][Slot6] != 0) { format(string, sizeof(string), "Slot 6: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo6]); } else { format(string, sizeof(string), "Slot 6: None (0 Ammo)"); }
  1538. if(TrunkInfo[Vehicle[playerid]][Slot7] != 0) { format(string, sizeof(string), "Slot 7: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo7]); } else { format(string, sizeof(string), "Slot 7: None (0 Ammo)"); }
  1539. if(TrunkInfo[Vehicle[playerid]][Slot8] != 0) { format(string, sizeof(string), "Slot 8: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo8]); } else { format(string, sizeof(string), "Slot 8: None (0 Ammo)"); }
  1540. if(TrunkInfo[Vehicle[playerid]][Slot9] != 0) { format(string, sizeof(string), "Slot 9: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo9]); } else { format(string, sizeof(string), "Slot 9: None (0 Ammo)"); }
  1541. if(TrunkInfo[Vehicle[playerid]][Slot10] != 0) { format(string, sizeof(string), "Slot 10: %s (%i Ammo)", gunname, TrunkInfo[Vehicle[playerid]][Ammo10]); } else { format(string, sizeof(string), "Slot 10: None (0 Ammo)"); }
  1542. SendClientMessage(playerid, 0xFFFFFFFF, string);
  1543. SendClientMessage(playerid, 0xFFFFFFFF, string2);
  1544. SendClientMessage(playerid, 0xFFFFFFFF, string3);
  1545. SendClientMessage(playerid, 0xFFFFFFFF, string4);
  1546. SendClientMessage(playerid, 0xFFFFFFFF, string5);
  1547. SendClientMessage(playerid, 0xFFFFFFFF, string6);
  1548. SendClientMessage(playerid, 0xFFFFFFFF, string7);
  1549. SendClientMessage(playerid, 0xFFFFFFFF, string8);
  1550. SendClientMessage(playerid, 0xFFFFFFFF, string9);
  1551. SendClientMessage(playerid, 0xFFFFFFFF, string10);
  1552. SendClientMessage(playerid, 0x33AA33AA, "Chat Limpo");
  1553. return 1;
  1554. }
  1555. return 1;
  1556. }
  1557. if(strcmp(cmd, "/trancar", true) == 0)
  1558. {
  1559. if(gPlayerHasCar[playerid] == 1)
  1560. {
  1561. new v, Float:vehx, Float:vehy, Float:vehz;
  1562. v = Vehicle[playerid];
  1563. GetVehiclePos(v, vehx, vehy, vehz);
  1564. if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
  1565. {
  1566. if(VehicleInfo[playerid][Locked] == 0)
  1567. {
  1568. SetVehicleParamsForPlayer(v, playerid, 0, 1);
  1569. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  1570. GameTextForPlayer(playerid, "~r~Carro trancado!", 3000, 6);
  1571. VehicleInfo[playerid][Locked] = 1;
  1572. gVehLocked[v] = 1;
  1573. return 1;
  1574. }
  1575. if(VehicleInfo[playerid][Locked] == 1)
  1576. {
  1577. SetVehicleParamsForPlayer(v, playerid, 0, 0);
  1578. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  1579. GameTextForPlayer(playerid, "~g~Carro destrancado!", 3000, 6);
  1580. VehicleInfo[playerid][Locked] = 0;
  1581. gVehLocked[v] = 0;
  1582. return 1;
  1583. }
  1584. }
  1585. else
  1586. {
  1587. SendClientMessage(playerid, 0xAFAFAFAA, "Você está muito longe do seu veículo.");
  1588. return 1;
  1589. }
  1590. }
  1591. else
  1592. {
  1593. SendClientMessage(playerid, 0xAFAFAFAA, "Você não possui um veículo.");
  1594. }
  1595. return 1;
  1596. }
  1597. if(strcmp(cmd, "/carroajuda", true) == 0)
  1598. {
  1599. SendClientMessage(playerid, 0x33AA33AA, "_______________________________________");
  1600. SendClientMessage(playerid, 0xFFFFFFAA, "*** AJUDA *** digite um comando para obter mais ajuda");
  1601. SendClientMessage(playerid, 0xCBCCCEFF, "*** CARRRO *** /portamalas /estacionar /vendercarro /escolherplaca /localizarcarro /trancar");
  1602. return 1;
  1603. }
  1604. if(strcmp(cmd, "/escolherplaca", true) == 0)
  1605. {
  1606. if(IsPlayerConnected(playerid))
  1607. {
  1608. if(!IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1609. {
  1610. SendClientMessage(playerid, 0xFFFFFFAA, "Você não está em seu carro.");
  1611. return 1;
  1612. }
  1613. if(IsACar(Vehicle[playerid]))
  1614. {
  1615. ShowPlayerDialog(playerid, 670, DIALOG_STYLE_INPUT, "Plate", "Defina placa do veículo.", "OK", "Cancelar");
  1616. return 1;
  1617. }
  1618. else
  1619. {
  1620. SendClientMessage(playerid, 0xAFAFAFAA, "Este veículo não tem uma placa.");
  1621. return 1;
  1622. }
  1623. }
  1624. return 1;
  1625. }
  1626. if(strcmp(cmd, "/estacionar", true) == 0)
  1627. {
  1628. new Float:X, Float:Y, Float:Z, Float:Rot;
  1629. if(!IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1630. {
  1631. SendClientMessage(playerid, 0xFFFFFFAA, "Você não está em seu carro.");
  1632. return 1;
  1633. }
  1634. new file[256], name[24];
  1635. GetPlayerName(playerid, name, 24);
  1636. format(file,sizeof(file),"Carros/%s.sav",name);
  1637. dini_IntSet(file, "Model", VehicleInfo[playerid][Model]);
  1638. dini_IntSet(file, "Price", VehicleInfo[playerid][Price]);
  1639. dini_FloatSet(file, "X", VehicleInfo[playerid][CarX]);
  1640. dini_FloatSet(file, "Y", VehicleInfo[playerid][CarY]);
  1641. dini_FloatSet(file, "Z", VehicleInfo[playerid][CarZ]);
  1642. dini_FloatSet(file, "Rot", VehicleInfo[playerid][CarRot]);
  1643. dini_IntSet(file, "Locked", VehicleInfo[playerid][Locked]);
  1644. dini_Set(file, "Plate", VehPlate[Vehicle[playerid]]);
  1645. dini_IntSet(file, "mod1", VehicleInfo[playerid][mod1]);
  1646. dini_IntSet(file, "mod2", VehicleInfo[playerid][mod2]);
  1647. dini_IntSet(file, "mod3", VehicleInfo[playerid][mod3]);
  1648. dini_IntSet(file, "mod4", VehicleInfo[playerid][mod4]);
  1649. dini_IntSet(file, "mod5", VehicleInfo[playerid][mod5]);
  1650. dini_IntSet(file, "mod6", VehicleInfo[playerid][mod6]);
  1651. dini_IntSet(file, "mod7", VehicleInfo[playerid][mod7]);
  1652. dini_IntSet(file, "mod8", VehicleInfo[playerid][mod8]);
  1653. dini_IntSet(file, "mod9", VehicleInfo[playerid][mod9]);
  1654. dini_IntSet(file, "mod10", VehicleInfo[playerid][mod10]);
  1655. dini_IntSet(file, "mod11", VehicleInfo[playerid][mod11]);
  1656. dini_IntSet(file, "mod12", VehicleInfo[playerid][mod12]);
  1657. dini_IntSet(file, "mod13", VehicleInfo[playerid][mod13]);
  1658. dini_IntSet(file, "mod14", VehicleInfo[playerid][mod14]);
  1659. dini_IntSet(file, "mod15", VehicleInfo[playerid][mod15]);
  1660. dini_IntSet(file, "mod16", VehicleInfo[playerid][mod16]);
  1661. dini_IntSet(file, "mod17", VehicleInfo[playerid][mod17]);
  1662. dini_IntSet(file, "paintjob", VehicleInfo[playerid][paintjob]);
  1663. dini_IntSet(file, "color1", VehicleInfo[playerid][colora]);
  1664. dini_IntSet(file, "color2", VehicleInfo[playerid][colorb]);
  1665. SendClientMessage(playerid, 0xFFFF00FF, "Carro estacionado com sucesso, ele vai estar no local estacionado.");
  1666. GetVehiclePos(Vehicle[playerid], X, Y, Z);
  1667. GetVehicleZAngle(Vehicle[playerid], Rot);
  1668. VehicleInfo[playerid][Model] = GetVehicleModel(playerid);
  1669. VehicleInfo[playerid][CarX] = X;
  1670. VehicleInfo[playerid][CarY] = Y;
  1671. VehicleInfo[playerid][CarZ] = Z;
  1672. VehicleInfo[playerid][CarRot] = Rot;
  1673. return 1;
  1674. }
  1675. if(strcmp(cmd, "/vendercarro", true) == 0)
  1676. {
  1677. if(IsPlayerConnected(playerid))
  1678. {
  1679. if(!IsPlayerInVehicle(playerid, Vehicle[playerid]))
  1680. {
  1681. SendClientMessage(playerid, 0xFFFFFFAA, "Você não está em seu carro.");
  1682. return 1;
  1683. }
  1684. if(ConfirmSale[playerid] == 0) {
  1685. SendClientMessage(playerid, 0xFFFF00FF, "Você tem certeza que quer vender seu carro? (Digite /vendercarro novamente para confirmar).");
  1686. ConfirmSale[playerid] = 1;
  1687. return 1;
  1688. }
  1689. new string[128], file[256], name[MAX_PLAYER_NAME];
  1690. GetPlayerName(playerid, name, sizeof(name));
  1691. format(file,sizeof(file),"Carrps/%s.sav",name);
  1692. format(string, sizeof(string), "Você vendeu seu carro por um valor de 50 por cento, para $%i.", VehicleInfo[playerid][Price]/2);
  1693. GivePlayerMoney(playerid, VehicleInfo[playerid][Price]/2);
  1694. DestroyVehicle(Vehicle[playerid]);
  1695. dini_Remove(file);
  1696. Vehicle[playerid] = 0;
  1697. gPlayerHasCar[playerid] = 0;
  1698. VehicleInfo[playerid][Model] = 0;
  1699. VehicleInfo[playerid][Price] = 0;
  1700. VehicleInfo[playerid][CarX] = 0;
  1701. VehicleInfo[playerid][CarY] = 0;
  1702. VehicleInfo[playerid][CarZ] = 0;
  1703. VehicleInfo[playerid][CarRot] = 0;
  1704. ConfirmSale[playerid] = 0;
  1705. SendClientMessage(playerid, 0xFFFF00FF, string);
  1706. return 1;
  1707. }
  1708. return 1;
  1709. }
  1710. if(strcmp(cmd, "/localizarcarro", true) == 0)
  1711. {
  1712. if(IsPlayerConnected(playerid))
  1713. {
  1714. if(gPlayerHasCar[playerid] == 1)
  1715. {
  1716. new Float:vx, Float:vy, Float:vz;
  1717. GetVehiclePos(Vehicle[playerid], vx, vy, vz);
  1718. SetPlayerCheckpoint(playerid, vx, vy, vz, 10.0);
  1719. Checkpoint[playerid] = 1;
  1720. SendClientMessage(playerid, 0xFFFFFFAA, "Vá para o checkpoint para encontrar o seu carro!");
  1721. return 1;
  1722. }
  1723. else {
  1724. SendClientMessage(playerid, 0xAFAFAFAA, "Você não possui um veículo.");
  1725. return 1;
  1726. }
  1727. }
  1728. return 1;
  1729. }
  1730. return 0;
  1731. }
  1732.  
  1733. public OnPlayerEnterCheckpoint(playerid)
  1734. {
  1735. if(Checkpoint[playerid] == 1)
  1736. {
  1737. PlayerPlaySound(playerid, 1149, 0.0, 0.0, 0.0);
  1738. DisablePlayerCheckpoint(playerid);
  1739. return 1;
  1740. }
  1741. return 1;
  1742. }
  1743.  
  1744. public OnVehicleStreamIn(vehicleid, forplayerid)
  1745. {
  1746. if(gVehLocked[vehicleid] == 1)
  1747. {
  1748. SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
  1749. gVehLocked[vehicleid] = 1;
  1750. }
  1751. else
  1752. {
  1753. SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 0);
  1754. gVehLocked[vehicleid] = 0;
  1755. }
  1756. return 1;
  1757. }
  1758.  
  1759. public OnVehicleSpawn(vehicleid)
  1760. {
  1761. if(Destroyed[vehicleid] == true)
  1762. {
  1763. new file[256], name[MAX_PLAYER_NAME];
  1764. GetPlayerName(OwnerID[vehicleid], name, sizeof(name));
  1765. format(file,sizeof(file),"Carros/%s.sav",name);
  1766. if(dini_Exists(file))
  1767. {
  1768. VehicleInfo[OwnerID[vehicleid]][Model] = dini_Int(file, "Model");
  1769. VehicleInfo[OwnerID[vehicleid]][Price] = dini_Int(file, "Price");
  1770. VehicleInfo[OwnerID[vehicleid]][CarX] = dini_Float(file, "X");
  1771. VehicleInfo[OwnerID[vehicleid]][CarY] = dini_Float(file, "Y");
  1772. VehicleInfo[OwnerID[vehicleid]][CarZ] = dini_Float(file, "Z");
  1773. VehicleInfo[OwnerID[vehicleid]][CarRot] = dini_Float(file, "Rot");
  1774. VehicleInfo[OwnerID[vehicleid]][Locked] = dini_Int(file, "Locked");
  1775. VehicleInfo[OwnerID[vehicleid]][mod1] = dini_Int(file, "mod1");
  1776. VehicleInfo[OwnerID[vehicleid]][mod2] = dini_Int(file, "mod2");
  1777. VehicleInfo[OwnerID[vehicleid]][mod3] = dini_Int(file, "mod3");
  1778. VehicleInfo[OwnerID[vehicleid]][mod4] = dini_Int(file, "mod4");
  1779. VehicleInfo[OwnerID[vehicleid]][mod5] = dini_Int(file, "mod5");
  1780. VehicleInfo[OwnerID[vehicleid]][mod6] = dini_Int(file, "mod6");
  1781. VehicleInfo[OwnerID[vehicleid]][mod7] = dini_Int(file, "mod7");
  1782. VehicleInfo[OwnerID[vehicleid]][mod8] = dini_Int(file, "mod8");
  1783. VehicleInfo[OwnerID[vehicleid]][mod9] = dini_Int(file, "mod9");
  1784. VehicleInfo[OwnerID[vehicleid]][mod10] = dini_Int(file, "mod10");
  1785. VehicleInfo[OwnerID[vehicleid]][mod11] = dini_Int(file, "mod11");
  1786. VehicleInfo[OwnerID[vehicleid]][mod12] = dini_Int(file, "mod12");
  1787. VehicleInfo[OwnerID[vehicleid]][mod13] = dini_Int(file, "mod13");
  1788. VehicleInfo[OwnerID[vehicleid]][mod14] = dini_Int(file, "mod14");
  1789. VehicleInfo[OwnerID[vehicleid]][mod15] = dini_Int(file, "mod15");
  1790. VehicleInfo[OwnerID[vehicleid]][mod16] = dini_Int(file, "mod16");
  1791. VehicleInfo[OwnerID[vehicleid]][mod17] = dini_Int(file, "mod17");
  1792. VehicleInfo[OwnerID[vehicleid]][paintjob] = dini_Int(file, "paintjob");
  1793. VehicleInfo[OwnerID[vehicleid]][colora] = dini_Int(file, "color1");
  1794. VehicleInfo[OwnerID[vehicleid]][colorb] = dini_Int(file, "color2");
  1795. Vehicle[OwnerID[vehicleid]] = CreateVehicle(VehicleInfo[OwnerID[vehicleid]][Model], VehicleInfo[OwnerID[vehicleid]][CarX], VehicleInfo[OwnerID[vehicleid]][CarY], VehicleInfo[OwnerID[vehicleid]][CarZ], VehicleInfo[OwnerID[vehicleid]][CarRot], -1, -1, 3600000);
  1796. if(VehicleInfo[OwnerID[vehicleid]][mod1]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod1]); }
  1797. if(VehicleInfo[OwnerID[vehicleid]][mod2]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod2]); }
  1798. if(VehicleInfo[OwnerID[vehicleid]][mod3]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod3]); }
  1799. if(VehicleInfo[OwnerID[vehicleid]][mod4]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod4]); }
  1800. if(VehicleInfo[OwnerID[vehicleid]][mod5]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod5]); }
  1801. if(VehicleInfo[OwnerID[vehicleid]][mod6]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod6]); }
  1802. if(VehicleInfo[OwnerID[vehicleid]][mod7]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod7]); }
  1803. if(VehicleInfo[OwnerID[vehicleid]][mod8]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod8]); }
  1804. if(VehicleInfo[OwnerID[vehicleid]][mod9]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod9]); }
  1805. if(VehicleInfo[OwnerID[vehicleid]][mod10]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod10]); }
  1806. if(VehicleInfo[OwnerID[vehicleid]][mod11]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod11]); }
  1807. if(VehicleInfo[OwnerID[vehicleid]][mod12]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod12]); }
  1808. if(VehicleInfo[OwnerID[vehicleid]][mod13]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod13]); }
  1809. if(VehicleInfo[OwnerID[vehicleid]][mod14]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod14]); }
  1810. if(VehicleInfo[OwnerID[vehicleid]][mod15]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod15]); }
  1811. if(VehicleInfo[OwnerID[vehicleid]][mod16]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod16]); }
  1812. if(VehicleInfo[OwnerID[vehicleid]][mod17]!=0) { AddVehicleComponent(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][mod17]); }
  1813. if(VehicleInfo[OwnerID[vehicleid]][colora]!=0 || VehicleInfo[OwnerID[vehicleid]][colorb]!=0)
  1814. {
  1815. ChangeVehicleColor(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][colora],VehicleInfo[OwnerID[vehicleid]][colorb]);
  1816. }
  1817. if(VehicleInfo[OwnerID[vehicleid]][paintjob]!=0)
  1818. {
  1819. ChangeVehiclePaintjob(Vehicle[OwnerID[vehicleid]],VehicleInfo[OwnerID[vehicleid]][paintjob]);
  1820. }
  1821. new tmp[256]; tmp = dini_Get(file, "Plate");
  1822. gPlayerHasCar[OwnerID[vehicleid]] = 1;
  1823. VehOwned[Vehicle[OwnerID[vehicleid]]] = 1;
  1824. SetVehicleParamsForPlayer(Vehicle[OwnerID[vehicleid]], OwnerID[vehicleid], 0, VehicleInfo[OwnerID[vehicleid]][Locked]);
  1825. gVehLocked[Vehicle[OwnerID[vehicleid]]] = VehicleInfo[OwnerID[vehicleid]][Locked];
  1826. SetVehicleNumberPlate(Vehicle[OwnerID[vehicleid]], tmp);
  1827. VehPlate[Vehicle[OwnerID[vehicleid]]] = tmp;
  1828. Destroyed[vehicleid] = false;
  1829. }
  1830. }
  1831. return 1;
  1832. }
  1833.  
  1834. public OnVehicleDeath(vehicleid, killerid)
  1835. {
  1836. new string[32], playername[MAX_PLAYER_NAME];
  1837. GetPlayerName(killerid, playername, sizeof(playername));
  1838. format(string, sizeof(string), "Carros/PortaMalas/%s.sav", playername);
  1839. new File: hFile = fopen(string, io_write);
  1840. if(hFile)
  1841. {
  1842. //Veículo destruído, muito ruim ...
  1843. fclose(hFile);
  1844. fremove(string);
  1845. }
  1846. Destroyed[vehicleid] = true;
  1847. new file[256], name[24];
  1848. GetPlayerName(killerid, name, 24);
  1849. format(file,sizeof(file),"Carros/%s.sav",name);
  1850. if(dini_Exists(file))
  1851. {
  1852. dini_IntSet(file, "Model", GetVehicleModel(Vehicle[killerid]));
  1853. dini_IntSet(file, "Price", VehicleInfo[killerid][Price]);
  1854. dini_FloatSet(file, "X", VehicleInfo[killerid][CarX]);
  1855. dini_FloatSet(file, "Y", VehicleInfo[killerid][CarY]);
  1856. dini_FloatSet(file, "Z", VehicleInfo[killerid][CarZ]);
  1857. dini_FloatSet(file, "Rot", VehicleInfo[killerid][CarRot]);
  1858. dini_IntSet(file, "Locked", VehicleInfo[killerid][Locked]);
  1859. dini_Set(file, "Plate", VehPlate[Vehicle[killerid]]);
  1860. dini_IntSet(file, "mod1", VehicleInfo[killerid][mod1]);
  1861. dini_IntSet(file, "mod2", VehicleInfo[killerid][mod2]);
  1862. dini_IntSet(file, "mod3", VehicleInfo[killerid][mod3]);
  1863. dini_IntSet(file, "mod4", VehicleInfo[killerid][mod4]);
  1864. dini_IntSet(file, "mod5", VehicleInfo[killerid][mod5]);
  1865. dini_IntSet(file, "mod6", VehicleInfo[killerid][mod6]);
  1866. dini_IntSet(file, "mod7", VehicleInfo[killerid][mod7]);
  1867. dini_IntSet(file, "mod8", VehicleInfo[killerid][mod8]);
  1868. dini_IntSet(file, "mod9", VehicleInfo[killerid][mod9]);
  1869. dini_IntSet(file, "mod10", VehicleInfo[killerid][mod10]);
  1870. dini_IntSet(file, "mod11", VehicleInfo[killerid][mod11]);
  1871. dini_IntSet(file, "mod12", VehicleInfo[killerid][mod12]);
  1872. dini_IntSet(file, "mod13", VehicleInfo[killerid][mod13]);
  1873. dini_IntSet(file, "mod14", VehicleInfo[killerid][mod14]);
  1874. dini_IntSet(file, "mod15", VehicleInfo[killerid][mod15]);
  1875. dini_IntSet(file, "mod16", VehicleInfo[killerid][mod16]);
  1876. dini_IntSet(file, "mod17", VehicleInfo[killerid][mod17]);
  1877. dini_IntSet(file, "paintjob", VehicleInfo[killerid][paintjob]);
  1878. dini_IntSet(file, "color1", VehicleInfo[killerid][colora]);
  1879. dini_IntSet(file, "color2", VehicleInfo[killerid][colorb]);
  1880. }
  1881. SetVehicleToRespawn(vehicleid);
  1882. return 1;
  1883. }
  1884.  
  1885. stock IsACar(vehicleid)
  1886. {
  1887. switch(GetVehicleModel(vehicleid))
  1888. {
  1889. case 400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,
  1890. 418,419,420,421,422,423,424,426,427,428,429,431,432,433,434,435,436,437,438,
  1891. 439,440,442,443,444,445,451,455,456,458,459,466,467,470,474,475,477,478,479,
  1892. 480,482,483,486,489,490,491,492,494,495,496,498,499,500,502,503,504,505,506,
  1893. 507,508,514,515,516,517,518,524,525,526,527,528,529,533,534,535,536,540,541,
  1894. 542,543,544,545,546,547,549,550,551,552,554,555,556,557,558,559,560,561,562,
  1895. 565,566,567,568,573,575,576,578,579,580,582,585,587,588, 589,596,597,598,599,
  1896. 600,601,602,603,604,605,609: return 1;
  1897. }
  1898. return 1;
  1899. }
  1900.  
  1901. public SaveTrunk(playerid)
  1902. {
  1903. if(IsPlayerConnected(playerid))
  1904. {
  1905. if(gPlayerHasCar[playerid] == 1)
  1906. {
  1907. new string[32];
  1908. new playername[MAX_PLAYER_NAME];
  1909. GetPlayerName(playerid, playername, sizeof(playername));
  1910. format(string, sizeof(string), "Carros/PortaMalas/%s.sav", playername);
  1911. new File: hFile = fopen(string, io_write);
  1912. if(hFile)
  1913. {
  1914. new var[64];
  1915. format(var, 32, "Slot1=%i\n", TrunkInfo[Vehicle[playerid]][Slot1]);
  1916. fwrite(hFile, var);
  1917. format(var, 32, "Slot2=%i\n", TrunkInfo[Vehicle[playerid]][Slot2]);
  1918. fwrite(hFile, var);
  1919. format(var, 32, "Slot3=%i\n", TrunkInfo[Vehicle[playerid]][Slot3]);
  1920. fwrite(hFile, var);
  1921. format(var, 32, "Slot4=%i\n", TrunkInfo[Vehicle[playerid]][Slot4]);
  1922. fwrite(hFile, var);
  1923. format(var, 32, "Slot5=%i\n", TrunkInfo[Vehicle[playerid]][Slot5]);
  1924. fwrite(hFile, var);
  1925. format(var, 32, "Slot6=%i\n", TrunkInfo[Vehicle[playerid]][Slot6]);
  1926. fwrite(hFile, var);
  1927. format(var, 32, "Slot7=%i\n", TrunkInfo[Vehicle[playerid]][Slot7]);
  1928. fwrite(hFile, var);
  1929. format(var, 32, "Slot8=%i\n", TrunkInfo[Vehicle[playerid]][Slot8]);
  1930. fwrite(hFile, var);
  1931. format(var, 32, "Slot9=%i\n", TrunkInfo[Vehicle[playerid]][Slot9]);
  1932. fwrite(hFile, var);
  1933. format(var, 32, "Slot10=%i\n", TrunkInfo[Vehicle[playerid]][Slot10]);
  1934. fwrite(hFile, var);
  1935. format(var, 32, "Ammo1=%i\n", TrunkInfo[Vehicle[playerid]][Ammo1]);
  1936. fwrite(hFile, var);
  1937. format(var, 32, "Ammo2=%i\n", TrunkInfo[Vehicle[playerid]][Ammo2]);
  1938. fwrite(hFile, var);
  1939. format(var, 32, "Ammo3=%i\n", TrunkInfo[Vehicle[playerid]][Ammo3]);
  1940. fwrite(hFile, var);
  1941. format(var, 32, "Ammo4=%i\n", TrunkInfo[Vehicle[playerid]][Ammo4]);
  1942. fwrite(hFile, var);
  1943. format(var, 32, "Ammo5=%i\n", TrunkInfo[Vehicle[playerid]][Ammo5]);
  1944. fwrite(hFile, var);
  1945. format(var, 32, "Ammo6=%i\n", TrunkInfo[Vehicle[playerid]][Ammo6]);
  1946. fwrite(hFile, var);
  1947. format(var, 32, "Ammo7=%i\n", TrunkInfo[Vehicle[playerid]][Ammo7]);
  1948. fwrite(hFile, var);
  1949. format(var, 32, "Ammo8=%i\n", TrunkInfo[Vehicle[playerid]][Ammo8]);
  1950. fwrite(hFile, var);
  1951. format(var, 32, "Ammo9=%i\n", TrunkInfo[Vehicle[playerid]][Ammo9]);
  1952. fwrite(hFile, var);
  1953. format(var, 32, "Ammo10=%i\n", TrunkInfo[Vehicle[playerid]][Ammo10]);
  1954. fwrite(hFile, var);
  1955. fclose(hFile);
  1956. }
  1957. }
  1958. }
  1959. return 1;
  1960. }
  1961.  
  1962. public LoadTrunk(playerid)
  1963. {
  1964. new string[128], Playername[24];
  1965. GetPlayerName(playerid, Playername, 24);
  1966. format(string, sizeof(string), "Carros/PortaMalas/%s.sav", Playername);
  1967. new File: UserFile = fopen(string, io_read);
  1968. if(UserFile)
  1969. {
  1970. new key[256], val[256], Data[256];
  1971. while(fread(UserFile, Data, sizeof(Data)))
  1972. {
  1973. key = ini_GetKey(Data);
  1974. if( strcmp( key , "Slot1" , true ) == 0 )
  1975. {
  1976. val = ini_GetValue(Data);
  1977. TrunkInfo[Vehicle[playerid]][Slot1] = strval(val);
  1978. }
  1979. if( strcmp( key , "Slot2" , true ) == 0 )
  1980. {
  1981. val = ini_GetValue(Data);
  1982. TrunkInfo[Vehicle[playerid]][Slot2] = strval(val);
  1983. }
  1984. if( strcmp( key , "Slot3" , true ) == 0 )
  1985. {
  1986. val = ini_GetValue(Data);
  1987. TrunkInfo[Vehicle[playerid]][Slot3] = strval(val);
  1988. }
  1989. if( strcmp( key , "Slot4" , true ) == 0 )
  1990. {
  1991. val = ini_GetValue(Data);
  1992. TrunkInfo[Vehicle[playerid]][Slot4] = strval(val);
  1993. }
  1994. if( strcmp( key , "Slot5" , true ) == 0 )
  1995. {
  1996. val = ini_GetValue(Data);
  1997. TrunkInfo[Vehicle[playerid]][Slot5] = strval(val);
  1998. }
  1999. if( strcmp( key , "Slot6" , true ) == 0 )
  2000. {
  2001. val = ini_GetValue(Data);
  2002. TrunkInfo[Vehicle[playerid]][Slot6] = strval(val);
  2003. }
  2004. if( strcmp( key , "Slot7" , true ) == 0 )
  2005. {
  2006. val = ini_GetValue(Data);
  2007. TrunkInfo[Vehicle[playerid]][Slot7] = strval(val);
  2008. }
  2009. if( strcmp( key , "Slot8" , true ) == 0 )
  2010. {
  2011. val = ini_GetValue(Data);
  2012. TrunkInfo[Vehicle[playerid]][Slot8] = strval(val);
  2013. }
  2014. if( strcmp( key , "Slot9" , true ) == 0 )
  2015. {
  2016. val = ini_GetValue(Data);
  2017. TrunkInfo[Vehicle[playerid]][Slot9] = strval(val);
  2018. }
  2019. if( strcmp( key , "Slot10" , true ) == 0 )
  2020. {
  2021. val = ini_GetValue(Data);
  2022. TrunkInfo[Vehicle[playerid]][Slot10] = strval(val);
  2023. }
  2024. if( strcmp( key , "Ammo1" , true ) == 0 )
  2025. {
  2026. val = ini_GetValue(Data);
  2027. TrunkInfo[Vehicle[playerid]][Ammo1] = strval(val);
  2028. }
  2029. if( strcmp( key , "Ammo2" , true ) == 0 )
  2030. {
  2031. val = ini_GetValue(Data);
  2032. TrunkInfo[Vehicle[playerid]][Ammo2] = strval(val);
  2033. }
  2034. if( strcmp( key , "Ammo3" , true ) == 0 )
  2035. {
  2036. val = ini_GetValue(Data);
  2037. TrunkInfo[Vehicle[playerid]][Ammo3] = strval(val);
  2038. }
  2039. if( strcmp( key , "Ammo4" , true ) == 0 )
  2040. {
  2041. val = ini_GetValue(Data);
  2042. TrunkInfo[Vehicle[playerid]][Ammo4] = strval(val);
  2043. }
  2044. if( strcmp( key , "Ammo5" , true ) == 0 )
  2045. {
  2046. val = ini_GetValue(Data);
  2047. TrunkInfo[Vehicle[playerid]][Ammo5] = strval(val);
  2048. }
  2049. if( strcmp( key , "Ammo6" , true ) == 0 )
  2050. {
  2051. val = ini_GetValue(Data);
  2052. TrunkInfo[Vehicle[playerid]][Ammo6] = strval(val);
  2053. }
  2054. if( strcmp( key , "Ammo7" , true ) == 0 )
  2055. {
  2056. val = ini_GetValue(Data);
  2057. TrunkInfo[Vehicle[playerid]][Ammo7] = strval(val);
  2058. }
  2059. if( strcmp( key , "Ammo8" , true ) == 0 )
  2060. {
  2061. val = ini_GetValue(Data);
  2062. TrunkInfo[Vehicle[playerid]][Ammo8] = strval(val);
  2063. }
  2064. if( strcmp( key , "Ammo9" , true ) == 0 )
  2065. {
  2066. val = ini_GetValue(Data);
  2067. TrunkInfo[Vehicle[playerid]][Ammo9] = strval(val);
  2068. }
  2069. if( strcmp( key , "Ammo10" , true ) == 0 )
  2070. {
  2071. val = ini_GetValue(Data);
  2072. TrunkInfo[Vehicle[playerid]][Ammo10] = strval(val);
  2073. }
  2074. }
  2075. fclose(UserFile);
  2076. }
  2077. return 1;
  2078. }
  2079.  
  2080. public RemovePlayerWeapon(playerid, weaponid)
  2081. {
  2082. new plyWeapons[12] = 0;
  2083. new plyAmmo[12] = 0;
  2084. for(new slot = 0; slot != 12; slot++)
  2085. {
  2086. new wep, ammo;
  2087. GetPlayerWeaponData(playerid, slot, wep, ammo);
  2088.  
  2089. if(wep != weaponid && ammo != 0)
  2090. {
  2091. GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]);
  2092. }
  2093. }
  2094. ResetPlayerWeapons(playerid);
  2095. for(new slot = 0; slot != 12; slot++)
  2096. {
  2097. if(plyAmmo[slot] != 0)
  2098. {
  2099. GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]);
  2100. }
  2101. }
  2102. return 1;
  2103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement