Guest User

Untitled

a guest
Jan 16th, 2014
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 165.68 KB | None | 0 0
  1. /*================================================================================================
  2. Vehicles system by James_Alex, vehicles ownership
  3. the best one that you can find.
  4. http://wiki.sa-mp.com/wiki/Vehicle_Model_ID_List
  5. ==================================================================================================*/
  6. #include <a_samp>
  7. #include <utils>
  8. #include <dini>
  9. #include <blackelegy>
  10.  
  11. forward SaveVehicles(playerid, car);
  12. forward split(const strsrc[], strdest[][], delimiter);
  13. forward LoadVehicles(playerid, string[]);
  14. forward EngineOn(veha, playerid);
  15. forward PlayAlarmSound(vehicleid, Float:radi, time);
  16. forward BuyingVeh(playerid);
  17. forward ReapitingAlarm(i);
  18. forward EnableSearch(playerid);
  19. forward StopingAlarm(i);
  20.  
  21. #define MAX_ZONE_NAME 28
  22. #define SPAWN_GAS_MIN 40
  23. #define SPAWN_GAS_MAX 100
  24. #define SendFormattedText(%1,%2,%3,%4) do{ format(string,sizeof(string),(%3),%4); SendClientMessage((%1),(%2),string); }while(FALSE)
  25. //----------[VehicleNames]--------------//
  26. new Menu:Colors;
  27. new Menu:Colors2;
  28. new Menu:ColorsS;
  29. new Menu:Colors2S;
  30. new AlarmTime[MAX_PLAYERS];
  31. new pCar[MAX_PLAYERS];
  32. new pToAccept[MAX_PLAYERS];
  33. new vRented[MAX_VEHICLES];
  34. new pSearched[MAX_PLAYERS];
  35. new pRent[MAX_PLAYERS];
  36. new pToolkit[MAX_PLAYERS];
  37. new Egale[MAX_PLAYERS];
  38. new vToAccept[MAX_PLAYERS];
  39. new prToAccept[MAX_PLAYERS];
  40. new RentCheck[MAX_PLAYERS];
  41. new pColor[MAX_PLAYERS];
  42. new pColorS[MAX_PLAYERS];
  43. new pColor2S[MAX_PLAYERS];
  44. new VehicleNames[212][] = {
  45. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perennial", "Sentinel",
  46. "Dumper", "Firetruck" , "Trashmaster" , "Stretch", "Manana", "Infernus",
  47. "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  48. "Esperanto", "Taxi", "Washington", "Bobcat", "Mr Whoopee", "BF Injection",
  49. "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  50. "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  51. "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  52. "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  53. "Reefer", "Tropic", "Flatbed","Yankee", "Caddy", "Solair","Berkley's RC Van",
  54. "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron","RC Raider","Glendale",
  55. "Oceanic", "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  56. "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  57. "Burrito", "Camper", "Marquis", "Baggage", "Dozer","Maverick","News Chopper",
  58. "Rancher", "FBI Rancher", "Virgo", "Greenwood","Jetmax","Hotring","Sandking",
  59. "Blista Compact", "Police Maverick", "Boxville", "Benson","Mesa","RC Goblin",
  60. "Hotring Racer", "Hotring Racer", "Bloodring Banger", "Rancher", "Super GT",
  61. "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropdust", "Stunt",
  62. "Tanker", "RoadTrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  63. "FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  64. "FBI Truck", "Willard", "Forklift","Tractor","Combine","Feltzer","Remington",
  65. "Slamvan", "Blade", "Freight", "Streak","Vortex","Vincent","Bullet","Clover",
  66. "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa",
  67. "Sunrise", "Merit", "Utility Truck", "Nevada", "Yosemite", "Windsor", "Monster",
  68. "Monster","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RCTiger",
  69. "Flash","Tahoma","Savanna", "Bandito", "Freight", "Trailer", "Kart", "Mower",
  70. "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley",
  71. "Stafford", "BF-400", "Newsvan","Tug","Trailer","Emperor","Wayfarer","Euros",
  72. "Hotdog", "Club", "Trailer", "Trailer","Andromada","Dodo","RC Cam", "Launch",
  73. "Police Car (LSPD)", "Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
  74. "Picador", "S.W.A.T. Van", "Alpha", "Phoenix", "Glendale", "Sadler",
  75. "Luggage Trailer","Luggage Trailer","Stair Trailer", "Boxville", "Farm Plow",
  76. "Utility Trailer"
  77. };
  78. new CarsPrices[212] =
  79. {
  80. 30000,
  81. 25000,
  82. 150000,
  83. 22000,
  84. 14000,
  85. 50000,
  86. 0,
  87. 0,
  88. 0,
  89. 400000,
  90. 20000,
  91. 350000,
  92. 60000,
  93. 8000,
  94. 7000,
  95. 350000,
  96. 0,
  97. 0,
  98. 9000,
  99. 15000,
  100. 0,
  101. 20000,
  102. 7500,
  103. 0,
  104. 25000,
  105. 0,
  106. 20000,
  107. 0,
  108. 0,
  109. 75000,
  110. 0,
  111. 0,
  112. 0,
  113. 0,
  114. 15000,
  115. 0,
  116. 15000,
  117. 0,
  118. 0,
  119. 25000,
  120. 12000,
  121. 0,
  122. 0,
  123. 0,
  124. 35000,
  125. 35000,
  126. 0,
  127. 0,
  128. 0,
  129. 0,
  130. 0,
  131. 500000,
  132. 0,
  133. 0,
  134. 0,
  135. 0,
  136. 60000,
  137. 0,
  138. 25000,
  139. 8000,
  140. 0,
  141. 80000,
  142. 25000,
  143. 50000,
  144. 0,
  145. 0,
  146. 18000,
  147. 18000,
  148. 35000,
  149. 0,
  150. 0,
  151. 25000,
  152. 0,
  153. 0,
  154. 12000,
  155. 30000,
  156. 0,
  157. 44000,
  158. 7000,
  159. 11000,
  160. 65000,
  161. 0,
  162. 8000,
  163. 0,
  164. 0,
  165. 0,
  166. 0,
  167. 0,
  168. 0,
  169. 14000,
  170. 0,
  171. 25000,
  172. 30000,
  173. 0,
  174. 0,
  175. 0,
  176. 17000,
  177. 0,
  178. 14000,
  179. 12000,
  180. 13000,
  181. 0,
  182. 0,
  183. 0,
  184. 0,
  185. 30000,
  186. 390000,
  187. 50000,
  188. 0,
  189. 0,
  190. 0,
  191. 0,
  192. 0,
  193. 0,
  194. 70000,
  195. 65000,
  196. 22000,
  197. 23000,
  198. 18000,
  199. 0,
  200. 0,
  201. 90000,
  202. 85000,
  203. 0,
  204. 0,
  205. 0,
  206. 12000,
  207. 14000,
  208. 0,
  209. 23000,
  210. 0,
  211. 0,
  212. 0,
  213. 41000,
  214. 40000,
  215. 17000,
  216. 75000,
  217. 0,
  218. 0,
  219. 0,
  220. 15000,
  221. 450000,
  222. 12000,
  223. 12000,
  224. 0,
  225. 38000,
  226. 30000,
  227. 19000,
  228. 0,
  229. 12000,
  230. 45000,
  231. 43000,
  232. 0,
  233. 0,
  234. 12000,
  235. 35000,
  236. 0,
  237. 0,
  238. 250000,
  239. 150000,
  240. 22000,
  241. 85000,
  242. 0,
  243. 0,
  244. 16000,
  245. 31000,
  246. 75000,
  247. 0,
  248. 0,
  249. 0,
  250. 0,
  251. 0,
  252. 0,
  253. 0,
  254. 35000,
  255. 31000,
  256. 0,
  257. 0,
  258. 12000,
  259. 56000,
  260. 82000,
  261. 0,
  262. 0,
  263. 0,
  264. 35000,
  265. 8000,
  266. 36000,
  267. 0,
  268. 29000,
  269. 0,
  270. 0,
  271. 0,
  272. 0,
  273. 0,
  274. 0,
  275. 0,
  276. 0,
  277. 0,
  278. 0,
  279. 12000,
  280. 0,
  281. 45000,
  282. 55000,
  283. 5000,
  284. 4000,
  285. 0,
  286. 0,
  287. 0,
  288. 15000,
  289. 0,
  290. 0
  291. };
  292. enum SAZONE_MAIN { //Betamaster
  293. SAZONE_NAME[28],
  294. Float:SAZONE_AREA[6]
  295. };
  296.  
  297. static const gSAZones[][SAZONE_MAIN] = { // Majority of names and area coordinates adopted from Mabako's 'Zones Script' v0.2
  298. // NAME AREA (Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)
  299. {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  300. {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  301. {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  302. {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  303. {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  304. {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  305. {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  306. {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  307. {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  308. {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  309. {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  310. {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  311. {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  312. {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  313. {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  314. {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  315. {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  316. {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  317. {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  318. {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  319. {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  320. {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  321. {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  322. {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  323. {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  324. {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  325. {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  326. {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  327. {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  328. {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  329. {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  330. {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  331. {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  332. {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  333. {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  334. {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  335. {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  336. {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  337. {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  338. {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  339. {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  340. {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  341. {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  342. {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  343. {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  344. {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  345. {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  346. {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  347. {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  348. {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  349. {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  350. {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  351. {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  352. {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  353. {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  354. {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  355. {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  356. {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  357. {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  358. {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  359. {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  360. {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  361. {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  362. {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  363. {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  364. {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  365. {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  366. {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  367. {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  368. {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  369. {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  370. {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  371. {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  372. {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  373. {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  374. {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  375. {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  376. {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  377. {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  378. {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  379. {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  380. {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  381. {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  382. {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  383. {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  384. {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  385. {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  386. {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  387. {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  388. {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  389. {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  390. {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  391. {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  392. {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  393. {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  394. {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  395. {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
  396. {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  397. {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  398. {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  399. {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  400. {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  401. {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  402. {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  403. {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  404. {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  405. {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  406. {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  407. {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  408. {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  409. {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  410. {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  411. {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  412. {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  413. {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  414. {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  415. {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  416. {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  417. {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  418. {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  419. {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  420. {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  421. {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  422. {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
  423. {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  424. {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  425. {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  426. {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  427. {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  428. {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  429. {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  430. {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  431. {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  432. {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  433. {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  434. {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  435. {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  436. {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  437. {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  438. {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  439. {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  440. {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  441. {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  442. {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  443. {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  444. {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  445. {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  446. {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  447. {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  448. {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  449. {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  450. {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  451. {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  452. {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  453. {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  454. {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  455. {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  456. {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  457. {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  458. {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  459. {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  460. {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  461. {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  462. {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  463. {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  464. {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  465. {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  466. {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  467. {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  468. {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  469. {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  470. {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  471. {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  472. {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  473. {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  474. {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  475. {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  476. {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  477. {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  478. {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  479. {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  480. {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  481. {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  482. {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  483. {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  484. {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  485. {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  486. {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  487. {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  488. {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  489. {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  490. {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  491. {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  492. {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  493. {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  494. {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  495. {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  496. {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  497. {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  498. {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  499. {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  500. {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  501. {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  502. {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  503. {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  504. {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  505. {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  506. {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  507. {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  508. {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  509. {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  510. {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  511. {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  512. {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  513. {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  514. {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  515. {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  516. {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  517. {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  518. {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  519. {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  520. {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  521. {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  522. {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  523. {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  524. {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  525. {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  526. {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  527. {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  528. {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  529. {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  530. {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  531. {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  532. {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  533. {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  534. {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  535. {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  536. {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  537. {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  538. {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  539. {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  540. {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  541. {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  542. {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  543. {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  544. {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  545. {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  546. {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  547. {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  548. {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  549. {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  550. {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  551. {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  552. {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  553. {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  554. {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  555. {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  556. {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  557. {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  558. {"Randolph Industrial Estate", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  559. {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  560. {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  561. {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  562. {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  563. {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  564. {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  565. {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  566. {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  567. {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  568. {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  569. {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  570. {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  571. {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  572. {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  573. {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  574. {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  575. {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  576. {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  577. {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  578. {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  579. {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  580. {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  581. {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  582. {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  583. {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  584. {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  585. {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  586. {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  587. {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  588. {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  589. {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  590. {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  591. {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  592. {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  593. {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  594. {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  595. {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  596. {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  597. {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  598. {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  599. {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  600. {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  601. {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  602. {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  603. {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  604. {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  605. {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  606. {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  607. {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  608. {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  609. {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  610. {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  611. {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  612. {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  613. {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  614. {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  615. {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  616. {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  617. {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  618. {"The Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  619. {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  620. {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  621. {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  622. {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  623. {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  624. {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  625. {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  626. {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  627. {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  628. {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  629. {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  630. {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  631. {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  632. {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  633. {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  634. {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  635. {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  636. {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  637. {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  638. {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  639. {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  640. {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  641. {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  642. {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  643. {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  644. {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  645. {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  646. {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  647. {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  648. {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  649. {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  650. {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  651. {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  652. {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  653. {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  654. {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  655. // Main Zones
  656. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  657. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  658. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  659. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  660. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  661. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  662. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  663. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  664. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  665. };
  666. new Float:OldCoordsX[MAX_PLAYERS], Float:OldCoordsY[MAX_PLAYERS];
  667. new Text:Speedom[MAX_PLAYERS], Text:black, ShowSpeed[MAX_PLAYERS];
  668. new ReFuelTimer[MAX_PLAYERS], Float:Fuel[MAX_VEHICLES], Refueling[MAX_PLAYERS], OldFuel[MAX_PLAYERS];
  669. new IsLocked[MAX_VEHICLES];
  670. new Engine[MAX_VEHICLES];
  671. new veh1[MAX_PLAYERS], veh2[MAX_PLAYERS], veh3[MAX_PLAYERS], veh4[MAX_PLAYERS], veh5[MAX_PLAYERS];
  672. new IsOwned[MAX_VEHICLES];
  673. new FALSE = false;
  674. new vehaS[MAX_PLAYERS];
  675. new Float:roda[MAX_PLAYERS];
  676. new vCheck1[MAX_PLAYERS], vCheck2[MAX_PLAYERS], vCheck3[MAX_PLAYERS], vCheck4[MAX_PLAYERS], vCheck5[MAX_PLAYERS];
  677. forward SaveCars();
  678. forward LoadCars();
  679. forward Speedometer();
  680. forward ReFill(playerid);
  681. forward Random(min, max);
  682. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  683. forward IsAtFuelStation(playerid);
  684. forward UnlockVehicle(vehicleid);
  685. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  686.  
  687. enum vInfo
  688. {
  689. vModel,
  690. Float:vX,
  691. Float:vY,
  692. Float:vZ,
  693. Float:vAngle,
  694. vColorOne,
  695. vColorTwo,
  696. vOwner[MAX_PLAYER_NAME],
  697. vDescription[128],
  698. vOwned,
  699. vLock,
  700. vLockBuyed,
  701. vRentPrice,
  702. vAlarm,
  703. };
  704. new VehicleInfo[MAX_VEHICLES][vInfo];
  705.  
  706. enum pVeh
  707. {
  708. pVeh1[128],
  709. pVeh2[128],
  710. pVeh3[128],
  711. pVeh4[128],
  712. pVeh5[128],
  713. }
  714. new PlayerVehicle[MAX_PLAYERS][pVeh];
  715.  
  716. public OnFilterScriptInit()
  717. {
  718. print("\n--------------------------------------");
  719. print(" Vehicles_system filterscript by James_Alex");
  720. print(" Spolszczone by Minokon");
  721. print("--------------------------------------\n");
  722.  
  723. for(new Vehicles = 0; Vehicles < MAX_VEHICLES; Vehicles++)
  724. {
  725. Fuel[Vehicles] = Random(SPAWN_GAS_MIN, SPAWN_GAS_MAX);
  726. //Engine[Vehicles] = 0; or Engine[Vehicles] = random(1);
  727. }
  728. for(new i = 0; i < MAX_PLAYERS; i++)
  729. {
  730. ShowSpeed[i] = 1;
  731. Refueling[i] = 0;
  732. }
  733. SetTimer("Speedometer", 1000, true);
  734. Colors = CreateMenu("Wybierz kolor", 1, 50.0, 180.0, 200.0, 200.0);
  735.  
  736. AddMenuItem(Colors, 0, "Czarny");
  737. AddMenuItem(Colors, 0, "Bialy");
  738. AddMenuItem(Colors, 0, "Jasny Niebieski");
  739. AddMenuItem(Colors, 0, "Czerwony");
  740. AddMenuItem(Colors, 0, "Zielony");
  741. AddMenuItem(Colors, 0, "Rozowy");
  742. AddMenuItem(Colors, 0, "Zolty");
  743. AddMenuItem(Colors, 0, "Niebieski");
  744. AddMenuItem(Colors, 0, "Szary");
  745. AddMenuItem(Colors, 0, "Jasno czerwony");
  746. AddMenuItem(Colors, 0, "Jasno zielony");
  747. AddMenuItem(Colors, 0, "Purpurowy");
  748.  
  749. Colors2 = CreateMenu("Wybierz drugi kolor", 1, 50.0, 180.0, 200.0, 200.0);
  750.  
  751. AddMenuItem(Colors2, 0, "Czarny");
  752. AddMenuItem(Colors2, 0, "Bialy");
  753. AddMenuItem(Colors2, 0, "Jasny Niebieski");
  754. AddMenuItem(Colors2, 0, "Czerwony");
  755. AddMenuItem(Colors2, 0, "Zielony");
  756. AddMenuItem(Colors2, 0, "Rozowy");
  757. AddMenuItem(Colors2, 0, "Zolty");
  758. AddMenuItem(Colors2, 0, "Niebieski");
  759. AddMenuItem(Colors2, 0, "Szary");
  760. AddMenuItem(Colors2, 0, "Jasno czerwony");
  761. AddMenuItem(Colors2, 0, "Jasno zielony");
  762. AddMenuItem(Colors2, 0, "Purpurowy");
  763.  
  764. ColorsS = CreateMenu("Wybierz kolor", 1, 50.0, 180.0, 200.0, 200.0);
  765.  
  766. AddMenuItem(ColorsS, 0, "Czarny");
  767. AddMenuItem(ColorsS, 0, "Bialy");
  768. AddMenuItem(ColorsS, 0, "Jasny Niebieski");
  769. AddMenuItem(ColorsS, 0, "Czerwony");
  770. AddMenuItem(ColorsS, 0, "Zielony");
  771. AddMenuItem(ColorsS, 0, "Rozowy");
  772. AddMenuItem(ColorsS, 0, "Zolty");
  773. AddMenuItem(ColorsS, 0, "Niebieski");
  774. AddMenuItem(ColorsS, 0, "Szary");
  775. AddMenuItem(ColorsS, 0, "Jasno czerwony");
  776. AddMenuItem(ColorsS, 0, "Jasno zielony");
  777. AddMenuItem(ColorsS, 0, "Purpurowy");
  778.  
  779.  
  780. Colors2S = CreateMenu("Wybierz drugi kolor", 1, 50.0, 180.0, 200.0, 200.0);
  781.  
  782. AddMenuItem(Colors2S, 0, "Czarny");
  783. AddMenuItem(Colors2S, 0, "Bialy");
  784. AddMenuItem(Colors2S, 0, "Jasny Niebieski");
  785. AddMenuItem(Colors2S, 0, "Czerwony");
  786. AddMenuItem(Colors2S, 0, "Zielony");
  787. AddMenuItem(Colors2S, 0, "Rozowy");
  788. AddMenuItem(Colors2S, 0, "Zolty");
  789. AddMenuItem(Colors2S, 0, "Niebieski");
  790. AddMenuItem(Colors2S, 0, "Szary");
  791. AddMenuItem(Colors2S, 0, "Jasno czerwony");
  792. AddMenuItem(Colors2S, 0, "Jasno zielony");
  793. AddMenuItem(Colors2S, 0, "Purpurowy");
  794. return 1;
  795. }
  796.  
  797. public OnFilterScriptExit()
  798. {
  799. TextDrawDestroy(Text:black);
  800. for(new i = 0; i <MAX_PLAYERS; i++)
  801. {
  802. TextDrawDestroy(Text:Speedom[i]);
  803. }
  804. return 1;
  805. }
  806.  
  807. public EngineOn(veha, playerid)
  808. {
  809. new string[256];
  810. new name[MAX_PLAYER_NAME];
  811. GetPlayerName(playerid, name, sizeof(name));
  812. if(IsPlayerInAnyVehicle(playerid))
  813. {
  814. if(VehicleInfo[veha][vOwned] == 1)
  815. {
  816. if(strcmp(name, VehicleInfo[veha][vOwner], true) == 0)
  817. {
  818. Engine[veha] = 1;
  819. TogglePlayerControllable(playerid, 1);
  820. format(string, sizeof(string), "%s odpalił silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  821. ProxDetector(20, playerid, string, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN);
  822. return 1;
  823. }
  824. else
  825. {
  826. if(pRent[playerid] == veha)
  827. {
  828. Engine[veha] = 1;
  829. TogglePlayerControllable(playerid, 1);
  830. format(string, sizeof(string), "%s odpalił silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  831. ProxDetector(20, playerid, string, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN);
  832. return 1;
  833. }
  834. else
  835. {
  836. Engine[veha] = 0;
  837. TogglePlayerControllable(playerid, 0);
  838. format(string, sizeof(string), "%s nie może odpalić silnika swojego %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  839. ProxDetector(20, playerid, string, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED);
  840. return 1;
  841. }
  842. }
  843. }
  844. else
  845. {
  846. Engine[veha] = 1;
  847. TogglePlayerControllable(playerid, 1);
  848. format(string, sizeof(string), "%s odpalił silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  849. ProxDetector(20, playerid, string, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN, COLOR_GREEN);
  850. return 1;
  851. }
  852. }
  853. else
  854. {
  855. Engine[veha] = 0;
  856. format(string, sizeof(string), "%s nie może odpalić silnika swojego %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  857. ProxDetector(20, playerid, string, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED, COLOR_LIGHTRED);
  858. return 1;
  859. }
  860. }
  861.  
  862. public EnableSearch(playerid)
  863. {
  864. pSearched[playerid] = 0;
  865. return 1;
  866. }
  867.  
  868. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  869. {
  870. if(IsPlayerConnected(playerid))
  871. {
  872. new Float:posx, Float:posy, Float:posz;
  873. new Float:oldposx, Float:oldposy, Float:oldposz;
  874. new Float:tempposx, Float:tempposy, Float:tempposz;
  875. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  876. //radi = 2.0; //Trigger Radius
  877. for(new i = 0; i < MAX_PLAYERS; i++)
  878. {
  879. if(IsPlayerConnected(i))
  880. {
  881. GetPlayerPos(i, posx, posy, posz);
  882. tempposx = (oldposx -posx);
  883. tempposy = (oldposy -posy);
  884. tempposz = (oldposz -posz);
  885. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  886. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  887. {
  888. SendClientMessage(i, col1, string);
  889. }
  890. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  891. {
  892. SendClientMessage(i, col2, string);
  893. }
  894. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  895. {
  896. SendClientMessage(i, col3, string);
  897. }
  898. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  899. {
  900. SendClientMessage(i, col4, string);
  901. }
  902. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  903. {
  904. SendClientMessage(i, col5, string);
  905. }
  906. }
  907. }
  908. }//not connected
  909. return 1;
  910. }
  911. public SaveVehicles(playerid, car)
  912. {
  913. new file[256];
  914. new plname[MAX_PLAYER_NAME];
  915. GetPlayerName(playerid, plname, sizeof(plname));
  916. format(file, sizeof(file), "GF/Pojazdy/Kupione/%s.%s", plname, VehicleNames[GetVehicleModel(car)-400]);
  917. if(dini_Exists(file))
  918. {
  919. dini_IntSet(file, "Model", VehicleInfo[car][vModel]);
  920. dini_FloatSet(file, "ParkX", VehicleInfo[car][vX]);
  921. dini_FloatSet(file, "ParkY", VehicleInfo[car][vY]);
  922. dini_FloatSet(file, "ParkZ", VehicleInfo[car][vZ]);
  923. dini_FloatSet(file, "ParkAngle", VehicleInfo[car][vAngle]);
  924. dini_IntSet(file, "Color1", VehicleInfo[car][vColorOne]);
  925. dini_IntSet(file, "Color2", VehicleInfo[car][vColorTwo]);
  926. dini_Set(file, "Owner", VehicleInfo[car][vOwner]);
  927. dini_Set(file, "Description", VehicleInfo[car][vDescription]);
  928. dini_IntSet(file, "Owned", VehicleInfo[car][vOwned]);
  929. dini_IntSet(file, "Lock", VehicleInfo[car][vLock]);
  930. dini_IntSet(file, "LockBuyed", VehicleInfo[car][vLockBuyed]);
  931. dini_IntSet(file, "RentPrice", VehicleInfo[car][vRentPrice]);
  932. dini_IntSet(file, "Alarm", VehicleInfo[car][vAlarm]);
  933. }
  934. else
  935. {
  936. dini_Create(file);
  937. dini_IntSet(file, "Model", VehicleInfo[car][vModel]);
  938. dini_FloatSet(file, "ParkX", VehicleInfo[car][vX]);
  939. dini_FloatSet(file, "ParkY", VehicleInfo[car][vY]);
  940. dini_FloatSet(file, "ParkZ", VehicleInfo[car][vZ]);
  941. dini_FloatSet(file, "ParkAngle", VehicleInfo[car][vAngle]);
  942. dini_IntSet(file, "Color1", VehicleInfo[car][vColorOne]);
  943. dini_IntSet(file, "Color2", VehicleInfo[car][vColorTwo]);
  944. dini_Set(file, "Owner", VehicleInfo[car][vOwner]);
  945. dini_Set(file, "Description", VehicleInfo[car][vDescription]);
  946. dini_IntSet(file, "Owned", VehicleInfo[car][vOwned]);
  947. dini_IntSet(file, "Lock", VehicleInfo[car][vLock]);
  948. dini_IntSet(file, "LockBuyed", VehicleInfo[car][vLockBuyed]);
  949. dini_IntSet(file, "RentPrice", VehicleInfo[car][vRentPrice]);
  950. dini_IntSet(file, "Alarm", VehicleInfo[car][vAlarm]);
  951. }
  952. return 1;
  953. }
  954.  
  955. public LoadVehicles(playerid, string[])
  956. {
  957. new file[256];
  958. new plname[MAX_PLAYER_NAME];
  959. GetPlayerName(playerid, plname, sizeof(plname));
  960. format(file, sizeof(file), "GF/Pojazdy/Kupione/%s", string);
  961. if(strcmp(string, PlayerVehicle[playerid][pVeh1], true) == 0)
  962. {
  963. veh1[playerid] = CreateVehicle(dini_Int(file, "Model"), dini_Float(file, "ParkX"), dini_Float(file, "ParkY"), dini_Float(file, "ParkZ"), dini_Float(file, "ParkAngle"), dini_Int(file, "Color1"), dini_Int(file, "Color2"), 60000);
  964. strmid(VehicleInfo[veh1[playerid]][vOwner], dini_Get(file, "Owner"), 0, strlen(dini_Get(file, "Owner")), 255);
  965. strmid(VehicleInfo[veh1[playerid]][vDescription], dini_Get(file, "Description"), 0, strlen(dini_Get(file, "Description")), 255);
  966. VehicleInfo[veh1[playerid]][vModel] = dini_Int(file, "Model");
  967. VehicleInfo[veh1[playerid]][vX] = dini_Float(file, "ParkX");
  968. VehicleInfo[veh1[playerid]][vY] = dini_Float(file, "ParkY");
  969. VehicleInfo[veh1[playerid]][vZ] = dini_Float(file, "ParkZ");
  970. VehicleInfo[veh1[playerid]][vAngle] = dini_Float(file, "ParkAngle");
  971. VehicleInfo[veh1[playerid]][vColorOne] = dini_Int(file, "color1");
  972. VehicleInfo[veh1[playerid]][vColorTwo] = dini_Int(file, "color2");
  973. VehicleInfo[veh1[playerid]][vOwned] = dini_Int(file, "Owned");
  974. VehicleInfo[veh1[playerid]][vLock] = dini_Int(file, "Lock");
  975. VehicleInfo[veh1[playerid]][vLockBuyed] = dini_Int(file, "LockBuyed");
  976. VehicleInfo[veh1[playerid]][vRentPrice] = dini_Int(file, "RentPrice");
  977. VehicleInfo[veh1[playerid]][vAlarm] = dini_Int(file, "Alarm");
  978. IsOwned[veh1[playerid]] = 1;
  979. new sb[256]; format(sb, sizeof(sb), "Twój %s został zespawnowany w miejscu gdzie go zaparkowałeś.", VehicleNames[GetVehicleModel(veh1[playerid])-400]); SendClientMessage(playerid, COLOR_YELLOW, sb);
  980. format(sb, sizeof(sb), "INFO: Model:[%s] |Własciciel:[%s] |Opis:[%s] |PoziomZamknięcia:[%d] |CenaWynajmu: [$%d] |PoziomAlarmu:[%d]", VehicleNames[GetVehicleModel(veh1[playerid])-400], VehicleInfo[veh1[playerid]][vOwner], string,
  981. VehicleInfo[veh1[playerid]][vLock], VehicleInfo[veh1[playerid]][vRentPrice], VehicleInfo[veh1[playerid]][vAlarm]);
  982. SendClientMessage(playerid, COLOR_GREEN, sb);
  983. if(VehicleInfo[veh1[playerid]][vLock] > 0)
  984. {
  985. SetVehicleParamsForPlayer(veh1[playerid], 0, 0, 1);
  986. return 1;
  987. }
  988. return 1;
  989. }
  990. else if(strcmp(string, PlayerVehicle[playerid][pVeh2], true) == 0)
  991. {
  992. veh2[playerid] = CreateVehicle(dini_Int(file, "Model"), dini_Float(file, "ParkX"), dini_Float(file, "ParkY"), dini_Float(file, "ParkZ"), dini_Float(file, "ParkAngle"), dini_Int(file, "Color1"), dini_Int(file, "Color2"), 60000);
  993. strmid(VehicleInfo[veh2[playerid]][vOwner], dini_Get(file, "Owner"), 0, strlen(dini_Get(file, "Owner")), 255);
  994. strmid(VehicleInfo[veh2[playerid]][vDescription], dini_Get(file, "Description"), 0, strlen(dini_Get(file, "Description")), 255);
  995. VehicleInfo[veh2[playerid]][vModel] = dini_Int(file, "Model");
  996. VehicleInfo[veh2[playerid]][vX] = dini_Float(file, "ParkX");
  997. VehicleInfo[veh2[playerid]][vY] = dini_Float(file, "ParkY");
  998. VehicleInfo[veh2[playerid]][vZ] = dini_Float(file, "ParkZ");
  999. VehicleInfo[veh2[playerid]][vAngle] = dini_Float(file, "ParkAngle");
  1000. VehicleInfo[veh2[playerid]][vColorOne] = dini_Int(file, "color1");
  1001. VehicleInfo[veh2[playerid]][vColorTwo] = dini_Int(file, "color2");
  1002. VehicleInfo[veh2[playerid]][vOwned] = dini_Int(file, "Owned");
  1003. VehicleInfo[veh2[playerid]][vLock] = dini_Int(file, "Lock");
  1004. VehicleInfo[veh2[playerid]][vLockBuyed] = dini_Int(file, "LockBuyed");
  1005. VehicleInfo[veh2[playerid]][vRentPrice] = dini_Int(file, "RentPrice");
  1006. VehicleInfo[veh2[playerid]][vAlarm] = dini_Int(file, "Alarm");
  1007. IsOwned[veh2[playerid]] = 1;
  1008. new sb[256]; format(sb, sizeof(sb), "Twój %s został zespawnowany w miejscu gdzie go zaparkowałeś.", VehicleNames[GetVehicleModel(veh2[playerid])-400]); SendClientMessage(playerid, COLOR_YELLOW, sb);
  1009. format(sb, sizeof(sb), "INFO: Model:[%s] |Własciciel:[%s] |Opis:[%s] |PoziomZamknięcia:[%d] |CenaWynajmu: [$%d] |PoziomAlarmu:[%d]", VehicleNames[GetVehicleModel(veh2[playerid])-400], VehicleInfo[veh2[playerid]][vOwner], string,
  1010. VehicleInfo[veh2[playerid]][vLock], VehicleInfo[veh2[playerid]][vRentPrice], VehicleInfo[veh2[playerid]][vAlarm]);
  1011. SendClientMessage(playerid, COLOR_GREEN, sb);
  1012. if(VehicleInfo[veh2[playerid]][vLock] > 0)
  1013. {
  1014. SetVehicleParamsForPlayer(veh2[playerid], 0, 0, 1);
  1015. return 1;
  1016. }
  1017. return 1;
  1018. }
  1019. else if(strcmp(string, PlayerVehicle[playerid][pVeh3], true) == 0)
  1020. {
  1021. veh3[playerid] = CreateVehicle(dini_Int(file, "Model"), dini_Float(file, "ParkX"), dini_Float(file, "ParkY"), dini_Float(file, "ParkZ"), dini_Float(file, "ParkAngle"), dini_Int(file, "Color1"), dini_Int(file, "Color2"), 60000);
  1022. strmid(VehicleInfo[veh3[playerid]][vOwner], dini_Get(file, "Owner"), 0, strlen(dini_Get(file, "Owner")), 255);
  1023. strmid(VehicleInfo[veh3[playerid]][vDescription], dini_Get(file, "Description"), 0, strlen(dini_Get(file, "Description")), 255);
  1024. VehicleInfo[veh3[playerid]][vModel] = dini_Int(file, "Model");
  1025. VehicleInfo[veh3[playerid]][vX] = dini_Float(file, "ParkX");
  1026. VehicleInfo[veh3[playerid]][vY] = dini_Float(file, "ParkY");
  1027. VehicleInfo[veh3[playerid]][vZ] = dini_Float(file, "ParkZ");
  1028. VehicleInfo[veh3[playerid]][vAngle] = dini_Float(file, "ParkAngle");
  1029. VehicleInfo[veh3[playerid]][vColorOne] = dini_Int(file, "color1");
  1030. VehicleInfo[veh3[playerid]][vColorTwo] = dini_Int(file, "color2");
  1031. VehicleInfo[veh3[playerid]][vOwned] = dini_Int(file, "Owned");
  1032. VehicleInfo[veh3[playerid]][vLock] = dini_Int(file, "Lock");
  1033. VehicleInfo[veh3[playerid]][vLockBuyed] = dini_Int(file, "LockBuyed");
  1034. VehicleInfo[veh3[playerid]][vRentPrice] = dini_Int(file, "RentPrice");
  1035. VehicleInfo[veh3[playerid]][vAlarm] = dini_Int(file, "Alarm");
  1036. IsOwned[veh3[playerid]] = 1;
  1037. new sb[256]; format(sb, sizeof(sb), "Twój %s został zespawnowany w miejscu gdzie go zaparkowałeś.", VehicleNames[GetVehicleModel(veh3[playerid])-400]); SendClientMessage(playerid, COLOR_YELLOW, sb);
  1038. format(sb, sizeof(sb), "INFO: Model:[%s] |Własciciel:[%s] |Opis:[%s] |PoziomZamknięcia:[%d] |CenaWynajmu: [$%d] |PoziomAlarmu:[%d]", VehicleNames[GetVehicleModel(veh3[playerid])-400], VehicleInfo[veh3[playerid]][vOwner], string,
  1039. VehicleInfo[veh3[playerid]][vLock], VehicleInfo[veh3[playerid]][vRentPrice], VehicleInfo[veh3[playerid]][vAlarm]);
  1040. SendClientMessage(playerid, COLOR_GREEN, sb);
  1041. if(VehicleInfo[veh3[playerid]][vLock] > 0)
  1042. {
  1043. SetVehicleParamsForPlayer(veh3[playerid], 0, 0, 1);
  1044. return 1;
  1045. }
  1046. return 1;
  1047. }
  1048. else if(strcmp(string, PlayerVehicle[playerid][pVeh4], true) == 0)
  1049. {
  1050. veh2[playerid] = CreateVehicle(dini_Int(file, "Model"), dini_Float(file, "ParkX"), dini_Float(file, "ParkY"), dini_Float(file, "ParkZ"), dini_Float(file, "ParkAngle"), dini_Int(file, "Color1"), dini_Int(file, "Color2"), 60000);
  1051. strmid(VehicleInfo[veh4[playerid]][vOwner], dini_Get(file, "Owner"), 0, strlen(dini_Get(file, "Owner")), 255);
  1052. strmid(VehicleInfo[veh4[playerid]][vDescription], dini_Get(file, "Description"), 0, strlen(dini_Get(file, "Description")), 255);
  1053. VehicleInfo[veh4[playerid]][vModel] = dini_Int(file, "Model");
  1054. VehicleInfo[veh4[playerid]][vX] = dini_Float(file, "ParkX");
  1055. VehicleInfo[veh4[playerid]][vY] = dini_Float(file, "ParkY");
  1056. VehicleInfo[veh4[playerid]][vZ] = dini_Float(file, "ParkZ");
  1057. VehicleInfo[veh4[playerid]][vAngle] = dini_Float(file, "ParkAngle");
  1058. VehicleInfo[veh4[playerid]][vColorOne] = dini_Int(file, "color1");
  1059. VehicleInfo[veh4[playerid]][vColorTwo] = dini_Int(file, "color2");
  1060. VehicleInfo[veh4[playerid]][vOwned] = dini_Int(file, "Owned");
  1061. VehicleInfo[veh4[playerid]][vLock] = dini_Int(file, "Lock");
  1062. VehicleInfo[veh4[playerid]][vLockBuyed] = dini_Int(file, "LockBuyed");
  1063. VehicleInfo[veh4[playerid]][vRentPrice] = dini_Int(file, "RentPrice");
  1064. VehicleInfo[veh4[playerid]][vAlarm] = dini_Int(file, "Alarm");
  1065. IsOwned[veh4[playerid]] = 1;
  1066. new sb[256]; format(sb, sizeof(sb), "Twój %s został zespawnowany w miejscu gdzie go zaparkowałeś.", VehicleNames[GetVehicleModel(veh4[playerid])-400]); SendClientMessage(playerid, COLOR_YELLOW, sb);
  1067. format(sb, sizeof(sb), "INFO: Model:[%s] |Własciciel:[%s] |Opis:[%s] |PoziomZamknięcia:[%d] |CenaWynajmu: [$%d] |PoziomAlarmu:[%d]", VehicleNames[GetVehicleModel(veh2[playerid])-400], VehicleInfo[veh2[playerid]][vOwner], string,
  1068. VehicleInfo[veh4[playerid]][vLock], VehicleInfo[veh4[playerid]][vRentPrice], VehicleInfo[veh4[playerid]][vAlarm]);
  1069. SendClientMessage(playerid, COLOR_GREEN, sb);
  1070. if(VehicleInfo[veh4[playerid]][vLock] > 0)
  1071. {
  1072. SetVehicleParamsForPlayer(veh4[playerid], 0, 0, 1);
  1073. return 1;
  1074. }
  1075. return 1;
  1076. }
  1077. else if(strcmp(string, PlayerVehicle[playerid][pVeh5], true) == 0)
  1078. {
  1079. veh5[playerid] = CreateVehicle(dini_Int(file, "Model"), dini_Float(file, "ParkX"), dini_Float(file, "ParkY"), dini_Float(file, "ParkZ"), dini_Float(file, "ParkAngle"), dini_Int(file, "Color1"), dini_Int(file, "Color2"), 60000);
  1080. strmid(VehicleInfo[veh5[playerid]][vOwner], dini_Get(file, "Owner"), 0, strlen(dini_Get(file, "Owner")), 255);
  1081. strmid(VehicleInfo[veh5[playerid]][vDescription], dini_Get(file, "Description"), 0, strlen(dini_Get(file, "Description")), 255);
  1082. VehicleInfo[veh5[playerid]][vModel] = dini_Int(file, "Model");
  1083. VehicleInfo[veh5[playerid]][vX] = dini_Float(file, "ParkX");
  1084. VehicleInfo[veh5[playerid]][vY] = dini_Float(file, "ParkY");
  1085. VehicleInfo[veh5[playerid]][vZ] = dini_Float(file, "ParkZ");
  1086. VehicleInfo[veh5[playerid]][vAngle] = dini_Float(file, "ParkAngle");
  1087. VehicleInfo[veh5[playerid]][vColorOne] = dini_Int(file, "color1");
  1088. VehicleInfo[veh5[playerid]][vColorTwo] = dini_Int(file, "color2");
  1089. VehicleInfo[veh5[playerid]][vOwned] = dini_Int(file, "Owned");
  1090. VehicleInfo[veh5[playerid]][vLock] = dini_Int(file, "Lock");
  1091. VehicleInfo[veh5[playerid]][vLockBuyed] = dini_Int(file, "LockBuyed");
  1092. VehicleInfo[veh5[playerid]][vRentPrice] = dini_Int(file, "RentPrice");
  1093. VehicleInfo[veh5[playerid]][vAlarm] = dini_Int(file, "Alarm");
  1094. IsOwned[veh5[playerid]] = 1;
  1095. new sb[256]; format(sb, sizeof(sb), "Twój %s został zespawnowany w miejscu gdzie go zaparkowałeś.", VehicleNames[GetVehicleModel(veh5[playerid])-400]); SendClientMessage(playerid, COLOR_YELLOW, sb);
  1096. format(sb, sizeof(sb), "INFO: Model:[%s] |Własciciel:[%s] |Opis:[%s] |PoziomZamknięcia:[%d] |CenaWynajmu: [$%d] |PoziomAlarmu:[%d]", VehicleNames[GetVehicleModel(veh5[playerid])-400], VehicleInfo[veh5[playerid]][vOwner], string,
  1097. VehicleInfo[veh5[playerid]][vLock], VehicleInfo[veh5[playerid]][vRentPrice], VehicleInfo[veh5[playerid]][vAlarm]);
  1098. SendClientMessage(playerid, COLOR_GREEN, sb);
  1099. if(VehicleInfo[veh5[playerid]][vLock] > 0)
  1100. {
  1101. SetVehicleParamsForPlayer(veh5[playerid], 0, 0, 1);
  1102. return 1;
  1103. }
  1104. return 1;
  1105. }
  1106. return 1;
  1107. }
  1108.  
  1109. stock GetOwnedVehicleID(playerid)
  1110. {
  1111. for(new v = 1; v < MAX_VEHICLES; v++)
  1112. {
  1113. if (IsVehicleSpawned(v))
  1114. {
  1115. if (!strcmp(VehicleInfo[v][vOwner], GetName(playerid))) return v;
  1116. }
  1117. }
  1118. return INVALID_VEHICLE_ID;
  1119. }
  1120.  
  1121. public split(const strsrc[], strdest[][], delimiter)
  1122. {
  1123. new i, li;
  1124. new aNum;
  1125. new len;
  1126. while(i <= strlen(strsrc)){
  1127. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  1128. len = strmid(strdest[aNum], strsrc, li, i, 128);
  1129. strdest[aNum][len] = 0;
  1130. li = i+1;
  1131. aNum++;
  1132. }
  1133. i++;
  1134. }
  1135. return 1;
  1136. }
  1137.  
  1138. public OnPlayerConnect(playerid)
  1139. {
  1140. SetPlayerVirtualWorld(playerid,0);
  1141. new str[256], plname[MAX_PLAYER_NAME];
  1142. GetPlayerName(playerid, plname, sizeof(plname));
  1143. new str2[256];
  1144. format(str2, sizeof(str2), "Witaj %s :)", plname);
  1145. SendClientMessage(playerid, COLOR_WHITE, str2);
  1146. format(str, sizeof(str), "GF/Pojazdy/Kupione/%s", plname);
  1147. if(dini_Exists(str))
  1148. {
  1149. strmid(PlayerVehicle[playerid][pVeh1], dini_Get(str, "Vehicle1"), 0, strlen(dini_Get(str, "Vehicle1")), 255);
  1150. strmid(PlayerVehicle[playerid][pVeh2], dini_Get(str, "Vehicle2"), 0, strlen(dini_Get(str, "Vehicle2")), 255);
  1151. strmid(PlayerVehicle[playerid][pVeh3], dini_Get(str, "Vehicle3"), 0, strlen(dini_Get(str, "Vehicle3")), 255);
  1152. strmid(PlayerVehicle[playerid][pVeh4], dini_Get(str, "Vehicle4"), 0, strlen(dini_Get(str, "Vehicle4")), 255);
  1153. strmid(PlayerVehicle[playerid][pVeh5], dini_Get(str, "Vehicle5"), 0, strlen(dini_Get(str, "Vehicle5")), 255);
  1154. pToolkit[playerid] = dini_Int(str, "Toolkit");
  1155. return 1;
  1156. }
  1157. else
  1158. {
  1159. dini_Create(str);
  1160. strmid(PlayerVehicle[playerid][pVeh1], "None", 0, strlen("None"), 255);
  1161. strmid(PlayerVehicle[playerid][pVeh2], "None", 0, strlen("None"), 255);
  1162. strmid(PlayerVehicle[playerid][pVeh3], "None", 0, strlen("None"), 255);
  1163. strmid(PlayerVehicle[playerid][pVeh4], "None", 0, strlen("None"), 255);
  1164. strmid(PlayerVehicle[playerid][pVeh5], "None", 0, strlen("None"), 255);
  1165. //return 1;
  1166. }
  1167. pColor[playerid] = -1;
  1168. pToAccept[playerid] = 255;
  1169. vToAccept[playerid] = 999;
  1170. prToAccept[playerid] = 0;
  1171. pRent[playerid] = 999;
  1172. pSearched[playerid] = 0;
  1173. Egale[playerid] = 0;
  1174. return 1;
  1175. }
  1176.  
  1177. public OnPlayerDisconnect(playerid, reason)
  1178. {
  1179. new str[256], plname[MAX_PLAYER_NAME];
  1180. GetPlayerName(playerid, plname, sizeof(plname));
  1181. format(str, sizeof(str), "GF/Pojazdy/Kupione/%s", plname);
  1182. dini_Set(str, "Vehicle1", PlayerVehicle[playerid][pVeh1]);
  1183. dini_Set(str, "Vehicle2", PlayerVehicle[playerid][pVeh2]);
  1184. dini_Set(str, "Vehicle3", PlayerVehicle[playerid][pVeh3]);
  1185. dini_Set(str, "Vehicle4", PlayerVehicle[playerid][pVeh4]);
  1186. dini_Set(str, "Vehicle5", PlayerVehicle[playerid][pVeh5]);
  1187. dini_IntSet(str, "Toolkit", pToolkit[playerid]);
  1188. if(pRent[playerid] != 999)
  1189. {
  1190. vRented[pRent[playerid]] = 255;
  1191. pRent[playerid] = 999;
  1192. return 1;
  1193. }
  1194. return 1;
  1195. }
  1196.  
  1197. public OnVehicleSpawn(vehicleid)
  1198. {
  1199. Fuel[vehicleid] = Random(SPAWN_GAS_MIN, SPAWN_GAS_MAX);
  1200. return 1;
  1201. }
  1202.  
  1203. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  1204. {
  1205. if(IsPlayerConnected(playerid))
  1206. {
  1207. new Float:oldposx, Float:oldposy, Float:oldposz;
  1208. new Float:tempposx, Float:tempposy, Float:tempposz;
  1209. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1210. tempposx = (oldposx -x);
  1211. tempposy = (oldposy -y);
  1212. tempposz = (oldposz -z);
  1213. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  1214. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1215. {
  1216. return 1;
  1217. }
  1218. }
  1219. return 0;
  1220. }
  1221. forward ProxDetectorS(Float:radi, playerid, targetid);
  1222. public ProxDetectorS(Float:radi, playerid, targetid)
  1223. {
  1224. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  1225. {
  1226. new Float:posx, Float:posy, Float:posz;
  1227. new Float:oldposx, Float:oldposy, Float:oldposz;
  1228. new Float:tempposx, Float:tempposy, Float:tempposz;
  1229. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1230. //radi = 2.0; //Trigger Radius
  1231. GetPlayerPos(targetid, posx, posy, posz);
  1232. tempposx = (oldposx -posx);
  1233. tempposy = (oldposy -posy);
  1234. tempposz = (oldposz -posz);
  1235. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  1236. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1237. {
  1238. return 1;
  1239. }
  1240. }
  1241. return 0;
  1242. }
  1243. forward RobVeh(playerid, v);
  1244. public RobVeh(playerid, v)
  1245. {
  1246. new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name));
  1247. new str[256];
  1248. if(ProxDetectorV(2, playerid, v))
  1249. {
  1250. if(Egale[playerid] == 1)
  1251. {
  1252. new Rob;
  1253. Rob = random(8);
  1254. switch(Rob)
  1255. {
  1256. case 0,1,2,3,4:
  1257. {
  1258. VehicleInfo[v][vLock] = 0;
  1259. SetVehicleParamsForPlayer(pRent[playerid], 0, 0, 0);
  1260. format(str, sizeof(str), "%s ukaradł pojazd", name);
  1261. ProxDetector(15, playerid, str, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1262. Egale[playerid] = 0;
  1263. return 1;
  1264. }
  1265. case 6,7:
  1266. {
  1267. format(str, sizeof(str), "%s nie udało mu się ukraść pojazdu.", name);
  1268. ProxDetector(15, playerid, str, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1269. Egale[playerid] = 0;
  1270. return 1;
  1271. }
  1272. }
  1273. }
  1274. else
  1275. {
  1276. VehicleInfo[v][vLock] = 0;
  1277. SetVehicleParamsForPlayer(pRent[playerid], 0, 0, 0);
  1278. format(str, sizeof(str), "%s ukradł pojazd", name);
  1279. ProxDetector(15, playerid, str, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1280. return 1;
  1281. }
  1282. }
  1283. return 1;
  1284. }
  1285. forward ClearPRent(playerid, vehi);
  1286. public ClearPRent(playerid, vehi)
  1287. {
  1288. if(IsPlayerConnected(playerid))
  1289. {
  1290. vRented[vehi] = 255;
  1291. pRent[playerid] = 999;
  1292. SendClientMessage(playerid, COLOR_WHITE, "Twój czas wynajmu się skończył");
  1293. return 1;
  1294. }
  1295. return 1;
  1296. }
  1297.  
  1298. public OnPlayerCommandText(playerid, cmdtext[])
  1299. {
  1300. new cmd[256];
  1301. new tmp[256];
  1302. new idx;
  1303. new playername[MAX_PLAYER_NAME];
  1304. new string[256];
  1305. cmd = strtok(cmdtext, idx);
  1306. new vehicleid = GetPlayerVehicleID(playerid);
  1307. if(strcmp(cmdtext, "/tankuj", true) == 0)
  1308. {
  1309. if(IsPlayerConnected(playerid)){
  1310. if(IsAtFuelStation(playerid)){
  1311. if(Refueling[playerid] == 0){
  1312. if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessage(playerid,COLOR_YELLOW,".: Error: You are not in a vehicle or this vehicle does not need fuel :.");
  1313. if(Fuel[vehicleid] >= 100){
  1314. SendClientMessage(playerid,COLOR_YELLOW,".:: [PALIWO]: Twój bak jest pełny.");
  1315. } else {
  1316. OldFuel[playerid] = floatround(Fuel[vehicleid]);
  1317. ReFuelTimer[playerid] = SetTimerEx("ReFill", 1000, true, "i", playerid);
  1318. Refueling[playerid] = 1;
  1319. }
  1320. } else { SendClientMessage(playerid,COLOR_YELLOW,".: [PALIWO]: Już tankujesz swój samochód!"); }
  1321. } else { SendClientMessage(playerid,COLOR_YELLOW,".:: [PALIWO]: Musisz jechać na stację benzynową, żeby zatankować."); }
  1322. }
  1323. return true;
  1324. }
  1325.  
  1326. if(strcmp(cmd, "/licznik", true) == 0)
  1327. {
  1328. if(IsPlayerConnected(playerid)){
  1329. new x_nr[256]; x_nr = strtok(cmdtext, idx);
  1330. if(!strlen(x_nr)) return SendClientMessage(playerid, COLOR_WHITE, "[UŻYJ]: /licznik [on/off]");
  1331. if(strcmp(x_nr,"on",true) == 0){
  1332. ShowSpeed[playerid] = 1;
  1333. GameTextForPlayer(playerid,"~w~Licznik ~g~Wlaczony",3000,3);
  1334. return true;}
  1335. else if(strcmp(x_nr,"off",true) == 0){
  1336. ShowSpeed[playerid] = 0;
  1337. GameTextForPlayer(playerid,"~w~Licznik ~r~Wylaczony",3000,3);
  1338. return true;}
  1339. }
  1340. }
  1341.  
  1342. if(strcmp(cmd, "/wywal", true) == 0)
  1343. {
  1344. if(IsPlayerConnected(playerid))
  1345. {
  1346. tmp = strtok(cmdtext, idx);
  1347. if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "[UŻYJ]: /wywal [Gracz/ID]");
  1348. new giveplayerid = ReturnUser(tmp);
  1349. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(giveplayerid,GetPlayerVehicleID(playerid)))
  1350. {
  1351. if(IsPlayerConnected(giveplayerid) && playerid != giveplayerid)
  1352. {
  1353. SendFormattedText(playerid,COLOR_ORANGE,"[WYWAL]: Wywaliłeś %s(%i) ze swojego pojazdu.", GetName(giveplayerid), giveplayerid);
  1354. SendFormattedText(giveplayerid,COLOR_ORANGE,"[WYWAL]: Zostałeś wywalony z pojazu %s(%d).", GetName(playerid), playerid);
  1355. RemovePlayerFromVehicle(giveplayerid);
  1356. }
  1357. }
  1358. }
  1359. }
  1360. //-------------------------------[RENT]-------------------------------------------//
  1361. if (strcmp(cmd, "/wynajety", true) == 0)
  1362. {
  1363. new vehi = GetPlayerVehicleID(playerid);
  1364. tmp = strtok(cmdtext, idx);
  1365. if(!strlen(tmp))
  1366. {
  1367. SendClientMessage(playerid, COLOR_LIGHTBLUE, "UŻYJ: /wynajety [Akcja]");
  1368. SendClientMessage(playerid, COLOR_YELLOW2, "wynajmij, zamknij, otworz, znajdz");
  1369. return 1;
  1370. }
  1371. if(!strcmp(tmp, "wynajmij",true,4))
  1372. {
  1373. if(IsPlayerConnected(playerid))
  1374. {
  1375. if(!IsPlayerInAnyVehicle(playerid))
  1376. {
  1377. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1378. return 1;
  1379. }
  1380. if(VehicleInfo[vehi][vRentPrice] == 0)
  1381. {
  1382. SendClientMessage(playerid, COLOR_LIGHTRED, "Ten pojazd nie jest do wynajmu!");
  1383. return 1;
  1384. }
  1385. if(vRented[vehi] != 255 && pRent[playerid] != 999)
  1386. {
  1387. SendClientMessage(playerid, COLOR_LIGHTRED, "Ten pojazd jest już wynajęty lub ty już wynająłeś pojazd!");
  1388. return 1;
  1389. }
  1390. if(GetPlayerMoney(playerid) >= VehicleInfo[vehi][vRentPrice])
  1391. {
  1392. pRent[playerid] = vehi;
  1393. vRented[vehi] = playerid;
  1394. format(string, sizeof(string), "Wynająłeś %s for $%d.", VehicleNames[GetVehicleModel(vehi)-400], VehicleInfo[vehi][vRentPrice]);
  1395. SendClientMessage(playerid, COLOR_YELLOW, string);
  1396. SendClientMessage(playerid, COLOR_LIGHTRED, "OSTRZEŻENIE: jeśli opuścisz serwer z wynajętym pojazdem, ten pojazd przestanie być wynajęty za jedną godzine");
  1397. SetTimerEx("ClearPRent", 60000, false, "d", playerid, vehi);
  1398. GivePlayerMoney(playerid, -VehicleInfo[vehi][vRentPrice]);
  1399. GivePlayerMoney(VehicleInfo[vehi][vOwner], VehicleInfo[vehi][vRentPrice]);
  1400. return 1;
  1401. }
  1402. else
  1403. {
  1404. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz tyle pieniędzy!");
  1405. return 1;
  1406. }
  1407. }
  1408. }
  1409. if(!strcmp(tmp, "zamknij",true,4))
  1410. {
  1411. if(IsPlayerConnected(playerid))
  1412. {
  1413. if(!IsPlayerInAnyVehicle(playerid))
  1414. {
  1415. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1416. return 1;
  1417. }
  1418. if(pRent[playerid] == vehi && vRented[vehi] == playerid)
  1419. {
  1420. SetVehicleParamsForPlayer(vehi, 0, 0, 1);
  1421. new str[256];
  1422. format(str, sizeof(str), "~w~%s ~n~~r~zamkniety", VehicleNames[GetVehicleModel(vehi)-400]);
  1423. GameTextForPlayer(playerid, str, 7000, 5);
  1424. return 1;
  1425. }
  1426. else
  1427. {
  1428. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie wynajmujesz pojazdu!");
  1429. return 1;
  1430. }
  1431. }
  1432. }
  1433. if(!strcmp(tmp, "otworz",true,4))
  1434. {
  1435. if(IsPlayerConnected(playerid))
  1436. {
  1437. if(pRent[playerid] == 999)
  1438. {
  1439. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie wynajmujesz pojazdu!");
  1440. return 1;
  1441. }
  1442. if(ProxDetectorV(6, playerid, pRent[playerid]))
  1443. {
  1444. SetVehicleParamsForPlayer(pRent[playerid], 0, 0, 0);
  1445. new str[256];
  1446. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(pRent[playerid])-400]);
  1447. GameTextForPlayer(playerid, str, 7000, 5);
  1448. return 1;
  1449. }
  1450. else
  1451. {
  1452. SendClientMessage(playerid, COLOR_LIGHTRED, "Jesteś za daleko od wynajmowanego pojazdu!");
  1453. return 1;
  1454. }
  1455. }
  1456. }
  1457. if(!strcmp(tmp, "znajdz",true,4))
  1458. {
  1459. if(IsPlayerConnected(playerid))
  1460. {
  1461. if(pRent[playerid] == 999)
  1462. {
  1463. SendClientMessage(playerid, COLOR_LIGHTRED, "Wynajmujesz już pojazd!");
  1464. return 1;
  1465. }
  1466. if(ProxDetectorV(50, playerid, pRent[playerid]))
  1467. {
  1468. SendClientMessage(playerid, COLOR_LIGHTRED, "Jesteś za daleko od wynajmowanego pojazdu!");
  1469. return 1;
  1470. }
  1471. if(pSearched[playerid] == 1)
  1472. {
  1473. SendClientMessage(playerid, COLOR_LIGHTRED, "Szukałeś przed chwilą swojego pojazdu, poczekaj 5 minut!");
  1474. return 1;
  1475. }
  1476. new Float:X, Float:Y, Float:Z;
  1477. GetVehiclePos(pRent[playerid], X, Y, Z);
  1478. RentCheck[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  1479. new vZone[MAX_ZONE_NAME];
  1480. GetVehicleZone(pRent[playerid], vZone, MAX_ZONE_NAME);
  1481. format(string, sizeof(string), "Twój %s jest w %s, idź do czerwonego markera odebrać go", VehicleNames[GetVehicleModel(pRent[playerid])-400], vZone);
  1482. SendClientMessage(playerid, COLOR_YELLOW, string);
  1483. pSearched[playerid] = 1;
  1484. SetTimerEx("EnableSearch", 300000, false, "d", playerid);
  1485. return 1;
  1486. }
  1487. }
  1488. else
  1489. {
  1490. SendClientMessage(playerid, COLOR_LIGHTBLUE, "UŻYJ /wynajety [Akcja]");
  1491. SendClientMessage(playerid, COLOR_YELLOW2, "wynajmij, zamknij, otworz, znajdz");
  1492. return 1;
  1493. }
  1494. }
  1495. //-------------------------------[VEHCMDS]-------------------------------------------//
  1496. if (strcmp(cmd, "/vcmd", true) == 0)
  1497. {
  1498. GivePlayerMoney(playerid, 150000);
  1499. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|Vehicles_system|=====================");
  1500. SendClientMessage(playerid, COLOR_WHITE, "/pojazd /wynajety /vinfo /odpal /tankuj /spawnuj /wywal /licznik /about /opis /kupnarzedzia /vukradnij");
  1501. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|-by: James_Alex|=====================");
  1502. return 1;
  1503. }
  1504. //-------------------------------[ABOUT]-------------------------------------------//
  1505. if (strcmp(cmd, "/about", true) == 0)
  1506. {
  1507. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|System Pojazdów|=====================");
  1508. SendClientMessage(playerid, COLOR_WHITE, "Ten system pojazdów ma wiele możliwości.");
  1509. SendClientMessage(playerid, COLOR_WHITE, "Wpisz /opis aby je zobaczyć.");
  1510. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|-by: James_Alex|=====================");
  1511. return 1;
  1512. }
  1513. //-------------------------------[FEATURES]-------------------------------------------//
  1514. if (strcmp(cmd, "/opis", true) == 0)
  1515. {
  1516. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|System Pojazdów|=====================");
  1517. SendClientMessage(playerid, COLOR_WHITE, "1-możesz kupić pojazd.");
  1518. SendClientMessage(playerid, COLOR_WHITE, "2-każdy pojad ma swoją cenę");
  1519. SendClientMessage(playerid, COLOR_WHITE, "3-licznik prędkości");
  1520. SendClientMessage(playerid, COLOR_WHITE, "4-system silnika");
  1521. SendClientMessage(playerid, COLOR_WHITE, "5-system tankowania");
  1522. SendClientMessage(playerid, COLOR_WHITE, "6-system wynajmowania");
  1523. SendClientMessage(playerid, COLOR_WHITE, "7-Systemy parkowania, brania, znajdowania...");
  1524. SendClientMessage(playerid, COLOR_LIGHTBLUE, "=======================|by: James_Alex|=====================");
  1525. return 1;
  1526. }
  1527. //-------------------------------[ROBVEH]-------------------------------------------//
  1528. if (strcmp(cmd, "/vukradnij", true) == 0)
  1529. {
  1530. if(pToolkit[playerid] == 0)
  1531. {
  1532. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz narzędzi!");
  1533. return 1;
  1534. }
  1535. for(new v=0;v<MAX_VEHICLES;v++)
  1536. {
  1537. if(IsPlayerInAnyVehicle(playerid))
  1538. {
  1539. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1540. return 1;
  1541. }
  1542. if(!ProxDetectorV(4, playerid, v))
  1543. {
  1544. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w okolicy żadnego pojazdu!");
  1545. return 1;
  1546. }
  1547. if(VehicleInfo[v][vLock] == 0)
  1548. {
  1549. SendClientMessage(playerid, COLOR_LIGHTRED, "Ten pojazd nie jest zamknięty!");
  1550. return 1;
  1551. }
  1552. new name[MAX_PLAYER_NAME];
  1553. GetPlayerName(playerid, name, sizeof(name));
  1554. if(strcmp(name, VehicleInfo[v][vOwner], true) == 0)
  1555. {
  1556. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie możesz ukraść tego pojazdu!");
  1557. return 1;
  1558. }
  1559. if(pToolkit[playerid] < VehicleInfo[v][vLock])
  1560. {
  1561. format(string, sizeof(string), "%s nie ukradłeś pojazdu", name);
  1562. ProxDetector(15, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1563. return 1;
  1564. }
  1565. else if(pToolkit[playerid] == VehicleInfo[v][vLock])
  1566. {
  1567. format(string, sizeof(string), "%s próbuje ukraść pojazd", name);
  1568. ProxDetector(15, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1569. SetTimerEx("RobVeh", 5000, false, "d", playerid, v);
  1570. Egale[playerid] = 1;
  1571. return 1;
  1572. }
  1573. else if(pToolkit[playerid] > VehicleInfo[v][vLock])
  1574. {
  1575. format(string, sizeof(string), "%s próbuje ukraśc pojazd", name);
  1576. ProxDetector(15, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1577. SetTimerEx("RobVeh", 5000, false, "d", playerid, v);
  1578. Egale[playerid] = 0;
  1579. return 1;
  1580. }
  1581. }
  1582. }
  1583. //-------------------------------[BUYTOOLKIT]-------------------------------------------//
  1584. if (strcmp(cmd, "/kupnarzedzia", true) == 0)
  1585. {
  1586. tmp = strtok(cmdtext, idx);
  1587. if(!strlen(tmp))
  1588. {
  1589. SendClientMessage(playerid, COLOR_GREY, "USAGE: /kupnarzedzia [poziom(1-5)]");
  1590. return 1;
  1591. }
  1592. new tool;
  1593. tool = strval(tmp);
  1594. if(tool < 1 || tool > 5) { SendClientMessage(playerid, COLOR_LIGHTRED, "Poziom narzędzi nie może być mniejszy niż 1 i wiekszy niż 5 !"); return 1; }
  1595. if(pToolkit[playerid] >= tool) { format(string, sizeof(string), "Masz już system narzedzi %d poziomu lub wyższy!", tool); SendClientMessage(playerid, COLOR_LIGHTRED, string); return 1; }
  1596. new PriceT = tool*7000;
  1597. if(GetPlayerMoney(playerid) < PriceT)
  1598. {
  1599. format(string, sizeof(string), "Nie masz $%d aby kupić narzędzia poziomu %d", PriceT, tool);
  1600. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  1601. return 1;
  1602. }
  1603. pToolkit[playerid] = tool;
  1604. format(string, sizeof(string), "Kupiłeś narzędzia poziomu %d za $%d.", tool, PriceT);
  1605. SendClientMessage(playerid, COLOR_YELLOW, string);
  1606. GivePlayerMoney(playerid, -PriceT);
  1607. return 1;
  1608.  
  1609. }
  1610. //-------------------------------[VEHINFO]-------------------------------------------//
  1611. if (strcmp(cmd, "/vinfo", true) == 0)
  1612. {
  1613. if(!IsPlayerInAnyVehicle(playerid))
  1614. {
  1615. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1616. return 1;
  1617. }
  1618. new vehi = GetPlayerVehicleID(playerid);
  1619. if(VehicleInfo[vehi][vOwned] == 1)
  1620. {
  1621. new btext[20];
  1622. if(VehicleInfo[vehi][vColorOne] == 0) { btext = "Czarny"; }
  1623. else if(VehicleInfo[vehi][vColorOne] == 1) { btext = "Bialy"; }
  1624. else if(VehicleInfo[vehi][vColorOne] == 2) { btext = "Blekitny"; }
  1625. else if(VehicleInfo[vehi][vColorOne] == 3) { btext = "Czerwony"; }
  1626. else if(VehicleInfo[vehi][vColorOne] == 4) { btext = "Zielony"; }
  1627. else if(VehicleInfo[vehi][vColorOne] == 5) { btext = "Rozowy"; }
  1628. else if(VehicleInfo[vehi][vColorOne] == 6) { btext = "Zolty"; }
  1629. else if(VehicleInfo[vehi][vColorOne] == 7) { btext = "Niebieski"; }
  1630. else if(VehicleInfo[vehi][vColorOne] == 8) { btext = "Szary"; }
  1631. else if(VehicleInfo[vehi][vColorOne] == 42) { btext = "Jasno-Czerwony"; }
  1632. else if(VehicleInfo[vehi][vColorOne] == 16) { btext = "Jasno-Zielony"; }
  1633. else if(VehicleInfo[vehi][vColorOne] == 20) { btext = "Purpurowy"; }
  1634. new etext2[20];
  1635. if(VehicleInfo[vehi][vColorTwo] == 0) { etext2 = "Czarny"; }
  1636. else if(VehicleInfo[vehi][vColorTwo] == 1) { btext = "Bialy"; }
  1637. else if(VehicleInfo[vehi][vColorTwo] == 2) { btext = "Blekitny"; }
  1638. else if(VehicleInfo[vehi][vColorTwo] == 3) { btext = "Czerwony"; }
  1639. else if(VehicleInfo[vehi][vColorTwo] == 4) { btext = "Zielony"; }
  1640. else if(VehicleInfo[vehi][vColorTwo] == 5) { btext = "Rozowy"; }
  1641. else if(VehicleInfo[vehi][vColorTwo] == 6) { btext = "Zolty"; }
  1642. else if(VehicleInfo[vehi][vColorTwo] == 7) { btext = "Niebieski"; }
  1643. else if(VehicleInfo[vehi][vColorTwo] == 8) { btext = "Szary"; }
  1644. else if(VehicleInfo[vehi][vColorTwo] == 42) { btext = "Jasno-Czerwony"; }
  1645. else if(VehicleInfo[vehi][vColorTwo] == 16) { btext = "Jasno-Zielony"; }
  1646. else if(VehicleInfo[vehi][vColorTwo] == 20) { btext = "Purpurowy"; }
  1647. new ltext[20];
  1648. if(VehicleInfo[vehi][vLock] >= 1) { ltext = "yes"; }
  1649. else if(VehicleInfo[vehi][vLock] == 0) { ltext = "no"; }
  1650. new atext[20];
  1651. if(VehicleInfo[vehi][vAlarm] >= 1) { atext = "yes"; }
  1652. else if(VehicleInfo[vehi][vAlarm] == 0) { atext = "no"; }
  1653. new rtext[20];
  1654. if(Engine[vehi] == 0) { rtext = "stoped"; }
  1655. else if(Engine[vehi] == 1) { rtext = "started"; }
  1656. new rtext2[20];
  1657. if(VehicleInfo[vehi][vRentPrice] == 0) { rtext2 = "no"; }
  1658. else { rtext2 = "yes"; }
  1659. format(string, sizeof(string), "Model:%s|Własciciel:%s|Opis:%s|Silnik:%s|Alarm:%s|AlarmPoziom:%d|Kolor1:%s|Kolor2:%s|Zamknięty:%s|ZamkniętyPozioml:%s|Wynajęty:%s|WynajętyPoziom:$%d", VehicleNames[GetVehicleModel(vehi)-400],
  1660. VehicleInfo[vehi][vOwner], VehicleInfo[vehi][vDescription], rtext, atext, VehicleInfo[vehi][vAlarm], btext, etext2, ltext, VehicleInfo[vehi][vLockBuyed], rtext2, VehicleInfo[vehi][vRentPrice]);
  1661. return 1;
  1662. }
  1663. else
  1664. {
  1665. SendClientMessage(playerid, COLOR_WHITE, "Możesz zobaczyć info tylko swojego pojazdu!");
  1666. return 1;
  1667. }
  1668. }
  1669. //-------------------------------[ENGINE]-------------------------------------------//
  1670. if (strcmp(cmd, "/odpal", true) ==0 )
  1671. {
  1672. new name[MAX_PLAYER_NAME];
  1673. GetPlayerName(playerid, name, sizeof(name));
  1674. if(!IsPlayerInAnyVehicle(playerid))
  1675. {
  1676. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1677. return 1;
  1678. }
  1679. new veha = GetPlayerVehicleID(playerid);
  1680. if(Engine[veha] == 0)
  1681. {
  1682. if(VehicleInfo[veha][vRentPrice] == 0)
  1683. {
  1684. SetTimerEx("EngineOn", 7000, false, "i", veha, playerid);
  1685. format(string, sizeof(string), "~y~Odpalanie silnika %s", VehicleNames[GetVehicleModel(veha)-400]);
  1686. GameTextForPlayer(playerid, string, 6000, 5);
  1687. format(string, sizeof(string), "%s próbuje odpalić silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  1688. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1689. return 1;
  1690. }
  1691. else
  1692. {
  1693. if(vRented[veha] == playerid && pRent[playerid] == veha || strcmp(name, VehicleInfo[veha][vOwner], true) == 0)
  1694. {
  1695. SetTimerEx("EngineOn", 7000, false, "i", veha, playerid);
  1696. format(string, sizeof(string), "~y~Odpalanie silnika %s", VehicleNames[GetVehicleModel(veha)-400]);
  1697. GameTextForPlayer(playerid, string, 6000, 5);
  1698. format(string, sizeof(string), "%s próbuje odpalić silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  1699. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1700. return 1;
  1701. }
  1702. }
  1703. }
  1704. else
  1705. {
  1706. TogglePlayerControllable(playerid, 0);
  1707. Engine[veha] = 0;
  1708. format(string, sizeof(string), "%s zatrzymał silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  1709. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  1710. return 1;
  1711. }
  1712. }
  1713. //-------------------------------[V]-------------------------------------------//
  1714. if (strcmp(cmd, "/diler", true) ==0 )
  1715. {
  1716. SetPlayerPos(playerid,333.3357,-1337.9447,14.5078);
  1717. SetCameraBehindPlayer(playerid);
  1718. return 1;
  1719. }
  1720. if (strcmp(cmd, "/pojazd", true) ==0 )
  1721. {
  1722. tmp = strtok(cmdtext, idx);
  1723. if(!strlen(tmp))
  1724. {
  1725. SendClientMessage(playerid, COLOR_LIGHTBLUE, "UŻYJ: /pojazd [Akcja]");
  1726. SendClientMessage(playerid, COLOR_YELLOW2, "kup, pomoc, sprzedaj, oferta, parkuj, znajdz, spawnuj, zamknij, otworz, zmienkolor");
  1727. SendClientMessage(playerid, COLOR_YELLOW2, "kupzamek, kupalarm, cenawynajmu, cenaodwynajmu, reklama");
  1728. SendClientMessage(playerid, COLOR_YELLOW2, "akceptuj, odmow");
  1729. return 1;
  1730. }
  1731. if(!strcmp(tmp, "kup",true,4))
  1732. {
  1733. if(IsPlayerConnected(playerid))
  1734. {
  1735. tmp = strtok(cmdtext, idx);
  1736. if(!strlen(tmp))
  1737. {
  1738. SendClientMessage(playerid, COLOR_GRAD2, "UŻYJ: /pojazd kup [Model]");
  1739. SendClientMessage(playerid, COLOR_GRAD2, "Użyj /pojazd pomoc aby zobaczyć modele pojazdów i ich ceny.");
  1740. return 1;
  1741. }
  1742. if (PlayerToPoint(4.0,playerid,333.3357,-1337.9447,14.5078))
  1743. {
  1744. new car;
  1745. car = strval(tmp);
  1746. if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_LIGHTRED, "Numer pojazdu nie może być mniejszy niż 400 i wiekszy niż 611!"); return 1; }
  1747. if(CarsPrices[car-400] == 0)
  1748. {
  1749. SendClientMessage(playerid, COLOR_LIGHTRED, "Ten pojazd nie jest na sprzedaż!");
  1750. return 1;
  1751. }
  1752. if(GetPlayerMoney(playerid) < CarsPrices[car-400])
  1753. {
  1754. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz tyle pieniędzy!");
  1755. return 1;
  1756. }
  1757. pCar[playerid] = car;
  1758. ShowMenuForPlayer(ColorsS, playerid);
  1759. return 1;
  1760. }
  1761. else
  1762. {
  1763. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w sklepie dilera!");
  1764. return 1;
  1765. }
  1766. }
  1767. }
  1768. if(!strcmp(tmp, "cenawynajmu",true,4))
  1769. {
  1770. if(!IsPlayerInAnyVehicle(playerid))
  1771. {
  1772. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1773. return 1;
  1774. }
  1775. new vehi = GetPlayerVehicleID(playerid);
  1776. if(VehicleInfo[vehi][vOwned] != 1)
  1777. {
  1778. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1779. return 1;
  1780. }
  1781. new plname[MAX_PLAYER_NAME];
  1782. GetPlayerName(playerid, plname, sizeof(plname));
  1783. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  1784. {
  1785. tmp = strtok(cmdtext, idx);
  1786. if(!strlen(tmp))
  1787. {
  1788. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd cenawynajmu [cena]");
  1789. return 1;
  1790. }
  1791. new pp = strval(tmp);
  1792. if(pp < 500 || pp > 100000) { SendClientMessage(playerid, COLOR_LIGHTRED, "Cena wynajmu nie może być mniejsza niż $500 i większa niż $100000"); return 1; }
  1793. VehicleInfo[vehi][vRentPrice] = pp;
  1794. format(string, sizeof(string), "Twój %s jest teraz do wynajmu za $%d.", VehicleNames[GetVehicleModel(vehi)-400], pp);
  1795. SendClientMessage(playerid, COLOR_YELLOW, string);
  1796. SaveVehicles(playerid, vehi);
  1797. return 1;
  1798. }
  1799. else
  1800. {
  1801. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1802. return 1;
  1803. }
  1804. }
  1805. if(!strcmp(tmp, "cenaodwynajmu",true,4))
  1806. {
  1807. if(!IsPlayerInAnyVehicle(playerid))
  1808. {
  1809. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1810. return 1;
  1811. }
  1812. new vehi = GetPlayerVehicleID(playerid);
  1813. if(VehicleInfo[vehi][vOwned] != 1)
  1814. {
  1815. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1816. return 1;
  1817. }
  1818. new plname[MAX_PLAYER_NAME];
  1819. GetPlayerName(playerid, plname, sizeof(plname));
  1820. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  1821. {
  1822. if(VehicleInfo[vehi][vRentPrice] > 0)
  1823. {
  1824. VehicleInfo[vehi][vRentPrice] = 0;
  1825. format(string, sizeof(string), "Twój %s został odwynajmowany..", VehicleNames[GetVehicleModel(vehi)-400]);
  1826. SendClientMessage(playerid, COLOR_YELLOW, string);
  1827. SaveVehicles(playerid, vehi);
  1828. return 1;
  1829. }
  1830. else
  1831. {
  1832. SendClientMessage(playerid, COLOR_LIGHTRED, "Ten pojazd nie jest od wynajmu!");
  1833. return 1;
  1834. }
  1835. }
  1836. else
  1837. {
  1838. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1839. return 1;
  1840. }
  1841. }
  1842. if(!strcmp(tmp, "reklama",true,4))
  1843. {
  1844. if(!IsPlayerInAnyVehicle(playerid))
  1845. {
  1846. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1847. return 1;
  1848. }
  1849. new vehi = GetPlayerVehicleID(playerid);
  1850. if(VehicleInfo[vehi][vOwned] != 1)
  1851. {
  1852. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1853. return 1;
  1854. }
  1855. new plname[MAX_PLAYER_NAME];
  1856. GetPlayerName(playerid, plname, sizeof(plname));
  1857. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  1858. {
  1859. tmp = strtok(cmdtext, idx);
  1860. if(!strlen(tmp))
  1861. {
  1862. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd reklama [cena]");
  1863. return 1;
  1864. }
  1865. new pp = strval(tmp);
  1866. format(string, sizeof(string), "%s zaoferował swojego %s za $%d", plname, VehicleNames[GetVehicleModel(vehi)-400], pp);
  1867. SendClientMessageToAll(COLOR_WHITE, string);
  1868. new btext[20];
  1869. if(VehicleInfo[vehi][vColorOne] == 0) { btext = "Czarny"; }
  1870. else if(VehicleInfo[vehi][vColorOne] == 1) { btext = "Bialy"; }
  1871. else if(VehicleInfo[vehi][vColorOne] == 2) { btext = "Blekitny"; }
  1872. else if(VehicleInfo[vehi][vColorOne] == 3) { btext = "Czerwony"; }
  1873. else if(VehicleInfo[vehi][vColorOne] == 4) { btext = "Zielony"; }
  1874. else if(VehicleInfo[vehi][vColorOne] == 5) { btext = "Rozowy"; }
  1875. else if(VehicleInfo[vehi][vColorOne] == 6) { btext = "Zolty"; }
  1876. else if(VehicleInfo[vehi][vColorOne] == 7) { btext = "Niebieski"; }
  1877. else if(VehicleInfo[vehi][vColorOne] == 8) { btext = "Szary"; }
  1878. else if(VehicleInfo[vehi][vColorOne] == 42) { btext = "Jasno-Czerwony"; }
  1879. else if(VehicleInfo[vehi][vColorOne] == 16) { btext = "Jasno-Zielony"; }
  1880. else if(VehicleInfo[vehi][vColorOne] == 20) { btext = "Purpurowy"; }
  1881. new etext2[20];
  1882. if(VehicleInfo[vehi][vColorTwo] == 0) { etext2 = "Czarny"; }
  1883. else if(VehicleInfo[vehi][vColorTwo] == 1) { btext = "Bialy"; }
  1884. else if(VehicleInfo[vehi][vColorTwo] == 2) { btext = "Blekitny"; }
  1885. else if(VehicleInfo[vehi][vColorTwo] == 3) { btext = "Czerwony"; }
  1886. else if(VehicleInfo[vehi][vColorTwo] == 4) { btext = "Zielony"; }
  1887. else if(VehicleInfo[vehi][vColorTwo] == 5) { btext = "Rozowy"; }
  1888. else if(VehicleInfo[vehi][vColorTwo] == 6) { btext = "Zolty"; }
  1889. else if(VehicleInfo[vehi][vColorTwo] == 7) { btext = "Niebieski"; }
  1890. else if(VehicleInfo[vehi][vColorTwo] == 8) { btext = "Szary"; }
  1891. else if(VehicleInfo[vehi][vColorTwo] == 42) { btext = "Jasno-Czerwony"; }
  1892. else if(VehicleInfo[vehi][vColorTwo] == 16) { btext = "Jasno-Zielony"; }
  1893. else if(VehicleInfo[vehi][vColorTwo] == 20) { btext = "Purpurowy"; }
  1894. new ltext[20];
  1895. if(VehicleInfo[vehi][vLock] >= 1) { ltext = "yes"; }
  1896. else if(VehicleInfo[vehi][vLock] == 0) { ltext = "no"; }
  1897. new atext[20];
  1898. if(VehicleInfo[vehi][vAlarm] >= 1) { atext = "yes"; }
  1899. else if(VehicleInfo[vehi][vAlarm] == 0) { atext = "no"; }
  1900. format(string, sizeof(string), "Model:[%s] |Kolor1:[%s] |Kolor2:[%s] |Zamknięty:[%s] |PoziomZamka:[%d] |Alarm:[%s] |PoziomAlarmu:[%d].", VehicleNames[GetVehicleModel(vehi)-400], btext, etext2, ltext, VehicleInfo[vehi][vLockBuyed], atext, VehicleInfo[vehi][vAlarm]);
  1901. SendClientMessageToAll(COLOR_LIGHTBLUE, string);
  1902. return 1;
  1903. }
  1904. else
  1905. {
  1906. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1907. return 1;
  1908. }
  1909. }
  1910. if(!strcmp(tmp, "pomoc",true,4))
  1911. {
  1912. if(IsPlayerConnected(playerid))
  1913. {
  1914. new length = strlen(cmdtext);
  1915. while ((idx < length) && (cmdtext[idx] <= ' '))
  1916. {
  1917. idx++;
  1918. }
  1919. new offset = idx;
  1920. new result[64];
  1921. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1922. {
  1923. result[idx - offset] = cmdtext[idx];
  1924. idx++;
  1925. }
  1926. result[idx - offset] = EOS;
  1927. if(!strlen(result))
  1928. {
  1929. SendClientMessage(playerid, COLOR_GRAD2, "UŻYJ: /pojazd pomoc [nazwa pojazdu]");
  1930. return 1;
  1931. }
  1932. new veh = GetVehicleModelIDFromName(result);
  1933. format(string, sizeof(string), "Nazwa:[%s] |Model:[%d] |Cena:[$%d]", VehicleNames[veh-400], veh, CarsPrices[veh-400]);
  1934. SendClientMessage(playerid, COLOR_WHITE, string);
  1935. return 1;
  1936. }
  1937. }
  1938. if(!strcmp(tmp, "sprzedaj",true,4))
  1939. {
  1940. if(!IsPlayerInAnyVehicle(playerid))
  1941. {
  1942. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  1943. return 1;
  1944. }
  1945. new vehi = GetPlayerVehicleID(playerid);
  1946. if(VehicleInfo[vehi][vOwned] != 1)
  1947. {
  1948. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  1949. return 1;
  1950. }
  1951. new plname[MAX_PLAYER_NAME];
  1952. GetPlayerName(playerid, plname, sizeof(plname));
  1953. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  1954. {
  1955. new PriceS = (CarsPrices[GetVehicleModel(vehi)-400]*30)/100;
  1956. new Price = CarsPrices[GetVehicleModel(vehi)-400]-PriceS;
  1957. format(string, sizeof(string), "Sprzedałeś swojego %s i dostałeś $%d", VehicleNames[GetVehicleModel(vehi)-400], Price);
  1958. SendClientMessage(playerid, COLOR_GREEN, string);
  1959. format(string, sizeof(string), "GF/Pojazdy/Kupione/%s.%s", plname, VehicleNames[GetVehicleModel(vehi)-400]);
  1960. GivePlayerMoney(playerid, Price);
  1961. new str[256];
  1962. format(str, sizeof(str), "GF/Pojazdy/Inne/%s.%s", plname, VehicleNames[GetVehicleModel(vehi)-400]);
  1963. if(strfind(str, PlayerVehicle[playerid][pVeh1], true) == 0)
  1964. {
  1965. DestroyVehicle(vehi);
  1966. fremove(string);
  1967. strmid(PlayerVehicle[playerid][pVeh1], "None", 0, strlen("None"), 255);
  1968. return 1;
  1969. }
  1970. else if(strcmp(str, PlayerVehicle[playerid][pVeh2], true) == 0)
  1971. {
  1972. DestroyVehicle(vehi);
  1973. fremove(string);
  1974. strmid(PlayerVehicle[playerid][pVeh2], "None", 0, strlen("None"), 255);
  1975. return 1;
  1976. }
  1977. else if(strcmp(str, PlayerVehicle[playerid][pVeh3], true) == 0)
  1978. {
  1979. DestroyVehicle(vehi);
  1980. fremove(string);
  1981. strmid(PlayerVehicle[playerid][pVeh3], "None", 0, strlen("None"), 255);
  1982. return 1;
  1983. }
  1984. else if(strcmp(str, PlayerVehicle[playerid][pVeh4], true) == 0)
  1985. {
  1986. DestroyVehicle(vehi);
  1987. fremove(string);
  1988. strmid(PlayerVehicle[playerid][pVeh4], "None", 0, strlen("None"), 255);
  1989. return 1;
  1990. }
  1991. else if(strcmp(str, PlayerVehicle[playerid][pVeh5], true) == 0)
  1992. {
  1993. DestroyVehicle(vehi);
  1994. fremove(string);
  1995. strmid(PlayerVehicle[playerid][pVeh5], "None", 0, strlen("None"), 255);
  1996. return 1;
  1997. }
  1998. return 1;
  1999. }
  2000. else
  2001. {
  2002. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2003. return 1;
  2004. }
  2005. }
  2006. if(!strcmp(tmp, "oferta",true,4))
  2007. {
  2008. if(!IsPlayerInAnyVehicle(playerid))
  2009. {
  2010. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2011. return 1;
  2012. }
  2013. new vehi = GetPlayerVehicleID(playerid);
  2014. if(VehicleInfo[vehi][vOwned] != 1)
  2015. {
  2016. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2017. return 1;
  2018. }
  2019. new plname[MAX_PLAYER_NAME];
  2020. GetPlayerName(playerid, plname, sizeof(plname));
  2021. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  2022. {
  2023. tmp = strtok(cmdtext, idx);
  2024. if(!strlen(tmp))
  2025. {
  2026. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd oferta [IdGracza/KawałekImienia] [Cena]");
  2027. return 1;
  2028. }
  2029. new user = ReturnUser(tmp);
  2030. if(user == INVALID_PLAYER_ID)
  2031. {
  2032. SendClientMessage(playerid, COLOR_LIGHTRED, "Nieprawidłowy id gracza!");
  2033. return 1;
  2034. }
  2035. if(user == playerid)
  2036. {
  2037. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie możesz sobie sprzedać pojazdu!");
  2038. return 1;
  2039. }
  2040. tmp = strtok(cmdtext, idx);
  2041. if(!strlen(tmp))
  2042. {
  2043. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd oferta [IdGracza/KawałekImienia] [Cena]");
  2044. return 1;
  2045. }
  2046. if(!ProxDetectorS(8, playerid, user))
  2047. {
  2048. SendClientMessage(playerid, COLOR_LIGHTRED, "Jesteś za daleko!");
  2049. return 1;
  2050. }
  2051. new price = strval(tmp);
  2052. new pName[MAX_PLAYER_NAME];
  2053. GetPlayerName(user, pName, sizeof(pName));
  2054. GetPlayerName(playerid, playername, sizeof(playername));
  2055. format(string, sizeof(string), "%s zaoferował ci swojego %s za $%d, użyj /pojazd akceptuj lub odmow.", playername, VehicleNames[GetVehicleModel(vehi)-400], price);
  2056. SendClientMessage(user, COLOR_YELLOW, string);
  2057. format(string, sizeof(string), "Sprzedałeś swojego %s osobie %s za $%d.", VehicleNames[GetVehicleModel(vehi)-400], pName, price);
  2058. SendClientMessage(playerid, COLOR_GREEN, string);
  2059. pToAccept[user] = playerid;
  2060. vToAccept[user] = vehi;
  2061. prToAccept[user] = price;
  2062. return 1;
  2063. }
  2064. else
  2065. {
  2066. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2067. return 1;
  2068. }
  2069. }
  2070. if(!strcmp(tmp, "akceptuj",true,4))
  2071. {
  2072. if(pToAccept[playerid] == 255)
  2073. {
  2074. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz niczego do akceptacji");
  2075. return 1;
  2076. }
  2077. if(GetPlayerMoney(playerid) >= prToAccept[playerid])
  2078. {
  2079. new pName[MAX_PLAYER_NAME];
  2080. GetPlayerName(pToAccept[playerid], pName, sizeof(pName));
  2081. GetPlayerName(playerid, playername, sizeof(playername));
  2082. format(string, sizeof(string), "Akceptowałeś %s od %s za $%d.", VehicleNames[GetVehicleModel(vToAccept[playerid])-400], pName, prToAccept[playerid]);
  2083. SendClientMessage(playerid, COLOR_GREEN, string);
  2084. format(string, sizeof(string), "%s akceptował twojego %s za $%d.", playername, VehicleNames[GetVehicleModel(vToAccept[playerid])-400], prToAccept[playerid]);
  2085. SendClientMessage(pToAccept[playerid], COLOR_GREEN, string);
  2086. new str2[256];
  2087. format(str2, sizeof(str2), "GF/Pojazdy/Inne/%s.%s", playername, VehicleNames[GetVehicleModel(vToAccept[playerid])-400]);
  2088. new str[256];
  2089. format(str, sizeof(str), "GF/Pojazdy/Inne/%s.%s", pName, VehicleNames[GetVehicleModel(vToAccept[playerid])-400]);
  2090. GivePlayerMoney(pToAccept[playerid], prToAccept[playerid]);
  2091. GivePlayerMoney(playerid, -prToAccept[playerid]);
  2092. if(strfind(str, PlayerVehicle[pToAccept[playerid]][pVeh1], true) == 0)
  2093. {
  2094. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true) == 0)
  2095. {
  2096. strmid(PlayerVehicle[playerid][pVeh1], str2, 0, strlen(str2), 255);
  2097. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2098. strmid(PlayerVehicle[pToAccept[playerid]][pVeh1], "None", 0, strlen("None"), 255);
  2099. SaveVehicles(playerid, vToAccept[playerid]);
  2100. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2101. return 1;
  2102. }
  2103. else if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true) == 0)
  2104. {
  2105. strmid(PlayerVehicle[playerid][pVeh2], str2, 0, strlen(str2), 255);
  2106. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2107. strmid(PlayerVehicle[pToAccept[playerid]][pVeh1], "None", 0, strlen("None"), 255);
  2108. SaveVehicles(playerid, vToAccept[playerid]);
  2109. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2110. return 1;
  2111. }
  2112. else if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true) == 0)
  2113. {
  2114. strmid(PlayerVehicle[playerid][pVeh3], str2, 0, strlen(str2), 255);
  2115. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2116. strmid(PlayerVehicle[pToAccept[playerid]][pVeh1], "None", 0, strlen("None"), 255);
  2117. SaveVehicles(playerid, vToAccept[playerid]);
  2118. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2119. return 1;
  2120. }
  2121. else if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true) == 0)
  2122. {
  2123. strmid(PlayerVehicle[playerid][pVeh4], str2, 0, strlen(str2), 255);
  2124. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2125. strmid(PlayerVehicle[pToAccept[playerid]][pVeh1], "None", 0, strlen("None"), 255);
  2126. SaveVehicles(playerid, vToAccept[playerid]);
  2127. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2128. return 1;
  2129. }
  2130. else if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true) == 0)
  2131. {
  2132. strmid(PlayerVehicle[playerid][pVeh5], str2, 0, strlen(str2), 255);
  2133. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2134. strmid(PlayerVehicle[pToAccept[playerid]][pVeh1], "None", 0, strlen("None"), 255);
  2135. SaveVehicles(playerid, vToAccept[playerid]);
  2136. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2137. return 1;
  2138. }
  2139. else
  2140. {
  2141. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  2142. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec ma już 5 pojazdów.");
  2143. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2144. return 1;
  2145. }
  2146. }
  2147. else if(strcmp(str, PlayerVehicle[pToAccept[playerid]][pVeh2], true) == 0)
  2148. {
  2149. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true) == 0)
  2150. {
  2151. strmid(PlayerVehicle[playerid][pVeh1], str2, 0, strlen(str2), 255);
  2152. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2153. strmid(PlayerVehicle[pToAccept[playerid]][pVeh2], "None", 0, strlen("None"), 255);
  2154. SaveVehicles(playerid, vToAccept[playerid]);
  2155. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2156. return 1;
  2157. }
  2158. else if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true) == 0)
  2159. {
  2160. strmid(PlayerVehicle[playerid][pVeh2], str2, 0, strlen(str2), 255);
  2161. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2162. strmid(PlayerVehicle[pToAccept[playerid]][pVeh2], "None", 0, strlen("None"), 255);
  2163. SaveVehicles(playerid, vToAccept[playerid]);
  2164. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2165. return 1;
  2166. }
  2167. else if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true) == 0)
  2168. {
  2169. strmid(PlayerVehicle[playerid][pVeh3], str2, 0, strlen(str2), 255);
  2170. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2171. strmid(PlayerVehicle[pToAccept[playerid]][pVeh2], "None", 0, strlen("None"), 255);
  2172. SaveVehicles(playerid, vToAccept[playerid]);
  2173. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2174. return 1;
  2175. }
  2176. else if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true) == 0)
  2177. {
  2178. strmid(PlayerVehicle[playerid][pVeh4], str2, 0, strlen(str2), 255);
  2179. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2180. strmid(PlayerVehicle[pToAccept[playerid]][pVeh2], "None", 0, strlen("None"), 255);
  2181. SaveVehicles(playerid, vToAccept[playerid]);
  2182. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2183. return 1;
  2184. }
  2185. else if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true) == 0)
  2186. {
  2187. strmid(PlayerVehicle[playerid][pVeh5], str2, 0, strlen(str2), 255);
  2188. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2189. strmid(PlayerVehicle[pToAccept[playerid]][pVeh2], "None", 0, strlen("None"), 255);
  2190. SaveVehicles(playerid, vToAccept[playerid]);
  2191. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2192. return 1;
  2193. }
  2194. else
  2195. {
  2196. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  2197. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec ma już 5 pojazdów.");
  2198. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2199. return 1;
  2200. }
  2201. }
  2202. else if(strcmp(str, PlayerVehicle[pToAccept[playerid]][pVeh3], true) == 0)
  2203. {
  2204. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true) == 0)
  2205. {
  2206. strmid(PlayerVehicle[playerid][pVeh1], str2, 0, strlen(str2), 255);
  2207. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2208. strmid(PlayerVehicle[pToAccept[playerid]][pVeh3], "None", 0, strlen("None"), 255);
  2209. SaveVehicles(playerid, vToAccept[playerid]);
  2210. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2211. return 1;
  2212. }
  2213. else if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true) == 0)
  2214. {
  2215. strmid(PlayerVehicle[playerid][pVeh2], str2, 0, strlen(str2), 255);
  2216. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2217. strmid(PlayerVehicle[pToAccept[playerid]][pVeh3], "None", 0, strlen("None"), 255);
  2218. SaveVehicles(playerid, vToAccept[playerid]);
  2219. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2220. return 1;
  2221. }
  2222. else if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true) == 0)
  2223. {
  2224. strmid(PlayerVehicle[playerid][pVeh3], str2, 0, strlen(str2), 255);
  2225. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2226. strmid(PlayerVehicle[pToAccept[playerid]][pVeh3], "None", 0, strlen("None"), 255);
  2227. SaveVehicles(playerid, vToAccept[playerid]);
  2228. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2229. return 1;
  2230. }
  2231. else if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true) == 0)
  2232. {
  2233. strmid(PlayerVehicle[playerid][pVeh4], str2, 0, strlen(str2), 255);
  2234. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2235. strmid(PlayerVehicle[pToAccept[playerid]][pVeh3], "None", 0, strlen("None"), 255);
  2236. SaveVehicles(playerid, vToAccept[playerid]);
  2237. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2238. return 1;
  2239. }
  2240. else if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true) == 0)
  2241. {
  2242. strmid(PlayerVehicle[playerid][pVeh5], str2, 0, strlen(str2), 255);
  2243. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2244. strmid(PlayerVehicle[pToAccept[playerid]][pVeh3], "None", 0, strlen("None"), 255);
  2245. SaveVehicles(playerid, vToAccept[playerid]);
  2246. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2247. return 1;
  2248. }
  2249. else
  2250. {
  2251. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  2252. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec ma już 5 pojazdów.");
  2253. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2254. return 1;
  2255. }
  2256. }
  2257. else if(strcmp(str, PlayerVehicle[pToAccept[playerid]][pVeh4], true) == 0)
  2258. {
  2259. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true) == 0)
  2260. {
  2261. strmid(PlayerVehicle[playerid][pVeh1], str2, 0, strlen(str2), 255);
  2262. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2263. strmid(PlayerVehicle[pToAccept[playerid]][pVeh4], "None", 0, strlen("None"), 255);
  2264. SaveVehicles(playerid, vToAccept[playerid]);
  2265. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2266. return 1;
  2267. }
  2268. else if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true) == 0)
  2269. {
  2270. strmid(PlayerVehicle[playerid][pVeh2], str2, 0, strlen(str2), 255);
  2271. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2272. strmid(PlayerVehicle[pToAccept[playerid]][pVeh4], "None", 0, strlen("None"), 255);
  2273. SaveVehicles(playerid, vToAccept[playerid]);
  2274. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2275. return 1;
  2276. }
  2277. else if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true) == 0)
  2278. {
  2279. strmid(PlayerVehicle[playerid][pVeh3], str2, 0, strlen(str2), 255);
  2280. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2281. strmid(PlayerVehicle[pToAccept[playerid]][pVeh4], "None", 0, strlen("None"), 255);
  2282. SaveVehicles(playerid, vToAccept[playerid]);
  2283. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2284. return 1;
  2285. }
  2286. else if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true) == 0)
  2287. {
  2288. strmid(PlayerVehicle[playerid][pVeh4], str2, 0, strlen(str2), 255);
  2289. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2290. strmid(PlayerVehicle[pToAccept[playerid]][pVeh4], "None", 0, strlen("None"), 255);
  2291. SaveVehicles(playerid, vToAccept[playerid]);
  2292. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2293. return 1;
  2294. }
  2295. else if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true) == 0)
  2296. {
  2297. strmid(PlayerVehicle[playerid][pVeh5], str2, 0, strlen(str2), 255);
  2298. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2299. strmid(PlayerVehicle[pToAccept[playerid]][pVeh4], "None", 0, strlen("None"), 255);
  2300. SaveVehicles(playerid, vToAccept[playerid]);
  2301. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2302. return 1;
  2303. }
  2304. else
  2305. {
  2306. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  2307. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec ma już 5 pojazdów.");
  2308. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2309. return 1;
  2310. }
  2311. }
  2312. else if(strcmp(str, PlayerVehicle[pToAccept[playerid]][pVeh5], true) == 0)
  2313. {
  2314. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true) == 0)
  2315. {
  2316. strmid(PlayerVehicle[playerid][pVeh1], str2, 0, strlen(str2), 255);
  2317. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2318. strmid(PlayerVehicle[pToAccept[playerid]][pVeh5], "None", 0, strlen("None"), 255);
  2319. SaveVehicles(playerid, vToAccept[playerid]);
  2320. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2321. return 1;
  2322. }
  2323. else if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true) == 0)
  2324. {
  2325. strmid(PlayerVehicle[playerid][pVeh2], str2, 0, strlen(str2), 255);
  2326. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2327. strmid(PlayerVehicle[pToAccept[playerid]][pVeh5], "None", 0, strlen("None"), 255);
  2328. SaveVehicles(playerid, vToAccept[playerid]);
  2329. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2330. return 1;
  2331. }
  2332. else if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true) == 0)
  2333. {
  2334. strmid(PlayerVehicle[playerid][pVeh3], str2, 0, strlen(str2), 255);
  2335. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2336. strmid(PlayerVehicle[pToAccept[playerid]][pVeh5], "None", 0, strlen("None"), 255);
  2337. SaveVehicles(playerid, vToAccept[playerid]);
  2338. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2339. return 1;
  2340. }
  2341. else if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true) == 0)
  2342. {
  2343. strmid(PlayerVehicle[playerid][pVeh4], str2, 0, strlen(str2), 255);
  2344. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2345. strmid(PlayerVehicle[pToAccept[playerid]][pVeh5], "None", 0, strlen("None"), 255);
  2346. SaveVehicles(playerid, vToAccept[playerid]);
  2347. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2348. return 1;
  2349. }
  2350. else if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true) == 0)
  2351. {
  2352. strmid(PlayerVehicle[playerid][pVeh5], str2, 0, strlen(str2), 255);
  2353. strmid(VehicleInfo[vToAccept[playerid]][vOwner], playername, 0, strlen(playername), 255);
  2354. strmid(PlayerVehicle[pToAccept[playerid]][pVeh5], "None", 0, strlen("None"), 255);
  2355. SaveVehicles(playerid, vToAccept[playerid]);
  2356. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2357. return 1;
  2358. }
  2359. else
  2360. {
  2361. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  2362. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec ma już 5 pojazdów.");
  2363. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2364. return 1;
  2365. }
  2366. }
  2367. }
  2368. else
  2369. {
  2370. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz tyle pieniędzy!");
  2371. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, "Twój pojazd nie może zostać sprzedany, ponieważ kupiec nie ma pieniędzy.");
  2372. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2373. return 1;
  2374. }
  2375. return 1;
  2376. }
  2377. if(!strcmp(tmp, "odmow",true,4))
  2378. {
  2379. if(pToAccept[playerid] == 255)
  2380. {
  2381. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz niczego do akceptacji");
  2382. return 1;
  2383. }
  2384. new pName[MAX_PLAYER_NAME];
  2385. GetPlayerName(pToAccept[playerid], pName, sizeof(pName));
  2386. GetPlayerName(playerid, playername, sizeof(playername));
  2387. format(string, sizeof(string), "Odmówiłeś %s od %s.", VehicleNames[GetVehicleModel(vToAccept[playerid])-400], pName);
  2388. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2389. format(string, sizeof(string), "%s odmówił twojego %s.", playername, VehicleNames[GetVehicleModel(vToAccept[playerid])-400]);
  2390. SendClientMessage(pToAccept[playerid], COLOR_LIGHTRED, string);
  2391. pToAccept[playerid] = 255; vToAccept[playerid] = 999; prToAccept[playerid] = 0;
  2392. return 1;
  2393. }
  2394. if(!strcmp(tmp, "spawnuj",true,4))
  2395. {
  2396. tmp = strtok(cmdtext, idx);
  2397. if(!strlen(tmp))
  2398. {
  2399. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd spawnuj [numer[1-5])");
  2400. return 1;
  2401. }
  2402. if(strcmp(tmp, "1", true) == 0)
  2403. {
  2404. if(IsVehicleSpawned(veh1[playerid]))
  2405. {
  2406. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd został już zespawnowany!");
  2407. new vZone[MAX_ZONE_NAME];
  2408. GetVehicleZone(veh1[playerid], vZone, MAX_ZONE_NAME);
  2409. format(string, sizeof(string), "Twój %s jest teraz w %s", VehicleNames[GetVehicleModel(veh1[playerid])-400], vZone);
  2410. SendClientMessage(playerid, COLOR_YELLOW, string);
  2411. return 1;
  2412. }
  2413. if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true))
  2414. {
  2415. LoadVehicles(playerid, PlayerVehicle[playerid][pVeh1]);
  2416. Engine[veh1[playerid]] = 0;
  2417. return 1;
  2418. }
  2419. else
  2420. {
  2421. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz żadnego pojazdu!");
  2422. return 1;
  2423. }
  2424. }
  2425. if(strcmp(tmp, "2", true) == 0)
  2426. {
  2427. if(IsVehicleSpawned(veh2[playerid]))
  2428. {
  2429. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd został już zespawnowany!");
  2430. new vZone[MAX_ZONE_NAME];
  2431. GetVehicleZone(veh2[playerid], vZone, MAX_ZONE_NAME);
  2432. format(string, sizeof(string), "Twój %s jest teraz w %s", VehicleNames[GetVehicleModel(veh2[playerid])-400], vZone);
  2433. SendClientMessage(playerid, COLOR_YELLOW, string);
  2434. return 1;
  2435. }
  2436. if(strcmp(PlayerVehicle[playerid][pVeh2], "None", true))
  2437. {
  2438. LoadVehicles(playerid, PlayerVehicle[playerid][pVeh2]);
  2439. Engine[veh2[playerid]] = 0;
  2440. return 1;
  2441. }
  2442. else
  2443. {
  2444. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz 2 pojazdów!");
  2445. return 1;
  2446. }
  2447. }
  2448. if(strcmp(tmp, "3", true) == 0)
  2449. {
  2450. if(IsVehicleSpawned(veh3[playerid]))
  2451. {
  2452. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd został już zespawnowany!");
  2453. new vZone[MAX_ZONE_NAME];
  2454. GetVehicleZone(veh3[playerid], vZone, MAX_ZONE_NAME);
  2455. format(string, sizeof(string), "Twój %s jest teraz w %s", VehicleNames[GetVehicleModel(veh3[playerid])-400], vZone);
  2456. SendClientMessage(playerid, COLOR_YELLOW, string);
  2457. return 1;
  2458. }
  2459. if(strcmp(PlayerVehicle[playerid][pVeh3], "None", true))
  2460. {
  2461. LoadVehicles(playerid, PlayerVehicle[playerid][pVeh3]);
  2462. Engine[veh3[playerid]] = 0;
  2463. return 1;
  2464. }
  2465. else
  2466. {
  2467. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz 3 pojazdów!");
  2468. return 1;
  2469. }
  2470. }
  2471. if(strcmp(tmp, "4", true) == 0)
  2472. {
  2473. if(IsVehicleSpawned(veh4[playerid]))
  2474. {
  2475. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd został już zespawnowany!");
  2476. new vZone[MAX_ZONE_NAME];
  2477. GetVehicleZone(veh4[playerid], vZone, MAX_ZONE_NAME);
  2478. format(string, sizeof(string), "Twój %s jest teraz w %s", VehicleNames[GetVehicleModel(veh4[playerid])-400], vZone);
  2479. SendClientMessage(playerid, COLOR_YELLOW, string);
  2480. return 1;
  2481. }
  2482. if(strcmp(PlayerVehicle[playerid][pVeh4], "None", true))
  2483. {
  2484. LoadVehicles(playerid, PlayerVehicle[playerid][pVeh4]);
  2485. Engine[veh4[playerid]] = 0;
  2486. return 1;
  2487. }
  2488. else
  2489. {
  2490. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz 4 pojazdów!");
  2491. return 1;
  2492. }
  2493. }
  2494. if(strcmp(tmp, "5", true) == 0)
  2495. {
  2496. if(IsVehicleSpawned(veh5[playerid]))
  2497. {
  2498. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd został już zespawnowany!");
  2499. new vZone[MAX_ZONE_NAME];
  2500. GetVehicleZone(veh5[playerid], vZone, MAX_ZONE_NAME);
  2501. format(string, sizeof(string), "Twój %s jest teraz w %s", VehicleNames[GetVehicleModel(veh5[playerid])-400], vZone);
  2502. SendClientMessage(playerid, COLOR_YELLOW, string);
  2503. return 1;
  2504. }
  2505. if(strcmp(PlayerVehicle[playerid][pVeh5], "None", true))
  2506. {
  2507. LoadVehicles(playerid, PlayerVehicle[playerid][pVeh5]);
  2508. Engine[veh5[playerid]] = 0;
  2509. return 1;
  2510. }
  2511. else
  2512. {
  2513. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz 5 pojazdów!");
  2514. return 1;
  2515. }
  2516. }
  2517. }
  2518. if(!strcmp(tmp, "parkuj",true,4))
  2519. {
  2520. if(!IsPlayerInAnyVehicle(playerid))
  2521. {
  2522. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2523. return 1;
  2524. }
  2525. new vehi = GetPlayerVehicleID(playerid);
  2526. if(VehicleInfo[vehi][vOwned] != 1)
  2527. {
  2528. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2529. return 1;
  2530. }
  2531. new plname[MAX_PLAYER_NAME];
  2532. GetPlayerName(playerid, plname, sizeof(plname));
  2533. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  2534. {
  2535. new Float:X, Float:Y, Float:Z, Float:A;
  2536. GetVehiclePos(vehi, X, Y, Z);
  2537. GetVehicleZAngle(vehi, A);
  2538. VehicleInfo[vehi][vX] = X;
  2539. VehicleInfo[vehi][vY] = Y;
  2540. VehicleInfo[vehi][vZ] = Z;
  2541. VehicleInfo[vehi][vAngle] = A;
  2542. SaveVehicles(playerid, vehi);
  2543. new zone[MAX_ZONE_NAME];
  2544. GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
  2545. new str[256];
  2546. format(str, sizeof(str), "Twój %s został tu zaparkowany(w %s)", VehicleNames[GetVehicleModel(vehi)-400], zone);
  2547. SendClientMessage(playerid, COLOR_YELLOW, str);
  2548. return 1;
  2549. }
  2550. else
  2551. {
  2552. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2553. return 1;
  2554. }
  2555. }
  2556. if(!strcmp(tmp, "zamknij",true,4))
  2557. {
  2558. if(!IsPlayerInAnyVehicle(playerid))
  2559. {
  2560. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2561. return 1;
  2562. }
  2563. new vehi = GetPlayerVehicleID(playerid);
  2564. if(VehicleInfo[vehi][vOwned] != 1)
  2565. {
  2566. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2567. return 1;
  2568. }
  2569. new plname[MAX_PLAYER_NAME];
  2570. GetPlayerName(playerid, plname, sizeof(plname));
  2571. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  2572. {
  2573. tmp = strtok(cmdtext, idx);
  2574. if(!strlen(tmp))
  2575. {
  2576. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd zamknij [poziom(1-5)]");
  2577. return 1;
  2578. }
  2579. new locklvl;
  2580. locklvl = strval(tmp);
  2581. if(locklvl < 1 || locklvl > 5) { SendClientMessage(playerid, COLOR_LIGHTRED, "Twój poziom zamka nie może być mniejszy niż 1 i większy niż 5!"); return 1; }
  2582. if(locklvl > VehicleInfo[vehi][vLockBuyed]) { SendClientMessage(playerid, COLOR_LIGHTRED, "Nie kupiłeś tego poziomu zamka!"); return 1; }
  2583. VehicleInfo[vehi][vLock] = locklvl;
  2584. SetVehicleParamsForPlayer(vehi, 0, 0, 1);
  2585. SaveVehicles(playerid, vehi);
  2586. new str[256];
  2587. format(str, sizeof(str), "~w~%s ~n~~r~zamkniety", VehicleNames[GetVehicleModel(vehi)-400]);
  2588. GameTextForPlayer(playerid, str, 7000, 5);
  2589. return 1;
  2590. }
  2591. else
  2592. {
  2593. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2594. return 1;
  2595. }
  2596. }
  2597. if(!strcmp(tmp, "zmienkolor",true,4))
  2598. {
  2599. if(!IsPlayerInAnyVehicle(playerid))
  2600. {
  2601. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2602. return 1;
  2603. }
  2604. new vehi = GetPlayerVehicleID(playerid);
  2605. if(VehicleInfo[vehi][vOwned] != 1)
  2606. {
  2607. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2608. return 1;
  2609. }
  2610. if(GetPlayerMoney(playerid) < 1000)
  2611. {
  2612. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie masz $1000 do zmiany koloru swojego pojazdu!");
  2613. return 1;
  2614. }
  2615. new plname[MAX_PLAYER_NAME];
  2616. GetPlayerName(playerid, plname, sizeof(plname));
  2617. if(strcmp(plname, VehicleInfo[vehi][vOwner], true) == 0)
  2618. {
  2619. ShowMenuForPlayer(Colors, playerid);
  2620. return 1;
  2621. }
  2622. }
  2623. if(!strcmp(tmp, "kupalarm",true,4))
  2624. {
  2625. if(IsPlayerInAnyVehicle(playerid))
  2626. {
  2627. tmp = strtok(cmdtext, idx);
  2628. if(!strlen(tmp))
  2629. {
  2630. SendClientMessage(playerid, COLOR_GREY, "UŻYJ: /kupalarm [numer(1-5)]");
  2631. return 1;
  2632. }
  2633. new alarm;
  2634. alarm = strval(tmp);
  2635. new vehicle = GetPlayerVehicleID(playerid);
  2636. if(alarm < 1 || alarm > 5) { SendClientMessage(playerid, COLOR_LIGHTRED, "Poziom alarmu nie może być mniejszy niż 1 i większy niż 5!"); return 1; }
  2637. if(VehicleInfo[vehicle][vAlarm] >= alarm) { format(string, sizeof(string), "Masz juz %d poziom alarmu lub większy!", alarm); SendClientMessage(playerid, COLOR_LIGHTRED, string); return 1; }
  2638. new alarmcost = alarm*5000;
  2639. if(VehicleInfo[vehicle][vOwned] == 0)
  2640. {
  2641. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2642. return 1;
  2643. }
  2644. GetPlayerName(playerid, playername, sizeof(playername));
  2645. if(strcmp(playername, VehicleInfo[vehicle][vOwner], true) == 0)
  2646. {
  2647. if(GetPlayerMoney(playerid) >= alarmcost)
  2648. {
  2649. format(string, sizeof(string), "Kupiłeś %d poziom alarmu.", alarm);
  2650. SendClientMessage(playerid, COLOR_GREEN, string);
  2651. format(string, sizeof(string), "Twój pojazd ma teraz %d poziom alarmu.", alarm);
  2652. SendClientMessage(playerid, COLOR_WHITE, string);
  2653. GivePlayerMoney(playerid, -alarmcost);
  2654. VehicleInfo[vehicle][vAlarm] = alarm;
  2655. SaveVehicles(playerid, vehicle);
  2656. return 1;
  2657. }
  2658. else
  2659. {
  2660. format(string, sizeof(string), "Nie masz $%d do kupienia %d poziomu alarmu", alarmcost, alarm);
  2661. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2662. return 1;
  2663. }
  2664. }
  2665. else
  2666. {
  2667. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2668. return 1;
  2669. }
  2670. }
  2671. else
  2672. {
  2673. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2674. return 1;
  2675. }
  2676. }
  2677. if(!strcmp(tmp, "kupzamek",true,4))
  2678. {
  2679. if(IsPlayerInAnyVehicle(playerid))
  2680. {
  2681. tmp = strtok(cmdtext, idx);
  2682. if(!strlen(tmp))
  2683. {
  2684. SendClientMessage(playerid, COLOR_GREY, "UŻYJ: /kupzamek [numer(1-5)]");
  2685. return 1;
  2686. }
  2687. new lock;
  2688. lock = strval(tmp);
  2689. new vehicle = GetPlayerVehicleID(playerid);
  2690. if(lock < 1 || lock > 5) { SendClientMessage(playerid, COLOR_LIGHTRED, "Poziom zamka nie może być mniejszy niż 1 i większy niż 5!"); return 1; }
  2691. if(VehicleInfo[vehicle][vLockBuyed] >= lock) { format(string, sizeof(string), "Masz już %d poziom zamka lub wyższy!", lock); SendClientMessage(playerid, COLOR_LIGHTRED, string); return 1; }
  2692. new lockcost = lock*5000;
  2693. if(VehicleInfo[vehicle][vOwned] == 0)
  2694. {
  2695. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd");
  2696. return 1;
  2697. }
  2698. GetPlayerName(playerid, playername, sizeof(playername));
  2699. if(strcmp(playername, VehicleInfo[vehicle][vOwner], true) == 0)
  2700. {
  2701. if(GetPlayerMoney(playerid) >= lockcost)
  2702. {
  2703. format(string, sizeof(string), "Kupiłeś %d poziom zamka.", lock);
  2704. SendClientMessage(playerid, COLOR_GREEN, string);
  2705. GivePlayerMoney(playerid, -lockcost);
  2706. VehicleInfo[vehicle][vLockBuyed] = lock;
  2707. SaveVehicles(playerid, vehicle);
  2708. return 1;
  2709. }
  2710. else
  2711. {
  2712. format(string, sizeof(string), "Nie masz $%d do kupienia %d poziomu zamka", lockcost, lock);
  2713. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2714. return 1;
  2715. }
  2716. }
  2717. else
  2718. {
  2719. SendClientMessage(playerid, COLOR_LIGHTRED, "To nie twój pojazd!");
  2720. return 1;
  2721. }
  2722. }
  2723. else
  2724. {
  2725. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie jesteś w pojeździe!");
  2726. return 1;
  2727. }
  2728. }
  2729. if(!strcmp(tmp, "otworz",true,4))
  2730. {
  2731. if(ProxDetectorV(6, playerid, veh1[playerid]))
  2732. {
  2733. VehicleInfo[veh1[playerid]][vLock] = 0;
  2734. SetVehicleParamsForPlayer(veh1[playerid], 0, 0, 0);
  2735. SaveVehicles(playerid, veh1[playerid]);
  2736. new str[256];
  2737. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(veh1[playerid])-400]);
  2738. GameTextForPlayer(playerid, str, 7000, 5);
  2739. return 1;
  2740. }
  2741. if(ProxDetectorV(6, playerid, veh2[playerid]))
  2742. {
  2743. VehicleInfo[veh2[playerid]][vLock] = 0;
  2744. SetVehicleParamsForPlayer(veh2[playerid], 0, 0, 0);
  2745. SaveVehicles(playerid, veh1[playerid]);
  2746. new str[256];
  2747. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(veh2[playerid])-400]);
  2748. GameTextForPlayer(playerid, str, 7000, 5);
  2749. return 1;
  2750. }
  2751. if(ProxDetectorV(6, playerid, veh3[playerid]))
  2752. {
  2753. VehicleInfo[veh3[playerid]][vLock] = 0;
  2754. SetVehicleParamsForPlayer(veh3[playerid], 0, 0, 0);
  2755. SaveVehicles(playerid, veh3[playerid]);
  2756. new str[256];
  2757. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(veh3[playerid])-400]);
  2758. GameTextForPlayer(playerid, str, 7000, 5);
  2759. return 1;
  2760. }
  2761. if(ProxDetectorV(6, playerid, veh4[playerid]))
  2762. {
  2763. VehicleInfo[veh4[playerid]][vLock] = 0;
  2764. SetVehicleParamsForPlayer(veh4[playerid], 0, 0, 0);
  2765. SaveVehicles(playerid, veh4[playerid]);
  2766. new str[256];
  2767. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(veh4[playerid])-400]);
  2768. GameTextForPlayer(playerid, str, 7000, 5);
  2769. return 1;
  2770. }
  2771. if(ProxDetectorV(6, playerid, veh5[playerid]))
  2772. {
  2773. VehicleInfo[veh5[playerid]][vLock] = 0;
  2774. SetVehicleParamsForPlayer(veh5[playerid], 0, 0, 0);
  2775. SaveVehicles(playerid, veh5[playerid]);
  2776. new str[256];
  2777. format(str, sizeof(str), "~w~%s ~n~~g~otwarty", VehicleNames[GetVehicleModel(veh5[playerid])-400]);
  2778. GameTextForPlayer(playerid, str, 7000, 5);
  2779. return 1;
  2780. }
  2781. }
  2782. if(!strcmp(tmp, "znajdz",true,4))
  2783. {
  2784. tmp = strtok(cmdtext, idx);
  2785. if(!strlen(tmp))
  2786. {
  2787. SendClientMessage(playerid, COLOR_WHITE, "UŻYJ: /pojazd znajdz [numer[1-5])");
  2788. return 1;
  2789. }
  2790. if(strcmp(tmp, "1", true) == 0)
  2791. {
  2792. new vZone[MAX_ZONE_NAME], pZone[MAX_ZONE_NAME];
  2793. GetVehicleZone(veh1[playerid], vZone, MAX_ZONE_NAME); GetPlayer2DZone(playerid, pZone, MAX_ZONE_NAME);
  2794. if(IsVehicleSpawned(veh1[playerid]))
  2795. {
  2796. if(strcmp(vZone, pZone, true) == 0)
  2797. {
  2798. new Float:X, Float:Y, Float:Z;
  2799. GetVehiclePos(veh1[playerid], X, Y, Z);
  2800. vCheck1[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  2801. format(string, sizeof(string), "Twój %s jest na %s. Idź do czerwongo markera i weź go.", VehicleNames[GetVehicleModel(veh1[playerid])-400], vZone);
  2802. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2803. return 1;
  2804. }
  2805. else
  2806. {
  2807. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh1[playerid])-400], vZone, pZone, vZone);
  2808. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2809. return 1;
  2810. }
  2811. }
  2812. else
  2813. {
  2814. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd nie jest zespawnowany!");
  2815. return 1;
  2816. }
  2817. }
  2818. if(strcmp(tmp, "2", true) == 0)
  2819. {
  2820. if(IsVehicleSpawned(veh2[playerid]))
  2821. {
  2822. new vZone[MAX_ZONE_NAME], pZone[MAX_ZONE_NAME];
  2823. GetVehicleZone(veh2[playerid], vZone, MAX_ZONE_NAME); GetPlayer2DZone(playerid, pZone, MAX_ZONE_NAME);
  2824. if(strcmp(vZone, pZone, true) == 0)
  2825. {
  2826. new Float:X, Float:Y, Float:Z;
  2827. GetVehiclePos(veh2[playerid], X, Y, Z);
  2828. vCheck2[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  2829. format(string, sizeof(string), "Twój %s jest na %s. Idź do czerwongo markera i weź go.", VehicleNames[GetVehicleModel(veh2[playerid])-400], vZone);
  2830. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2831. return 1;
  2832. }
  2833. else
  2834. {
  2835. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh2[playerid])-400], vZone, pZone, vZone);
  2836. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2837. return 1;
  2838. }
  2839. }
  2840. else
  2841. {
  2842. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd nie jest zespawnowany!");
  2843. return 1;
  2844. }
  2845. }
  2846. if(strcmp(tmp, "3", true) == 0)
  2847. {
  2848. if(IsVehicleSpawned(veh3[playerid]))
  2849. {
  2850. new vZone[MAX_ZONE_NAME], pZone[MAX_ZONE_NAME];
  2851. GetVehicleZone(veh3[playerid], vZone, MAX_ZONE_NAME); GetPlayer2DZone(playerid, pZone, MAX_ZONE_NAME);
  2852. if(strcmp(vZone, pZone, true) == 0)
  2853. {
  2854. new Float:X, Float:Y, Float:Z;
  2855. GetVehiclePos(veh3[playerid], X, Y, Z);
  2856. vCheck3[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  2857. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh3[playerid])-400], vZone);
  2858. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2859. return 1;
  2860. }
  2861. else
  2862. {
  2863. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh3[playerid])-400], vZone, pZone, vZone);
  2864. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2865. return 1;
  2866. }
  2867. }
  2868. else
  2869. {
  2870. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd nie jest zespawnowany!");
  2871. return 1;
  2872. }
  2873. }
  2874. if(strcmp(tmp, "4", true) == 0)
  2875. {
  2876. if(IsVehicleSpawned(veh4[playerid]))
  2877. {
  2878. new vZone[MAX_ZONE_NAME], pZone[MAX_ZONE_NAME];
  2879. GetVehicleZone(veh4[playerid], vZone, MAX_ZONE_NAME); GetPlayer2DZone(playerid, pZone, MAX_ZONE_NAME);
  2880. if(strcmp(vZone, pZone, true) == 0)
  2881. {
  2882. new Float:X, Float:Y, Float:Z;
  2883. GetVehiclePos(veh4[playerid], X, Y, Z);
  2884. vCheck4[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  2885. format(string, sizeof(string), "Twój %s jest na %s. Idź do czerwongo markera i weź go.", VehicleNames[GetVehicleModel(veh4[playerid])-400], vZone);
  2886. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2887. return 1;
  2888. }
  2889. else
  2890. {
  2891. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh4[playerid])-400], vZone, pZone, vZone);
  2892. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2893. return 1;
  2894. }
  2895. }
  2896. else
  2897. {
  2898. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd nie jest zespawnowany!");
  2899. return 1;
  2900. }
  2901. }
  2902. if(strcmp(tmp, "5", true) == 0)
  2903. {
  2904. if(IsVehicleSpawned(veh5[playerid]))
  2905. {
  2906. new vZone[MAX_ZONE_NAME], pZone[MAX_ZONE_NAME];
  2907. GetVehicleZone(veh5[playerid], vZone, MAX_ZONE_NAME); GetPlayer2DZone(playerid, pZone, MAX_ZONE_NAME);
  2908. if(strcmp(vZone, pZone, true) == 0)
  2909. {
  2910. new Float:X, Float:Y, Float:Z;
  2911. GetVehiclePos(veh5[playerid], X, Y, Z);
  2912. vCheck5[playerid] = SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  2913. format(string, sizeof(string), "Twój %s jest na %s. Idź do czerwonego markera i weź go.", VehicleNames[GetVehicleModel(veh5[playerid])-400], vZone);
  2914. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2915. return 1;
  2916. }
  2917. else
  2918. {
  2919. format(string, sizeof(string), "Twój %s jest na %s, ty jesteś w %s, idź do %s i użyj /pojazd znajdz", VehicleNames[GetVehicleModel(veh5[playerid])-400], vZone, pZone, vZone);
  2920. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  2921. return 1;
  2922. }
  2923. }
  2924. else
  2925. {
  2926. SendClientMessage(playerid, COLOR_LIGHTRED, "Twój pojazd nie jest zespawnowany!");
  2927. return 1;
  2928. }
  2929. }
  2930. }
  2931. else
  2932. {
  2933. SendClientMessage(playerid, COLOR_LIGHTBLUE, "UŻYJ: /pojazd [Akcja]");
  2934. SendClientMessage(playerid, COLOR_YELLOW2, "kup, pomoc, sprzedaj, oferta, parkuj, znajdz, spawnuj, zamknij, otworz, zmienkolor");
  2935. SendClientMessage(playerid, COLOR_YELLOW2, "kupzamek, kupalarm, cenawynajmu, cenaodwynajmu, reklama");
  2936. SendClientMessage(playerid, COLOR_YELLOW2, "akceptuj, odmow");
  2937. return 1;
  2938. }
  2939. }
  2940. return 0;
  2941. }
  2942. forward ProxDetectorV(Float:radi, playerid, vehicleid);
  2943. public ProxDetectorV(Float:radi, playerid, vehicleid)
  2944. {
  2945. if(IsPlayerConnected(playerid))
  2946. {
  2947. new Float:posx, Float:posy, Float:posz;
  2948. new Float:oldposx, Float:oldposy, Float:oldposz;
  2949. new Float:tempposx, Float:tempposy, Float:tempposz;
  2950. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  2951. //radi = 2.0; //Trigger Radius
  2952. GetVehiclePos(vehicleid, posx, posy, posz);
  2953. tempposx = (oldposx -posx);
  2954. tempposy = (oldposy -posy);
  2955. tempposz = (oldposz -posz);
  2956. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  2957. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  2958. {
  2959. return 1;
  2960. }
  2961. }
  2962. return 0;
  2963. }
  2964.  
  2965. stock IsVehicleSpawned(vehicleid)
  2966. {
  2967. new Float:X,Float:Y,Float:Z;
  2968. GetVehiclePos(vehicleid, X, Y, Z);
  2969. if (X == 0.0 && Y == 0.0 && Z == 0.0) return 0;
  2970. return 1;
  2971. }
  2972.  
  2973. public OnPlayerStateChange(playerid, newstate, oldstate)
  2974. {
  2975. new string[256];
  2976. new plname[MAX_PLAYER_NAME];
  2977. if(newstate == PLAYER_STATE_DRIVER)
  2978. {
  2979. new veh = GetPlayerVehicleID(playerid);
  2980. if(Engine[veh] == 0)
  2981. {
  2982. TogglePlayerControllable(playerid, 0);
  2983. SendClientMessage(playerid, COLOR_GREY, "Silnik jest wyłączony, użyj /odpal lub nacisknij SHIFT aby go odpalić.");
  2984. if(VehicleInfo[veh][vRentPrice] > 0)
  2985. {
  2986. GetPlayerName(playerid, plname, sizeof(plname));
  2987. if(strcmp(plname, VehicleInfo[veh][vOwner], true) == 0 || vRented[veh] == playerid)
  2988. {
  2989. format(string, sizeof(string), "--|Witaj w swoim %s|--", VehicleNames[GetVehicleModel(veh)-400]);
  2990. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  2991. return 1;
  2992. }
  2993. else
  2994. {
  2995. if(vRented[veh] != 255)
  2996. {
  2997. TogglePlayerControllable(playerid, 0);
  2998. format(string, sizeof(string), "~w~Ten %s jest na wynajem ~n~Cena: ~b~$%d ~n~~w~Wlasciciel: ~b~%s ~n~~w~uzyj /wynajmuj pojazd aby go wynajac.", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vRentPrice], VehicleInfo[veh][vOwner]);
  2999. GameTextForPlayer(playerid, string, 12000, 5);
  3000. return 1;
  3001. }
  3002. else
  3003. {
  3004. if(VehicleInfo[veh][vAlarm] > 0)
  3005. {
  3006. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3007. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3008. SendClientMessage(playerid, COLOR_LIGHTRED, "OSTRZEŻENIE: alarm jest odblokowany.");
  3009. PlayAlarmSound(veh, VehicleInfo[veh][vAlarm]*10, VehicleInfo[veh][vAlarm]*10000);
  3010. return 1;
  3011. }
  3012. else
  3013. {
  3014. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3015. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3016. return 1;
  3017. }
  3018. }
  3019. }
  3020. }
  3021. if(VehicleInfo[veh][vOwned] == 1)
  3022. {
  3023. GetPlayerName(playerid, plname, sizeof(plname));
  3024. if(strcmp(plname, VehicleInfo[veh][vOwner], true) == 0 || vRented[veh] == playerid)
  3025. {
  3026. format(string, sizeof(string), "--|Witaj w swoim %s|--", VehicleNames[GetVehicleModel(veh)-400]);
  3027. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  3028. return 1;
  3029. }
  3030. else
  3031. {
  3032. if(VehicleInfo[veh][vAlarm] > 0)
  3033. {
  3034. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3035. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3036. SendClientMessage(playerid, COLOR_LIGHTRED, "OSTRZEŻENIE: alarm jest odblokowany.");
  3037. PlayAlarmSound(veh, VehicleInfo[veh][vAlarm]*10, VehicleInfo[veh][vAlarm]*10000);
  3038. return 1;
  3039. }
  3040. else
  3041. {
  3042. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3043. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3044. return 1;
  3045. }
  3046. }
  3047. }
  3048. }
  3049. else
  3050. {
  3051. if(VehicleInfo[veh][vOwned] == 1)
  3052. {
  3053. GetPlayerName(playerid, plname, sizeof(plname));
  3054. if(strcmp(plname, VehicleInfo[veh][vOwner], true) == 0)
  3055. {
  3056. format(string, sizeof(string), "--|Witaj w swoim %s|--", VehicleNames[GetVehicleModel(veh)-400]);
  3057. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  3058. return 1;
  3059. }
  3060. else
  3061. {
  3062. if(VehicleInfo[veh][vAlarm] > 0)
  3063. {
  3064. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3065. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3066. SendClientMessage(playerid, COLOR_LIGHTRED, "OSTRZEŻENIE: alarm jest odblokowany.");
  3067. PlayAlarmSound(veh, VehicleInfo[veh][vAlarm]*10, VehicleInfo[veh][vAlarm]*10000);
  3068. return 1;
  3069. }
  3070. else
  3071. {
  3072. format(string, sizeof(string), "OSTRZEŻENIE: Ten %s jest %s", VehicleNames[GetVehicleModel(veh)-400], VehicleInfo[veh][vOwner]);
  3073. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  3074. return 1;
  3075. }
  3076. }
  3077. }
  3078. }
  3079. }
  3080. return 1;
  3081. }
  3082.  
  3083. public PlayAlarmSound(vehicleid, Float:radi, time)
  3084. {
  3085. for(new i=0; i<MAX_PLAYERS;i++)
  3086. {
  3087. if(ProxDetectorV(Float:radi, i, vehicleid))
  3088. {
  3089. AlarmTime[i] = SetTimerEx("ReapitingAlarm", 1000, false, "d", i, Float:radi, vehicleid);
  3090. SetTimerEx("StopingAlarm", time, false, "d", i);
  3091. vehaS[i] = vehicleid;
  3092. roda[i] = radi;
  3093. return 1;
  3094. }
  3095. }
  3096. return 0;
  3097. }
  3098.  
  3099. public ReapitingAlarm(i)
  3100. {
  3101. if(ProxDetectorV(roda[i], i, vehaS[i]))
  3102. {
  3103. new Float:posx, Float:posy, Float:posz;
  3104. GetPlayerPos(i, posx, posy, posz);
  3105. PlayerPlaySound(i, 1147, posx, posy, posz);
  3106. AlarmTime[i] = SetTimerEx("ReapitingAlarm", 1000, false, "d", i);
  3107. return 1;
  3108. }
  3109. else
  3110. {
  3111. //KillTimer(AlarmTime[i]);
  3112. }
  3113. //return 1;
  3114. }
  3115.  
  3116. public StopingAlarm(i)
  3117. {
  3118. KillTimer(AlarmTime[i]);
  3119. return 1;
  3120. }
  3121.  
  3122. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  3123. {
  3124. new string[256];
  3125. if(newkeys == KEY_ACTION)
  3126. {
  3127. new name[MAX_PLAYER_NAME];
  3128. GetPlayerName(playerid, name, sizeof(name));
  3129. if(IsPlayerInAnyVehicle(playerid))
  3130. {
  3131. new veha = GetPlayerVehicleID(playerid);
  3132. if(Engine[veha] == 0)
  3133. {
  3134. if(VehicleInfo[veha][vRentPrice] == 0)
  3135. {
  3136. SetTimerEx("EngineOn", 7000, false, "i", veha, playerid);
  3137. format(string, sizeof(string), "~y~Odpalanie silnika %s", VehicleNames[GetVehicleModel(veha)-400]);
  3138. GameTextForPlayer(playerid, string, 6000, 5);
  3139. format(string, sizeof(string), "%s probuje odpalic silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  3140. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  3141. return 1;
  3142. }
  3143. else
  3144. {
  3145. if(vRented[veha] == playerid && pRent[playerid] == veha)
  3146. {
  3147. SetTimerEx("EngineOn", 6000, false, "i", veha, playerid);
  3148. format(string, sizeof(string), "~y~Odpalanie silnika %s", VehicleNames[GetVehicleModel(veha)-400]);
  3149. GameTextForPlayer(playerid, string, 6000, 5);
  3150. format(string, sizeof(string), "%s probuje odpalic silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  3151. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  3152. return 1;
  3153. }
  3154. }
  3155. }
  3156. else
  3157. {
  3158. TogglePlayerControllable(playerid, 0);
  3159. Engine[veha] = 0;
  3160. format(string, sizeof(string), "%s zatrzymal silnik %s.", name, VehicleNames[GetVehicleModel(veha)-400]);
  3161. ProxDetector(20, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  3162. return 1;
  3163. }
  3164. }
  3165. }
  3166. if(newkeys == KEY_SECONDARY_ATTACK)
  3167. {
  3168. if(IsPlayerInAnyVehicle(playerid))
  3169. {
  3170. RemovePlayerFromVehicle(playerid);
  3171. TogglePlayerControllable(playerid, 1);
  3172. return 1;
  3173. }
  3174. }
  3175. return 1;
  3176. }
  3177.  
  3178. public OnPlayerEnterCheckpoint(playerid)
  3179. {
  3180. new str[256];
  3181. if(vCheck1[playerid])
  3182. {
  3183. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(veh1[playerid])-400]);
  3184. GameTextForPlayer(playerid, str, 8000, 5);
  3185. DisablePlayerCheckpoint(playerid);
  3186. return 1;
  3187. }
  3188. if(vCheck2[playerid])
  3189. {
  3190. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(veh2[playerid])-400]);
  3191. GameTextForPlayer(playerid, str, 8000, 5);
  3192. DisablePlayerCheckpoint(playerid);
  3193. return 1;
  3194. }
  3195. if(vCheck3[playerid])
  3196. {
  3197. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(veh3[playerid])-400]);
  3198. GameTextForPlayer(playerid, str, 8000, 5);
  3199. DisablePlayerCheckpoint(playerid);
  3200. return 1;
  3201. }
  3202. if(vCheck4[playerid])
  3203. {
  3204. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(veh4[playerid])-400]);
  3205. GameTextForPlayer(playerid, str, 8000, 5);
  3206. DisablePlayerCheckpoint(playerid);
  3207. return 1;
  3208. }
  3209. if(vCheck5[playerid])
  3210. {
  3211. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(veh5[playerid])-400]);
  3212. GameTextForPlayer(playerid, str, 8000, 5);
  3213. DisablePlayerCheckpoint(playerid);
  3214. return 1;
  3215. }
  3216. if(RentCheck[playerid])
  3217. {
  3218. format(str, sizeof(str), "~g~%s znaleziony", VehicleNames[GetVehicleModel(RentCheck[playerid])-400]);
  3219. GameTextForPlayer(playerid, str, 8000, 5);
  3220. DisablePlayerCheckpoint(playerid);
  3221. return 1;
  3222. }
  3223. return 1;
  3224. }
  3225.  
  3226. public OnPlayerSelectedMenuRow(playerid, row)
  3227. {
  3228. new Menu:current;
  3229. new vehi = GetPlayerVehicleID(playerid);
  3230. current = GetPlayerMenu(playerid);
  3231. if(current == Colors)
  3232. {
  3233. switch(row)
  3234. {
  3235. case 0:{
  3236. pColor[playerid] = 0;
  3237. ShowMenuForPlayer(Colors2, playerid);
  3238. }
  3239. case 1:{
  3240. pColor[playerid] = 1;
  3241. ShowMenuForPlayer(Colors2, playerid);
  3242. }
  3243. case 2:{
  3244. pColor[playerid] = 2;
  3245. ShowMenuForPlayer(Colors2, playerid);
  3246. }
  3247. case 3:{
  3248. pColor[playerid] = 3;
  3249. ShowMenuForPlayer(Colors2, playerid);
  3250. }
  3251. case 4:{
  3252. pColor[playerid] = 4;
  3253. ShowMenuForPlayer(Colors2, playerid);
  3254. }
  3255. case 5:{
  3256. pColor[playerid] = 5;
  3257. ShowMenuForPlayer(Colors2, playerid);
  3258. }
  3259. case 6:{
  3260. pColor[playerid] = 6;
  3261. ShowMenuForPlayer(Colors2, playerid);
  3262. }
  3263. case 7:{
  3264. pColor[playerid] = 7;
  3265. ShowMenuForPlayer(Colors2, playerid);
  3266. }
  3267. case 8:{
  3268. pColor[playerid] = 8;
  3269. ShowMenuForPlayer(Colors2, playerid);
  3270. }
  3271. case 9:{
  3272. pColor[playerid] = 42;
  3273. ShowMenuForPlayer(Colors2, playerid);
  3274. }
  3275. case 10:{
  3276. pColor[playerid] = 16;
  3277. ShowMenuForPlayer(Colors2, playerid);
  3278. }
  3279. case 11:{
  3280. pColor[playerid] = 20;
  3281. ShowMenuForPlayer(Colors2, playerid);
  3282. }
  3283. }
  3284. }
  3285. if(current == Colors2)
  3286. {
  3287. switch(row)
  3288. {
  3289. case 0:{
  3290. ChangeVehicleColor(vehi, pColor[playerid], 0);
  3291. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3292. VehicleInfo[vehi][vColorTwo] = 0;
  3293. SaveVehicles(playerid, vehi);
  3294. HideMenuForPlayer(Colors2, playerid);
  3295. GivePlayerMoney(playerid, -1000);
  3296. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~l~czarny ~n~~r~-$1000", 8000, 3);
  3297. }
  3298. case 1:{
  3299. ChangeVehicleColor(vehi, pColor[playerid], 1);
  3300. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3301. VehicleInfo[vehi][vColorTwo] = 1;
  3302. SaveVehicles(playerid, vehi);
  3303. HideMenuForPlayer(Colors2, playerid);
  3304. GivePlayerMoney(playerid, -1000);
  3305. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~w~bialy ~n~~r~-$1000", 8000, 3);
  3306. }
  3307. case 2:{
  3308. ChangeVehicleColor(vehi, pColor[playerid], 2);
  3309. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3310. VehicleInfo[vehi][vColorTwo] = 2;
  3311. SaveVehicles(playerid, vehi);
  3312. HideMenuForPlayer(Colors2, playerid);
  3313. GivePlayerMoney(playerid, -1000);
  3314. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~b~niebieski ~n~~r~-$1000", 8000, 3);
  3315. }
  3316. case 3:{
  3317. ChangeVehicleColor(vehi, pColor[playerid], 3);
  3318. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3319. VehicleInfo[vehi][vColorTwo] = 3;
  3320. SaveVehicles(playerid, vehi);
  3321. HideMenuForPlayer(Colors2, playerid);
  3322. GivePlayerMoney(playerid, -1000);
  3323. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~r~czerwony ~n~~r~-$1000", 8000, 3);
  3324. }
  3325. case 4:{
  3326. ChangeVehicleColor(vehi, pColor[playerid], 4);
  3327. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3328. VehicleInfo[vehi][vColorTwo] = 4;
  3329. SaveVehicles(playerid, vehi);
  3330. HideMenuForPlayer(Colors2, playerid);
  3331. GivePlayerMoney(playerid, -1000);
  3332. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~g~zielony ~n~~r~-$1000", 8000, 3);
  3333. }
  3334. case 5:{
  3335. ChangeVehicleColor(vehi, pColor[playerid], 5);
  3336. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3337. VehicleInfo[vehi][vColorTwo] = 5;
  3338. SaveVehicles(playerid, vehi);
  3339. HideMenuForPlayer(Colors2, playerid);
  3340. GivePlayerMoney(playerid, -1000);
  3341. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~p~rozowy ~n~~r~-$1000", 8000, 3);
  3342. }
  3343. case 6:{
  3344. ChangeVehicleColor(vehi, pColor[playerid], 6);
  3345. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3346. VehicleInfo[vehi][vColorTwo] = 6;
  3347. SaveVehicles(playerid, vehi);
  3348. HideMenuForPlayer(Colors, playerid);
  3349. GivePlayerMoney(playerid, -1000);
  3350. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~y~zolty ~n~~r~-$1000", 8000, 3);
  3351. }
  3352. case 7:{
  3353. ChangeVehicleColor(vehi, pColor[playerid], 7);
  3354. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3355. VehicleInfo[vehi][vColorTwo] = 7;
  3356. SaveVehicles(playerid, vehi);
  3357. HideMenuForPlayer(Colors2, playerid);
  3358. GivePlayerMoney(playerid, -1000);
  3359. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~b~niebieski ~n~~r~-$1000", 8000, 3);
  3360. }
  3361. case 8:{
  3362. ChangeVehicleColor(vehi, pColor[playerid], 8);
  3363. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3364. VehicleInfo[vehi][vColorTwo] = 9;
  3365. SaveVehicles(playerid, vehi);
  3366. HideMenuForPlayer(Colors2, playerid);
  3367. GivePlayerMoney(playerid, -1000);
  3368. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~w~szary ~n~~r~-$1000", 8000, 3);
  3369. }
  3370. case 9:{
  3371. ChangeVehicleColor(vehi, pColor[playerid], 42);
  3372. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3373. VehicleInfo[vehi][vColorTwo] = 42;
  3374. SaveVehicles(playerid, vehi);
  3375. HideMenuForPlayer(Colors2, playerid);
  3376. GivePlayerMoney(playerid, -1000);
  3377. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~r~jasnoczerwony ~n~~r~-$1000", 8000, 3);
  3378. }
  3379. case 10:{
  3380. ChangeVehicleColor(vehi, pColor[playerid], 16);
  3381. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3382. VehicleInfo[vehi][vColorTwo] = 16;
  3383. SaveVehicles(playerid, vehi);
  3384. HideMenuForPlayer(Colors2, playerid);
  3385. GivePlayerMoney(playerid, -1000);
  3386. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~g~jasnozielony ~n~~r~-$1000", 8000, 3);
  3387. }
  3388. case 11:{
  3389. ChangeVehicleColor(vehi, pColor[playerid], 20);
  3390. VehicleInfo[vehi][vColorOne] = pColor[playerid];
  3391. VehicleInfo[vehi][vColorTwo] = 20;
  3392. SaveVehicles(playerid, vehi);
  3393. HideMenuForPlayer(Colors2, playerid);
  3394. GivePlayerMoney(playerid, -1000);
  3395. GameTextForPlayer(playerid, "~w~kolor zmieniony ~n~~p~purpurowy ~n~~r~-$1000", 8000, 3);
  3396. }
  3397. }
  3398. }
  3399. if(current == ColorsS)
  3400. {
  3401. switch(row)
  3402. {
  3403. case 0:{
  3404. pColorS[playerid] = 0;
  3405. ShowMenuForPlayer(Colors2S, playerid);
  3406. }
  3407. case 1:{
  3408. pColorS[playerid] = 1;
  3409. ShowMenuForPlayer(Colors2S, playerid);
  3410. }
  3411. case 2:{
  3412. pColorS[playerid] = 2;
  3413. ShowMenuForPlayer(Colors2S, playerid);
  3414. }
  3415. case 3:{
  3416. pColorS[playerid] = 3;
  3417. ShowMenuForPlayer(Colors2S, playerid);
  3418. }
  3419. case 4:{
  3420. pColorS[playerid] = 4;
  3421. ShowMenuForPlayer(Colors2S, playerid);
  3422. }
  3423. case 5:{
  3424. pColorS[playerid] = 5;
  3425. ShowMenuForPlayer(Colors2S, playerid);
  3426. }
  3427. case 6:{
  3428. pColorS[playerid] = 6;
  3429. ShowMenuForPlayer(Colors2S, playerid);
  3430. }
  3431. case 7:{
  3432. pColorS[playerid] = 7;
  3433. ShowMenuForPlayer(Colors2S, playerid);
  3434. }
  3435. case 8:{
  3436. pColorS[playerid] = 8;
  3437. ShowMenuForPlayer(Colors2S, playerid);
  3438. }
  3439. case 9:{
  3440. pColorS[playerid] = 42;
  3441. ShowMenuForPlayer(Colors2S, playerid);
  3442. }
  3443. case 10:{
  3444. pColorS[playerid] = 16;
  3445. ShowMenuForPlayer(Colors2S, playerid);
  3446. }
  3447. case 11:{
  3448. pColorS[playerid] = 20;
  3449. ShowMenuForPlayer(Colors2S, playerid);
  3450. }
  3451. }
  3452. }
  3453. if(current == Colors2S)
  3454. {
  3455. switch(row)
  3456. {
  3457. case 0:{
  3458. pColor2S[playerid] = 0;
  3459. BuyingVeh(playerid);
  3460. HideMenuForPlayer(Colors2, playerid);
  3461. }
  3462. case 1:{
  3463. BuyingVeh(playerid);
  3464. HideMenuForPlayer(Colors2, playerid);
  3465. pColor2S[playerid] = 1;
  3466. }
  3467. case 2:{
  3468. pColor2S[playerid] = 2;
  3469. BuyingVeh(playerid);
  3470. HideMenuForPlayer(Colors2, playerid);
  3471. }
  3472. case 3:{
  3473. pColor2S[playerid] = 3;
  3474. HideMenuForPlayer(Colors2, playerid);
  3475. BuyingVeh(playerid);
  3476. }
  3477. case 4:{
  3478. pColor2S[playerid] = 4;
  3479. BuyingVeh(playerid);
  3480. HideMenuForPlayer(Colors2, playerid);
  3481. }
  3482. case 5:{
  3483. pColor2S[playerid] = 5;
  3484. BuyingVeh(playerid);
  3485. HideMenuForPlayer(Colors2, playerid);
  3486. }
  3487. case 6:{
  3488. pColor2S[playerid] = 6;
  3489. BuyingVeh(playerid);
  3490. HideMenuForPlayer(Colors2, playerid);
  3491. }
  3492. case 7:{
  3493. pColor2S[playerid] = 7;
  3494. BuyingVeh(playerid);
  3495. HideMenuForPlayer(Colors2, playerid);
  3496. }
  3497. case 8:{
  3498. pColor2S[playerid] = 8;
  3499. BuyingVeh(playerid);
  3500. HideMenuForPlayer(Colors2, playerid);
  3501. }
  3502. case 9:{
  3503. pColor2S[playerid] = 42;
  3504. BuyingVeh(playerid);
  3505. HideMenuForPlayer(Colors2, playerid);
  3506. }
  3507. case 10:{
  3508. pColor2S[playerid] = 16;
  3509. BuyingVeh(playerid);
  3510. HideMenuForPlayer(Colors2, playerid);
  3511. }
  3512. case 11:{
  3513. pColor2S[playerid] = 20;
  3514. BuyingVeh(playerid);
  3515. HideMenuForPlayer(Colors2, playerid);
  3516. }
  3517. }
  3518. }
  3519. return 1;
  3520. }
  3521.  
  3522. public BuyingVeh(playerid)
  3523. {
  3524. new playername[MAX_PLAYER_NAME];
  3525. new string[256];
  3526. if(!strcmp(PlayerVehicle[playerid][pVeh1], "None", true))
  3527. {
  3528. new carid = CreateVehicle(pCar[playerid], 340.5165,-1337.5707,14.1347, 29.8872, pColorS[playerid], pColor2S[playerid], 60000);
  3529. GetPlayerName(playerid, playername, sizeof(playername));
  3530. strmid(VehicleInfo[carid][vOwner], playername, 0, strlen(playername), 255);
  3531. VehicleInfo[carid][vOwned] = 1;
  3532. format(string, sizeof(string), "%s.%s", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3533. strmid(VehicleInfo[carid][vDescription], string, 0, strlen(string), 255);
  3534. VehicleInfo[carid][vModel] = pCar[playerid];
  3535. VehicleInfo[carid][vColorOne] = pColorS[playerid];
  3536. VehicleInfo[carid][vColorTwo] = pColor2S[playerid];
  3537. VehicleInfo[carid][vLock] = 0;
  3538. VehicleInfo[carid][vLockBuyed] = 0;
  3539. VehicleInfo[carid][vX] = 340.5165;
  3540. VehicleInfo[carid][vY] = -1337.5707;
  3541. VehicleInfo[carid][vZ] = 14.1347;
  3542. VehicleInfo[carid][vAngle] = 29.8872;
  3543. strmid(PlayerVehicle[playerid][pVeh1], string, 0, strlen(string), 255);
  3544. new str[256], plname[MAX_PLAYER_NAME];
  3545. GetPlayerName(playerid, plname, sizeof(plname));
  3546. format(str, sizeof(str), "GF/Pojazdy/Gracze/%s", plname);
  3547. dini_Set(str, "Vehicle1", PlayerVehicle[playerid][pVeh1]);
  3548. SaveVehicles(playerid, carid);
  3549. format(string, sizeof(string), "%s kupil %s.", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3550. print(string);
  3551. format(string, sizeof(string), "~y~%s kupiles ~n~~w~nie zapomnij uzyc komendy /pojazd parkuj", VehicleNames[GetVehicleModel(carid)-400]);
  3552. GameTextForPlayer(playerid, string, 8000, 5);
  3553. GivePlayerMoney(playerid, -CarsPrices[pCar[playerid]-400]);
  3554. return 1;
  3555. }
  3556. else if(!strcmp(PlayerVehicle[playerid][pVeh2], "None", true))
  3557. {
  3558. new carid = CreateVehicle(pCar[playerid], 340.5165,-1337.5707,14.1347, 29.8872, pColorS[playerid], pColor2S[playerid], 60000);
  3559. GetPlayerName(playerid, playername, sizeof(playername));
  3560. strmid(VehicleInfo[carid][vOwner], playername, 0, strlen(playername), 255);
  3561. VehicleInfo[carid][vOwned] = 1;
  3562. format(string, sizeof(string), "%s.%s", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3563. strmid(VehicleInfo[carid][vDescription], string, 0, strlen(string), 255);
  3564. VehicleInfo[carid][vModel] = pCar[playerid];
  3565. VehicleInfo[carid][vColorOne] = pColorS[playerid];
  3566. VehicleInfo[carid][vColorTwo] = pColor2S[playerid];
  3567. VehicleInfo[carid][vLock] = 0;
  3568. VehicleInfo[carid][vLockBuyed] = 0;
  3569. VehicleInfo[carid][vX] = 340.5165;
  3570. VehicleInfo[carid][vY] = -1337.5707;
  3571. VehicleInfo[carid][vZ] = 14.1347;
  3572. VehicleInfo[carid][vAngle] = 29.8872;
  3573. strmid(PlayerVehicle[playerid][pVeh2], string, 0, strlen(string), 255);
  3574. new str[256], plname[MAX_PLAYER_NAME];
  3575. GetPlayerName(playerid, plname, sizeof(plname));
  3576. format(str, sizeof(str), "GF/Pojazdy/Gracze/%s", plname);
  3577. dini_Set(str, "Vehicle2", PlayerVehicle[playerid][pVeh2]);
  3578. SaveVehicles(playerid, carid);
  3579. format(string, sizeof(string), "%s kupil %s.", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3580. print(string);
  3581. format(string, sizeof(string), "~y~%s kupiles ~n~~w~nie zapomnij uzyc komendy /pojazd parkuj", VehicleNames[GetVehicleModel(carid)-400]);
  3582. GameTextForPlayer(playerid, string, 8000, 5);
  3583. GivePlayerMoney(playerid, -CarsPrices[pCar[playerid]-400]);
  3584. return 1;
  3585. }
  3586. else if(!strcmp(PlayerVehicle[playerid][pVeh3], "None", true))
  3587. {
  3588. new carid = CreateVehicle(pCar[playerid], 340.5165,-1337.5707,14.1347, 29.8872, pColorS[playerid], pColor2S[playerid], 60000);
  3589. GetPlayerName(playerid, playername, sizeof(playername));
  3590. strmid(VehicleInfo[carid][vOwner], playername, 0, strlen(playername), 255);
  3591. VehicleInfo[carid][vOwned] = 1;
  3592. format(string, sizeof(string), "GF/Pojazdy/Inne/%s.%s", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3593. strmid(VehicleInfo[carid][vDescription], string, 0, strlen(string), 255);
  3594. VehicleInfo[carid][vModel] = pCar[playerid];
  3595. VehicleInfo[carid][vColorOne] = pColorS[playerid];
  3596. VehicleInfo[carid][vColorTwo] = pColor2S[playerid];
  3597. VehicleInfo[carid][vLock] = 0;
  3598. VehicleInfo[carid][vLockBuyed] = 0;
  3599. VehicleInfo[carid][vX] = 340.5165;
  3600. VehicleInfo[carid][vY] = -1337.5707;
  3601. VehicleInfo[carid][vZ] = 14.1347;
  3602. VehicleInfo[carid][vAngle] = 29.8872;
  3603. strmid(PlayerVehicle[playerid][pVeh3], string, 0, strlen(string), 255);
  3604. new str[256], plname[MAX_PLAYER_NAME];
  3605. GetPlayerName(playerid, plname, sizeof(plname));
  3606. format(str, sizeof(str), "GF/Pojazdy/Gracze/%s", plname);
  3607. dini_Set(str, "Vehicle3", PlayerVehicle[playerid][pVeh3]);
  3608. SaveVehicles(playerid, carid);
  3609. format(string, sizeof(string), "%s kupil %s.", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3610. print(string);
  3611. format(string, sizeof(string), "~y~%s kupiles ~n~~w~nie zapomnij uzyc komendy /pojazd parkuj", VehicleNames[GetVehicleModel(carid)-400]);
  3612. GameTextForPlayer(playerid, string, 8000, 5);
  3613. GivePlayerMoney(playerid, -CarsPrices[pCar[playerid]-400]);
  3614. return 1;
  3615. }
  3616. else if(!strcmp(PlayerVehicle[playerid][pVeh4], "None", true))
  3617. {
  3618. new carid = CreateVehicle(pCar[playerid], 340.5165,-1337.5707,14.1347, 29.8872, pColorS[playerid], pColor2S[playerid], 60000);
  3619. GetPlayerName(playerid, playername, sizeof(playername));
  3620. strmid(VehicleInfo[carid][vOwner], playername, 0, strlen(playername), 255);
  3621. VehicleInfo[carid][vOwned] = 1;
  3622. format(string, sizeof(string), "GF/Pojazdy/Inne/%s.%s", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3623. strmid(VehicleInfo[carid][vDescription], string, 0, strlen(string), 255);
  3624. VehicleInfo[carid][vModel] = pCar[playerid];
  3625. VehicleInfo[carid][vColorOne] = pColorS[playerid];
  3626. VehicleInfo[carid][vColorTwo] = pColor2S[playerid];
  3627. VehicleInfo[carid][vLock] = 0;
  3628. VehicleInfo[carid][vLockBuyed] = 0;
  3629. VehicleInfo[carid][vX] = 340.5165;
  3630. VehicleInfo[carid][vY] = -1337.5707;
  3631. VehicleInfo[carid][vZ] = 14.1347;
  3632. VehicleInfo[carid][vAngle] = 29.8872;
  3633. strmid(PlayerVehicle[playerid][pVeh4], string, 0, strlen(string), 255);
  3634. new str[256], plname[MAX_PLAYER_NAME];
  3635. GetPlayerName(playerid, plname, sizeof(plname));
  3636. format(str, sizeof(str), "GF/Pojazdy/Gracze/%s", plname);
  3637. dini_Set(str, "Vehicle4", PlayerVehicle[playerid][pVeh4]);
  3638. SaveVehicles(playerid, carid);
  3639. format(string, sizeof(string), "%s kupil %s.", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3640. print(string);
  3641. format(string, sizeof(string), "~y~%s kupiles ~n~~w~nie zapomnij uzyc komendy /pojazd parkuj", VehicleNames[GetVehicleModel(carid)-400]);
  3642. GameTextForPlayer(playerid, string, 8000, 5);
  3643. GivePlayerMoney(playerid, -CarsPrices[pCar[playerid]-400]);
  3644. return 1;
  3645. }
  3646. else if(!strcmp(PlayerVehicle[playerid][pVeh5], "None", true))
  3647. {
  3648. new carid = CreateVehicle(pCar[playerid], 340.5165,-1337.5707,14.1347, 29.8872, pColorS[playerid], pColor2S[playerid], 60000);
  3649. GetPlayerName(playerid, playername, sizeof(playername));
  3650. strmid(VehicleInfo[carid][vOwner], playername, 0, strlen(playername), 255);
  3651. VehicleInfo[carid][vOwned] = 1;
  3652. format(string, sizeof(string), "%s.%s", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3653. strmid(VehicleInfo[carid][vDescription], string, 0, strlen(string), 255);
  3654. VehicleInfo[carid][vModel] = pCar[playerid];
  3655. VehicleInfo[carid][vColorOne] = pColorS[playerid];
  3656. VehicleInfo[carid][vColorTwo] = pColor2S[playerid];
  3657. VehicleInfo[carid][vLock] = 0;
  3658. VehicleInfo[carid][vLockBuyed] = 0;
  3659. VehicleInfo[carid][vX] = 340.5165;
  3660. VehicleInfo[carid][vY] = -1337.5707;
  3661. VehicleInfo[carid][vZ] = 14.1347;
  3662. VehicleInfo[carid][vAngle] = 29.8872;
  3663. strmid(PlayerVehicle[playerid][pVeh5], string, 0, strlen(string), 255);
  3664. new str[256], plname[MAX_PLAYER_NAME];
  3665. GetPlayerName(playerid, plname, sizeof(plname));
  3666. format(str, sizeof(str), "GF/Pojazdy/Gracze/%s", plname);
  3667. dini_Set(str, "Vehicle5", PlayerVehicle[playerid][pVeh5]);
  3668. SaveVehicles(playerid, carid);
  3669. format(string, sizeof(string), "%s kupil %s.", playername, VehicleNames[GetVehicleModel(carid)-400]);
  3670. print(string);
  3671. format(string, sizeof(string), "~y~%s kupiles ~n~~w~nie zapomnij uzyc komendy /pojazd parkuj", VehicleNames[GetVehicleModel(carid)-400]);
  3672. GameTextForPlayer(playerid, string, 8000, 5);
  3673. GivePlayerMoney(playerid, -CarsPrices[pCar[playerid]-400]);
  3674. return 1;
  3675. }
  3676. else
  3677. {
  3678. SendClientMessage(playerid, COLOR_LIGHTRED, "Masz już 5 pojazdów!");
  3679. return 1;
  3680. }
  3681. }
  3682.  
  3683. public OnPlayerExitedMenu(playerid)
  3684. {
  3685. if(GetPlayerMenu(playerid) == Colors2S)
  3686. {
  3687. ShowMenuForPlayer(Colors2S, playerid);
  3688. SendClientMessage(playerid, COLOR_LIGHTRED, "Nie możesz opuścić menu dopóki nie skończysz kupować");
  3689. return 1;
  3690. }
  3691. return 1;
  3692. }
  3693. public ReFill(playerid)
  3694. {
  3695. new string[256];
  3696. new vehicleid = GetPlayerVehicleID(playerid);
  3697. new Float:x, Float:y, Float:z;
  3698. if(IsPlayerConnected(playerid) && Fuel[vehicleid] < 100){
  3699. Fuel[vehicleid] += 1;
  3700. if(GetPlayerPos(playerid, x, y, z) != IsAtFuelStation(playerid) || !IsPlayerInAnyVehicle(playerid) || Fuel[vehicleid] >= 100){
  3701. new RefueledAmount = floatround(Fuel[ vehicleid]) - OldFuel[playerid];
  3702. GivePlayerMoney(playerid, -RefueledAmount);
  3703. format(string, sizeof(string),".:: [PALIWO]: Twój pojazd został zatankowany za $%d.", RefueledAmount);
  3704. SendClientMessage(playerid, COLOR_YELLOW, string);
  3705. KillTimer(ReFuelTimer[playerid]); Refueling[playerid] = 0;}
  3706. }
  3707. return true;
  3708. }
  3709.  
  3710.  
  3711.  
  3712.  
  3713. public Speedometer()
  3714. {
  3715. for(new i = 0; i < MAX_PLAYERS; i++)
  3716. {
  3717. new State = GetPlayerState(i);
  3718. if(State == PLAYER_STATE_DRIVER && ShowSpeed[i] == 1 && IsPlayerInAnyVehicle(i))
  3719. {
  3720. #define MULTIPLY_SPEED 4
  3721. new vehicleid = GetPlayerVehicleID(i);
  3722. new VehicleModel = GetVehicleModel(GetPlayerVehicleID(i));
  3723.  
  3724. new Float:x, Float:y, Float:z, Float:health, string[256]; TextDrawDestroy(black); TextDrawDestroy(Speedom[i]);
  3725. GetPlayerPos(i, x, y, z); GetVehicleHealth(GetPlayerVehicleID(i), health);
  3726. new Float:Dis = floatsqroot(floatpower(floatabs(floatsub(OldCoordsX[i],x)),2) + floatpower(floatabs(floatsub(OldCoordsY[i],y)),2));
  3727.  
  3728. if(Fuel[vehicleid] <= 0){ RemovePlayerFromVehicle(i); SendClientMessage(i, COLOR_YELLOW, "[FUEL]: There is no fuel in the vehicle."); }
  3729. if(VehicleModel==509||VehicleModel==481||VehicleModel==510) { SetVehicleHealth(GetPlayerVehicleID(i), 1000); Fuel[vehicleid] = 100; }
  3730. if(VehicleModel==520||VehicleModel==476||VehicleModel==593||VehicleModel==553||VehicleModel==513||VehicleModel==512||VehicleModel==577||VehicleModel==592||VehicleModel==511||VehicleModel==539||VehicleModel==464||VehicleModel==519) { Fuel[vehicleid] = 100; }
  3731. new speed = (floatround(Dis)*MULTIPLY_SPEED);
  3732.  
  3733. new locked[15], Sspeed[15];
  3734. if(VehicleInfo[GetPlayerVehicleID(i)][vLock] >= 1) { locked = "~R~Zamkniety"; } else { locked = "~G~Unlocked"; }
  3735.  
  3736. if( speed == 0) {
  3737. format(Sspeed,sizeof(Sspeed),"~G~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  3738. } else if( speed >= 1 && speed <= 60 ){
  3739. format(Sspeed,sizeof(Sspeed),"~G~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  3740. Fuel[vehicleid] -= 0.01;
  3741. } else if( speed >= 61 && speed <= 120 ){
  3742. format(Sspeed,sizeof(Sspeed),"~Y~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  3743. Fuel[vehicleid] -= 0.02;
  3744. } else {
  3745. format(Sspeed,sizeof(Sspeed),"~R~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  3746. Fuel[vehicleid] -= 0.03;
  3747. }
  3748.  
  3749. format(string,sizeof(string),"~B~Pojazd:~n~~w~%s~n~~B~Predkosc: %s~n~~B~Paliwo: ~W~%.1f~n~~B~Stan: ~W~%.1f~n~~b~Status: %s" ,VehicleNames[GetVehicleModel(GetPlayerVehicleID(i))-400], Sspeed, Fuel[vehicleid], health/10, locked);
  3750.  
  3751. black = TextDrawCreate(494.000000,379.000000,"_");
  3752. TextDrawUseBox(black,1);
  3753. TextDrawBoxColor(black,0x00000085);
  3754. TextDrawTextSize(black,626.000000,0.000000);
  3755. TextDrawAlignment(black,0);
  3756. TextDrawBackgroundColor(black,0x000000FF);
  3757. TextDrawFont(black,2);
  3758. TextDrawLetterSize(black,1.700000,6.250000);
  3759. TextDrawColor(black,0x000000FF);
  3760. TextDrawSetOutline(black,1);
  3761. TextDrawSetProportional(black,1);
  3762. TextDrawSetShadow(black,1);
  3763.  
  3764. Speedom[i] = TextDrawCreate(495.000000,380.000000,string);
  3765. TextDrawUseBox(Speedom[i],1);
  3766. TextDrawBoxColor(Speedom[i],0xFFFFFF85);
  3767. TextDrawTextSize(Speedom[i],625.000000,0.000000);
  3768. TextDrawAlignment(Speedom[i],0);
  3769. TextDrawBackgroundColor(Speedom[i],0x000000FF);
  3770. TextDrawFont(Speedom[i],2);
  3771. TextDrawLetterSize(Speedom[i],0.299999,1.000000);
  3772. TextDrawColor(Speedom[i],0xFFFFFFFF);
  3773. TextDrawSetOutline(Speedom[i],1);
  3774. TextDrawSetProportional(Speedom[i],1);
  3775. TextDrawSetShadow(Speedom[i],1);
  3776.  
  3777. TextDrawShowForPlayer(i, black);
  3778. TextDrawShowForPlayer(i, Speedom[i]);
  3779. OldCoordsX[i] = x; OldCoordsY[i] = y;
  3780. } else { TextDrawHideForPlayer(i, black); TextDrawHideForPlayer(i, Speedom[i]); }
  3781. }
  3782. return true;
  3783. }
  3784.  
  3785.  
  3786.  
  3787.  
  3788. public IsAtFuelStation(playerid)
  3789. {
  3790. if(PlayerToPoint(10,playerid,1595.5406, 2198.0520, 10.3863) || PlayerToPoint(10,playerid,2202.0649, 2472.6697, 10.5677) ||
  3791. PlayerToPoint(10,playerid,2115.1929, 919.9908, 10.5266) || PlayerToPoint(10,playerid,2640.7209, 1105.9565, 10.5274) ||
  3792. PlayerToPoint(10,playerid,608.5971, 1699.6238, 6.9922) || PlayerToPoint(10,playerid,618.4878, 1684.5792, 6.9922) ||
  3793. PlayerToPoint(10,playerid,2146.3467, 2748.2893, 10.5245) || PlayerToPoint(10,playerid,-1679.4595, 412.5129, 6.9973) ||
  3794. PlayerToPoint(10,playerid,-1327.5607, 2677.4316, 49.8093) || PlayerToPoint(10,playerid,-1470.0050, 1863.2375, 32.3521) ||
  3795. PlayerToPoint(10,playerid,-2409.2200, 976.2798, 45.2969) || PlayerToPoint(10,playerid,-2244.1396, -2560.5833, 31.9219) ||
  3796. PlayerToPoint(10,playerid,-1606.0544, -2714.3083, 48.5335) || PlayerToPoint(10,playerid,1937.4293, -1773.1865, 13.3828) ||
  3797. PlayerToPoint(10,playerid,-91.3854, -1169.9175, 2.4213) || PlayerToPoint(10,playerid,1383.4221, 462.5385, 20.1506) ||
  3798. PlayerToPoint(10,playerid,660.4590, -565.0394, 16.3359) || PlayerToPoint(10,playerid,1381.7206, 459.1907, 20.3452) ||
  3799. PlayerToPoint(10,playerid,-1605.7156, -2714.4573, 48.5335))
  3800. { return true; }
  3801. return false;
  3802. }
  3803.  
  3804.  
  3805.  
  3806.  
  3807. public UnlockVehicle(vehicleid)
  3808. {
  3809. for(new i = 0; i <MAX_PLAYERS; i++)
  3810. {
  3811. SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
  3812. }
  3813. IsLocked[vehicleid] = 0;
  3814. }
  3815.  
  3816. public Random(min, max)
  3817. {
  3818. new a = random(max - min) + min;
  3819. return a;
  3820. }
  3821.  
  3822. stock GetName(playerid)
  3823. {
  3824. new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
  3825. return name;
  3826. }
  3827.  
  3828. /*public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  3829. {
  3830. if(IsPlayerConnected(playerid))
  3831. {
  3832. new Float:oldposx, Float:oldposy, Float:oldposz;
  3833. new Float:tempposx, Float:tempposy, Float:tempposz;
  3834. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  3835. tempposx = (oldposx -x);
  3836. tempposy = (oldposy -y);
  3837. tempposz = (oldposz -z);
  3838. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  3839. {
  3840. return 1;
  3841. }
  3842. }
  3843. return 0;
  3844. }*/
  3845.  
  3846. stock GetPlayer2DZone(playerid, zone[], len)
  3847. {
  3848. new Float:x, Float:y, Float:z;
  3849. GetPlayerPos(playerid, x, y, z);
  3850. for(new i = 0; i != sizeof(gSAZones); i++ )
  3851. {
  3852. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
  3853. {
  3854. return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  3855. }
  3856. }
  3857. return 0;
  3858. }
  3859.  
  3860. stock GetPlayer3DZone(playerid, zone[], len)
  3861. {
  3862. new Float:x, Float:y, Float:z;
  3863. GetPlayerPos(playerid, x, y, z);
  3864. for(new i = 0; i != sizeof(gSAZones); i++ )
  3865. {
  3866. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4] && z >= gSAZones[i][SAZONE_AREA][2] && z <= gSAZones[i][SAZONE_AREA][5])
  3867. {
  3868. return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  3869. }
  3870. }
  3871. return 0;
  3872. }
  3873.  
  3874. stock IsPlayerInTheZone(playerid, zone[])
  3875. {
  3876. new TmpZone[MAX_ZONE_NAME];
  3877. GetPlayer3DZone(playerid, TmpZone, sizeof(TmpZone));
  3878. for(new i = 0; i != sizeof(gSAZones); i++)
  3879. {
  3880. if(strfind(TmpZone, zone, true) != -1)
  3881. return 1;
  3882. }
  3883. return 0;
  3884. }
  3885.  
  3886. stock GetVehicleZone(vehicleid, zone[], len)
  3887. {
  3888. new Float:x, Float:y, Float:z;
  3889. GetVehiclePos(vehicleid, x, y, z);
  3890. for(new i = 0; i != sizeof(gSAZones); i++ )
  3891. {
  3892. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
  3893. {
  3894. return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  3895. }
  3896. }
  3897. return 0;
  3898. }
  3899.  
  3900. GetVehicleModelIDFromName(vname[])
  3901. {
  3902. for(new i = 0; i < 211; i++)
  3903. {
  3904. if(strfind(VehicleNames[i], vname, true) != -1)
  3905. return i + 400;
  3906. }
  3907. return -1;
  3908. }
  3909. /*================================================================================================
  3910. Finish, Enjoy
  3911. ==================================================================================================*/
  3912. strtok(const string[], &index)
  3913. {
  3914. new length = strlen(string);
  3915. while ((index < length) && (string[index] <= ' '))
  3916. {
  3917. index++;
  3918. }
  3919.  
  3920. new offset = index;
  3921. new result[20];
  3922. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  3923. {
  3924. result[index - offset] = string[index];
  3925. index++;
  3926. }
  3927. result[index - offset] = EOS;
  3928. return result;
  3929. }
Advertisement
Add Comment
Please, Sign In to add comment