Guest User

Adrick's Roleplay

a guest
Jan 21st, 2013
765
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 244.39 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_ini>
  3. #include <zcmd>
  4. #include <foreach>
  5. #define PRESSED(%0) \
  6. (((newkeys&(%0))==(%0)) && ((oldkeys & (%0)) != (%0)))
  7. #define PATH "/Users/%s.ini"
  8.  
  9. #undef MAX_PLAYERS
  10. #define MAX_PLAYERS 100
  11. #define MAX_DVEHICLES 200
  12. #define MAX_DEALERSHIPS 10
  13. #define MAX_FUEL_STATIONS 10
  14. #define VEHICLE_File_PATH "DSHIP/Vehicles/"
  15. #define DEALERSHIP_File_PATH "DSHIP/Dealerships/"
  16. #define FUEL_STATION_File_PATH "DSHIP/FuelStations/"
  17. #define MAX_PLAYER_VEHICLES 3
  18. #define FUEL_PRICE 5
  19. #define GAS_CAN_PRICE 500
  20. #define ALARM_TIME 10000
  21. #define DEFAULT_NUMBER_PLATE "123 ABC"
  22. #define VEHICLE_DEALERSHIP 1
  23. #define VEHICLE_PLAYER 2
  24. #define DIALOG_NONE 12345
  25. #define DIALOG_ERROR 12346
  26. #define DIALOG_VEHICLE 500
  27. #define DIALOG_VEHICLE_BUY 501
  28. #define DIALOG_VEHICLE_SELL 502
  29. #define DIALOG_FINDVEHICLE 503
  30. #define DIALOG_TRUNK 504
  31. #define DIALOG_TRUNK_ACTION 505
  32. #define DIALOG_VEHICLE_PLATE 507
  33. #define DIALOG_FUEL 510
  34. #define DIALOG_EDITVEHICLE 606
  35. #define strcpy(%0,%1,%2) %0="",strcat(%0,%2,%1)
  36. #define ShowErrorDialog(%1,%2) ShowPlayerDialog(%1, DIALOG_ERROR, DIALOG_STYLE_MSGBOX, "ERROR", %2, "OK", "")
  37.  
  38. #define ResetMoneyBar ResetPlayerMoney
  39. #define UpdateMoneyBar GivePlayerMoney
  40. #define SCM SendClientMessage
  41. #define LIGHTBLUE "{00CED1}"
  42. #define ALB "{ffffff}"
  43. #define RED "{F81414}"
  44. #define GREEN "{00FF22}"
  45. #define COLOR_GREY 0xAFAFAFAA
  46. #define COLOR_GRAD1 0xFFFFFFFF
  47. #define COLOR_PURPLE 0xC2A2DAAA
  48. #define COLOR_LIGHTRED 0xFF6347AA
  49. #define COLOR_BLUE 0x2641FEAA
  50. #define COLOR_FADE1 0xE6E6E6E6
  51. #define COLOR_FADE2 0xC8C8C8C8
  52. #define COLOR_FADE3 0xAAAAAAAA
  53. #define COLOR_FADE4 0x8C8C8C8C
  54. #define COLOR_YELLOW3 0xFFFF00FF
  55. #define COLOR_FADE5 0x6E6E6E6E
  56. #define COLOR_WHITE 0xFFFFFFAA
  57. #define COLOR_CHAT1 0xF9B7FFAA
  58. #define COLOR_CHAT2 0xE6A9ECAA
  59. #define COLOR_CHAT3 0xC38EC7AA
  60. #define COLOR_CHAT4 0xD2B9D3AA
  61. #define COLOR_CHAT5 0xC6AEC7AA
  62. #define COLOR_GRAD2 0xBFC0C2FF
  63. #define COLOR_YELLOW 0xFFFF00AA
  64. #define COLOR_YELLOW2 0xF5DEB3AA
  65. #define COLOR_GOLD 0xF6C861AA
  66. #define COLOR_DBLUE 0x2641FEAA
  67. #define COLOR_OOC 0xE0FFFFAA
  68. #define PURPLE "{7A378B}"
  69. #define COLOR_GREEN 0x008000FF
  70. #define COLOR_LIGHTBLUE 0xADD8E6FF
  71. #define COLOR_RED 0xFF0000FF
  72. #define COLOR_LIGHTGREEN 0x9ACD32AA
  73. #define CYELLOW "{9DBD1E}"
  74. #define CORANGE "{E68C0E}"
  75. #define CBLUE "{39AACC}"
  76. #define CDGREEN "{6FA828}"
  77. #define CWHITE "{FFFFFF}"
  78. #define CRED "{FF0000}"
  79. #define COBJS1 "{D0A5D1}"
  80. #define COBJS2 "{8FC95F}"
  81. #define CSALMON "{FA8072}"
  82. #define COL_WHITE "{FFFFFF}"
  83. #define COL_RED "{F81414}"
  84. #define COL_GREEN "{00FF22}"
  85. #define COL_LIGHTBLUE "{00CED1}"
  86.  
  87. forward SetPlayerSpawn(playerid);
  88. forward ShowStats(playerid,targetid);
  89. forward Payday();
  90. forward SyncTime();
  91. forward SetPlayerUnMute();
  92. forward ScoreUpdate();
  93. forward FixHour(hour);
  94. forward newbietimer();
  95. forward Unfreeze(playerid);
  96. forward SendAdminMessage(color, string[]);
  97. forward ABroadCast(color,const string[],level);
  98. forward TBroadCast(color,const string[], level);
  99. forward SendTesterMessage(color, string[]);
  100. forward RACtime(playerid);
  101. forward ClearChatboxToAll(playerid, lines);
  102. forward ClearChatboxToAll2(playerid, lines);
  103. forward OOCOff(color,const string[]);
  104. forward ProxDetectorS(Float:radi, playerid, targetid);
  105. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  106. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  107. forward split(const strsrc[], strdest[][], delimiter);
  108. forward SetOriginalColor(playerid);
  109. OnePlayAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
  110. {
  111. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  112. }
  113. LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
  114. {
  115. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  116. }
  117.  
  118. forward MainTimer();
  119. forward SaveTimer();
  120. forward StopAlarm(vehicleid);
  121.  
  122. forward StartEngine(playerid);
  123. forward DamagedEngine(playerid);
  124. new reg1[ ] = "This is a RolePlay Server.\n{FFFFFF}DeathMatch {F81414}isn't accepted {FFFFFF}only if you have a good RP reason!.\n",
  125. reg2[ ] = "When you start to play you must know the basic rules.\nFor that is the next {F81414}tutorial.\n\n",
  126. reg3[ ] = "•Cheats or Bug Abuse is forbidden, you will end up with {F81414}Ban PERMANENT.\n",
  127. reg4[ ] = "•Keep a decent {F81414}language {FFFFFF}on the server.\n",
  128. reg5[ ] = "•Spamming will lead you to {F81414}mute/kick.\n",
  129. reg6[ ] = "•DriveBy isn't allowed, only with a {F81414}good {FFFFFF}RP reason.\n",
  130. reg7[ ] = "•Remember, ALWAYS RolePlay.\n",
  131. reg8[ ] = "\n\n{F81414}Adrick's Roleplay {F3FF02}wishes you good luck!";
  132.  
  133. enum pInfo
  134. {
  135. pPass,
  136. pLevel,
  137. pSex,
  138. pAge,
  139. pOrigin,
  140. pPlace,
  141. pCash,
  142. pExp,
  143. pAdmin,
  144. pNumber,
  145. pTester,
  146. pWarns,
  147. pSelected,
  148. pMuted,
  149. pMuteTime,
  150. pFirstJoined,
  151. pModel,
  152. pVip,
  153. pSpawn,
  154. pLocked,
  155. pDriveLic,
  156. };
  157. new PlayerInfo[MAX_PLAYERS][pInfo];
  158. forward LoadUser_data(playerid,name[],value[]);
  159. public LoadUser_data(playerid,name[],value[])
  160. {
  161. INI_Int("Password",PlayerInfo[playerid][pPass]);
  162. INI_Int("Level",PlayerInfo[playerid][pLevel]);
  163. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  164. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  165. INI_Int("Age",PlayerInfo[playerid][pAge]);
  166. INI_Int("Origin",PlayerInfo[playerid][pOrigin]);
  167. INI_Int("Sex",PlayerInfo[playerid][pSex]);
  168. INI_Int("Model",PlayerInfo[playerid][pModel]);
  169. INI_Int("DriveLic",PlayerInfo[playerid][pDriveLic]);
  170. INI_Int("Place",PlayerInfo[playerid][pPlace]);
  171. INI_Int("Exp",PlayerInfo[playerid][pExp]);
  172. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  173. INI_Int("Number",PlayerInfo[playerid][pNumber]);
  174. INI_Int("Tester",PlayerInfo[playerid][pTester]);
  175. INI_Int("Warns",PlayerInfo[playerid][pWarns]);
  176. INI_Int("Selected",PlayerInfo[playerid][pSelected]);
  177. INI_Int("Muted",PlayerInfo[playerid][pMuted]);
  178. INI_Int("MuteTime",PlayerInfo[playerid][pMuteTime]);
  179. INI_Int("FirstJoined",PlayerInfo[playerid][pFirstJoined]);
  180. INI_Int("Vip",PlayerInfo[playerid][pVip]);
  181. INI_Int("Spawn",PlayerInfo[playerid][pSpawn]);
  182. INI_Int("Locked",PlayerInfo[playerid][pLocked]);
  183. return 1;
  184. }
  185. stock UserPath(playerid)
  186. {
  187. new string[128],playername[MAX_PLAYER_NAME];
  188. GetPlayerName(playerid,playername,sizeof(playername));
  189. format(string,sizeof(string),PATH,playername);
  190. return string;
  191. }
  192.  
  193. stock udb_hash(buf[]) { // Credits to DracoBlue
  194. new length=strlen(buf);
  195. new s1 = 1;
  196. new s2 = 0;
  197. new n;
  198. for (n=0; n<length; n++)
  199. {
  200. s1 = (s1 + buf[n]) % 65521;
  201. s2 = (s2 + s1) % 65521;
  202. }
  203. return (s2 << 16) + s1;
  204. }
  205.  
  206. new gPlayerLogged[MAX_PLAYERS];
  207. new gPlayerLogTries[MAX_PLAYERS];
  208. new ntimer[MAX_PLAYERS];
  209. new PlayerNeedsHelp[MAX_PLAYERS];
  210. new Mobile[MAX_PLAYERS];
  211. new RingTone[MAX_PLAYERS];
  212. new CellTime[MAX_PLAYERS];
  213. new gPlayerRegStep[MAX_PLAYERS];
  214. new AdminDuty[MAX_PLAYERS];
  215.  
  216. new dmvc;
  217. new dmvc1;
  218. new dmvc2;
  219. new CP[MAX_PLAYERS];
  220. new TakingLesson[MAX_PLAYERS];
  221.  
  222. new TesterDuty[MAX_PLAYERS];
  223. new gPlayerTutorialing[MAX_PLAYERS];
  224. new gOoc[MAX_PLAYERS];
  225. new BigEar[MAX_PLAYERS];
  226. new Text:Textdraw98[MAX_PLAYERS];
  227.  
  228. new Menu:Paper;
  229. new Menu:Paper2;
  230. new levelcost = 25000;
  231. new noooc = 1;
  232. new realchat = 1;
  233. new levelexp = 4;
  234. new ghour = 0;
  235. new gminute = 0;
  236. new gsecond = 0;
  237. new realtime = 1;
  238. new timeshift = -1;
  239. new ScoreOld;
  240. new shifthour;
  241. new SaveVehicleIndex;
  242. new RefuelTime[MAX_PLAYERS];
  243. new TrackCar[MAX_PLAYERS];
  244. new Float:Fuel[MAX_VEHICLES] = {100.0, ...};
  245. new VehicleSecurity[MAX_VEHICLES];
  246. new VehicleCreated[MAX_DVEHICLES];
  247. new VehicleID[MAX_DVEHICLES];
  248. new VehicleModel[MAX_DVEHICLES];
  249. new Float:VehiclePos[MAX_DVEHICLES][4];
  250. new VehicleColor[MAX_DVEHICLES][2];
  251. new VehicleInterior[MAX_DVEHICLES];
  252. new VehicleWorld[MAX_DVEHICLES];
  253. new VehicleOwner[MAX_DVEHICLES][MAX_PLAYER_NAME];
  254. new VehicleNumberPlate[MAX_DVEHICLES][16];
  255. new VehicleValue[MAX_DVEHICLES];
  256. new VehicleTrunk[MAX_DVEHICLES][5][2];
  257. new VehicleMods[MAX_DVEHICLES][14];
  258. new VehiclePaintjob[MAX_DVEHICLES] = {255, ...};
  259. new Text3D:VehicleLabel[MAX_DVEHICLES];
  260. new DealershipCreated[MAX_DEALERSHIPS];
  261. new Float:DealershipPos[MAX_DEALERSHIPS][3];
  262. new Text3D:DealershipLabel[MAX_DEALERSHIPS];
  263. new FuelStationCreated[MAX_FUEL_STATIONS];
  264. new Float:FuelStationPos[MAX_FUEL_STATIONS][3];
  265. new Text3D:FuelStationLabel[MAX_FUEL_STATIONS];
  266. new VehicleNames[][] = {
  267. "Landstalker","Bravura","Buffalo","Linerunner","Perennial","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  268. "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  269. "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  270. "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  271. "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  272. "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  273. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  274. "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  275. "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  276. "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  277. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  278. "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  279. "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  280. "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  281. "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  282. "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  283. "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  284. };
  285. enum MainZone
  286. {
  287. Zone_Name[28],
  288. Float:Zone_Area[6]
  289. }
  290.  
  291. static const SanAndreasZones[][MainZone] = {
  292.  
  293. {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  294. {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  295. {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  296. {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  297. {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  298. {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  299. {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  300. {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  301. {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  302. {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  303. {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  304. {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  305. {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  306. {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  307. {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  308. {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  309. {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  310. {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  311. {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  312. {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  313. {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  314. {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  315. {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  316. {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  317. {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  318. {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  319. {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  320. {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  321. {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  322. {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  323. {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  324. {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  325. {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  326. {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  327. {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  328. {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  329. {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  330. {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  331. {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  332. {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  333. {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  334. {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  335. {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  336. {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  337. {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  338. {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  339. {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  340. {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  341. {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  342. {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  343. {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  344. {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  345. {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  346. {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  347. {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  348. {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  349. {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  350. {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  351. {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  352. {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  353. {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  354. {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  355. {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  356. {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  357. {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  358. {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  359. {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  360. {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  361. {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  362. {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  363. {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  364. {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  365. {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  366. {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  367. {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  368. {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  369. {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  370. {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  371. {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  372. {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  373. {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  374. {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  375. {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  376. {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  377. {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  378. {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  379. {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  380. {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  381. {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  382. {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  383. {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  384. {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  385. {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  386. {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  387. {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  388. {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  389. {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
  390. {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  391. {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  392. {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  393. {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  394. {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  395. {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  396. {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  397. {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  398. {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  399. {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  400. {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  401. {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  402. {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  403. {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  404. {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  405. {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  406. {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  407. {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  408. {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  409. {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  410. {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  411. {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  412. {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  413. {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  414. {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  415. {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  416. {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
  417. {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  418. {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  419. {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  420. {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  421. {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  422. {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  423. {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  424. {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  425. {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  426. {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  427. {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  428. {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  429. {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  430. {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  431. {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  432. {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  433. {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  434. {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  435. {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  436. {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  437. {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  438. {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  439. {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  440. {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  441. {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  442. {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  443. {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  444. {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  445. {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  446. {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  447. {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  448. {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  449. {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  450. {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  451. {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  452. {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  453. {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  454. {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  455. {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  456. {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  457. {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  458. {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  459. {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  460. {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  461. {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  462. {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  463. {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  464. {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  465. {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  466. {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  467. {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  468. {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  469. {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  470. {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  471. {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  472. {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  473. {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  474. {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  475. {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  476. {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  477. {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  478. {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  479. {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  480. {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  481. {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  482. {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  483. {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  484. {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  485. {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  486. {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  487. {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  488. {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  489. {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  490. {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  491. {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  492. {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  493. {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  494. {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  495. {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  496. {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  497. {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  498. {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  499. {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  500. {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  501. {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  502. {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  503. {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  504. {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  505. {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  506. {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  507. {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  508. {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  509. {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  510. {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  511. {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  512. {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  513. {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  514. {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  515. {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  516. {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  517. {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  518. {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  519. {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  520. {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  521. {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  522. {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  523. {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  524. {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  525. {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  526. {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  527. {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  528. {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  529. {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  530. {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  531. {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  532. {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  533. {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  534. {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  535. {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  536. {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  537. {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  538. {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  539. {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  540. {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  541. {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  542. {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  543. {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  544. {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  545. {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  546. {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  547. {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  548. {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  549. {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  550. {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  551. {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  552. {"Randolph Industrial", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  553. {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  554. {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  555. {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  556. {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  557. {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  558. {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  559. {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  560. {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  561. {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  562. {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  563. {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  564. {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  565. {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  566. {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  567. {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  568. {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  569. {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  570. {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  571. {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  572. {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  573. {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  574. {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  575. {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  576. {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  577. {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  578. {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  579. {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  580. {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  581. {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  582. {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  583. {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  584. {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  585. {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  586. {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  587. {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  588. {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  589. {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  590. {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  591. {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  592. {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  593. {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  594. {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  595. {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  596. {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  597. {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  598. {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  599. {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  600. {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  601. {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  602. {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  603. {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  604. {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  605. {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  606. {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  607. {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  608. {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  609. {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  610. {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  611. {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  612. {"Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  613. {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  614. {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  615. {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  616. {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  617. {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  618. {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  619. {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  620. {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  621. {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  622. {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  623. {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  624. {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  625. {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  626. {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  627. {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  628. {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  629. {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  630. {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  631. {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  632. {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  633. {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  634. {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  635. {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  636. {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  637. {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  638. {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  639. {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  640. {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  641. {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  642. {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  643. {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  644. {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  645. {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  646. {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  647. {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  648. {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  649. // Citys Zones
  650. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  651. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  652. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  653. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  654. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  655. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  656. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  657. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  658. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  659. };
  660. //=================================Engine=======================================
  661. new vehEngine[MAX_VEHICLES];
  662. //===========================[MAIN]=============================================
  663. main()
  664. {
  665. printf("-------------------------------------");
  666. printf("Adrick's Roleplay ");
  667. printf("-------------------------------------");
  668. printf("By Adrick");
  669. }
  670. //==========================[CALLBACKS]=========================================
  671. public Unfreeze(playerid)
  672. {
  673. TogglePlayerControllable(playerid, 1);
  674. return 1;
  675. }
  676. public SyncTime()
  677. {
  678. new string[64];
  679. new tmphour;
  680. new tmpminute;
  681. new tmpsecond;
  682. gettime(tmphour, tmpminute, tmpsecond);
  683. FixHour(tmphour);
  684. tmphour = shifthour;
  685. if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
  686. {
  687. format(string, sizeof(string), "SERVER: The time is now %d:00 hours",tmphour);
  688. SendClientMessageToAll(COLOR_WHITE,string);
  689. ghour = tmphour;
  690. Payday();
  691. if (realtime)
  692. {
  693. SetWorldTime(tmphour);
  694. }
  695. }
  696. }
  697. public OnPlayerEnterCheckpoint(playerid)
  698. {
  699. if(CP[playerid]==200)//dmv_01
  700. {
  701. if(IsPlayerInVehicle(playerid, dmvc) || IsPlayerInVehicle(playerid, dmvc1) || IsPlayerInVehicle(playerid, dmvc2))
  702. {
  703. DisablePlayerCheckpoint(playerid);
  704. CP[playerid] = 201;
  705. SetPlayerCheckpoint(playerid, 1432.4354,-1658.6343,13.1245, 5.0);
  706. }
  707. else
  708. {
  709. SendClientMessage(playerid, COLOR_LIGHTBLUE,"DMV: You are not in the car!");
  710. SendClientMessage(playerid, COLOR_LIGHTBLUE,"DMV: You didn't passed the test, please try again!");
  711. DisablePlayerCheckpoint(playerid);
  712. RemovePlayerFromVehicle(playerid);
  713. SetVehicleToRespawn(GetPlayerVehicleID(playerid));
  714. TakingLesson[playerid] = 0;
  715. }
  716. }
  717. else if(CP[playerid]==201)//dmv_02
  718. {
  719. DisablePlayerCheckpoint(playerid);
  720. CP[playerid] = 202;
  721. SetPlayerCheckpoint(playerid, 1432.3827,-1588.9227,13.1318, 5.0);
  722. }
  723. else if(CP[playerid]==202)//dmv_03
  724. {
  725. DisablePlayerCheckpoint(playerid);
  726. CP[playerid] = 203;
  727. SetPlayerCheckpoint(playerid, 1454.7500,-1480.2014,13.0978, 5.0);
  728. }
  729. else if(CP[playerid]==203)//dmv_04
  730. {
  731. DisablePlayerCheckpoint(playerid);
  732. CP[playerid] = 204;
  733. SetPlayerCheckpoint(playerid, 1457.2000,-1439.2382,13.1303, 5.0);
  734. }
  735. else if(CP[playerid]==204)//dmv_05
  736. {
  737. DisablePlayerCheckpoint(playerid);
  738. CP[playerid] = 205;
  739. SetPlayerCheckpoint(playerid, 1429.9436,-1437.6150,13.1244, 5.0);
  740. }
  741. else if(CP[playerid]==205)//dmv_06
  742. {
  743. DisablePlayerCheckpoint(playerid);
  744. CP[playerid] = 206;
  745. SetPlayerCheckpoint(playerid, 1423.7155,-1398.9248,13.1238, 5.0);
  746. }
  747. else if(CP[playerid]==206)//dmv_07
  748. {
  749. DisablePlayerCheckpoint(playerid);
  750. CP[playerid] = 207;
  751. SetPlayerCheckpoint(playerid, 1350.0922,-1393.0492,13.1469, 5.0);
  752. }
  753. else if(CP[playerid]==207)//dmv_08
  754. {
  755. DisablePlayerCheckpoint(playerid);
  756. CP[playerid] = 208;
  757. SetPlayerCheckpoint(playerid, 1106.5748,-1397.0431,13.1716, 5.0);
  758. }
  759. else if(CP[playerid]==208)//dmv_09
  760. {
  761. DisablePlayerCheckpoint(playerid);
  762. CP[playerid] = 209;
  763. SetPlayerCheckpoint(playerid, 1059.6833,-1419.8898,13.1155, 5.0);
  764. }
  765. else if(CP[playerid]==209)//dmv_10
  766. {
  767. DisablePlayerCheckpoint(playerid);
  768. CP[playerid] = 210;
  769. SetPlayerCheckpoint(playerid, 1035.0563,-1571.5737,13.1341, 5.0);
  770. }
  771. else if(CP[playerid]==210)//dmv_11
  772. {
  773. DisablePlayerCheckpoint(playerid);
  774. CP[playerid] = 211;
  775. SetPlayerCheckpoint(playerid, 1143.5441,-1574.9717,13.0121, 5.0);
  776. }
  777. else if(CP[playerid]==211)//dmv_12
  778. {
  779. DisablePlayerCheckpoint(playerid);
  780. CP[playerid] = 212;
  781. SetPlayerCheckpoint(playerid, 1289.9336,-1574.8125,13.1246, 5.0);
  782. }
  783. else if(CP[playerid]==212)//dmv_13
  784. {
  785. DisablePlayerCheckpoint(playerid);
  786. CP[playerid] = 213;
  787. SetPlayerCheckpoint(playerid, 1295.0909,-1659.1091,13.1246, 5.0);
  788. }
  789. else if(CP[playerid]==213)//dmv_14
  790. {
  791. DisablePlayerCheckpoint(playerid);
  792. CP[playerid] = 214;
  793. SetPlayerCheckpoint(playerid, 1295.0031,-1704.4797,13.1240, 5.0);
  794. }
  795. else if(CP[playerid]==214)//dmv_15
  796. {
  797. DisablePlayerCheckpoint(playerid);
  798. CP[playerid] = 215;
  799. SetPlayerCheckpoint(playerid, 1299.5117,-1817.1479,13.1245, 5.0);
  800. }
  801. else if(CP[playerid]==215)//dmv_16
  802. {
  803. DisablePlayerCheckpoint(playerid);
  804. CP[playerid] = 216;
  805. SetPlayerCheckpoint(playerid, 1300.8134,-1855.0059,13.1245, 5.0);
  806. }
  807. else if(CP[playerid]==216)//dmv_17
  808. {
  809. DisablePlayerCheckpoint(playerid);
  810. CP[playerid] = 217;
  811. SetPlayerCheckpoint(playerid, 1389.0083,-1874.1768,13.1245, 5.0);
  812. }
  813. else if(CP[playerid]==217)//dmv_18
  814. {
  815. DisablePlayerCheckpoint(playerid);
  816. CP[playerid] = 218;
  817. SetPlayerCheckpoint(playerid, 1523.0303,-1874.8875,13.1266, 5.0);
  818. }
  819. else if(CP[playerid]==218)//dmv_19
  820. {
  821. DisablePlayerCheckpoint(playerid);
  822. CP[playerid] = 219;
  823. SetPlayerCheckpoint(playerid, 1571.1161,-1872.5188,13.1252, 5.0);
  824. }
  825. else if(CP[playerid]==219)//dmv_20
  826. {
  827. DisablePlayerCheckpoint(playerid);
  828. CP[playerid] = 220;
  829. SetPlayerCheckpoint(playerid, 1572.3271,-1733.9789,13.1269, 5.0);
  830. }
  831. else if(CP[playerid]==220)//dmv_21
  832. {
  833. DisablePlayerCheckpoint(playerid);
  834. CP[playerid] = 221;
  835. SetPlayerCheckpoint(playerid, 1531.4258,-1730.1346,13.1245, 5.0);
  836. }
  837. else if(CP[playerid]==221)//dmv_22
  838. {
  839. DisablePlayerCheckpoint(playerid);
  840. CP[playerid] = 222;
  841. SetPlayerCheckpoint(playerid, 1437.5671,-1730.2736,13.1254, 5.0);
  842. }
  843. else if(CP[playerid]==222)//dmv_23
  844. {
  845. DisablePlayerCheckpoint(playerid);
  846. CP[playerid] = 223;
  847. SetPlayerCheckpoint(playerid, 1424.2367,-1694.3533,13.2030, 5.0);
  848. }
  849. else if(CP[playerid]==223)//dmv_Final
  850. {
  851. new pName[24];
  852. new str[128];
  853. GetPlayerName(playerid, pName, 24);
  854. pName[strfind(pName,"_")] = ' ';
  855. GivePlayerCash(playerid, -500);
  856. format(str, 128,"DMV: Congratulations %s! You passed the test.", pName);
  857. SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
  858. RemovePlayerFromVehicle(playerid);
  859. SetVehicleToRespawn(GetPlayerVehicleID(playerid));
  860. TakingLesson[playerid] = 0;
  861. PlayerInfo[playerid][pDriveLic] = 1;
  862. DisablePlayerCheckpoint(playerid);
  863. }
  864. else
  865. {
  866. DisablePlayerCheckpoint(playerid);
  867. }
  868. return 1;
  869. }
  870. public OnPlayerSelectedMenuRow(playerid, row)
  871. {
  872. new Menu:current;
  873. current = GetPlayerMenu(playerid);
  874. if(current == Paper)
  875. {
  876. switch(row)
  877. {
  878. case 0:
  879. {
  880. HideMenuForPlayer(Paper, playerid);
  881. ShowMenuForPlayer(Paper2, playerid);
  882. }
  883. case 2:
  884. {
  885. ShowMenuForPlayer(Paper, playerid);
  886. SendClientMessage(playerid,COLOR_GREEN,"____________How to call a taxi:_________________");
  887. SendClientMessage(playerid,COLOR_WHITE,"/call 444");
  888. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  889. }
  890. case 1:
  891. {
  892. ShowMenuForPlayer(Paper, playerid);
  893. SendClientMessage(playerid,COLOR_GREEN,"____________How to get a license:______________");
  894. SendClientMessage(playerid,COLOR_WHITE,"- The license costs 500$");
  895. SendClientMessage(playerid,COLOR_WHITE,"- On your radar has been placed a checkpoint where you can get license");
  896. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  897. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  898. SetPlayerCheckpoint(playerid, 1432.4354,-1658.6343,13.1245,10.0);
  899. }
  900. case 3:
  901. {
  902. ShowMenuForPlayer(Paper, playerid);
  903. SendClientMessage(playerid,COLOR_GREEN,"____________Where To Live:______________");
  904. SendClientMessage(playerid,COLOR_WHITE,"- Rent a room in one of the houses");
  905. SendClientMessage(playerid,COLOR_WHITE,"- Or stay in LS Airport motel");
  906. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  907. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  908. }
  909. case 4:
  910. {
  911. ShowMenuForPlayer(Paper, playerid);
  912. SendClientMessage(playerid,COLOR_GREEN,"____________Need a Medic?:______________");
  913. SendClientMessage(playerid,COLOR_WHITE,"/call 911");
  914. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  915. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  916. }
  917. case 5:
  918. {
  919. ShowMenuForPlayer(Paper, playerid);
  920. SendClientMessage(playerid,COLOR_GREEN,"____________Need the Police?:______________");
  921. SendClientMessage(playerid,COLOR_WHITE,"/call 911");
  922. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  923. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  924. }
  925. case 6:
  926. {
  927. ShowMenuForPlayer(Paper, playerid);
  928. SendClientMessage(playerid,COLOR_GREEN,"_____True RP Forums:_________");
  929. SendClientMessage(playerid,COLOR_WHITE,"(Read rules and guides there)");
  930. SendClientMessage(playerid,COLOR_WHITE,"forums...");
  931. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  932. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  933. }
  934. }
  935. }
  936. if(current == Paper2)
  937. {
  938. switch(row)
  939. {
  940. case 0:
  941. {
  942. HideMenuForPlayer(Paper2, playerid);
  943. ShowMenuForPlayer(Paper, playerid);
  944. }
  945. case 1:
  946. {
  947. ShowMenuForPlayer(Paper, playerid);
  948. SendClientMessage(playerid,COLOR_GREEN,"_____________Garbage Collector_____________");
  949. SendClientMessage(playerid,COLOR_GREEN,"Head to the checkpoint to join this job!");
  950. SendClientMessage(playerid,COLOR_GREEN,"Every job has requirements,you can see them when you arrive there");
  951. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  952. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  953. SetPlayerCheckpoint(playerid,1381.2228,-1088.7719,27.3906,5.0);
  954. }
  955. case 2:
  956. {
  957. ShowMenuForPlayer(Paper, playerid);
  958. SendClientMessage(playerid,COLOR_GREEN,"_____________Taximeter_____________");
  959. SendClientMessage(playerid,COLOR_GREEN,"Head to the checkpoint to join this job!");
  960. SendClientMessage(playerid,COLOR_GREEN,"Every job has requirements,you can see them when you arrive there");
  961. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  962. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  963. SetPlayerCheckpoint(playerid,1381.2228,-1088.7719,27.3906,5.0);
  964. }
  965. case 3:
  966. {
  967. ShowMenuForPlayer(Paper, playerid);
  968. SendClientMessage(playerid,COLOR_GREEN,"_____________Fishing[Temporary Job]_____________");
  969. SendClientMessage(playerid,COLOR_GREEN,"Your searching for the fishing job?You found it.!");
  970. SendClientMessage(playerid,COLOR_GREEN,"/gofishing to get all the information.Shortly,it is a temporary job,you don't get payday from it and you can");
  971. SendClientMessage(playerid,COLOR_GREEN,"fish all the time without getting a contract .");
  972. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  973. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  974. }
  975. case 4:
  976. {
  977. ShowMenuForPlayer(Paper, playerid);
  978. SendClientMessage(playerid,COLOR_GREEN,"_____________Mechanic[Temporary Job]_____________");
  979. SendClientMessage(playerid,COLOR_GREEN,"You will need a towing vehicle for this.!");
  980. SendClientMessage(playerid,COLOR_GREEN,"You will have to answer citizens calls and help them with their car");
  981. SendClientMessage(playerid,COLOR_GREEN,"Command: /mechanic");
  982. SendClientMessage(playerid,COLOR_GREEN,"________________________");
  983. SendClientMessage(playerid,COLOR_WHITE,"To stand up type /stopanim and press ENTER");
  984. }
  985. }
  986. }
  987. return 1;
  988. }
  989. public SetPlayerUnMute()
  990. {
  991. for(new i = 0; i < MAX_PLAYERS; i++)
  992. {
  993. if(IsPlayerConnected(i))
  994. {
  995. if(PlayerInfo[i][pMuted] > 0)
  996. {
  997. if(PlayerInfo[i][pMuteTime] > 0)
  998. {
  999. PlayerInfo[i][pMuteTime]--;
  1000. }
  1001. if(PlayerInfo[i][pMuteTime] <= 0)
  1002. {
  1003. PlayerInfo[i][pMuteTime] = 0;
  1004. if(PlayerInfo[i][pMuted] == 1)
  1005. {
  1006. PlayerInfo[i][pMuted] = 0;
  1007. }
  1008. PlayerInfo[i][pMuted] = 0;
  1009. SendClientMessage(i,COLOR_LIGHTRED,"Your silence time has expired.You can now talk again ");
  1010. }
  1011. }
  1012. }
  1013. }
  1014. }
  1015.  
  1016. public ScoreUpdate()
  1017. {
  1018. new Score;
  1019. new name[MAX_PLAYER_NAME];
  1020. for(new i=0; i<MAX_PLAYERS; i++)
  1021. {
  1022. if (IsPlayerConnected(i))
  1023. {
  1024. GetPlayerName(i, name, sizeof(name));
  1025. Score = PlayerInfo[i][pLevel];
  1026. SetPlayerScore(i, Score);
  1027. if (Score > ScoreOld)
  1028. {
  1029. ScoreOld = Score;
  1030. }
  1031. }
  1032. }
  1033. }
  1034. public OnGameModeInit()
  1035. {
  1036. LoadVehicles();
  1037. LoadDealerships();
  1038. LoadFuelStations();
  1039. for(new i=1; i < MAX_DVEHICLES; i++)
  1040. {
  1041. UpdateVehicle(i, 0);
  1042. }
  1043. for(new i=1; i < MAX_DEALERSHIPS; i++)
  1044. {
  1045. UpdateDealership(i, 0);
  1046. }
  1047. for(new i=1; i < MAX_FUEL_STATIONS; i++)
  1048. {
  1049. UpdateFuelStation(i, 0);
  1050. }
  1051. SetTimer("MainTimer", 1000, true);
  1052. SetTimer("SaveTimer", 2222, true);
  1053. printf("------ Engine System Started------- ");
  1054. SetGameModeText("AD-RP");
  1055. gettime(ghour, gminute, gsecond);
  1056. FixHour(ghour);
  1057. ghour = shifthour;
  1058. if (realtime)
  1059. {
  1060. new tmphour;
  1061. new tmpminute;
  1062. new tmpsecond;
  1063. gettime(tmphour, tmpminute, tmpsecond);
  1064. FixHour(tmphour);
  1065. tmphour = shifthour;
  1066. SetWorldTime(tmphour);
  1067. }
  1068. DisableInteriorEnterExits();
  1069.  
  1070. Paper = CreateMenu("Paper", 2, 200.0, 100.0, 150.0, 150.0);
  1071. AddMenuItem(Paper, 0, "Next Page");
  1072. AddMenuItem(Paper, 0, "How to get a license");
  1073. AddMenuItem(Paper, 0, "How to call a taxi");
  1074. AddMenuItem(Paper, 0, "Where to live");
  1075. AddMenuItem(Paper, 0, "Medic Help");
  1076. AddMenuItem(Paper, 0, "SAPD help");
  1077. AddMenuItem(Paper, 0, "OOC:Forums");
  1078. Paper2 = CreateMenu("Paper2", 2, 200.0, 100.0, 150.0, 150.0);
  1079. AddMenuItem(Paper2, 0, "Next Page");
  1080. AddMenuItem(Paper2, 0, "Garbage Collector");
  1081. AddMenuItem(Paper2, 0, "Taximeter");
  1082. AddMenuItem(Paper2, 0, "Fishing");
  1083. AddMenuItem(Paper2, 0, "Mechanic");
  1084. Create3DTextLabel("/newspaper for information",COLOR_GREEN, 1707.8434,-2331.6506,-2.6797, 20.0,0,0);
  1085.  
  1086. SetTimer("SyncTime", 60000, 1);
  1087. SetTimer("ScoreUpdate", 1000, 1);
  1088. SetTimer("SetPlayerUnMute", 1000, 1);
  1089. SetTimer("newbietimer", 30000, 1);
  1090.  
  1091. AddStaticPickup(1239, 23, 1707.8434,-2331.6506,-2.6797);
  1092. AddStaticPickup(1240, 23, 1173.112426, -1320.917602, 15.396226);
  1093. AddStaticPickup(1318, 23, 1172.914794, -1325.471313, 15.398929);
  1094. AddStaticPickup(1318, 23, 1482.534423, -1771.555541, 18.795755);
  1095. AddStaticPickup(1318, 23, 1555.134277, -1675.773071, 16.195312);
  1096. AddStaticPickup(1318, 23, 1565.185180, -1666.162963, 28.395606);
  1097. AddStaticPickup(1318, 23, 1653.883056, -1655.420898, 22.515625);
  1098. AddStaticPickup(1247, 23, 1525.285278, -1677.911865, 5.890625);
  1099. AddStaticPickup(1318, 23, 1568.560302, -1690.335815, 5.890625);
  1100. AddStaticPickup(1318, 23, 1727.056884, -1636.913208, 20.217334);
  1101. AddStaticPickup(1318, 23, 1797.998046, -1578.819091, 14.090865);
  1102. AddStaticPickup(1240, 23, 2034.583374, -1405.004516, 17.244943);
  1103. AddStaticPickup(1318, 23, 2233.053955, -1333.350463, 23.981575);
  1104. AddStaticPickup(1318, 23, 2232.929931, -1159.893554, 25.890625);
  1105. AddStaticPickup(1318, 23, 2351.947021, -1170.659545, 28.074401);
  1106. AddStaticPickup(1318, 23, 2421.583496, -1219.243041, 25.561477);
  1107. AddStaticPickup(1318, 23, 2166.275634, -1671.659545, 15.073946);
  1108. AddStaticPickup(1239, 23, 2165.229736, -1672.992187, 15.077716);
  1109. AddStaticPickup(1239, 23, 1666.597900, -1524.166992, 13.546875);
  1110. AddStaticPickup(1318, 23, 1667.901611, -1521.946777, 13.546875);
  1111. AddStaticPickup(1318, 23, 1568.028320, -1898.009155, 13.560886);
  1112. AddStaticPickup(1239, 23, 2162.161376, -102.522369, 2.750000);
  1113.  
  1114. AddStaticVehicle(596,1535.8279,-1667.0283,13.1042,1.2749,0,1); // //Copcar 1
  1115. AddStaticVehicle(596,1535.7777,-1678.2174,13.1041,359.0435,0,1); // //Copcar 2
  1116. AddStaticVehicle(596,1602.2314,-1688.1366,5.6119,88.9127,0,1); // //Copcar 3
  1117. AddStaticVehicle(596,1602.3998,-1696.2252,5.6117,89.5110,0,1); // //Copcar 4
  1118. AddStaticVehicle(596,1602.2968,-1704.6088,5.6114,89.2925,0,1); // //Copcar 5
  1119. AddStaticVehicle(596,1591.6299,-1711.7292,5.6110,0.5575,0,1); // //Copcar 6
  1120. AddStaticVehicle(596,1583.3506,-1711.8403,5.6123,359.9798,0,1); // //Copcar 7
  1121. AddStaticVehicle(596,1574.4407,-1711.5636,5.6112,0.4981,0,1); // //Copcar 8
  1122. AddStaticVehicle(596,1564.4946,-1711.8907,5.6117,0.0557,0,1); // //Copcar 9
  1123. AddStaticVehicle(597,1602.1552,-1691.9513,5.6600,90.2862,1,0); // //Copcar 10
  1124. AddStaticVehicle(597,1602.1045,-1684.0902,5.6588,89.9887,1,0); // //Copcar 11
  1125. AddStaticVehicle(597,1602.5887,-1700.3116,5.6600,90.1532,1,0); // //Copcar 12
  1126. AddStaticVehicle(597,1595.2753,-1711.4293,5.6598,1.4325,1,93); // //Copcar 13
  1127. AddStaticVehicle(597,1587.3236,-1711.8318,5.6587,359.5460,1,93); // //Copcar 14
  1128. AddStaticVehicle(598,1578.6815,-1712.0513,5.6365,358.1766,1,93); // //Copcar 15
  1129. AddStaticVehicle(598,1570.2655,-1711.8102,5.6356,359.8264,1,93); // //Copcar 16
  1130. AddStaticVehicle(596,1558.4491,-1711.7164,5.6120,0.7168,1,93); // //Copcar 17
  1131. AddStaticVehicle(596,1584.6483,-1671.5382,5.6145,270.2792,1,93); // //Copcar 18
  1132. AddStaticVehicle(596,1584.6222,-1667.4482,5.6145,270.0910,1,93); // //Copcar 19
  1133. AddStaticVehicle(599,1546.2502,-1650.8398,6.0786,90.8912,0,1); // //cop car 20
  1134. AddStaticVehicle(599,1546.8645,-1659.1162,6.0787,90.3100,0,1); // //cop car 21
  1135. AddStaticVehicle(599,1546.6399,-1667.8623,6.0780,90.4493,0,1); // //cop car 22
  1136. AddStaticVehicle(601,1545.8365,-1655.1222,5.6494,89.7686,0,1); // //cop car Swat Tank 23
  1137. AddStaticVehicle(528,1546.2603,-1662.9534,5.9328,89.3495,0,1); // //cop FBI truck(blue one) 24
  1138. AddStaticVehicle(427,1530.1572,-1644.9054,6.0225,179.7986,0,1); // //SWAT Enforcer 25
  1139. AddStaticVehicle(427,1538.6517,-1644.5701,6.0426,180.0564,0,1); // //SWAT Enforcer 26
  1140. AddStaticVehicle(427,1534.6859,-1645.0800,6.0228,178.4550,0,1); // //SWAT Enforcer 27
  1141. AddStaticVehicle(427,1526.0662,-1645.3656,6.0223,180.0917,0,1); // //SWAT Enforcer 28
  1142. AddStaticVehicle(428,570.7433,-1252.2587,17.6663,292.1557,24,1); // //Bank Truck in Rodeo Car 29
  1143. AddStaticVehicle(428,608.0444,-1237.8926,18.4802,111.9092,24,1); // //Bank Truck in Rodeo Car 30
  1144. AddStaticVehicle(426,1543.2870,-1612.4788,13.1262,269.5055,25,25); // //Cop Undercover Car 31
  1145. AddStaticVehicle(426,1543.1644,-1606.7509,13.1253,269.9076,25,25); // //Cop Undercover Car 32
  1146. AddStaticVehicle(421,1555.6886,-1605.9546,13.2653,180.6853,53,53); // //Cop Undercover Car 33
  1147. AddStaticVehicle(421,1561.6571,-1606.0315,13.2653,180.1476,53,53); // //Cop Undercover Car 34
  1148. AddStaticVehicle(416,1177.8341,-1338.3657,14.0368,270.3866,1,3); // //Ambulance EMS Car 35
  1149. AddStaticVehicle(416,1176.9736,-1308.6931,14.0205,267.3689,1,3); // //Ambulance EMS Car 36
  1150. AddStaticVehicle(442,1146.2450,-1295.7229,13.4723,90.3940,1,3); // Hearse for EMS Car 37
  1151. AddStaticVehicle(489,1146.2805,-1302.9196,13.8021,88.5398,1,3); // Rancher for EMS Car 38
  1152. AddStaticVehicle(489,1146.2393,-1309.4309,13.8083,91.4548,1,3); // Rancher for EMS Car 39
  1153. AddStaticVehicle(442,1145.8127,-1316.3143,13.4507,92.9838,1,3); // Hearse for EMS Car 40
  1154. AddStaticVehicle(563,1162.4646,-1301.3418,32.2003,277.2430,1,3); // EMS Heli 41
  1155. AddStaticVehicle(563,1163.9746,-1318.8575,32.1941,271.8757,1,3); // EMS Heli 42
  1156. AddStaticVehicle(490,1666.7798,-1719.3749,20.6192,0.9672,0,0); // FBI 43
  1157. AddStaticVehicle(490,1660.0472,-1719.5132,20.6102,359.8513,0,0); // FBI 44
  1158. AddStaticVehicle(490,1671.4838,-1710.0861,20.6083,90.5516,0,0); // FBI 45
  1159. AddStaticVehicle(490,1671.6444,-1702.4733,20.6114,92.2191,0,0); // FBI 46
  1160. AddStaticVehicle(541,1645.6516,-1695.8042,20.0834,270.8706,0,0); // FBI Bullet Car 47
  1161. AddStaticVehicle(541,1645.8918,-1700.3801,20.1054,270.4592,0,1); // FBI Bullet Car 48
  1162. AddStaticVehicle(421,1646.3101,-1709.2988,20.3669,269.9211,0,1); // FBI Washington Car 49
  1163. AddStaticVehicle(421,1646.3663,-1704.7172,20.3669,268.8617,0,1); // FBI Washington Car 50
  1164. AddStaticVehicle(416,2037.2849,-1425.5010,17.1416,359.6898,1,3); // //County hospital ambulance Car 51
  1165. AddStaticVehicle(416,2007.9158,-1410.9948,17.1415,90.1937,1,3); // //County hospital ambulance Car 52
  1166. AddStaticVehicle(416,2001.8311,-1399.1924,18.3391,181.5330,1,3); // //County hospital ambulance Car 53
  1167. AddStaticVehicle(416,2033.9324,-1447.6057,17.3766,270.3489,1,3); // //County hospital ambulance Car 54
  1168. dmvc = AddStaticVehicle(405,1415.5630,-1706.7310,13.4196,267.9858,1,1); // license1
  1169. dmvc1 = AddStaticVehicle(405,1416.1293,-1712.1976,13.4219,271.2856,1,1); // license2
  1170. dmvc2 = AddStaticVehicle(405,1415.3511,-1718.4138,13.4218,267.3419,1,1); // license3
  1171. return 1;
  1172. }
  1173. public OnGameModeExit()
  1174. {
  1175. return 1;
  1176. }
  1177. public OnPlayerConnect(playerid)
  1178. {
  1179. if(!IsValidName(playerid))
  1180. {
  1181. SCM(playerid,COLOR_RED,"Please change your name into the following format: Firstname_Lastname");
  1182. Kick(playerid);
  1183. }
  1184. new string[128];
  1185. new plname[MAX_PLAYER_NAME];
  1186. GetPlayerName(playerid, plname, sizeof(plname));
  1187. PlayerInfo[playerid][pLevel] = 0;
  1188. PlayerInfo[playerid][pCash] = 0;
  1189. PlayerInfo[playerid][pDriveLic] = 0;
  1190. PlayerInfo[playerid][pVip] = 0;
  1191. PlayerInfo[playerid][pAdmin] = 0;
  1192. PlayerInfo[playerid][pTester] = 0;
  1193. PlayerInfo[playerid][pSpawn] = 0;
  1194. PlayerInfo[playerid][pSex] = 0;
  1195. RefuelTime[playerid] = 0;
  1196. TrackCar[playerid] = 0;
  1197. PlayerInfo[playerid][pAge] = 0;
  1198. PlayerInfo[playerid][pOrigin] = 0;
  1199. PlayerInfo[playerid][pModel] = 23;
  1200. PlayerInfo[playerid][pLocked] = 0;
  1201. PlayerInfo[playerid][pExp] = 0;
  1202. PlayerInfo[playerid][pWarns] = 0;
  1203. PlayerNeedsHelp[playerid] = 0;
  1204. Mobile[playerid] = 255;
  1205. PlayerInfo[playerid][pMuted] = 0;
  1206. PlayerInfo[playerid][pMuteTime] = 0;
  1207. gPlayerTutorialing[playerid] = 0;
  1208. format(string, sizeof(string), "/Users/%s.ini", plname);
  1209. new DialogString[1024];
  1210. format(DialogString, sizeof DialogString, "%s%s%s%s%s%s%s%s", reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8);
  1211. ShowPlayerDialog(playerid,1234, DIALOG_STYLE_MSGBOX,"Introduction...", DialogString,"Accept","Refuse");
  1212.  
  1213. SetPlayerMapIcon(playerid, 1, 597.559509, -1249.448608, 18.307994, 52, 1);
  1214. SetPlayerMapIcon(playerid, 2, 529.425354, -1293.921752, 17.242187, 55, 1);
  1215. SetPlayerMapIcon(playerid, 3, 2127.629394, -1151.914794, 23.988607, 55, 1);
  1216. SetPlayerMapIcon(playerid, 4, 1612.057739, -1892.647338, 13.477849, 55, 1);
  1217. SetPlayerMapIcon(playerid, 5, 2102.669677, -1807.184570, 13.494323, 29, 1);
  1218. SetPlayerMapIcon(playerid, 6, 2218.005126, -1168.782226, 25.655542, 31, 1);
  1219. SetPlayerMapIcon(playerid, 7, 2229.195556, -1722.237670, 13.492409, 54, 1);
  1220. SetPlayerMapIcon(playerid, 8, 2176.778076, -1808.995361, 13.314004, 31, 1);
  1221. SetPlayerMapIcon(playerid, 9, 1552.876464, -1675.246948, 15.951610, 30, 1);
  1222. SetPlayerMapIcon(playerid, 10, 1481.554321, -1769.964111, 18.725217, 32, 1);
  1223. SetPlayerMapIcon(playerid, 11, 1931.436523, -1775.963378, 13.387728, 17, 1);
  1224. SetPlayerMapIcon(playerid, 12, 1832.088745, -1842.122924, 13.516613, 17, 1);
  1225. SetPlayerMapIcon(playerid, 13, 1834.615966, -1682.229736, 13.356820, 49, 1);
  1226. SetPlayerMapIcon(playerid, 14, 1804.492553, -1574.485961, 13.355642, 30, 1);
  1227. SetPlayerMapIcon(playerid, 15, 330.078857, -1518.715820, 35.798629, 30, 1);
  1228. SetPlayerMapIcon(playerid, 16, 212.736221, 1903.069580, 18.079984, 30, 1);
  1229. SetPlayerMapIcon(playerid, 17, 1383.189453, 465.504455, 20.192749, 17, 1);
  1230. SetPlayerMapIcon(playerid, 18, 1365.520019, 249.286941, 19.257095, 29, 1);
  1231. SetPlayerMapIcon(playerid, 19, 1315.100585, -899.391479, 39.282302, 17, 1);
  1232. SetPlayerMapIcon(playerid, 20, 2034.685791, -1404.085327, 16.970668, 22, 1);
  1233. SetPlayerMapIcon(playerid, 21, 1412.8313, -1700.3066, 13.5395, 55, 1);
  1234.  
  1235. Textdraw98[playerid] = TextDrawCreate(146.000000, 203.000000, " "); // Tutorial
  1236. TextDrawBackgroundColor(Textdraw98[playerid], 255);
  1237. TextDrawUseBox(Textdraw98[playerid] , 1);
  1238. TextDrawFont(Textdraw98[playerid], 1);
  1239. TextDrawBoxColor(Textdraw98[playerid] ,0x00000066);
  1240. TextDrawLetterSize(Textdraw98[playerid], 0.289899, 1.099900);
  1241. TextDrawColor(Textdraw98[playerid], 13107455);
  1242. TextDrawSetOutline(Textdraw98[playerid], 1);
  1243. TextDrawSetProportional(Textdraw98[playerid], 1);
  1244. TextDrawAlignment(Textdraw98[playerid],2);
  1245. GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
  1246. SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
  1247. SetOriginalColor(playerid);
  1248. return 1;
  1249. }
  1250.  
  1251. public OnPlayerRequestClass(playerid, classid)
  1252. {
  1253. SetPlayerCameraPos(playerid, 1677.4528,-1502.6893,152.1802);
  1254. SetPlayerCameraLookAt(playerid, 1677.4528,-1502.6893,152.1802);
  1255. SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
  1256. return 1;
  1257. }
  1258.  
  1259. public Payday()
  1260. {
  1261. for(new i = 0; i < MAX_PLAYERS; i++)
  1262. {
  1263. if(IsPlayerConnected(i))
  1264. {
  1265. new nxtlevel;
  1266. nxtlevel = PlayerInfo[i][pLevel]+1;
  1267. new string[128];
  1268. format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
  1269. GameTextForPlayer(i, string, 5000, 1);
  1270. new payday = nxtlevel*1000;
  1271. GivePlayerCash(i,payday);
  1272. PlayerInfo[i][pExp]++;
  1273. }
  1274. }
  1275. return 1;
  1276. }
  1277.  
  1278. public OnPlayerSpawn(playerid)
  1279. {
  1280. if(PlayerInfo[playerid][pSelected] == 0)
  1281. {
  1282. new sexthings[] = "1\tMale \n2\tFemale";
  1283. ShowPlayerDialog(playerid,155,DIALOG_STYLE_LIST,"Hello sir,please select your Sex:((This information is IC.))",sexthings,"Select","Leave Game");
  1284. SetPlayerPos(playerid, 1685.620117,-2331.537353,-2.679687);
  1285. gPlayerRegStep[playerid] = 1;
  1286. new randphone = 100000 + random(899999);
  1287. PlayerInfo[playerid][pNumber] = randphone;
  1288. return 1;
  1289. }
  1290. if(PlayerInfo[playerid][pFirstJoined] == 0)
  1291. {
  1292. new string[512];
  1293. gPlayerTutorialing[playerid] = 1;
  1294. SetPlayerHealth(playerid,100);
  1295. SetPlayerPos(playerid,1693.0609,-2292.1968,-1.2228);
  1296. SetPlayerCameraPos(playerid,1668.9324,-2285.8130,21.3266);//The airport
  1297. SetPlayerCameraLookAt(playerid,1693.0609,-2292.1968,-1.2228);
  1298. format(string,sizeof(string),"This is the airport,your first spawn place ~n~ You will be able to change it if~n~you will get into a faction~n~or if you will buy a house~n~Basic Commands:/help.");
  1299. TextDrawSetString(Textdraw98[playerid],string);
  1300. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1301. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1302. SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
  1303. return 1;
  1304. }
  1305. if(gPlayerLogged[playerid] == 0)
  1306. {
  1307. SendClientMessage(playerid, COLOR_LIGHTRED, "** This server requires a Login BEFORE spawn (Kicked) **");
  1308. Kick(playerid);
  1309. }
  1310. SetPlayerPos(playerid, 1685.620117,-2331.537353,-2.679687);
  1311. SetPlayerInterior(playerid,0);
  1312. SetPlayerVirtualWorld(playerid, 0);
  1313. SetOriginalColor(playerid);
  1314. SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
  1315. return 1;
  1316. }
  1317. public OnPlayerDisconnect(playerid, reason)
  1318. {
  1319. new INI:File = INI_Open(UserPath(playerid));
  1320. INI_SetTag(File,"data");
  1321. INI_WriteInt(File, "Level",PlayerInfo[playerid][pLevel]);
  1322. INI_WriteInt(File, "Money",PlayerInfo[playerid][pCash]);
  1323. INI_WriteInt(File, "Admin",PlayerInfo[playerid][pAdmin]);
  1324. INI_WriteInt(File, "Tester",PlayerInfo[playerid][pTester]);
  1325. INI_WriteInt(File, "Vip",PlayerInfo[playerid][pVip]);
  1326. INI_WriteInt(File, "Spawn",PlayerInfo[playerid][pSpawn]);
  1327. INI_WriteInt(File, "Model",PlayerInfo[playerid][pModel]);
  1328. INI_WriteInt(File, "Locked",PlayerInfo[playerid][pLocked]);
  1329. INI_WriteInt(File, "FirstJoined", PlayerInfo[playerid][pFirstJoined]);
  1330. INI_WriteInt(File, "Sex", PlayerInfo[playerid][pSex]);
  1331. INI_WriteInt(File, "Age", PlayerInfo[playerid][pAge]);
  1332. INI_WriteInt(File, "Origin", PlayerInfo[playerid][pOrigin]);
  1333. INI_WriteInt(File, "Respect", PlayerInfo[playerid][pExp]);
  1334. INI_WriteInt(File, "Warns", PlayerInfo[playerid][pWarns]);
  1335. INI_WriteInt(File, "Selected", PlayerInfo[playerid][pSelected]);
  1336. INI_WriteInt(File, "Continent", PlayerInfo[playerid][pPlace]);
  1337. INI_WriteInt(File, "Muted", PlayerInfo[playerid][pMuted]);
  1338. INI_WriteInt(File, "MuteTime", PlayerInfo[playerid][pMuteTime]);
  1339. INI_WriteInt(File, "Ph", PlayerInfo[playerid][pNumber]);
  1340. INI_WriteInt(File, "DriveLic", PlayerInfo[playerid][pDriveLic]);
  1341. INI_Close(File);
  1342. return 1;
  1343. }
  1344.  
  1345. public OnPlayerStateChange(playerid, newstate, oldstate)
  1346. {
  1347. if(IsPlayerInAnyVehicle(playerid) && !IsBicycle(GetPlayerVehicleID(playerid)))
  1348. {
  1349. new vehicleid = GetPlayerVehicleID(playerid);
  1350. if(VehicleSecurity[vehicleid] == 1)
  1351. {
  1352. ToggleAlarm(vehicleid, VEHICLE_PARAMS_ON);
  1353. SetTimerEx("StopAlarm", ALARM_TIME, false, "d", vehicleid);
  1354. }
  1355. }
  1356. else
  1357. {
  1358. }
  1359. if(newstate == PLAYER_STATE_DRIVER)
  1360. {
  1361. new car = GetPlayerVehicleID(playerid);
  1362. if(car == dmvc || car == dmvc1 || car == dmvc2)
  1363. {
  1364. SCM(playerid, COLOR_GOLD,"Type /takeexam to start the Drivers License test or /exitcar to exit");
  1365. }
  1366. else
  1367. {
  1368. if(PlayerInfo[playerid][pDriveLic] < 1)
  1369. {
  1370. SendClientMessage(playerid, COLOR_GREY, "Get a driving license from DMV, read the newspaper !");
  1371. RemovePlayerFromVehicle(playerid);
  1372. TogglePlayerControllable(playerid, 0);
  1373. SetTimer("Unfreeze", 2000, 0);
  1374. }
  1375. }
  1376. new vehicleid = GetPlayerVehicleID(playerid);
  1377. new id = GetVehicleID(vehicleid);
  1378. if(IsValidVehicle(id))
  1379. {
  1380. if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
  1381. {
  1382. SetPVarInt(playerid, "DialogValue1", id);
  1383. ShowDialog(playerid, DIALOG_VEHICLE_BUY);
  1384. return 1;
  1385. }
  1386. }
  1387. if(IsBicycle(vehicleid))
  1388. {
  1389. ToggleEngine(vehicleid, VEHICLE_PARAMS_ON);
  1390. }
  1391. if(Fuel[vehicleid] <= 0)
  1392. {
  1393. ToggleEngine(vehicleid, VEHICLE_PARAMS_OFF);
  1394. }
  1395. if(vehEngine[vehicleid] == 0)
  1396. {
  1397. TogglePlayerControllable(playerid, 0);
  1398. SendClientMessage(playerid, COLOR_GOLD, "To start the vehicle's engine press \"Shift\" or type \"/engine\"");
  1399. }
  1400. else if(vehEngine[vehicleid] == 1)
  1401. {
  1402. TogglePlayerControllable(playerid, 1);
  1403. SendClientMessage(playerid, COLOR_GREEN, "Vehicle engine running");
  1404. }
  1405. }
  1406. return 1;
  1407. }
  1408. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1409. {
  1410. new string[512];
  1411. if(PRESSED(KEY_SPRINT))
  1412. {
  1413. if(gPlayerTutorialing[playerid] >= 1)
  1414. {
  1415. if(gPlayerTutorialing[playerid] == 1)
  1416. {
  1417. gPlayerTutorialing[playerid] = 2;
  1418. SetPlayerPos(playerid,1412.8313, -1700.3066, 13.5395);
  1419. SetPlayerCameraPos(playerid,1412.8313, -1700.3066, 13.5395);//Driving School
  1420. SetPlayerCameraLookAt(playerid,1412.8313, -1700.3066, 13.5395);
  1421. format(string,sizeof(string),"This is the Driving School,you will be able ~n~to take a drive test wich will cost you~n~500$ so you will get a Driving License.~n~REMEBER:The police stops you if you~n~don't have one.");
  1422. TextDrawSetString(Textdraw98[playerid],string);
  1423. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1424. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1425. return 1;
  1426. }
  1427. if(gPlayerTutorialing[playerid] == 2)
  1428. {
  1429. gPlayerTutorialing[playerid] = 3;
  1430. SetPlayerPos(playerid,1380.7892,-1088.5284,27.3844);
  1431. SetPlayerCameraPos(playerid,1349.7155,-1115.9375,47.7593);//Jobs Building
  1432. SetPlayerCameraLookAt(playerid,1380.7892,-1088.5284,27.3844);
  1433. format(string,sizeof(string),"If you want to earn money,you will be able to ~n~get a job.There will be a list so you~n~will have to choose one job.~n~REMEBER:Some of these jobs requests~n~a owned vehicle!");
  1434. TextDrawSetString(Textdraw98[playerid],string);
  1435. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1436. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1437. return 1;
  1438. }
  1439. if(gPlayerTutorialing[playerid] == 3)
  1440. {
  1441. gPlayerTutorialing[playerid] = 4;
  1442. SetPlayerPos(playerid,1482.2841,-1025.5725,24.352);
  1443. SetPlayerCameraPos(playerid,1522.6703,-1041.8273,60.2691);//Casino
  1444. SetPlayerCameraLookAt(playerid,1482.2841,-1025.5725,24.3520);
  1445. format(string,sizeof(string),"If you got tired of working ~n~for someone or for your job~n~you have the possibility to play.~n~here,at the Casino!~n~Commands:/casino");
  1446. TextDrawSetString(Textdraw98[playerid],string);
  1447. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1448. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1449. return 1;
  1450. }
  1451. if(gPlayerTutorialing[playerid] == 4)
  1452. {
  1453. gPlayerTutorialing[playerid] = 5;
  1454. SetPlayerPos(playerid,590.7849,-1243.1808,17.9521);
  1455. SetPlayerCameraPos(playerid,609.0580,-1219.5914,29.2979);//Bank
  1456. SetPlayerCameraLookAt(playerid,590.7849,-1243.1808,17.9521);
  1457. format(string,sizeof(string),"Your paydays,your money will be deposited ~n~here,at the Bank.~n~You have the possibility to:.~n~/bank deposit,withdraw,transfer,savings,etc.~n~Remember:Minimum savings value:50.000$.");
  1458. TextDrawSetString(Textdraw98[playerid],string);
  1459. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1460. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1461. return 1;
  1462. }
  1463. if(gPlayerTutorialing[playerid] == 5)
  1464. {
  1465. gPlayerTutorialing[playerid] = 6;
  1466. SetPlayerPos(playerid,543.6426,-1277.8851,17.2422);
  1467. SetPlayerCameraPos(playerid,538.1927,-1259.2106,29.4667);//Grotti Dealership
  1468. SetPlayerCameraLookAt(playerid,543.6426,-1277.8851,17.2422);
  1469. format(string,sizeof(string),"If you have enough money,you will ~n~be able to buy a new car.");
  1470. TextDrawSetString(Textdraw98[playerid],string);
  1471. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1472. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1473. return 1;
  1474. }
  1475. if(gPlayerTutorialing[playerid] == 6)
  1476. {
  1477. gPlayerTutorialing[playerid] = 7;
  1478. SetPlayerPos(playerid,617.2159,-1330.5415,13.6447);
  1479. SetPlayerCameraPos(playerid,652.8370,-1335.8909,28.2059);//Sector 1 Jail
  1480. SetPlayerCameraLookAt(playerid,617.2159,-1330.5415,13.6447);
  1481. format(string,sizeof(string),"If the police officers catch you ~n~they will jail you in one~n~of the jails around the city.");
  1482. TextDrawSetString(Textdraw98[playerid],string);
  1483. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1484. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1485. return 1;
  1486. }
  1487. if(gPlayerTutorialing[playerid] == 7)
  1488. {
  1489. gPlayerTutorialing[playerid] = 8;
  1490. SetPlayerPos(playerid,1187.1349,-1323.7538,13.5591);
  1491. SetPlayerCameraPos(playerid,1206.7904,-1365.1343,27.3433);//Al Saints Hospital
  1492. SetPlayerCameraLookAt(playerid,1187.1349,-1323.7538,13.5591);
  1493. format(string,sizeof(string),"If you die,you will be asked to /accept death ~n~.When your really dead ,you will be ~n~spawned here,at Al Saints Hospital.");
  1494. TextDrawSetString(Textdraw98[playerid],string);
  1495. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1496. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1497. return 1;
  1498. }
  1499. if(gPlayerTutorialing[playerid] == 8)
  1500. {
  1501. gPlayerTutorialing[playerid] = 9;
  1502. SetPlayerPos(playerid,1479.8079,-1674.9541,14.6260);
  1503. SetPlayerCameraPos(playerid,1396.1614,-1650.0144,59.4351);//Pershing Square
  1504. SetPlayerCameraLookAt(playerid,1479.8079,-1674.9541,14.6260);
  1505. format(string,sizeof(string),"This place is the most ~n~ safest place in Los Santos.~n~You have no right to kill/rob/rape noone here");
  1506. TextDrawSetString(Textdraw98[playerid],string);
  1507. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1508. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1509. return 1;
  1510. }
  1511. if(gPlayerTutorialing[playerid] == 9)
  1512. {
  1513. gPlayerTutorialing[playerid] = 0;
  1514. PlayerInfo[playerid][pFirstJoined] = 1;
  1515. PlayerInfo[playerid][pSelected] = 0;
  1516. SpawnPlayer(playerid);
  1517. SetPlayerVirtualWorld(playerid,0);
  1518. TextDrawHideForPlayer(playerid,Textdraw98[playerid]);
  1519. SetCameraBehindPlayer(playerid);
  1520. TogglePlayerControllable(playerid, 1);
  1521. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Now we will need some data from you!.");
  1522. return 1;
  1523. }
  1524. }
  1525. }
  1526.  
  1527.  
  1528. if(PRESSED(KEY_JUMP))
  1529. {
  1530. if(gPlayerTutorialing[playerid] >= 1)
  1531. {
  1532. if(gPlayerTutorialing[playerid] == 9)
  1533. {
  1534. gPlayerTutorialing[playerid] = 8;
  1535. SetPlayerPos(playerid,1187.1349,-1323.7538,13.5591);
  1536. SetPlayerCameraPos(playerid,1206.7904,-1365.1343,27.3433);//Al Saints Hospital
  1537. SetPlayerCameraLookAt(playerid,1187.1349,-1323.7538,13.5591);
  1538. format(string,sizeof(string),"If you die,you will be asked to /accept death ~n~.When your really dead ,you will be ~n~spawned here,at Al Saints Hospital.");
  1539. TextDrawSetString(Textdraw98[playerid],string);
  1540. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1541. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1542. return 1;
  1543. }
  1544. if(gPlayerTutorialing[playerid] == 8)
  1545. {
  1546. gPlayerTutorialing[playerid] = 7;
  1547. SetPlayerPos(playerid,617.2159,-1330.5415,13.6447);
  1548. SetPlayerCameraPos(playerid,652.8370,-1335.8909,28.2059);//Sector 1 Jail
  1549. SetPlayerCameraLookAt(playerid,617.2159,-1330.5415,13.6447);
  1550. format(string,sizeof(string),"If the police officers catch you ~n~they will jail you in one~n~of the jails around the city.");
  1551. TextDrawSetString(Textdraw98[playerid],string);
  1552. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1553. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1554. return 1;
  1555. }
  1556. if(gPlayerTutorialing[playerid] == 7)
  1557. {
  1558. gPlayerTutorialing[playerid] = 6;
  1559. SetPlayerPos(playerid,543.6426,-1277.8851,17.2422);
  1560. SetPlayerCameraPos(playerid,538.1927,-1259.2106,29.4667);//Grotti Dealership
  1561. SetPlayerCameraLookAt(playerid,543.6426,-1277.8851,17.2422);
  1562. format(string,sizeof(string),"If you have enough money,you will ~n~be able to buy a new car.~n~Command:/v.");
  1563. TextDrawSetString(Textdraw98[playerid],string);
  1564. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1565. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1566. return 1;
  1567. }
  1568. if(gPlayerTutorialing[playerid] == 6)
  1569. {
  1570. gPlayerTutorialing[playerid] = 5;
  1571. SetPlayerPos(playerid,590.7849,-1243.1808,17.9521);
  1572. SetPlayerCameraPos(playerid,609.0580,-1219.5914,29.2979);//Bank
  1573. SetPlayerCameraLookAt(playerid,590.7849,-1243.1808,17.9521);
  1574. format(string,sizeof(string),"Your paydays,your money will be deposited ~n~here,at the Bank.~n~You have the possibility to:.~n~/bank deposit,withdraw,transfer,savings,etc.~n~Remember:Minimum savings value:50.000$.");
  1575. TextDrawSetString(Textdraw98[playerid],string);
  1576. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1577. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1578. return 1;
  1579. }
  1580. if(gPlayerTutorialing[playerid] == 5)
  1581. {
  1582. gPlayerTutorialing[playerid] = 4;
  1583. SetPlayerPos(playerid,1482.2841,-1025.5725,24.352);
  1584. SetPlayerCameraPos(playerid,1522.6703,-1041.8273,60.2691);//Casino
  1585. SetPlayerCameraLookAt(playerid,1482.2841,-1025.5725,24.3520);
  1586. format(string,sizeof(string),"If you got tired of working ~n~for someone or for your job~n~you have the possibility to play.~n~here,at the Casino!~n~Commands:/casino");
  1587. TextDrawSetString(Textdraw98[playerid],string);
  1588. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1589. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1590. return 1;
  1591. }
  1592. if(gPlayerTutorialing[playerid] == 4)
  1593. {
  1594. gPlayerTutorialing[playerid] = 3;
  1595. SetPlayerPos(playerid,1380.7892,-1088.5284,27.3844);
  1596. SetPlayerCameraPos(playerid,1349.7155,-1115.9375,47.7593);//Jobs Building
  1597. SetPlayerCameraLookAt(playerid,1380.7892,-1088.5284,27.3844);
  1598. format(string,sizeof(string),"If you want to earn money,you will be able to ~n~get a job.There will be a list so you~n~will have to choose one job.~n~REMEBER:Some of these jobs requests~n~a owned vehicle!");
  1599. TextDrawSetString(Textdraw98[playerid],string);
  1600. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1601. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1602. return 1;
  1603. }
  1604. if(gPlayerTutorialing[playerid] == 3)
  1605. {
  1606. gPlayerTutorialing[playerid] = 2;
  1607. SetPlayerPos(playerid,1412.8313, -1700.3066, 13.5395);
  1608. SetPlayerCameraPos(playerid,1412.8313, -1700.3066, 13.5395);//Driving School
  1609. SetPlayerCameraLookAt(playerid,1412.8313, -1700.3066, 13.5395);
  1610. format(string,sizeof(string),"This is the Driving School,you will be able ~n~to take a drive test wich will cost you~n~5.000$ so you will get a Driving License.~n~REMEBER:The police stops you if you~n~don't have one.");
  1611. TextDrawSetString(Textdraw98[playerid],string);
  1612. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1613. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1614. return 1;
  1615. }
  1616. if(gPlayerTutorialing[playerid] == 2)
  1617. {
  1618. gPlayerTutorialing[playerid] = 1;
  1619. SetPlayerPos(playerid,1479.8079,-1674.9541,14.6260);
  1620. SetPlayerCameraPos(playerid,1396.1614,-1650.0144,59.4351);//Pershing Square
  1621. SetPlayerCameraLookAt(playerid,1479.8079,-1674.9541,14.6260);
  1622. format(string,sizeof(string),"This place is the most ~n~ safest place in Los Santos.~n~You have no right to kill/rob/rape noone here");
  1623. TextDrawSetString(Textdraw98[playerid],string);
  1624. TextDrawShowForPlayer(playerid,Textdraw98[playerid]);
  1625. SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Use SPACEBAR to continue,SHIFT to go back.");
  1626. return 1;
  1627. }
  1628. }
  1629. }
  1630. new vehicleid = GetPlayerVehicleID(playerid);
  1631. if(IsPlayerInAnyVehicle(playerid))
  1632. {
  1633. if(vehEngine[vehicleid] == 0)
  1634. {
  1635. if(newkeys == KEY_JUMP)
  1636. {
  1637. new vid, sendername[MAX_PLAYER_NAME], vmodel[128];
  1638. vehEngine[vehicleid] = 2;
  1639. SetTimerEx("StartEngine", 3000, 0, "i", playerid);
  1640. SendClientMessage(playerid, COLOR_GREEN, "Vehicle engine starting");
  1641. vid = GetPlayerVehicleID(playerid);
  1642. GetVehicleName(vid,vmodel,sizeof(vmodel));
  1643. GetPlayerName(playerid,sendername,sizeof(sendername));
  1644. format(string, sizeof(string), "* %s is starting the engine of the %s", sendername, vmodel);
  1645. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  1646. }
  1647. if(newkeys == KEY_SECONDARY_ATTACK)
  1648. {
  1649. RemovePlayerFromVehicle(playerid);
  1650. TogglePlayerControllable(playerid, 1);
  1651. }
  1652. }
  1653. }
  1654. return 1;
  1655. }
  1656. public OnVehicleMod(playerid, vehicleid, componentid)
  1657. {
  1658. new id = GetVehicleID(vehicleid);
  1659. if(IsValidVehicle(id))
  1660. {
  1661. VehicleMods[id][GetVehicleComponentType(componentid)] = componentid;
  1662. SaveVehicle(id);
  1663. }
  1664. return 1;
  1665. }
  1666.  
  1667. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1668. {
  1669. new id = GetVehicleID(vehicleid);
  1670. if(IsValidVehicle(id))
  1671. {
  1672. VehiclePaintjob[id] = paintjobid;
  1673. SaveVehicle(id);
  1674. }
  1675. return 1;
  1676. }
  1677.  
  1678. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1679. {
  1680. new id = GetVehicleID(vehicleid);
  1681. if(IsValidVehicle(id))
  1682. {
  1683. VehicleColor[id][0] = color1;
  1684. VehicleColor[id][1] = color2;
  1685. SaveVehicle(id);
  1686. }
  1687. return 1;
  1688. }
  1689.  
  1690. ShowDialog(playerid, dialogid)
  1691. {
  1692. switch(dialogid)
  1693. {
  1694. case DIALOG_VEHICLE:
  1695. {
  1696. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  1697. new caption[32], info[256];
  1698. format(caption, sizeof(caption), "Vehicle ID %d", vehicleid);
  1699. strcat(info, "\nTrunk", sizeof(info));
  1700. strcat(info, "\nFill Tank", sizeof(info));
  1701. switch(GetPlayerVehicleAccess(playerid, vehicleid))
  1702. {
  1703. case 1:
  1704. {
  1705. new value = VehicleValue[vehicleid]/2;
  1706. format(info, sizeof(info), "%s\nSell Vehicle ($%d)\nPark Vehicle\nEdit License Plate", info, value);
  1707. }
  1708. }
  1709. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, caption, info, "Select", "Cancel");
  1710. }
  1711. case DIALOG_VEHICLE_BUY:
  1712. {
  1713. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  1714. new caption[32], info[256];
  1715. format(caption, sizeof(caption), "Vehicle ID %d", vehicleid);
  1716. format(info, sizeof(info), "This vehicle is for sale ($%d)\nWould you like to buy it?", VehicleValue[vehicleid]);
  1717. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, caption, info, "Yes", "No");
  1718. }
  1719. case DIALOG_VEHICLE_SELL:
  1720. {
  1721. new targetid = GetPVarInt(playerid, "DialogValue1");
  1722. new id = GetPVarInt(playerid, "DialogValue2");
  1723. new price = GetPVarInt(playerid, "DialogValue3");
  1724. new info[256];
  1725. format(info, sizeof(info), "%s (%d) wants to sell you a %s for $%d.", PlayerName(targetid), targetid,
  1726. VehicleNames[VehicleModel[id]-400], price);
  1727. strcat(info, "\n\nWould you like to buy?", sizeof(info));
  1728. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, "Buy Vehicle", info, "Yes", "No");
  1729. }
  1730. case DIALOG_TRUNK:
  1731. {
  1732. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  1733. new name[32], info[256];
  1734. for(new i=0; i < sizeof(VehicleTrunk[]); i++)
  1735. {
  1736. if(VehicleTrunk[vehicleid][i][1] > 0)
  1737. {
  1738. GetWeaponName(VehicleTrunk[vehicleid][i][0], name, sizeof(name));
  1739. format(info, sizeof(info), "%s%d. %s (%d)\n", info, i+1, name, VehicleTrunk[vehicleid][i][1]);
  1740. }
  1741. else
  1742. {
  1743. format(info, sizeof(info), "%s%d. Empty\n", info, i+1);
  1744. }
  1745. }
  1746. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Trunk", info, "Select", "Cancel");
  1747. }
  1748. case DIALOG_TRUNK_ACTION:
  1749. {
  1750. new info[128];
  1751. strcat(info, "Put Into Trunk\nTake From Trunk", sizeof(info));
  1752. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Trunk", info, "Select", "Cancel");
  1753. }
  1754. case DIALOG_VEHICLE_PLATE:
  1755. {
  1756. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Edit License Plate", "Enter new license plate:", "Change", "Back");
  1757. }
  1758. case DIALOG_FUEL:
  1759. {
  1760. new info[128];
  1761. strcat(info, "Refuel Vehicle ($" #FUEL_PRICE ")\nBuy Gas Can ($" #GAS_CAN_PRICE ")", sizeof(info));
  1762. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Fuel Station", info, "OK", "Cancel");
  1763. }
  1764. case DIALOG_EDITVEHICLE:
  1765. {
  1766. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  1767. new caption[32], info[256];
  1768. format(caption, sizeof(caption), "Edit Vehicle ID %d", vehicleid);
  1769. format(info, sizeof(info), "1. Value: [$%d]\n2. Model: [%d (%s)]\n3. Colors: [%d] [%d]\n4. License Plate: [%s]",
  1770. VehicleValue[vehicleid], VehicleModel[vehicleid], VehicleNames[VehicleModel[vehicleid]-400],
  1771. VehicleColor[vehicleid][0], VehicleColor[vehicleid][1], VehicleNumberPlate[vehicleid]);
  1772. strcat(info, "\n5. Delete Vehicle\n6. Park Vehicle\n7. Go To Vehicle", sizeof(info));
  1773. strcat(info, "\n\nEnter: [nr] [value1] [value2]", sizeof(info));
  1774. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, caption, info, "OK", "Cancel");
  1775. }
  1776. }
  1777. }
  1778. public OnVehicleSpawn(vehicleid)
  1779. {
  1780. VehicleSecurity[vehicleid] = 0;
  1781. new id = GetVehicleID(vehicleid);
  1782. if(IsValidVehicle(id))
  1783. {
  1784. if(VehicleColor[id][0] >= 0 && VehicleColor[id][1] >= 0)
  1785. ChangeVehicleColor(vehicleid, VehicleColor[id][0], VehicleColor[id][1]);
  1786. LinkVehicleToInterior(vehicleid, VehicleInterior[id]);
  1787. SetVehicleVirtualWorld(vehicleid, VehicleWorld[id]);
  1788. for(new i=0; i < sizeof(VehicleMods[]); i++)
  1789. {
  1790. AddVehicleComponent(vehicleid, VehicleMods[id][i]);
  1791. }
  1792. ChangeVehiclePaintjob(vehicleid, VehiclePaintjob[id]);
  1793. }
  1794. return 1;
  1795. }
  1796. public MainTimer()
  1797. {
  1798. new string[128];
  1799. new Float:x, Float:y, Float:z;
  1800.  
  1801. for(new i=0; i < MAX_PLAYERS; i++)
  1802. {
  1803. if(IsPlayerConnected(i))
  1804. {
  1805. if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  1806. {
  1807. new vehicleid = GetPlayerVehicleID(i);
  1808. if(!IsBicycle(vehicleid) && Fuel[vehicleid] > 0)
  1809. {
  1810. if(Fuel[vehicleid] <= 0)
  1811. {
  1812. ToggleEngine(vehicleid, VEHICLE_PARAMS_OFF);
  1813. GameTextForPlayer(i, "~r~out of fuel", 3000, 3);
  1814. SendClientMessage(i, COLOR_RED, "This vehicle is out of fuel!");
  1815. }
  1816. }
  1817. }
  1818. if(RefuelTime[i] > 0 && GetPVarInt(i, "FuelStation"))
  1819. {
  1820. new vehicleid = GetPlayerVehicleID(i);
  1821. Fuel[vehicleid] += 2.0;
  1822. RefuelTime[i]--;
  1823. if(RefuelTime[i] == 0)
  1824. {
  1825. if(Fuel[vehicleid] >= 100.0) Fuel[vehicleid] = 100.0;
  1826. new stationid = GetPVarInt(i, "FuelStation");
  1827. new cost = floatround(Fuel[vehicleid]-GetPVarFloat(i, "Fuel"))*FUEL_PRICE;
  1828. if(GetPlayerState(i) != PLAYER_STATE_DRIVER || Fuel[vehicleid] >= 100.0 || GetPlayerMoney(i) < cost
  1829. || !IsPlayerInRangeOfPoint(i, 10.0, FuelStationPos[stationid][0], FuelStationPos[stationid][1], FuelStationPos[stationid][2]))
  1830. {
  1831. if(GetPlayerMoney(i) < cost) cost = GetPlayerMoney(i);
  1832. GivePlayerCash(i, -cost);
  1833. format(string, sizeof(string), "~r~-$%d", cost);
  1834. GameTextForPlayer(i, string, 2000, 3);
  1835. format(string, sizeof(string), "You pay $%d for fuel", cost);
  1836. SendClientMessage(i, COLOR_WHITE, string);
  1837. SetPVarInt(i, "FuelStation", 0);
  1838. SetPVarFloat(i, "Fuel", 0.0);
  1839. }
  1840. else
  1841. {
  1842. RefuelTime[i] = 5;
  1843. format(string, sizeof(string), "~w~refueling...~n~~r~-$%d", cost);
  1844. GameTextForPlayer(i, string, 2000, 3);
  1845. }
  1846. }
  1847. }
  1848. if(TrackCar[i])
  1849. {
  1850. GetVehiclePos(TrackCar[i], x, y, z);
  1851. SetPlayerCheckpoint(i, x, y, z, 3);
  1852. }
  1853. }
  1854. }
  1855. }
  1856. public SaveTimer()
  1857. {
  1858. SaveVehicleIndex++;
  1859. if(SaveVehicleIndex >= MAX_DVEHICLES) SaveVehicleIndex = 1;
  1860. if(IsValidVehicle(SaveVehicleIndex)) SaveVehicle(SaveVehicleIndex);
  1861. }
  1862.  
  1863. public StopAlarm(vehicleid)
  1864. {
  1865. ToggleAlarm(vehicleid, VEHICLE_PARAMS_OFF);
  1866. }
  1867. public StartEngine(playerid)
  1868. {
  1869. new vehicleid = GetPlayerVehicleID(playerid);
  1870. new Float:health;
  1871. new rand = random(2);
  1872. GetVehicleHealth(vehicleid, health);
  1873. if(IsPlayerInAnyVehicle(playerid))
  1874. {
  1875. if(vehEngine[vehicleid] == 2)
  1876. {
  1877. if(health > 300)
  1878. {
  1879. if(rand == 0)
  1880. {
  1881. vehEngine[vehicleid] = 1;
  1882. TogglePlayerControllable(playerid, 1);
  1883. SetTimerEx("DamagedEngine", 1000, 1, "i", playerid);
  1884. SendClientMessage(playerid, COLOR_GREEN, "Vehicle engine started");
  1885. }
  1886. if(rand == 1)
  1887. {
  1888. vehEngine[vehicleid] = 0;
  1889. TogglePlayerControllable(playerid, 0);
  1890. SendClientMessage(playerid, COLOR_RED, "Vehicle engine failed to start");
  1891. }
  1892. }
  1893. else
  1894. {
  1895. vehEngine[vehicleid] = 0;
  1896. TogglePlayerControllable(playerid, 0);
  1897. SendClientMessage(playerid, COLOR_RED, "Vehicle engine failed to start due to damage");
  1898. }
  1899. }
  1900. }
  1901. return 1;
  1902. }
  1903.  
  1904. public DamagedEngine(playerid)
  1905. {
  1906. new vehicleid = GetPlayerVehicleID(playerid);
  1907. new Float:health;
  1908. GetVehicleHealth(vehicleid, health);
  1909. if(IsPlayerInAnyVehicle(playerid))
  1910. {
  1911. if(vehEngine[vehicleid] == 1)
  1912. {
  1913. if(health < 300)
  1914. {
  1915. vehEngine[vehicleid] = 0;
  1916. TogglePlayerControllable(playerid, 0);
  1917. SendClientMessage(playerid, COLOR_RED, "Vehicle engine stopped due to damage");
  1918. }
  1919. }
  1920. }
  1921. return 1;
  1922. }
  1923. public OnPlayerExitVehicle(playerid, vehicleid)
  1924. {
  1925. TogglePlayerControllable(playerid, 1);
  1926. return 1;
  1927. }
  1928.  
  1929. public FixHour(hour)
  1930. {
  1931. hour = timeshift+hour;
  1932. if (hour < 0)
  1933. {
  1934. hour = hour+24;
  1935. }
  1936. else if (hour > 23)
  1937. {
  1938. hour = hour-24;
  1939. }
  1940. shifthour = hour;
  1941. return 1;
  1942. }
  1943. public SetOriginalColor(playerid)
  1944. {
  1945. if(IsPlayerConnected(playerid))
  1946. {
  1947. SetPlayerColor(playerid, COLOR_WHITE);
  1948. }
  1949. }
  1950. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  1951. {
  1952. if(IsPlayerConnected(playerid))
  1953. {
  1954. new Float:oldposx, Float:oldposy, Float:oldposz;
  1955. new Float:tempposx, Float:tempposy, Float:tempposz;
  1956. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1957. tempposx = (oldposx -x);
  1958. tempposy = (oldposy -y);
  1959. tempposz = (oldposz -z);
  1960. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1961. {
  1962. return 1;
  1963. }
  1964. }
  1965. return 0;
  1966. }
  1967. public ShowStats(playerid,targetid)
  1968. {
  1969. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  1970. {
  1971. new cash = GetPlayerMoney(targetid);
  1972. new atext[20];
  1973. if(PlayerInfo[targetid][pSex] == 1)
  1974. { atext = "Male"; }
  1975. else if(PlayerInfo[targetid][pSex] == 2)
  1976. { atext = "Female"; }
  1977. new otext[20];
  1978. if(PlayerInfo[targetid][pPlace] == 1)
  1979. { otext = "Europe"; }
  1980. else if(PlayerInfo[targetid][pPlace] == 2)
  1981. { otext = "America"; }
  1982. new drank[20];
  1983. if(PlayerInfo[targetid][pVip] == 1)
  1984. { drank = "Gold Donator"; }
  1985. else if(PlayerInfo[targetid][pVip] == 2)
  1986. { drank = "Silver Donator"; }
  1987. else { drank = "None"; }
  1988. new age = PlayerInfo[targetid][pAge];
  1989. new warns = PlayerInfo[targetid][pWarns];
  1990. new level = PlayerInfo[targetid][pLevel];
  1991. new exp = PlayerInfo[targetid][pExp];
  1992. new nxtlevel = PlayerInfo[targetid][pLevel]+1;
  1993. new expamount = nxtlevel*levelexp;
  1994. new costlevel = nxtlevel*levelcost;
  1995. new name[MAX_PLAYER_NAME];
  1996. new pnumber = PlayerInfo[targetid][pNumber];
  1997. GetPlayerName(targetid, name, sizeof(name));
  1998. new Float:px,Float:py,Float:pz;
  1999. GetPlayerPos(targetid, px, py, pz);
  2000. new coordsstring[128];
  2001. SendClientMessage(playerid, COLOR_GREEN,"_____________________________________________________________________________________________");
  2002. format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
  2003. SendClientMessage(playerid, COLOR_YELLOW,coordsstring);
  2004. format(coordsstring, sizeof(coordsstring), "Level:[%d] Sex:[%s] Age:[%d] Origin:[%s] Cash:[$%d] Phone:[%d] ", level,atext,age,otext, cash, pnumber);
  2005. SendClientMessage(playerid, COLOR_WHITE,coordsstring);
  2006. format(coordsstring, sizeof(coordsstring), "DonateRank:[%s] Warns:[%d/5]", drank, warns);
  2007. SendClientMessage(playerid, COLOR_LIGHTBLUE,coordsstring);
  2008. format(coordsstring, sizeof(coordsstring), "NextLevel:[$%d] Respect:[%d/%d]",costlevel,exp,expamount);
  2009. SendClientMessage(playerid, COLOR_LIGHTBLUE,coordsstring);
  2010. SendClientMessage(playerid, COLOR_GREEN,"____________________________________________________________________________________________");
  2011. }
  2012. }
  2013.  
  2014. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2015. {
  2016. if(dialogid == 1234)
  2017. {
  2018. if(!response) return Kick(playerid);
  2019. if(response)
  2020. {
  2021. if(fexist(UserPath(playerid)))
  2022. {
  2023. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  2024. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
  2025. }
  2026. else
  2027. {
  2028. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
  2029. }
  2030. }
  2031. }
  2032. if(dialogid == 1)
  2033. {
  2034. if (!response) return Kick(playerid);
  2035. if(response)
  2036. {
  2037. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
  2038. new INI:File = INI_Open(UserPath(playerid));
  2039. INI_SetTag(File,"data");
  2040. INI_WriteInt(File,"Password",udb_hash(inputtext));
  2041. INI_WriteInt(File, "Level",PlayerInfo[playerid][pLevel] = 1);
  2042. INI_WriteInt(File, "Money",PlayerInfo[playerid][pCash] = 0);
  2043. INI_WriteInt(File, "Admin",PlayerInfo[playerid][pAdmin] = 0);
  2044. INI_WriteInt(File, "Tester",PlayerInfo[playerid][pTester] = 0);
  2045. INI_WriteInt(File, "Vip", PlayerInfo[playerid][pVip] = 0);
  2046. INI_WriteInt(File, "Spawn", PlayerInfo[playerid][pSpawn] = 1);
  2047. INI_WriteInt(File, "Model", PlayerInfo[playerid][pModel] = 23);
  2048. INI_WriteInt(File, "Locked", PlayerInfo[playerid][pLocked] = 0);
  2049. INI_WriteInt(File, "FirstJoined", PlayerInfo[playerid][pFirstJoined] = 0);
  2050. INI_WriteInt(File, "Continent", PlayerInfo[playerid][pPlace] = 0);
  2051. INI_WriteInt(File, "Sex", PlayerInfo[playerid][pSex] = 0);
  2052. INI_WriteInt(File, "Selected", PlayerInfo[playerid][pSelected] = 1);
  2053. INI_WriteInt(File, "Age", PlayerInfo[playerid][pAge] = 0);
  2054. INI_WriteInt(File, "Origin", PlayerInfo[playerid][pOrigin] = 0);
  2055. INI_WriteInt(File, "Respect", PlayerInfo[playerid][pExp] = 0);
  2056. INI_WriteInt(File, "Warns", PlayerInfo[playerid][pWarns] = 0);
  2057. INI_WriteInt(File, "Muted", PlayerInfo[playerid][pMuted] = 0);
  2058. INI_WriteInt(File, "MuteTime", PlayerInfo[playerid][pMuteTime] = 0);
  2059. new rp = 100000 + random(899999);
  2060. INI_WriteInt(File, "Ph", PlayerInfo[playerid][pNumber] = rp);
  2061. INI_WriteInt(File, "DriveLic",PlayerInfo[playerid][pDriveLic] = 0);
  2062. INI_Close(File);
  2063. SpawnPlayer(playerid);
  2064. SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
  2065. }
  2066. }
  2067. if(dialogid == 2)
  2068. {
  2069. if(!response ) return Kick (playerid);
  2070. if(response)
  2071. {
  2072. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  2073. {
  2074. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  2075. SpawnPlayer(playerid);
  2076. gPlayerLogged[playerid] = 1;
  2077. GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
  2078. }
  2079. else
  2080. {
  2081. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
  2082. gPlayerLogTries[playerid] += 1;
  2083. if(gPlayerLogTries[playerid] == 3)
  2084. {
  2085. Kick(playerid);
  2086. }
  2087. }
  2088. }
  2089. }
  2090. if(dialogid == 155)
  2091. {
  2092. if(response)
  2093. {
  2094. if (listitem == 0)
  2095. {
  2096. PlayerInfo[playerid][pSex] = 1;
  2097. SendClientMessage(playerid, COLOR_YELLOW2,"So you are Male");
  2098. ShowPlayerDialog(playerid,156,DIALOG_STYLE_INPUT,"Age","How old are you?:((This information is IC.))","Next","Leave Game");
  2099. }
  2100. else if (listitem == 1)
  2101. {
  2102. PlayerInfo[playerid][pSex] = 2;
  2103. SendClientMessage(playerid, COLOR_YELLOW2,"So you are Female");
  2104. ShowPlayerDialog(playerid,156,DIALOG_STYLE_INPUT,"Age","How old are you?:((This information is IC.))","Next","Leave Game");
  2105. }
  2106. }
  2107. else
  2108. {
  2109. Kick(playerid);
  2110. }
  2111. }
  2112. if(dialogid == 156)
  2113. {
  2114. if(response)
  2115. {
  2116. PlayerInfo[playerid][pAge] = strval(inputtext);
  2117. new string[64];
  2118. format(string, sizeof(string),"So you are %s years old", inputtext);
  2119. SendClientMessage(playerid, COLOR_YELLOW2, string);
  2120. new sexthings[] = " Europe \n America \n Russia";
  2121. if(strval(inputtext) <= 15)
  2122. {
  2123. SendClientMessage(playerid, COLOR_WHITE, "SERVER: This is a 16+ Only Server, Grow up and Come Back.");
  2124. Kick(playerid);
  2125. return 1;
  2126.  
  2127.  
  2128. }
  2129. if(strval(inputtext) >= 60)
  2130. {
  2131. SendClientMessage(playerid, COLOR_WHITE, "SERVER: Incorrect Age, You need to enter a Real Age.");
  2132. ShowPlayerDialog(playerid,156,DIALOG_STYLE_INPUT,"Age","How old are you?:((This information is IC.))","Next","Leave Game");
  2133. return 1;
  2134.  
  2135.  
  2136. }
  2137. ShowPlayerDialog(playerid,157,DIALOG_STYLE_LIST,"Where are you from?:((This information is IC.))",sexthings,"Select","Leave Game");
  2138. }
  2139. else
  2140. {
  2141. Kick(playerid);
  2142. }
  2143. }
  2144. if(dialogid == 157)
  2145. {
  2146. if(response)
  2147. {
  2148. if (listitem == 0)
  2149. {
  2150. PlayerInfo[playerid][pPlace] = 1;
  2151. SendClientMessage(playerid, COLOR_YELLOW2, "So you are from the Europe.");
  2152. gPlayerRegStep[playerid] = 0;
  2153. PlayerInfo[playerid][pSelected] = 1;
  2154. }
  2155. else if (listitem == 1)
  2156. {
  2157. PlayerInfo[playerid][pPlace] = 2;
  2158. SendClientMessage(playerid, COLOR_YELLOW2, "So you are from United States.");
  2159. gPlayerRegStep[playerid] = 0;
  2160. PlayerInfo[playerid][pSelected] = 1;
  2161. }
  2162. else if (listitem == 2)
  2163. {
  2164. PlayerInfo[playerid][pPlace] = 3;
  2165. SendClientMessage(playerid, COLOR_YELLOW2, "So you are from Russia.");
  2166. gPlayerRegStep[playerid] = 0;
  2167. PlayerInfo[playerid][pSelected] = 1;
  2168. }
  2169. gPlayerLogged[playerid] = 1;
  2170. new packthings[] = " Package 1 \n Package 2";
  2171. ShowPlayerDialog(playerid,158,DIALOG_STYLE_LIST,"Please select a package that you want to start with",packthings,"Select","Leave Game");
  2172. }
  2173. else
  2174. {
  2175. Kick(playerid);
  2176. }
  2177. }
  2178. if(dialogid == 158)
  2179. {
  2180. if(response)
  2181. {
  2182. if (listitem == 0)
  2183. {
  2184. new DialogString[1024];
  2185. format(DialogString, sizeof DialogString, "Level 2 \n 4 Respect Points \n 1000$");
  2186. ShowPlayerDialog(playerid,159,DIALOG_STYLE_MSGBOX,"Package 1", DialogString,"Accept","Back");
  2187. }
  2188. else if (listitem == 1)
  2189. {
  2190. new DialogString[1024];
  2191. format(DialogString, sizeof DialogString, "Level 1 \n 4000$");
  2192. ShowPlayerDialog(playerid,160,DIALOG_STYLE_MSGBOX,"Package 1", DialogString,"Accept","Back");
  2193. }
  2194. }
  2195. else
  2196. {
  2197. Kick(playerid);
  2198. }
  2199. }
  2200. if(dialogid == 159)
  2201. {
  2202. if(response)
  2203. {
  2204. new playerexp = PlayerInfo[playerid][pExp];
  2205. PlayerInfo[playerid][pExp] = playerexp + 4;
  2206. new playerlvl = PlayerInfo[playerid][pLevel];
  2207. PlayerInfo[playerid][pLevel] = playerlvl + 1;
  2208. GivePlayerCash(playerid, 1000);
  2209. TogglePlayerControllable(playerid, 1);
  2210. SendClientMessage(playerid, COLOR_YELLOW2,"That's all, if you need help you can /helpme, have fun!");
  2211. SendClientMessage(playerid, COLOR_LIGHTBLUE,"A taxi has bringed you to the DMV so you can take your Drivers License");
  2212. SetPlayerPos(playerid, 1424.1869,-1696.1482,13.5469);
  2213. }
  2214. else
  2215. {
  2216. new packthings[] = "Package 1 \n Package 2";
  2217. ShowPlayerDialog(playerid,158,DIALOG_STYLE_LIST,"Please select a package that you want to start with",packthings,"Select","Leave Game");
  2218. }
  2219. }
  2220. if(dialogid == 160)
  2221. {
  2222. if(response)
  2223. {
  2224. GivePlayerCash(playerid, 4000);
  2225. TogglePlayerControllable(playerid, 1);
  2226. SendClientMessage(playerid, COLOR_YELLOW2,"That's all, if you need help you can /helpme, have fun!");
  2227. SendClientMessage(playerid, COLOR_LIGHTBLUE,"A taxi has bringed you to the DMV so you can take your Drivers License");
  2228. SetPlayerPos(playerid, 1424.1869,-1696.1482,13.5469);
  2229. }
  2230. else
  2231. {
  2232. new packthings[] = "Package 1 \n Package 2";
  2233. ShowPlayerDialog(playerid,158,DIALOG_STYLE_LIST,"Please select a package that you want to start with",packthings,"Select","Leave Game");
  2234. }
  2235. }
  2236. //==========================DEALERSHIP==========================================
  2237. if(dialogid == DIALOG_ERROR)
  2238. {
  2239. ShowDialog(playerid, GetPVarInt(playerid, "DialogReturn"));
  2240. return 1;
  2241. }
  2242. SetPVarInt(playerid, "DialogReturn", dialogid);
  2243. if(dialogid == DIALOG_VEHICLE)
  2244. {
  2245. if(response)
  2246. {
  2247. switch(listitem)
  2248. {
  2249. case 0:
  2250. {
  2251. new vehicleid = GetPlayerVehicleID(playerid);
  2252. new engine, lights, alarm, doors, bonnet, boot, objective;
  2253. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  2254. if(boot == 1) boot = 0; else boot = 1;
  2255. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  2256. }
  2257. case 1:
  2258. {
  2259. new vehicleid = GetPlayerVehicleID(playerid);
  2260. new engine, lights, alarm, doors, bonnet, boot, objective;
  2261. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  2262. if(engine == 0 && Fuel[vehicleid] <= 0)
  2263. {
  2264. ShowErrorDialog(playerid, "This vehicle is out of fuel!");
  2265. return 1;
  2266. }
  2267. if(engine == 1) { engine = 0; lights = 0; }
  2268. else { engine = 1; lights = 1; }
  2269. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  2270. }
  2271. case 2:
  2272. {
  2273. new id = GetPVarInt(playerid, "DialogValue1");
  2274. if(GetPlayerVehicleAccess(playerid, id) != 1)
  2275. {
  2276. ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
  2277. return 1;
  2278. }
  2279. new msg[128];
  2280. VehicleCreated[id] = 0;
  2281. new money = VehicleValue[id]/2;
  2282. GivePlayerCash(playerid, money);
  2283. format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
  2284. SendClientMessage(playerid, COLOR_WHITE, msg);
  2285. RemovePlayerFromVehicle(playerid);
  2286. DestroyVehicle(VehicleID[id]);
  2287. SaveVehicle(id);
  2288. }
  2289. case 3:
  2290. {
  2291. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  2292. if(GetPlayerVehicleAccess(playerid, vehicleid) != 1 && GetPlayerVehicleAccess(playerid, vehicleid) != 3)
  2293. {
  2294. ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
  2295. return 1;
  2296. }
  2297. GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
  2298. GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
  2299. SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
  2300. UpdateVehicle(vehicleid, 1);
  2301. PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
  2302. SaveVehicle(vehicleid);
  2303. }
  2304. case 4:
  2305. {
  2306. ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
  2307. }
  2308. }
  2309. }
  2310. return 1;
  2311. }
  2312. if(dialogid == DIALOG_VEHICLE_BUY)
  2313. {
  2314. if(response)
  2315. {
  2316. if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
  2317. {
  2318. ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
  2319. return 1;
  2320. }
  2321. new id = GetPVarInt(playerid, "DialogValue1");
  2322. if(GetPlayerMoney(playerid) < VehicleValue[id])
  2323. {
  2324. ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
  2325. return 1;
  2326. }
  2327. new freeid;
  2328. for(new i=1; i < MAX_DVEHICLES; i++)
  2329. {
  2330. if(!VehicleCreated[i])
  2331. {
  2332. freeid = i; break;
  2333. }
  2334. }
  2335. if(!freeid)
  2336. {
  2337. ShowErrorDialog(playerid, "Vehicle dealership is out of stock!");
  2338. return 1;
  2339. }
  2340. GivePlayerCash(playerid, -VehicleValue[id]);
  2341. new dealerid = strval(VehicleOwner[id]);
  2342. VehicleCreated[freeid] = VEHICLE_PLAYER;
  2343. VehicleModel[freeid] = VehicleModel[id];
  2344. VehiclePos[freeid][0] = DealershipPos[dealerid][0];
  2345. VehiclePos[freeid][1] = DealershipPos[dealerid][1];
  2346. VehiclePos[freeid][2] = DealershipPos[dealerid][2];
  2347. VehicleColor[freeid][0] = VehicleColor[id][0];
  2348. VehicleColor[freeid][1] = VehicleColor[id][0];
  2349. VehicleInterior[freeid] = VehicleInterior[id];
  2350. VehicleWorld[freeid] = VehicleWorld[id];
  2351. VehicleValue[freeid] = VehicleValue[id];
  2352. strcpy(VehicleOwner[freeid], sizeof(VehicleOwner[]), PlayerName(playerid));
  2353. VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
  2354. for(new d=0; d < sizeof(VehicleTrunk[]); d++)
  2355. {
  2356. VehicleTrunk[freeid][d][0] = 0;
  2357. VehicleTrunk[freeid][d][1] = 0;
  2358. }
  2359. for(new d=0; d < sizeof(VehicleMods[]); d++)
  2360. {
  2361. VehicleMods[freeid][d] = 0;
  2362. }
  2363. VehiclePaintjob[freeid] = 255;
  2364. UpdateVehicle(freeid, 0);
  2365. SaveVehicle(freeid);
  2366. new msg[128];
  2367. format(msg, sizeof(msg), "You have bought this vehicle for $%d", VehicleValue[id]);
  2368. SendClientMessage(playerid, COLOR_WHITE, msg);
  2369. RemovePlayerFromVehicle(playerid);
  2370. SetTimer("Unfreeze", 1000, 0);
  2371. }
  2372. else
  2373. {
  2374. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  2375. if(GetPlayerVehicleAccess(playerid, vehicleid) != 3)
  2376. {
  2377. RemovePlayerFromVehicle(playerid);
  2378. }
  2379. RemovePlayerFromVehicle(playerid);
  2380. }
  2381. return 1;
  2382. }
  2383. if(dialogid == DIALOG_VEHICLE_SELL)
  2384. {
  2385. if(response)
  2386. {
  2387. if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
  2388. {
  2389. ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
  2390. return 1;
  2391. }
  2392. new targetid = GetPVarInt(playerid, "DialogValue1");
  2393. new vehicleid = GetPVarInt(playerid, "DialogValue2");
  2394. new price = GetPVarInt(playerid, "DialogValue3");
  2395. if(GetPlayerMoney(playerid) < price)
  2396. {
  2397. ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
  2398. return 1;
  2399. }
  2400. new msg[128];
  2401. strcpy(VehicleOwner[vehicleid], sizeof(VehicleOwner[]), PlayerName(playerid));
  2402. GivePlayerCash(playerid, -price);
  2403. GivePlayerCash(targetid, price);
  2404. SaveVehicle(vehicleid);
  2405. format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
  2406. SendClientMessage(playerid, COLOR_WHITE, msg);
  2407. format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
  2408. SendClientMessage(targetid, COLOR_WHITE, msg);
  2409. }
  2410. else
  2411. {
  2412. new targetid = GetPVarInt(playerid, "DialogValue1");
  2413. new msg[128];
  2414. format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
  2415. SendClientMessage(targetid, COLOR_WHITE, msg);
  2416. }
  2417. return 1;
  2418. }
  2419. if(dialogid == DIALOG_FINDVEHICLE)
  2420. {
  2421. if(response)
  2422. {
  2423. new id;
  2424. sscanf(inputtext[4], "d", id);
  2425. if(IsValidVehicle(id))
  2426. {
  2427. TrackCar[playerid] = VehicleID[id];
  2428. SendClientMessage(playerid, COLOR_WHITE, "You vehicle's location is shown on your radar");
  2429. }
  2430. }
  2431. return 1;
  2432. }
  2433. if(dialogid == DIALOG_TRUNK)
  2434. {
  2435. if(response)
  2436. {
  2437. SetPVarInt(playerid, "DialogValue2", listitem);
  2438. ShowDialog(playerid, DIALOG_TRUNK_ACTION);
  2439. }
  2440. else
  2441. {
  2442. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  2443. new engine, lights, alarm, doors, bonnet, boot, objective;
  2444. GetVehicleParamsEx(VehicleID[vehicleid], engine, lights, alarm, doors, bonnet, boot, objective);
  2445. SetVehicleParamsEx(VehicleID[vehicleid], engine, lights, alarm, doors, bonnet, 0, objective);
  2446. }
  2447. return 1;
  2448. }
  2449. if(dialogid == DIALOG_TRUNK_ACTION)
  2450. {
  2451. if(response)
  2452. {
  2453. new vehicleid = GetPVarInt(playerid, "DialogValue1");
  2454. new slot = GetPVarInt(playerid, "DialogValue2");
  2455. switch(listitem)
  2456. {
  2457. case 0:
  2458. {
  2459. new weaponid = GetPlayerWeapon(playerid);
  2460. if(weaponid == 0)
  2461. {
  2462. ShowPlayerDialog(playerid, DIALOG_ERROR, DIALOG_STYLE_MSGBOX, "ERROR", "You don't have a weapon in your hands!", "OK", "");
  2463. return 1;
  2464. }
  2465. VehicleTrunk[vehicleid][slot][0] = weaponid;
  2466. if(IsMeleeWeapon(weaponid)) VehicleTrunk[vehicleid][slot][1] = 1;
  2467. else VehicleTrunk[vehicleid][slot][1] = GetPlayerAmmo(playerid);
  2468. RemovePlayerWeapon(playerid, weaponid);
  2469. SaveVehicle(vehicleid);
  2470. }
  2471. case 1:
  2472. {
  2473. if(VehicleTrunk[vehicleid][slot][1] <= 0)
  2474. {
  2475. ShowPlayerDialog(playerid, DIALOG_ERROR, DIALOG_STYLE_MSGBOX, "ERROR", "This slot is empty!", "OK", "");
  2476. return 1;
  2477. }
  2478. GivePlayerWeapon(playerid, VehicleTrunk[vehicleid][slot][0], VehicleTrunk[vehicleid][slot][1]);
  2479. VehicleTrunk[vehicleid][slot][0] = 0;
  2480. VehicleTrunk[vehicleid][slot][1] = 0;
  2481. SaveVehicle(vehicleid);
  2482. }
  2483. }
  2484. }
  2485. ShowDialog(playerid, DIALOG_TRUNK);
  2486. return 1;
  2487. }
  2488. if(dialogid == DIALOG_VEHICLE_PLATE)
  2489. {
  2490. if(response)
  2491. {
  2492. if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
  2493. {
  2494. ShowErrorDialog(playerid, "Invalid length!");
  2495. return 1;
  2496. }
  2497. new id = GetPVarInt(playerid, "DialogValue1");
  2498. new vehicleid = VehicleID[id];
  2499. strcpy(VehicleNumberPlate[id], sizeof(VehicleNumberPlate[]), inputtext);
  2500. SaveVehicle(id);
  2501. SetVehicleNumberPlate(vehicleid, inputtext);
  2502. SetVehicleToRespawn(vehicleid);
  2503. new msg[128];
  2504. format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
  2505. SendClientMessage(playerid, COLOR_WHITE, msg);
  2506. }
  2507. else ShowDialog(playerid, DIALOG_VEHICLE);
  2508. return 1;
  2509. }
  2510. if(dialogid == DIALOG_FUEL)
  2511. {
  2512. if(response)
  2513. {
  2514. switch(listitem)
  2515. {
  2516. case 0:
  2517. {
  2518. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  2519. {
  2520. ShowErrorDialog(playerid, "You are not driving a vehicle!");
  2521. return 1;
  2522. }
  2523. new vehicleid = GetPlayerVehicleID(playerid);
  2524. if(IsBicycle(vehicleid))
  2525. {
  2526. ShowErrorDialog(playerid, "Your vehicle doesn't have a fuel tank!");
  2527. return 1;
  2528. }
  2529. if(Fuel[vehicleid] >= 100.0)
  2530. {
  2531. ShowErrorDialog(playerid, "Your vehicle fuel tank is full!");
  2532. return 1;
  2533. }
  2534. if(GetPlayerMoney(playerid) < FUEL_PRICE)
  2535. {
  2536. ShowErrorDialog(playerid, "You don't have enough money!");
  2537. return 1;
  2538. }
  2539. RefuelTime[playerid] = 5;
  2540. SetPVarFloat(playerid, "Fuel", Fuel[vehicleid]);
  2541. GameTextForPlayer(playerid, "~w~refueling...", 2000, 3);
  2542. }
  2543. case 1:
  2544. {
  2545. if(GetPVarInt(playerid, "GasCan"))
  2546. {
  2547. ShowErrorDialog(playerid, "You already have a gas can!");
  2548. return 1;
  2549. }
  2550. if(GetPlayerMoney(playerid) < GAS_CAN_PRICE)
  2551. {
  2552. ShowErrorDialog(playerid, "You don't have enough money!");
  2553. return 1;
  2554. }
  2555. GivePlayerCash(playerid, -GAS_CAN_PRICE);
  2556. SetPVarInt(playerid, "GasCan", 1);
  2557. SendClientMessage(playerid, COLOR_WHITE, "You have bought a gas can for $" #GAS_CAN_PRICE );
  2558. }
  2559. }
  2560. }
  2561. return 1;
  2562. }
  2563. if(dialogid == DIALOG_EDITVEHICLE)
  2564. {
  2565. if(response)
  2566. {
  2567. new id = GetPVarInt(playerid, "DialogValue1");
  2568. new nr, params[128];
  2569. sscanf(inputtext, "ds", nr, params);
  2570. switch(nr)
  2571. {
  2572. case 1:
  2573. {
  2574. new value = strval(params);
  2575. if(value < 0) value = 0;
  2576. VehicleValue[id] = value;
  2577. UpdateVehicleLabel(id, 1);
  2578. SaveVehicle(id);
  2579. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  2580. }
  2581. case 2:
  2582. {
  2583. new value;
  2584. if(IsNumeric(params)) value = strval(params);
  2585. else value = GetVehicleModelIDFromName(params);
  2586. if(value < 400 || value > 611)
  2587. {
  2588. ShowErrorDialog(playerid, "Invalid vehicle model!");
  2589. return 1;
  2590. }
  2591. VehicleModel[id] = value;
  2592. for(new i=0; i < sizeof(VehicleMods[]); i++)
  2593. {
  2594. VehicleMods[id][i] = 0;
  2595. }
  2596. VehiclePaintjob[id] = 255;
  2597. UpdateVehicle(id, 1);
  2598. SaveVehicle(id);
  2599. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  2600. }
  2601. case 3:
  2602. {
  2603. new color1, color2;
  2604. sscanf(params, "dd", color1, color2);
  2605. VehicleColor[id][0] = color1;
  2606. VehicleColor[id][1] = color2;
  2607. SaveVehicle(id);
  2608. ChangeVehicleColor(VehicleID[id], color1, color2);
  2609. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  2610. }
  2611. case 4:
  2612. {
  2613. if(strlen(params) < 1 || strlen(params) > 8)
  2614. {
  2615. ShowErrorDialog(playerid, "Invalid length!");
  2616. return 1;
  2617. }
  2618. strcpy(VehicleNumberPlate[id], sizeof(VehicleNumberPlate[]), params);
  2619. SaveVehicle(id);
  2620. SetVehicleNumberPlate(VehicleID[id], params);
  2621. SetVehicleToRespawn(VehicleID[id]);
  2622. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  2623. }
  2624. case 5:
  2625. {
  2626. DestroyVehicle(VehicleID[id]);
  2627. if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
  2628. {
  2629. Delete3DTextLabel(VehicleLabel[id]);
  2630. }
  2631. VehicleCreated[id] = 0;
  2632. SaveVehicle(id);
  2633. new msg[128];
  2634. format(msg, sizeof(msg), "You have deleted vehicle id %d", id);
  2635. SendClientMessage(playerid, COLOR_WHITE, msg);
  2636. }
  2637. case 6:
  2638. {
  2639. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  2640. {
  2641. ShowErrorDialog(playerid, "You are not driving the vehicle!");
  2642. return 1;
  2643. }
  2644. GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
  2645. GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
  2646. SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
  2647. UpdateVehicle(id, 1);
  2648. PutPlayerInVehicle(playerid, VehicleID[id], 0);
  2649. SaveVehicle(id);
  2650. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  2651. }
  2652. case 7:
  2653. {
  2654. new Float:x, Float:y, Float:z;
  2655. GetVehiclePos(VehicleID[id], x, y, z);
  2656. SetPlayerPos(playerid, x, y, z+1);
  2657. new msg[128];
  2658. format(msg, sizeof(msg), "You have teleported to vehicle id %d", id);
  2659. SendClientMessage(playerid, COLOR_WHITE, msg);
  2660. }
  2661. }
  2662. }
  2663. }
  2664. return 1;
  2665. }
  2666. public ClearChatboxToAll(playerid, lines)
  2667. {
  2668. if (IsPlayerConnected(playerid))
  2669. {
  2670. for(new i=0; i<lines; i++)
  2671. {
  2672. SendClientMessageToAll(COLOR_GREY, " ");
  2673. }
  2674. }
  2675. return 1;
  2676. }
  2677. public OOCOff(color,const string[])
  2678. {
  2679. for(new i = 0; i < MAX_PLAYERS; i++)
  2680. {
  2681. if(IsPlayerConnected(i))
  2682. {
  2683. if(!gOoc[i])
  2684. {
  2685. SendClientMessage(i, color, string);
  2686. }
  2687. }
  2688. }
  2689. }
  2690. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  2691. {
  2692. if(IsPlayerConnected(playerid))
  2693. {
  2694. new Float:posx, Float:posy, Float:posz;
  2695. new Float:oldposx, Float:oldposy, Float:oldposz;
  2696. new Float:tempposx, Float:tempposy, Float:tempposz;
  2697. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  2698. //radi = 2.0; //Trigger Radius
  2699. for(new i = 0; i < MAX_PLAYERS; i++)
  2700. {
  2701. if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
  2702. {
  2703. if(!BigEar[i])
  2704. {
  2705. GetPlayerPos(i, posx, posy, posz);
  2706. tempposx = (oldposx -posx);
  2707. tempposy = (oldposy -posy);
  2708. tempposz = (oldposz -posz);
  2709. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  2710. {
  2711. SendClientMessage(i, col1, string);
  2712. }
  2713. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  2714. {
  2715. SendClientMessage(i, col2, string);
  2716. }
  2717. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  2718. {
  2719. SendClientMessage(i, col3, string);
  2720. }
  2721. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  2722. {
  2723. SendClientMessage(i, col4, string);
  2724. }
  2725. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  2726. {
  2727. SendClientMessage(i, col5, string);
  2728. }
  2729. }
  2730. else
  2731. {
  2732. SendClientMessage(i, col1, string);
  2733. }
  2734. }
  2735. }
  2736. }
  2737. return 1;
  2738. }
  2739. public ClearChatboxToAll2(playerid, lines)
  2740. {
  2741. for(new k=0; k<MAX_PLAYERS; k++)
  2742. {
  2743. if (IsPlayerConnected(k))
  2744. {
  2745. for(new i=0; i<lines; i++)
  2746. {
  2747. if (PlayerInfo[k][pLevel] < 4)
  2748. {
  2749. SendClientMessage(k, COLOR_GREY, " ");
  2750. }
  2751. }
  2752. }
  2753. }
  2754. return 1;
  2755. }
  2756. public split(const strsrc[], strdest[][], delimiter)
  2757. {
  2758. new i, li;
  2759. new aNum;
  2760. new len;
  2761. while(i <= strlen(strsrc)){
  2762. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  2763. len = strmid(strdest[aNum], strsrc, li, i, 128);
  2764. strdest[aNum][len] = 0;
  2765. li = i+1;
  2766. aNum++;
  2767. }
  2768. i++;
  2769. }
  2770. return 1;
  2771. }
  2772. public SendAdminMessage(color, string[])
  2773. {
  2774. for(new i = 0; i < MAX_PLAYERS; i++)
  2775. {
  2776. if(IsPlayerConnected(i))
  2777. {
  2778. if(PlayerInfo[i][pAdmin] >= 1)
  2779. {
  2780. SendClientMessage(i, color, string);
  2781. }
  2782. }
  2783. }
  2784. }
  2785. public SendTesterMessage(color, string[])
  2786. {
  2787. for(new i = 0; i < MAX_PLAYERS; i++)
  2788. {
  2789. if(IsPlayerConnected(i))
  2790. {
  2791. if(PlayerInfo[i][pTester] >= 1)
  2792. {
  2793. SendClientMessage(i, color, string);
  2794. }
  2795. }
  2796. }
  2797. }
  2798. public ProxDetectorS(Float:radi, playerid, targetid)
  2799. {
  2800. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  2801. {
  2802. new Float:posx, Float:posy, Float:posz;
  2803. new Float:oldposx, Float:oldposy, Float:oldposz;
  2804. new Float:tempposx, Float:tempposy, Float:tempposz;
  2805. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  2806. //radi = 2.0; //Trigger Radius
  2807. GetPlayerPos(targetid, posx, posy, posz);
  2808. tempposx = (oldposx -posx);
  2809. tempposy = (oldposy -posy);
  2810. tempposz = (oldposz -posz);
  2811. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  2812. {
  2813. return 1;
  2814. }
  2815. }
  2816. return 0;
  2817. }
  2818. public OnPlayerText(playerid, text[])
  2819. {
  2820. if(PlayerInfo[playerid][pMuted] == 1)
  2821. {
  2822. SendClientMessage(playerid, COLOR_RED, "You cannot speak, you have been silenced");
  2823. return 0;
  2824. }
  2825. if(Mobile[playerid] != 255)
  2826. {
  2827. new string[128], sendername[MAX_PLAYER_NAME];
  2828. GetPlayerName(playerid, sendername, sizeof(sendername));
  2829. sendername[strfind(sendername,"_")] = ' ';
  2830. format(string, sizeof(string), "%s Says (cellphone): %s", sendername, text);
  2831. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  2832. }
  2833. if (realchat)
  2834. {
  2835. new sendername[MAX_PLAYER_NAME], string[128];
  2836. GetPlayerName(playerid, sendername, sizeof(sendername));
  2837. sendername[strfind(sendername,"_")] = ' ';
  2838. format(string, sizeof(string), "%s Says: %s", sendername, text);
  2839. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  2840. new lengthtime = strlen(text);
  2841. new time = lengthtime*50;
  2842. ApplyAnimation(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,time);
  2843. return 0;
  2844. }
  2845. return 1;
  2846. }
  2847. public newbietimer()
  2848. {
  2849. for(new i = 0; i < MAX_PLAYERS; i++)
  2850. {
  2851. ntimer[i] -= 10;
  2852. }
  2853. }
  2854. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  2855. {
  2856. if(!ispassenger)
  2857. {
  2858. new id = GetVehicleID(vehicleid);
  2859. if(IsValidVehicle(id) && VehicleCreated[id] == VEHICLE_PLAYER)
  2860. {
  2861. new msg[128];
  2862. format(msg, sizeof(msg), "This vehicle belongs to %s", VehicleOwner[id]);
  2863. SendClientMessage(playerid, COLOR_GREY, msg);
  2864. }
  2865. }
  2866. return 1;
  2867. }
  2868. public RACtime(playerid)
  2869. {
  2870. for(new player=0; player<MAX_PLAYERS; player++)
  2871. {
  2872. if(!IsVehicleOccupied(player)) SetVehicleToRespawn(player);
  2873. }
  2874. for(new car = 1; car <= 1000; car++)
  2875. {
  2876. if(!IsVehicleOccupied(car)) SetVehicleToRespawn(car);
  2877. }
  2878. return 1;
  2879. }
  2880. public ABroadCast(color,const string[],level)
  2881. {
  2882. for(new i = 0; i < MAX_PLAYERS; i++)
  2883. {
  2884. if(IsPlayerConnected(i))
  2885. {
  2886. if (PlayerInfo[i][pAdmin] >= level)
  2887. {
  2888. SendClientMessage(i, color, string);
  2889. }
  2890. }
  2891. }
  2892. return 1;
  2893. }
  2894. public TBroadCast(color,const string[],level)
  2895. {
  2896. for(new i = 0; i < MAX_PLAYERS; i++)
  2897. {
  2898. if(IsPlayerConnected(i))
  2899. {
  2900. if (PlayerInfo[i][pTester] >= level)
  2901. {
  2902. SendClientMessage(i, color, string);
  2903. }
  2904. }
  2905. }
  2906. return 1;
  2907. }
  2908.  
  2909. CMD:veh(playerid, params[])
  2910. {
  2911. if(PlayerInfo[playerid][pAdmin] >= 4)
  2912. {
  2913. new veh,color1,color2;
  2914. if (!sscanf(params, "iii", veh, color1,color2))
  2915. {
  2916. new Float:x, Float:y, Float:z;
  2917. GetPlayerPos(playerid, x,y,z);
  2918. AddStaticVehicle(veh, x,y,z,0,color1, color2);
  2919. }
  2920. else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /veh [carid] [Color 1] [Color 2]");
  2921. }
  2922. else SendClientMessage(playerid, 0xFFFFFFFF, "You do not have the rights to use that command!");
  2923. return 1;
  2924. }
  2925.  
  2926. CMD:stats(playerid, params[])
  2927. {
  2928. if(gPlayerLogged[playerid] == 1)
  2929. {
  2930. ShowStats(playerid, playerid);
  2931. }
  2932. else
  2933. {
  2934. SCM(playerid, COLOR_GREY,"You are not logged in!");
  2935. }
  2936. return 1;
  2937. }
  2938. CMD:th(playerid, params[])
  2939. {
  2940. new string[128];
  2941. if(!(PlayerInfo[playerid][pTester] == 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  2942. if(PlayerInfo[playerid][pTester] == 1)
  2943. {
  2944. format(string, sizeof(string),"***Testers Commands:{C3C3C3} /goto /gethere /respawn /cc /cnc /mute /unmute /tc [text] (tester/admin chat) /tod /sendtols");
  2945. SendClientMessage(playerid, COLOR_GRAD1, string);
  2946. }
  2947. return 1;
  2948. }
  2949. CMD:ah(playerid, params[])
  2950. {
  2951. if(!(PlayerInfo[playerid][pAdmin] >= 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  2952. new string[128];
  2953. if(PlayerInfo[playerid][pAdmin] >= 1)
  2954. {
  2955. format(string, sizeof(string),"***Admin Level 1:{C3C3C3} /goto /gethere /respawn /healall /kick /ban /cc /cnc /a [text] (admin chat)");
  2956. SendClientMessage(playerid, COLOR_GRAD1, string);
  2957. format(string, sizeof(string),"***Admin Level 1:{C3C3C3} /warn /aod /unban /unbanip /freeze /unfreeze /check /mute /unmute /acceptreport /markfalse");
  2958. SendClientMessage(playerid, COLOR_GRAD1, string);
  2959. }
  2960. if(PlayerInfo[playerid][pAdmin] >= 2)
  2961. {
  2962. format(string, sizeof(string),"***Admin Level 2:{C3C3C3} /gotols /gotolv /gotosf /sendtols");
  2963. SendClientMessage(playerid, COLOR_GRAD1, string);
  2964. }
  2965. if(PlayerInfo[playerid][pAdmin] >= 4)
  2966. {
  2967. format(string, sizeof(string),"***Admin Level 4:{C3C3C3} /veh /setskin /sethp /givegun");
  2968. SendClientMessage(playerid, COLOR_GRAD1, string);
  2969. }
  2970. if(PlayerInfo[playerid][pAdmin] >= 5)
  2971. {
  2972. format(string, sizeof(string),"***Admin Level 5:{C3C3C3} /rac /setlevel /givemoney");
  2973. SendClientMessage(playerid, COLOR_GRAD1, string);
  2974. }
  2975. if(PlayerInfo[playerid][pAdmin] >= 6)
  2976. {
  2977. format(string, sizeof(string),"***Admin Level 6:{C3C3C3} /maketester /makeadmin /changename /addv /editv /setfuel");
  2978. SendClientMessage(playerid, COLOR_GRAD1, string);
  2979. format(string, sizeof(string),"***Admin Level 6:{C3C3C3} /adddealership /deletedealership /movedealership /gotodealership");
  2980. SendClientMessage(playerid, COLOR_GRAD1, string);
  2981. format(string, sizeof(string),"***Admin Level 6:{C3C3C3} /addfuelstation /deletefuelstation /movefuelstation /gotofuelstation");
  2982. SendClientMessage(playerid, COLOR_GRAD1, string);
  2983. }
  2984. return 1;
  2985. }
  2986.  
  2987. CMD:help(playerid, params[])
  2988. {
  2989. if(PlayerInfo[playerid][pAdmin] >= 1)
  2990. {
  2991. SendClientMessage(playerid, COLOR_GRAD2,"***Admin: /ah");
  2992. }
  2993. if(PlayerInfo[playerid][pTester] >= 1)
  2994. {
  2995. SendClientMessage(playerid, COLOR_GRAD2,"***Tester: /th");
  2996. }
  2997. SendClientMessage(playerid, COLOR_GRAD1,"{FFAF00}*** ACCOUNT *** {C3C3C3}/rules /forum /stats /buylevel");
  2998. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** GENERAL *** {C3C3C3}/me /anims /do /time /helpme /report /(c)all /(h)angup /(p)ickup /number");
  2999. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** GENERAL *** {C3C3C3}/admins /testers /id /pay /newspaper /stopanim /takeexam");
  3000. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** CAR *** {C3C3C3}/v /tow /eject /ejectall /vlock /valarm /fuel /trunk");
  3001. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** CAR *** {C3C3C3}/clearmods /sellv /givecarkeys /trackcar /engine");
  3002. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** CHAT *** {C3C3C3}/b [local ooc chat] /s (shout) /low [low chat]");
  3003. SendClientMessage(playerid, COLOR_GRAD2,"{FFAF00}*** CHAT *** {C3C3C3}/n (newbie chat) /w (whisper) /pm (private message ooc)");
  3004. return 1;
  3005. }
  3006. CMD:setskin(playerid, params[])
  3007. {
  3008. new id, ammount, name[MAX_PLAYER_NAME], string[128];
  3009. if(!(PlayerInfo[playerid][pAdmin] >= 4)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3010. else if(sscanf(params,"ui", id, ammount)) return SCM(playerid, COLOR_GREY,"USAGE: /setskin [playerid/partofname] [skinmodel]");
  3011. else if(ammount > 299 || ammount < 1) return SCM(playerid, COLOR_GREY,"Wrong Skin ID! Available ID's: 1-299");
  3012. else if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3013. else
  3014. {
  3015. GetPlayerName(playerid, name, sizeof(name));
  3016. format(string, sizeof(string),"Your skin have been setted to %i by admin %s", ammount, name);
  3017. SendClientMessage(id, COLOR_GREEN, string);
  3018. PlayerInfo[id][pModel] = ammount;
  3019. SetPlayerSkin(id, PlayerInfo[id][pModel]);
  3020. }
  3021. return 1;
  3022. }
  3023. CMD:sendtols(playerid, params[])
  3024. {
  3025. new id, sendername[MAX_PLAYER_NAME], string[128];
  3026. if(PlayerInfo[playerid][pAdmin] < 2 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3027. else if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /sendtols [playerid/partofname]");
  3028. else if(GetPlayerState(id) == 2)
  3029. {
  3030. new tmpcar = GetPlayerVehicleID(id);
  3031. SetVehiclePos(tmpcar,1529.6,-1691.2,13.3);
  3032. }
  3033. else
  3034. {
  3035. SetPlayerPos(id, 1529.6,-1691.2,13.3);
  3036. }
  3037. GetPlayerName(playerid, sendername, sizeof(sendername));
  3038. sendername[strfind(sendername,"_")] = ' ';
  3039. format(string, sizeof(string),"You have been teleported to Los Santos by admin %s !", sendername);
  3040. SendClientMessage(id, COLOR_GRAD1, string);
  3041. SetPlayerInterior(id,0);
  3042. SetPlayerVirtualWorld(id, 0);
  3043. return 1;
  3044. }
  3045. CMD:setlevel(playerid, params[])
  3046. {
  3047. new id, level, sendername[MAX_PLAYER_NAME], string[128];
  3048. if(!(PlayerInfo[playerid][pAdmin] >= 5)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3049. else if(sscanf(params,"ui", id, level)) return SCM(playerid, COLOR_GREY,"USAGE: /setlevel [playerid/partofname] [level]");
  3050. else if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3051. else
  3052. {
  3053. PlayerInfo[id][pLevel] = level;
  3054. GetPlayerName(playerid, sendername, sizeof(sendername));
  3055. sendername[strfind(sendername,"_")] = ' ';
  3056. format(string, sizeof(string),"Your level has been set to %i by admin %s", level, sendername);
  3057. SendClientMessage(id, COLOR_YELLOW, string);
  3058. }
  3059. return 1;
  3060. }
  3061. CMD:sethp(playerid, params[])
  3062. {
  3063. new id, hp, sendername[MAX_PLAYER_NAME], string[128];
  3064. if(!(PlayerInfo[playerid][pAdmin] >= 4)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3065. else if(sscanf(params,"ui", id, hp)) return SCM(playerid, COLOR_GREY,"USAGE: /sethp [playerid/partofname] [ammount]");
  3066. else if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3067. else
  3068. {
  3069. SetPlayerHealth(id, hp);
  3070. GetPlayerName(playerid, sendername, sizeof(sendername));
  3071. sendername[strfind(sendername,"_")] = ' ';
  3072. format(string, sizeof(string),"Your health has been set to %i by admin %s", hp, sendername);
  3073. SendClientMessage(id, COLOR_YELLOW, string);
  3074. }
  3075. return 1;
  3076. }
  3077. CMD:givegun(playerid, params[])
  3078. {
  3079. new id, gun, ammo;
  3080. if(!(PlayerInfo[playerid][pAdmin] >= 4)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3081. else if(sscanf(params,"uii", id, gun, ammo)) return SCM(playerid, COLOR_GREY,"USAGE: /givegun [playerid/partofname] [gunid] [ammo]");
  3082. else if(gun > 47 || gun < 1) return SCM(playerid, COLOR_GREY,"GUN ID'S: 1-47");
  3083. else if(ammo > 999 || ammo < 1) return SCM(playerid, COLOR_GREY,"Ammo 1-999");
  3084. else
  3085. {
  3086. GivePlayerWeapon(id, gun, ammo);
  3087. }
  3088. return 1;
  3089. }
  3090. CMD:admins(playerid, params[])
  3091. {
  3092. if(IsPlayerConnected(playerid))
  3093. {
  3094. SendClientMessage(playerid, COLOR_GREY, " ");
  3095. SendClientMessage(playerid, COLOR_GREY, "-| Online Admins |-");
  3096. for(new i = 0; i < MAX_PLAYERS; i++)
  3097. {
  3098. if(IsPlayerConnected(i))
  3099. {
  3100. if(PlayerInfo[i][pAdmin] >= 1 && PlayerInfo[i][pAdmin] < 1339)
  3101. {
  3102. new admtext[64], sendername[MAX_PLAYER_NAME], string[128];
  3103. if(PlayerInfo[i][pAdmin] == 6) { admtext = "Owner"; }
  3104. else if(PlayerInfo[i][pAdmin] == 6) { admtext = "Co-Owner"; }
  3105. else if(PlayerInfo[i][pAdmin] == 4) { admtext = "Head Admin"; }
  3106. else if(PlayerInfo[i][pAdmin] == 3) { admtext = "Senior Admin"; }
  3107. else if(PlayerInfo[i][pAdmin] == 2) { admtext = "Junior Admin"; }
  3108. else if(PlayerInfo[i][pAdmin] == 1) { admtext = "Moderator"; }
  3109. else { admtext = "Admin Level 1"; }
  3110. GetPlayerName(i, sendername, sizeof(sendername));
  3111. sendername[strfind(sendername,"_")] = ' ';
  3112. if(AdminDuty[i] == 0)
  3113. {
  3114. format(string, 128, "%s: %s (AdminDuty: No)", admtext, sendername);
  3115. SendClientMessage(playerid, random(0xFFFFFFFF), string);
  3116. }
  3117. else
  3118. {
  3119. format(string, 128, "%s: %s (AdminDuty: Yes)", admtext, sendername);
  3120. SendClientMessage(playerid, 0xFAAFBEFF, string);
  3121.  
  3122. }
  3123. }
  3124. }
  3125. }
  3126. }
  3127. return 1;
  3128. }
  3129. CMD:testers(playerid, params[])
  3130. {
  3131. if(IsPlayerConnected(playerid))
  3132. {
  3133. SendClientMessage(playerid, COLOR_WHITE, " ");
  3134. SendClientMessage(playerid, COLOR_WHITE, "-| Online Testers |-");
  3135. for(new i = 0; i < MAX_PLAYERS; i++)
  3136. {
  3137. if(IsPlayerConnected(i))
  3138. {
  3139. if(PlayerInfo[i][pTester] >= 1 && PlayerInfo[i][pTester] < 1339)
  3140. {
  3141. new admtext[64], sendername[MAX_PLAYER_NAME], string[128];
  3142. if(PlayerInfo[i][pTester] == 1) { admtext = "Tester"; }
  3143. else { admtext = "Tester"; }
  3144. GetPlayerName(i, sendername, sizeof(sendername));
  3145. sendername[strfind(sendername,"_")] = ' ';
  3146. if(TesterDuty[i] == 0)
  3147. {
  3148. format(string, 128, "%s: %s (TesterDuty: No)", admtext, sendername);
  3149. SendClientMessage(playerid, random(0xFFFFFFFF), string);
  3150. }
  3151. else
  3152. {
  3153. format(string, 128, "%s: %s (TesterDuty: Yes)", admtext, sendername);
  3154. SendClientMessage(playerid, COLOR_GREEN, string);
  3155.  
  3156. }
  3157. }
  3158. }
  3159. }
  3160. }
  3161. return 1;
  3162. }
  3163.  
  3164. CMD:gotols(playerid, params[])
  3165. {
  3166. if(!(PlayerInfo[playerid][pAdmin] >= 2)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3167. else if(GetPlayerState(playerid) == 2)
  3168. {
  3169. new tmpcar = GetPlayerVehicleID(playerid);
  3170. SetVehiclePos(tmpcar,1529.6,-1691.2,13.3);
  3171. }
  3172. else
  3173. {
  3174. SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
  3175. }
  3176. SendClientMessage(playerid, COLOR_GRAD1, " You have been teleported !");
  3177. SetPlayerInterior(playerid,0);
  3178. SetPlayerVirtualWorld(playerid, 0);
  3179. return 1;
  3180. }
  3181. CMD:gotolv(playerid, params[])
  3182. {
  3183. if(!(PlayerInfo[playerid][pAdmin] >= 2)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3184. else if(GetPlayerState(playerid) == 2)
  3185. {
  3186. new tmpcar = GetPlayerVehicleID(playerid);
  3187. SetVehiclePos(tmpcar,1699.2, 1435.1, 10.7);
  3188. }
  3189. else
  3190. {
  3191. SetPlayerPos(playerid, 1699.2, 1435.1, 10.7);
  3192. }
  3193. SendClientMessage(playerid, COLOR_GRAD1, " You have been teleported !");
  3194. SetPlayerInterior(playerid,0);
  3195. SetPlayerVirtualWorld(playerid, 0);
  3196. return 1;
  3197. }
  3198. CMD:gotosf(playerid, params[])
  3199. {
  3200. if(!(PlayerInfo[playerid][pAdmin] >= 2)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3201. else if(GetPlayerState(playerid) == 2)
  3202. {
  3203. new tmpcar = GetPlayerVehicleID(playerid);
  3204. SetVehiclePos(tmpcar,-1417.0,-295.8,14.1);
  3205. }
  3206. else
  3207. {
  3208. SetPlayerPos(playerid, -1417.0,-295.8,14.1);
  3209. }
  3210. SendClientMessage(playerid, COLOR_GRAD1, " You have been teleported !");
  3211. SetPlayerInterior(playerid,0);
  3212. SetPlayerVirtualWorld(playerid, 0);
  3213. return 1;
  3214. }
  3215. CMD:gethere(playerid,params[])
  3216. {
  3217. new targetid, Float:x, Float:y, Float:z;
  3218. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3219. else if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /gethere [playerid/partofname]");
  3220. else if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_GREY, "That player is not connected");
  3221. else
  3222. {
  3223. GetPlayerPos(playerid, x, y, z);
  3224. SetPlayerPos(targetid, x, y+0.5, z+0.5);
  3225. }
  3226. return 1;
  3227. }
  3228. CMD:goto(playerid, params[])
  3229. {
  3230. new ID;
  3231. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3232. else if(sscanf(params, "u", ID)) SendClientMessage(playerid, 0xF97804FF, "USAGE: /goto [partofname/playerid]");
  3233. else if(!IsPlayerConnected(ID)) SendClientMessage(playerid, 0xF97804FF, "Player is not connected!");
  3234. else
  3235. {
  3236. new Float:x, Float:y, Float:z;
  3237. GetPlayerPos(ID, x, y, z);
  3238. SetPlayerPos(playerid, x+1, y+1, z);
  3239. }
  3240. return 1;
  3241. }
  3242. CMD:respawn(playerid, params[])
  3243. {
  3244. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  3245. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3246. else if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /respawn [playerid/partofname]");
  3247. else if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3248. else
  3249. {
  3250. GetPlayerName(playerid, sendername, sizeof(sendername));
  3251. sendername[strfind(sendername,"_")] = ' ';
  3252. GetPlayerName(id, name, sizeof(name));
  3253. SpawnPlayer(id);
  3254. format(string, sizeof(string), "*You have respawned player %s", name);
  3255. SendClientMessage(playerid, COLOR_YELLOW, string);
  3256. format(string, sizeof(string), "*You have been respawned by admin %s", sendername);
  3257. SendClientMessage(id, COLOR_YELLOW, string);
  3258. ABroadCast(COLOR_YELLOW,string,1);
  3259. TBroadCast(COLOR_YELLOW,string,1);
  3260. }
  3261. return 1;
  3262. }
  3263. CMD:healall(playerid, params[])
  3264. {
  3265. new sendername[MAX_PLAYER_NAME], string[128];
  3266. GetPlayerName(playerid, sendername, sizeof(sendername));
  3267. sendername[strfind(sendername,"_")] = ' ';
  3268. if(!(PlayerInfo[playerid][pAdmin] >= 4)) return SCM(playerid, COLOR_GREY,"you are not authorized to use this command");
  3269. else
  3270. {
  3271. format(string, sizeof(string), "Admin %s has healed everyone", sendername);
  3272. SendClientMessageToAll(COLOR_GREEN, string);
  3273. for(new i = 0; i < MAX_PLAYERS; i ++)
  3274. SetPlayerHealth(i,100);
  3275. }
  3276. return 1;
  3277. }
  3278. CMD:makeadmin(playerid, params[])
  3279. {
  3280. new pID, value;
  3281. if(PlayerInfo[playerid][pAdmin] < 6 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, " you are not authorized to use this command!");
  3282. else if (sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /makeadmin [playerid/partofname] [level 1-6]");
  3283. else if (value < 0 || value > 6) return SendClientMessage(playerid, 0xFF0000AA, "Unknown level! Only 0 to 6");
  3284. else if(pID == INVALID_PLAYER_ID) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3285. else
  3286. {
  3287. new pName[MAX_PLAYER_NAME], tName[MAX_PLAYER_NAME], string[128];
  3288. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  3289. GetPlayerName(pID, tName, MAX_PLAYER_NAME);
  3290. format(string, sizeof(string), "You have promoted %s to Admin level %i", tName, value);
  3291. SCM(playerid, COLOR_LIGHTBLUE, string);
  3292. format(string, sizeof(string), "You have been promoted to Admin level %i by %s", value, pName);
  3293. SCM(pID, COLOR_LIGHTBLUE, string);
  3294. PlayerInfo[pID][pAdmin] = value;
  3295. }
  3296. return 1;
  3297. }
  3298. CMD:maketester(playerid, params[])
  3299. {
  3300. new pID, value;
  3301. if(PlayerInfo[playerid][pAdmin] < 6 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, " you are not authorized to use this command!");
  3302. else if (sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /maketester [playerid/partofname] [1]");
  3303. else if (value < 0 || value > 1) return SendClientMessage(playerid, 0xFF0000AA, "Unknown level! Available level: 1");
  3304. else if(pID == INVALID_PLAYER_ID) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3305. else
  3306. {
  3307. new pName[MAX_PLAYER_NAME], tName[MAX_PLAYER_NAME], string[128];
  3308. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  3309. GetPlayerName(pID, tName, MAX_PLAYER_NAME);
  3310. format(string, sizeof(string), "You have promoted %s to Tester", tName);
  3311. SCM(playerid, COLOR_LIGHTBLUE, string);
  3312. format(string, sizeof(string), "You have been promoted to Tester by %s", pName);
  3313. SCM(pID, COLOR_LIGHTBLUE, string);
  3314. PlayerInfo[pID][pTester] = value;
  3315. }
  3316. return 1;
  3317. }
  3318. CMD:warn(playerid, params[])
  3319. {
  3320. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], reason[35], string[128];
  3321. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3322. if(sscanf(params,"uz",id,reason)) return SCM(playerid, COLOR_WHITE,"USAGE: /warn [playerid/partofname] [reason]");
  3323. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3324. else
  3325. {
  3326. if(PlayerInfo[id][pWarns] >= 5)
  3327. {
  3328. format(string, sizeof(string), "AdmCmd: %s was banned by %s (Had 5 Warnings) reason %s", name, sendername, reason);
  3329. SendClientMessageToAll(COLOR_LIGHTRED, string);
  3330. PlayerInfo[id][pLocked] = 1;
  3331. new plrIP[16];
  3332. GetPlayerIp(id,plrIP, sizeof(plrIP));
  3333. SendClientMessage(id,COLOR_DBLUE,"|___________[BAN INFO]___________|");
  3334. format(string, sizeof(string), "Your name: %s.",name);
  3335. SendClientMessage(id, COLOR_WHITE, string);
  3336. format(string, sizeof(string), "Your ip is: %s.",plrIP);
  3337. SendClientMessage(id, COLOR_WHITE, string);
  3338. format(string, sizeof(string), "You were banned by: %s.",sendername);
  3339. SendClientMessage(id, COLOR_WHITE, string);
  3340. format(string, sizeof(string), "You were banned for: %s.",reason);
  3341. SendClientMessage(id, COLOR_WHITE, string);
  3342. SendClientMessage(id,COLOR_DBLUE,"|___________[BAN INFO]___________|");
  3343. Ban(id);
  3344. }
  3345. PlayerInfo[id][pWarns] += 1;
  3346. GetPlayerName(playerid, sendername, sizeof(sendername));
  3347. sendername[strfind(sendername,"_")] = ' ';
  3348. GetPlayerName(id, name, sizeof(name));
  3349. format(string, sizeof(string), "You were warned by %s, reason: %s", sendername, reason);
  3350. SendClientMessage(id, COLOR_LIGHTRED, string);
  3351. format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason %s", name, sendername, reason);
  3352. SendClientMessageToAll(COLOR_LIGHTRED,string);
  3353. }
  3354. return 1;
  3355. }
  3356. CMD:unmute(playerid,params[])
  3357. {
  3358. new id, name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], string[128];
  3359. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3360. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /unmute [playerid/partofname]");
  3361. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3362. else
  3363. {
  3364. PlayerInfo[id][pMuted] = 0;
  3365. PlayerInfo[id][pMuteTime] = 0;
  3366. GetPlayerName(playerid,name1,sizeof(name1));
  3367. GetPlayerName(id,name2,sizeof(name2));
  3368. format(string, sizeof(string),"%s has been unsilenced by %s", name2, name1);
  3369. SendClientMessageToAll(COLOR_LIGHTRED,string);
  3370. }
  3371. return 1;
  3372. }
  3373. CMD:mute(playerid,params[])
  3374. {
  3375. new id,time,name1[MAX_PLAYER_NAME],reason[35],name2[MAX_PLAYER_NAME], string[128];
  3376. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3377. if(sscanf(params,"uiz", id, time, reason)) return SCM(playerid, COLOR_GREY,"USAGE: /mute [playerid/partofname] [minutes] [reason]");
  3378. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3379. else
  3380. {
  3381. PlayerInfo[id][pMuted] = 1;
  3382. PlayerInfo[id][pMuteTime] = time*60;
  3383. GetPlayerName(playerid,name1,sizeof(name1));
  3384. GetPlayerName(id,name2,sizeof(name2));
  3385. format(string, sizeof(string), "AdmCmd: %s was silenced by %s for %d minute(s) reason: %s",name2 ,name1,time,reason);
  3386. SendClientMessageToAll(COLOR_LIGHTRED,string);
  3387. }
  3388. return 1;
  3389. }
  3390. CMD:report(playerid,params[])
  3391. {
  3392. new id, reason[35], string[128], sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
  3393. if(sscanf(params,"uz", id, reason)) return SCM(playerid, COLOR_GREY,"USAGE: /report [playerid/partofname] [reason]");
  3394. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3395. else
  3396. {
  3397. GetPlayerName(id, name,sizeof(name));
  3398. GetPlayerName(playerid, sendername, sizeof(sendername));
  3399. sendername[strfind(sendername,"_")] = ' ';
  3400. format(string, sizeof(string), "[ID:%d] %s has reported %s: %s.", playerid, sendername, name, reason);
  3401. ABroadCast(COLOR_LIGHTRED,string,1);
  3402. format(string, sizeof(string), "Use /markfalse [id] or /acceptreport [id]");
  3403. ABroadCast(COLOR_LIGHTBLUE,string,1);
  3404. format(string, sizeof(string), "Your report was just send to the online admins, please wait for a reply");
  3405. SendClientMessage(playerid,COLOR_LIGHTRED,string);
  3406. PlayerNeedsHelp[playerid] = 1;
  3407. return 1;
  3408. }
  3409. }
  3410. CMD:kick(playerid,params[])
  3411. {
  3412. new id,name1[MAX_PLAYER_NAME], reason[35],name2[MAX_PLAYER_NAME], string[128];
  3413. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3414. if(sscanf(params,"uz",id,reason)) return SCM(playerid, COLOR_WHITE,"USAGE: /kick [playerid/partofname] [reason]");
  3415. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3416. else
  3417. {
  3418. GetPlayerName(playerid,name1,sizeof(name1));
  3419. GetPlayerName(id,name2,sizeof(name2));
  3420. format(string, sizeof(string),"AdmCmd: %s was kicked by %s, reason: %s",name2,name1,reason);
  3421. SendClientMessageToAll(COLOR_LIGHTRED,string);
  3422. Kick(id);
  3423. }
  3424. return 1;
  3425. }
  3426. CMD:ban(playerid, params[])
  3427. {
  3428. new id, name[MAX_PLAYER_NAME], reason[35], name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], string[128];
  3429. if(!(PlayerInfo[playerid][pAdmin] >= 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3430. if(sscanf(params,"uz", id, reason)) return SCM(playerid, COLOR_WHITE,"USAGE: /ban [playerid/partofname] [reason]");
  3431. if(id == INVALID_PLAYER_ID) return SCM(playerid, COLOR_GREY,"Invalid player id");
  3432. else
  3433. {
  3434. if(PlayerInfo[id][pAdmin] >= 1)
  3435. {
  3436. SendClientMessage(playerid,COLOR_GREY,"That player can not be banned");
  3437. GetPlayerName(playerid, name, sizeof(name));
  3438. format(string, 128, "AdmWarning: %s tryes banning an admin!", name);
  3439. ABroadCast(COLOR_YELLOW,string,1);
  3440. return 1;
  3441. }
  3442. GetPlayerName(playerid, name1, sizeof(name1));
  3443. GetPlayerName(id, name2, sizeof(name2));
  3444. format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", name2, name1, reason);
  3445. SendClientMessageToAll(COLOR_LIGHTRED, string);
  3446. PlayerInfo[id][pLocked] = 1;
  3447. new plrIP[16];
  3448. GetPlayerIp(id,plrIP, sizeof(plrIP));
  3449. SendClientMessage(id,COLOR_DBLUE,"|___________[BAN INFO]___________|");
  3450. format(string, sizeof(string), "Your name: %s.",name2);
  3451. SendClientMessage(id, COLOR_WHITE, string);
  3452. format(string, sizeof(string), "Your ip is: %s.",plrIP);
  3453. SendClientMessage(id, COLOR_WHITE, string);
  3454. format(string, sizeof(string), "You were banned by: %s.",name1);
  3455. SendClientMessage(id, COLOR_WHITE, string);
  3456. format(string, sizeof(string), "You were banned for: %s.",reason);
  3457. SendClientMessage(id, COLOR_WHITE, string);
  3458. SendClientMessage(id,COLOR_DBLUE,"|___________[BAN INFO]___________|");
  3459. Ban(id);
  3460. }
  3461. return 1;
  3462. }
  3463. CMD:unbanip(playerid, params[])
  3464. {
  3465. new id, string[128], sendername[MAX_PLAYER_NAME];
  3466. if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
  3467. if(isnull(params)) return SCM(playerid,COLOR_WHITE,"USAGE: /unbanip [playerIP]");
  3468. format(string,sizeof(string),"unbanip %s",params);
  3469. SendRconCommand(string);
  3470. SendRconCommand("reloadbans");
  3471. PlayerInfo[id][pLocked] = 0;
  3472. GetPlayerName(playerid, sendername, sizeof(sendername));
  3473. format(string, 128, "[ADMIN]: %s has unbanned IP %s", sendername,params);
  3474. ABroadCast(COLOR_YELLOW,string,1);
  3475. return 1;
  3476. }
  3477. CMD:unban(playerid, params[])
  3478. {
  3479. new id, string[128], sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
  3480. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GRAD1,"You are not authorized to use this command");
  3481. else if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /unban [playername]");
  3482. else
  3483. {
  3484. PlayerInfo[id][pLocked] = 0;
  3485. GetPlayerName(playerid, sendername, sizeof(sendername));
  3486. GetPlayerName(id, name, sizeof(name));
  3487. format(string, sizeof(string),"%s has been unbanned by admin %s", name, sendername);
  3488. ABroadCast(COLOR_YELLOW,string,1);
  3489. TBroadCast(COLOR_YELLOW,string,1);
  3490. }
  3491. return 1;
  3492. }
  3493. CMD:a(playerid, params[])
  3494. {
  3495. new sendername[MAX_PLAYER_NAME], string[160];
  3496. if(!(PlayerInfo[playerid][pAdmin] >= 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3497. if(isnull(params)) return SCM(playerid,COLOR_GOLD,"USAGE: /a [chat]");
  3498. GetPlayerName(playerid,sendername,sizeof(sendername));
  3499. sendername[strfind(sendername,"_")] = ' ';
  3500. format(string,160,"*%d Admin %s: %s",PlayerInfo[playerid][pAdmin],sendername,params);
  3501. SendAdminMessage(COLOR_GOLD, string);
  3502. SendTesterMessage(COLOR_GOLD, string);
  3503. return 1;
  3504. }
  3505. CMD:tc(playerid, params[])
  3506. {
  3507. new sendername[MAX_PLAYER_NAME], string[160];
  3508. if(!(PlayerInfo[playerid][pTester] >= 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3509. if(isnull(params)) return SCM(playerid,COLOR_GOLD,"USAGE: /tc [chat]");
  3510. GetPlayerName(playerid,sendername,sizeof(sendername));
  3511. sendername[strfind(sendername,"_")] = ' ';
  3512. format(string,160,"*Tester %s: %s",sendername,params);
  3513. SendAdminMessage(COLOR_GOLD, string);
  3514. SendTesterMessage(COLOR_GOLD, string);
  3515. return 1;
  3516. }
  3517. CMD:n(playerid, params[])
  3518. {
  3519. new sendername[MAX_PLAYER_NAME], string[160];
  3520. if(isnull(params)) return SCM(playerid,COLOR_GREEN,"USAGE: /n [AskQustions/Help]");
  3521. GetPlayerName(playerid,sendername,sizeof(sendername));
  3522. sendername[strfind(sendername,"_")] = ' ';
  3523. if(PlayerInfo[playerid][pMuted] == 1)
  3524. {
  3525. SendClientMessage(playerid, COLOR_RED, " You can't speak, you have been silenced !");
  3526. return 1;
  3527. }
  3528. if (PlayerInfo[playerid][pAdmin] < 1)
  3529. {
  3530. format(string, sizeof(string), "* Newbie Level %d (%d)%s: %s", PlayerInfo[playerid][pLevel], playerid, sendername, params);
  3531. }
  3532. else
  3533. {
  3534. format(string, sizeof(string), "* %d Admin {FFAF00}%s: {C9FFAB}%s", PlayerInfo[playerid][pAdmin],sendername, params);
  3535. }
  3536. if(PlayerInfo[playerid][pTester] == 1)
  3537. {
  3538. format(string, sizeof(string), "* Tester {C9FFAB}%s: {FFAF00}%s", sendername, params);
  3539. }
  3540. if(ntimer[playerid] < 1 || PlayerInfo[playerid][pAdmin] >=1 || PlayerInfo[playerid][pTester] >= 1)
  3541. { }
  3542. else
  3543. {
  3544. SendClientMessage(playerid, COLOR_GREY, "You must wait 30 seconds for every message");
  3545. return 1;
  3546. }
  3547. for (new n=0; n<MAX_PLAYERS; n++)
  3548. {
  3549. if (IsPlayerConnected(n) && (PlayerInfo[n][pLevel] < 4 || PlayerInfo[n][pAdmin] > 0) || PlayerInfo[n][pTester] > 0)
  3550. {
  3551. SendClientMessage(n, COLOR_LIGHTGREEN, string);
  3552. ntimer[playerid] = 30;
  3553. }
  3554. }
  3555. return 1;
  3556. }
  3557. CMD:cc(playerid, params[])
  3558. {
  3559. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3560. else
  3561. {
  3562. new string[128], sendername[MAX_PLAYER_NAME];
  3563. ClearChatboxToAll(playerid,100);
  3564. GetPlayerName(playerid, sendername, sizeof(sendername));
  3565. sendername[strfind(sendername,"_")] = ' ';
  3566. format(string, sizeof(string),"AdmCmd: %s has cleared the chat", sendername);
  3567. SendClientMessageToAll(COLOR_LIGHTRED,string);
  3568. }
  3569. return 1;
  3570. }
  3571. CMD:o(playerid, params[])
  3572. {
  3573. new sendername[MAX_PLAYER_NAME], string[160];
  3574. if(!(PlayerInfo[playerid][pAdmin] >= 1)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3575. if(isnull(params)) return SCM(playerid, COLOR_GREY,"USAGE: /o [chat]");
  3576. if(gPlayerLogged[playerid] == 0)
  3577. {
  3578. SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
  3579. return 1;
  3580. }
  3581. if ((noooc) && PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1)
  3582. {
  3583. SendClientMessage(playerid, COLOR_GRAD2, " The OOC channel has been disabled by an Admin !");
  3584. return 1;
  3585. }
  3586. GetPlayerName(playerid,sendername,sizeof(sendername));
  3587. sendername[strfind(sendername,"_")] = ' ';
  3588. format(string,160,"(( %s: %s ))", sendername, params);
  3589. printf("%s", string);
  3590. OOCOff(COLOR_OOC,string);
  3591. return 1;
  3592. }
  3593. CMD:noooc(playerid, params[])
  3594. {
  3595. if (PlayerInfo[playerid][pAdmin] >= 4 && (!noooc))
  3596. {
  3597. noooc = 1;
  3598. SendClientMessageToAll(COLOR_GRAD2, " OOC chat channel disabled by an Admin !");
  3599. }
  3600. else if (PlayerInfo[playerid][pAdmin] >= 3 && (noooc))
  3601. {
  3602. noooc = 0;
  3603. SendClientMessageToAll(COLOR_GRAD2, " OOC chat channel enabled by an Admin !");
  3604. }
  3605. else
  3606. {
  3607. SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
  3608. }
  3609. return 1;
  3610. }
  3611.  
  3612. CMD:me(playerid, params[])
  3613. {
  3614. new sendername[MAX_PLAYER_NAME], string[128];
  3615. GetPlayerName(playerid, sendername, sizeof(sendername));
  3616. sendername[strfind(sendername,"_")] = ' ';
  3617. if(isnull(params)) return SCM(playerid,COLOR_GREY,"USAGE: /me [action]");
  3618. format(string, sizeof(string), "*%s %s", sendername, params);
  3619. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  3620. return 1;
  3621. }
  3622. CMD:do(playerid, params[])
  3623. {
  3624. new sendername[MAX_PLAYER_NAME], string[128];
  3625. GetPlayerName(playerid, sendername, sizeof(sendername));
  3626. sendername[strfind(sendername,"_")] = ' ';
  3627. if(isnull(params)) return SCM(playerid,COLOR_GREY,"USAGE: /do [action]");
  3628. format(string, sizeof(string), "***%s (( %s ))", params, sendername);
  3629. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  3630. return 1;
  3631. }
  3632. CMD:cnc(playerid, params[])
  3633. {
  3634. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3635. else
  3636. {
  3637. new string[128], sendername[MAX_PLAYER_NAME];
  3638. ClearChatboxToAll2(playerid,100);
  3639. GetPlayerName(playerid, sendername, sizeof(sendername));
  3640. format(string, sizeof(string), "AdmCmd: %s has cleared the newbie chat", sendername);
  3641. SendClientMessageToAll(COLOR_LIGHTRED, string);
  3642. }
  3643. return 1;
  3644. }
  3645. CMD:rac(playerid, params[])
  3646. {
  3647. if(!(PlayerInfo[playerid][pAdmin] >= 5)) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3648. else
  3649. {
  3650. new string[128], sendername[MAX_PLAYER_NAME];
  3651. GetPlayerName(playerid, sendername, sizeof(sendername));
  3652. format(string, sizeof(string),"All unused cars will be respawned in 10 seconds by admin %s", sendername);
  3653. SendClientMessageToAll(COLOR_RED,string);
  3654. SetTimer("RACtime", 10000, 0);
  3655. }
  3656. return 1;
  3657. }
  3658. CMD:buylevel(playerid, params[])
  3659. {
  3660. if(IsPlayerConnected(playerid))
  3661. {
  3662. if (gPlayerLogged[playerid] != 0)
  3663. {
  3664. PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
  3665. if(PlayerInfo[playerid][pLevel] >= 0)
  3666. {
  3667. new nxtlevel = PlayerInfo[playerid][pLevel]+1;
  3668. new costlevel = nxtlevel*levelcost;
  3669. new expamount = nxtlevel*levelexp;
  3670. new infostring[128];
  3671. if(GetPlayerMoney(playerid) < costlevel)
  3672. {
  3673. format(infostring, 128, " You do not have enough Cash ($%d) !",costlevel);
  3674. SendClientMessage(playerid, COLOR_GRAD1, infostring);
  3675. return 1;
  3676. }
  3677. else if (PlayerInfo[playerid][pExp] < expamount)
  3678. {
  3679. format(infostring, 128, " You need %d Respect Points, you curently have [%d] !",expamount,PlayerInfo[playerid][pExp]);
  3680. SendClientMessage(playerid, COLOR_GRAD1, infostring);
  3681. return 1;
  3682. }
  3683. else
  3684. {
  3685. new string[128];
  3686. format(string, sizeof(string), "~g~LEVEL UP~n~~w~You Are Now Level %d", PlayerInfo[playerid][pLevel]);
  3687. GivePlayerCash(playerid, (-costlevel));
  3688. PlayerInfo[playerid][pLevel]++;
  3689. if(PlayerInfo[playerid][pVip] > 0)
  3690. {
  3691. PlayerInfo[playerid][pExp] -= expamount;
  3692. new total = PlayerInfo[playerid][pExp];
  3693. if(total > 0)
  3694. {
  3695. PlayerInfo[playerid][pExp] = total;
  3696. }
  3697. else
  3698. {
  3699. PlayerInfo[playerid][pExp] -= expamount;
  3700. }
  3701. }
  3702. else
  3703. {
  3704. PlayerInfo[playerid][pExp] -= expamount;
  3705. }
  3706. GameTextForPlayer(playerid, string, 5000, 1);
  3707. }
  3708. }
  3709. return 1;
  3710. }
  3711. else
  3712. {
  3713. SendClientMessage(playerid, COLOR_GRAD1, " You are not Logged in !");
  3714. }
  3715. }
  3716. return 1;
  3717. }
  3718. CMD:aod(playerid, params[])
  3719. {
  3720. new sendername[MAX_PLAYER_NAME], string[128];
  3721. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3722. else if(AdminDuty[playerid] == 1)
  3723. {
  3724. GetPlayerName(playerid, sendername, sizeof(sendername));
  3725. sendername[strfind(sendername,"_")] = ' ';
  3726. format(string, sizeof(string), "Admin %s is now off duty.", sendername,playerid);
  3727. SendClientMessageToAll(COLOR_DBLUE,string);
  3728. AdminDuty[playerid] = 0;
  3729. SetPlayerHealth(playerid,100);
  3730. SetPlayerArmour(playerid,0);
  3731. SetOriginalColor(playerid);
  3732. }
  3733. else
  3734. {
  3735. GetPlayerName(playerid, sendername, sizeof(sendername));
  3736. sendername[strfind(sendername,"_")] = ' ';
  3737. format(string, sizeof(string), "Admin %s is now on duty.",sendername,playerid);
  3738. SendClientMessageToAll(0xFAAFBEFF,string);
  3739. AdminDuty[playerid] = 1;
  3740. SetPlayerHealth(playerid,999);
  3741. SetPlayerArmour(playerid,999);
  3742. SetPlayerColor(playerid,0xFAAFBEFF);
  3743. }
  3744. return 1;
  3745. }
  3746. CMD:tod(playerid, params[])
  3747. {
  3748. new sendername[MAX_PLAYER_NAME], string[128];
  3749. if(PlayerInfo[playerid][pTester] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3750. else if(TesterDuty[playerid] == 1)
  3751. {
  3752. GetPlayerName(playerid, sendername, sizeof(sendername));
  3753. sendername[strfind(sendername,"_")] = ' ';
  3754. format(string, sizeof(string), "Tester %s is now off duty.", sendername,playerid);
  3755. SendClientMessageToAll(COLOR_DBLUE,string);
  3756. TesterDuty[playerid] = 0;
  3757. SetPlayerHealth(playerid,100);
  3758. SetPlayerArmour(playerid,0);
  3759. SetOriginalColor(playerid);
  3760. }
  3761. else
  3762. {
  3763. GetPlayerName(playerid, sendername, sizeof(sendername));
  3764. sendername[strfind(sendername,"_")] = ' ';
  3765. format(string, sizeof(string), "Tester %s is now on duty.",sendername,playerid);
  3766. SendClientMessageToAll(0xFAAFBEFF,string);
  3767. TesterDuty[playerid] = 1;
  3768. SetPlayerHealth(playerid,999);
  3769. SetPlayerArmour(playerid,999);
  3770. SetPlayerColor(playerid,0xFAAFBEFF);
  3771. }
  3772. return 1;
  3773. }
  3774. CMD:time(playerid, params[])
  3775. {
  3776. if(IsPlayerConnected(playerid))
  3777. {
  3778. new mtext[20];
  3779. new year, month,day;
  3780. getdate(year, month, day);
  3781. if(month == 1) { mtext = "January"; }
  3782. else if(month == 2) { mtext = "February"; }
  3783. else if(month == 3) { mtext = "March"; }
  3784. else if(month == 4) { mtext = "April"; }
  3785. else if(month == 5) { mtext = "May"; }
  3786. else if(month == 6) { mtext = "June"; }
  3787. else if(month == 7) { mtext = "Juli"; }
  3788. else if(month == 8) { mtext = "August"; }
  3789. else if(month == 9) { mtext = "September"; }
  3790. else if(month == 10) { mtext = "October"; }
  3791. else if(month == 11) { mtext = "November"; }
  3792. else if(month == 12) { mtext = "December"; }
  3793. new hour,minuite,second;
  3794. gettime(hour,minuite,second);
  3795. FixHour(hour);
  3796. hour = shifthour;
  3797. new string[128];
  3798. format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|", day, mtext, hour, minuite);
  3799. GameTextForPlayer(playerid, string, 5000, 1);
  3800. }
  3801. return 1;
  3802. }
  3803. CMD:rules(playerid, params[])
  3804. {
  3805. SendClientMessage(playerid, COLOR_GRAD1,"Read our /forum rules");
  3806. return 1;
  3807. }
  3808. CMD:forum(playerid, params[])
  3809. {
  3810. SCM(playerid, COLOR_GRAD1,"Forum not yet ^^ ");
  3811. return 1;
  3812. }
  3813. CMD:s(playerid,params[])
  3814. {
  3815. if(PlayerInfo[playerid][pMuted] == 1)
  3816. {
  3817. SendClientMessage(playerid, COLOR_RED,"You can't speak you have been silenced");
  3818. return 1;
  3819. }
  3820. if(isnull(params)) return SCM(playerid, COLOR_GREY,"/s [text]");
  3821. new sendername[MAX_PLAYER_NAME], string[128];
  3822. GetPlayerName(playerid, sendername, sizeof(sendername));
  3823. format(string, sizeof(string), "%s Shouts: %s!!", sendername, params);
  3824. ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_FADE1,COLOR_FADE2);
  3825. return 1;
  3826. }
  3827. CMD:shout(playerid, params[])
  3828. {
  3829. return cmd_s(playerid, params);
  3830. }
  3831. CMD:b(playerid,params[])
  3832. {
  3833. if(PlayerInfo[playerid][pMuted] == 1)
  3834. {
  3835. SCM(playerid, COLOR_RED,"You can't speak you have been silenced");
  3836. return 1;
  3837. }
  3838. if(isnull(params)) return SCM(playerid, COLOR_GREY,"/b [local ooc chat]");
  3839. new sendername[MAX_PLAYER_NAME], string[128];
  3840. GetPlayerName(playerid,sendername,sizeof(sendername));
  3841. sendername[strfind(sendername,"_")] = ' ';
  3842. format(string, sizeof(string), "%s Says: (( %s ))", sendername, params);
  3843. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  3844. return 1;
  3845. }
  3846. CMD:booc(playerid, params[])
  3847. {
  3848. return cmd_b(playerid, params);
  3849. }
  3850. CMD:low(playerid,params[])
  3851. {
  3852. if(PlayerInfo[playerid][pMuted] == 1)
  3853. {
  3854. SCM(playerid, COLOR_RED,"You can't speec you have been silenced");
  3855. return 1;
  3856. }
  3857. if(isnull(params)) return SCM(playerid, COLOR_GREY,"/low [low chat]");
  3858. new sendername[MAX_PLAYER_NAME], string[128];
  3859. GetPlayerName(playerid,sendername,sizeof(sendername));
  3860. sendername[strfind(sendername,"_")] = ' ';
  3861. format(string,sizeof(string), "%s Says [Low]: %s", sendername, params);
  3862. ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  3863. return 1;
  3864. }
  3865. CMD:acceptreport(playerid, params[])
  3866. {
  3867. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  3868. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3869. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY," USAGE: /acceptreport [playerid]");
  3870. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Player not connected");
  3871. else
  3872. {
  3873. if(PlayerNeedsHelp[id] == 1)
  3874. {
  3875. PlayerNeedsHelp[id] = 0;
  3876. GetPlayerName(playerid, sendername, sizeof(sendername));
  3877. GetPlayerName(id, name, sizeof(name));
  3878. format(string, sizeof(string), "[AdminCMD]: %s has just accepted the report of [ID:%d]%s.", sendername, id, name);
  3879. ABroadCast(COLOR_YELLOW, string, 1);
  3880. format(string, sizeof(string), "**[ID:%d] %s has accepted your report and now ready to assist you! Please be patience.", playerid, sendername);
  3881. SendClientMessage(id, 0x4D903DAA, string);
  3882. }
  3883. else return SCM(playerid, COLOR_GREY,"Player don't need help!");
  3884. }
  3885. return 1;
  3886. }
  3887. CMD:markfalse(playerid, params[])
  3888. {
  3889. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  3890. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  3891. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY," USAGE: /markfalse [playerid]");
  3892. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Player not connected");
  3893. else
  3894. {
  3895. if(PlayerNeedsHelp[id] == 1)
  3896. {
  3897. PlayerNeedsHelp[id] = 0;
  3898. GetPlayerName(playerid, sendername, sizeof(sendername));
  3899. GetPlayerName(id, name, sizeof(name));
  3900. format(string, sizeof(string), "[AdminCMD]: %s has just marked as fals the report of [ID:%d]%s.", sendername, id, name);
  3901. ABroadCast(COLOR_YELLOW, string, 1);
  3902. format(string, sizeof(string), "**[ID:%d] %s has denied your report, please next time make sure what you report.", playerid, sendername);
  3903. SendClientMessage(id, 0x4D903DAA, string);
  3904. }
  3905. else return SCM(playerid, COLOR_GREY,"Player don't need help!");
  3906. }
  3907. return 1;
  3908. }
  3909. CMD:id(playerid, params[])
  3910. {
  3911. new id, name[MAX_PLAYER_NAME], string[128];
  3912. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /id [playerid/partofname]");
  3913. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Player not connected");
  3914. else
  3915. {
  3916. GetPlayerName(id, name, sizeof(name));
  3917. format(string,sizeof(string), "ID: (%d) %s", id, name);
  3918. SendClientMessage(playerid, COLOR_GRAD1, string);
  3919. }
  3920. return 1;
  3921. }
  3922.  
  3923. CMD:pm(playerid, params[])
  3924. {
  3925. new PID, reason[35], pName[MAX_PLAYER_NAME], Sender[MAX_PLAYER_NAME];
  3926. if(sscanf(params, "uz", PID, reason)) return SendClientMessage(playerid, 0xFF0000FF, "Usage: /PM < PlayerID > < Message >");
  3927. if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, 0xFF0000FF, "That user is not connected!");
  3928. else
  3929. {
  3930. new Str[128];
  3931. GetPlayerName(PID, pName, sizeof(pName));
  3932. GetPlayerName(playerid, Sender, sizeof(Sender));
  3933. format(Str, sizeof(Str), "(( PM From: %s(%d): %s ))", Sender, playerid, reason);
  3934. SendClientMessage(PID, COLOR_GOLD, Str);
  3935. format(Str, sizeof(Str), "(( PM Sent To: %s(%d): %s ))", pName, PID, reason);
  3936. SendClientMessage(playerid, COLOR_GOLD, Str);
  3937. }
  3938. return 1;
  3939. }
  3940. CMD:whisper(playerid, params[])
  3941. {
  3942. new id, text[35], sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  3943. if(sscanf(params,"uz", id, text)) return SCM(playerid, COLOR_GREY,"USAGE: /(w)hisper [playerid/partofname] [text]");
  3944. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  3945. else
  3946. {
  3947. new Float:x, Float:y, Float:z;
  3948. GetPlayerPos(id,x,y,z);
  3949. if(PlayerToPoint(5, playerid, x,y,z))
  3950. {
  3951. GetPlayerName(playerid, sendername,sizeof(sendername));
  3952. GetPlayerName(id, name, sizeof(name));
  3953. if(id == playerid)
  3954. {
  3955. format(string,sizeof(string),"%s mutters something", sendername);
  3956. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  3957. }
  3958. else
  3959. {
  3960. format(string,sizeof(string),"%s whispers something to %s", sendername, name);
  3961. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  3962. }
  3963. format(string, sizeof(string), "%s whispers: %s", sendername, text);
  3964. SendClientMessage(id, COLOR_YELLOW3, string);
  3965. format(string, sizeof(string), "%s whispers: %s", sendername, text);
  3966. SendClientMessage(playerid, COLOR_YELLOW3, string);
  3967. }
  3968. else return SCM(playerid, COLOR_GREY,"That player is not near you");
  3969. }
  3970. return 1;
  3971. }
  3972. CMD:w(playerid, params[])
  3973. {
  3974. return cmd_whisper(playerid, params);
  3975. }
  3976. CMD:helpme(playerid, params[])
  3977. {
  3978. new string[128], sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], id;
  3979. if(isnull(params)) return SCM(playerid, COLOR_GREY,"USAGE:/helpme [description]");
  3980. GetPlayerName(playerid,sendername,sizeof(sendername));
  3981. GetPlayerName(id,name,sizeof(name));
  3982. format(string,sizeof(string),"TesterCmd: %s has requested for help: %s", sendername, params);
  3983. TBroadCast(COLOR_LIGHTBLUE,string,1);
  3984. SendClientMessage(playerid, COLOR_LIGHTBLUE,"You have requested for help, please wait for a reply");
  3985. return 1;
  3986. }
  3987. CMD:ad(playerid, params[])
  3988. {
  3989. new string[128], sendername[MAX_PLAYER_NAME];
  3990. if(isnull(params)) return SCM(playerid, COLOR_GREY,"USAGE:/ad [advertisement]");
  3991. if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, COLOR_RED, "You can't speak, you have been silenced");
  3992. if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1738.7830, -1269.8062, 13.5433)) return SendClientMessage(playerid,COLOR_RED,"Your far than 50 metters from the Advertisment Building!");
  3993. GetPlayerName(playerid, sendername, sizeof(sendername));
  3994. format(string, sizeof(string), "[Advertisment]: %s, Contact %s ,Phone: %d", params, sendername ,PlayerInfo[playerid][pNumber]);
  3995. SendClientMessageToAll(COLOR_GREEN,string);
  3996. GivePlayerCash(playerid, -50);
  3997. SendClientMessage(playerid,COLOR_WHITE,"The advertisment costs 50$!");
  3998. return 1;
  3999. }
  4000. CMD:pay(playerid, params[])
  4001. {
  4002. new id, money, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  4003. if(sscanf(params,"ui", id, money)) return SCM(playerid, COLOR_GREY,"USAGE:/pay [playerid/partofname] [ammount]");
  4004. if(money < 1 || money > 100000) return SendClientMessage(playerid, COLOR_GRAD1, "You can't pay less than 1$ or more than 100k $.");
  4005. if(!ProxDetectorS(5.0, playerid, id)) return SCM(playerid, COLOR_GRAD1,"You are too far away from that player");
  4006. else
  4007. {
  4008. GetPlayerName(id, name, sizeof(name));
  4009. GetPlayerName(playerid, sendername, sizeof(sendername));
  4010. new pmoney = GetPlayerMoney(playerid);
  4011. if (money > 0 && pmoney >= money)
  4012. {
  4013. GivePlayerCash(playerid, (0 - money));
  4014. GivePlayerCash(id, money);
  4015. format(string, sizeof(string), "You payed %s(ID: %d) $%d.", name,id, money);
  4016. SendClientMessage(playerid, COLOR_GREEN, string);
  4017. format(string, sizeof(string), "You recieved $%d from %s(ID: %d).", money, sendername, playerid);
  4018. SendClientMessage(id, COLOR_GREEN, string);
  4019. format(string, sizeof(string), "[AdminCMD]: %s payed $%d to %s.", sendername, money, name);
  4020. if(money >= 70000)
  4021. {
  4022. ABroadCast(COLOR_RED,string,1);
  4023. }
  4024. format(string, sizeof(string), "* %s takes out %d$ from his pocket and hands it to %s.", sendername , money ,name);
  4025. ProxDetector(30.0, playerid, string, COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED);
  4026. ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0);
  4027. }
  4028. }
  4029. return 1;
  4030. }
  4031. CMD:givemoney(playerid, params[])
  4032. {
  4033. new id, cash, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  4034. if(PlayerInfo[playerid][pAdmin] < 5) return SCM(playerid, COLOR_GREY,"You are not authorized to use this command");
  4035. if(sscanf(params,"ui", id, cash)) return SCM(playerid, COLOR_GREY,"USAGE: /givemoney [playerid/partofname] [ammount]");
  4036. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  4037. else
  4038. {
  4039. GivePlayerCash(id, cash);
  4040. GetPlayerName(playerid,sendername,sizeof(sendername));
  4041. GetPlayerName(id,name,sizeof(name));
  4042. format(string,sizeof(string),"%s has given %s money to %d", sendername, name, cash);
  4043. ABroadCast(COLOR_YELLOW,string,1);
  4044. format(string,sizeof(string),"You have recieved %d money from admin %s", cash, sendername);
  4045. SendClientMessage(id, COLOR_YELLOW, string);
  4046. }
  4047. return 1;
  4048. }
  4049. CMD:call(playerid, params[])
  4050. {
  4051. new number, sendername[MAX_PLAYER_NAME], string[128];
  4052. if(sscanf(params,"i", number))
  4053. {
  4054. SendClientMessage(playerid, COLOR_GREEN, "____________Services number list____________");
  4055. SendClientMessage(playerid, COLOR_GREEN, "/call [number]");
  4056. SendClientMessage(playerid, COLOR_WHITE, "[Emergency]911 - Emergency Line || 103 - L.S-E.M.S");
  4057. SendClientMessage(playerid, COLOR_WHITE, "[Services]445 - Taxi Company || 235 - Mechanic");
  4058. SendClientMessage(playerid, COLOR_GREEN, "____________________________________________");
  4059. return 1;
  4060. }
  4061. if(number == PlayerInfo[playerid][pNumber]) return SCM(playerid, COLOR_GREY,"Can't call yourself");
  4062. if(Mobile[playerid] != 255) return SCM(playerid, COLOR_GREY,"Already in a call");
  4063. GetPlayerName(playerid,sendername,sizeof(sendername));
  4064. format(string, sizeof(string), "* %s takes his cellphone out.", sendername);
  4065. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  4066. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  4067. for(new i = 0; i < MAX_PLAYERS; i++)
  4068. {
  4069. if(IsPlayerConnected(i))
  4070. {
  4071. if(PlayerInfo[i][pNumber] == number && number != 0)
  4072. {
  4073. new giveplayerid;
  4074. giveplayerid = i;
  4075. Mobile[playerid] = giveplayerid;
  4076. if(IsPlayerConnected(giveplayerid))
  4077. {
  4078. if(giveplayerid != INVALID_PLAYER_ID)
  4079. {
  4080. if (Mobile[giveplayerid] == 255)
  4081. {
  4082. format(string, sizeof(string), "[Mobile] Your mobile phone is ringing (/pickup) Caller: %d", PlayerInfo[playerid][pNumber]);
  4083. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  4084. GetPlayerName(giveplayerid, sendername, sizeof(sendername));
  4085. RingTone[giveplayerid] = 10;
  4086. format(string, sizeof(string), "* %s's phone is ringing.", sendername);
  4087. ProxDetector(30.0, i, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  4088. CellTime[playerid] = 1;
  4089. return 1;
  4090. }
  4091. }
  4092. }
  4093. }
  4094. }
  4095. }
  4096. return 1;
  4097.  
  4098. }
  4099. CMD:c(playerid, params[])
  4100. {
  4101. return cmd_call(playerid, params);
  4102. }
  4103. CMD:pickup(playerid, params[])
  4104. {
  4105. if(IsPlayerConnected(playerid))
  4106. {
  4107. if(Mobile[playerid] != 255)
  4108. {
  4109. SendClientMessage(playerid, COLOR_GREY, "You are already on a call...");
  4110. return 1;
  4111. }
  4112. for(new i = 0; i < MAX_PLAYERS; i++)
  4113. {
  4114. if(IsPlayerConnected(i))
  4115. {
  4116. if(Mobile[i] == playerid)
  4117. {
  4118. Mobile[playerid] = i;
  4119. new string[128], sendername[MAX_PLAYER_NAME];
  4120. GetPlayerName(playerid,sendername,sizeof(sendername));
  4121. SendClientMessage(i, COLOR_YELLOW2, "They Picked up the call...");
  4122. format(string, sizeof(string), "* %s answers his cellphone.", sendername);
  4123. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  4124. ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
  4125. RingTone[playerid] = 0;
  4126. }
  4127.  
  4128. }
  4129. }
  4130. }
  4131. return 1;
  4132. }
  4133. CMD:p(playerid, params[])
  4134. {
  4135. return cmd_pickup(playerid, params);
  4136. }
  4137. CMD:hangup(playerid, params[])
  4138. {
  4139. if(IsPlayerConnected(playerid))
  4140. {
  4141. new caller = Mobile[playerid];
  4142. if(IsPlayerConnected(caller))
  4143. {
  4144. if(caller != INVALID_PLAYER_ID)
  4145. {
  4146. if(caller != 255)
  4147. {
  4148. if(caller < 255)
  4149. {
  4150. SendClientMessage(caller, COLOR_GREY, "They hung up...");
  4151. CellTime[caller] = 0;
  4152. CellTime[playerid] = 0;
  4153. SendClientMessage(playerid, COLOR_GREY, "You hung up....");
  4154. Mobile[caller] = 255;
  4155. }
  4156. }
  4157. }
  4158. }
  4159. new string[128];
  4160. GivePlayerCash(playerid,-CellTime[playerid]);
  4161. format(string,sizeof(string),"You have paid %d $ for your conversation!",CellTime[playerid]);
  4162. GameTextForPlayer(playerid,string,5000,1);
  4163. Mobile[playerid] = 255;
  4164. CellTime[playerid] = 0;
  4165. RingTone[playerid] = 0;
  4166. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  4167. }
  4168. return 1;
  4169. }
  4170. CMD:h(playerid, params[])
  4171. {
  4172. return cmd_hangup(playerid, params);
  4173. }
  4174. CMD:number(playerid, params[])
  4175. {
  4176. new id, sendername[MAX_PLAYER_NAME], string[128];
  4177. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /number [playerid/partofname]");
  4178. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  4179. else
  4180. {
  4181. GetPlayerName(id, sendername, sizeof(sendername));
  4182. format(string, 256, "Name: %s, Ph: %d",sendername,PlayerInfo[id][pNumber]);
  4183. SendClientMessage(playerid, COLOR_GRAD1, string);
  4184. }
  4185. return 1;
  4186. }
  4187. CMD:stopanim(playerid, params[])
  4188. {
  4189. ClearAnimations(playerid);
  4190. ApplyAnimation(playerid, "CARRY", "crry_prtial", 1.0, 0, 0, 0, 0, 0);
  4191. TogglePlayerControllable(playerid, 1);
  4192. return 1;
  4193. }
  4194. CMD:newspaper(playerid, params[])
  4195. {
  4196. if(!IsPlayerInRangeOfPoint(playerid, 4,1707.8434,-2331.6506,-2.6797)) return SCM(playerid, COLOR_GREY,"You are not near the news paper");
  4197. else
  4198. {
  4199. SetPlayerPos(playerid,1708.1606,-2333.2563,-2.3670);
  4200. SetPlayerFacingAngle(playerid, 353.5373);
  4201. TogglePlayerControllable(playerid, 0);
  4202. LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); // Lay down
  4203. ShowMenuForPlayer(Paper, playerid);
  4204. }
  4205. return 1;
  4206. }
  4207. CMD:exitcar(playerid, params[])
  4208. {
  4209. if(IsPlayerInVehicle(playerid, dmvc) || IsPlayerInVehicle(playerid, dmvc1) || IsPlayerInVehicle(playerid,dmvc2))
  4210. {
  4211. RemovePlayerFromVehicle(playerid);
  4212. TogglePlayerControllable(playerid, 1);
  4213. SetTimer("Unfreeze", 1000, 1);
  4214. }
  4215. return 1;
  4216. }
  4217. CMD:takeexam(playerid, params[])
  4218. {
  4219. if(PlayerInfo[playerid][pDriveLic] == 1) return SCM(playerid, COLOR_GREY,"You already have Driving License!");
  4220. if(IsPlayerInVehicle(playerid, dmvc) || IsPlayerInVehicle(playerid, dmvc1) || IsPlayerInVehicle(playerid,dmvc2))
  4221. {
  4222. TogglePlayerControllable(playerid, 1);
  4223. CP[playerid] = 200;
  4224. SetPlayerCheckpoint(playerid, 1421.1475,-1699.3237,13.2888, 4.0);
  4225. TakingLesson[playerid] = 1;
  4226. SendClientMessage(playerid, COLOR_LIGHTBLUE, "DMV: Please follow the checkpoints and drive safety!");
  4227. }
  4228. else return SCM(playerid, COLOR_GREY,"You are not in a DMV car");
  4229. return 1;
  4230. }
  4231. CMD:freeze(playerid, params[])
  4232. {
  4233. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  4234. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid,COLOR_GREY,"You are not authorized to use this command");
  4235. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /freeze [playerid/partofname]");
  4236. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  4237. else
  4238. {
  4239. GetPlayerName(playerid,sendername,sizeof(sendername));
  4240. GetPlayerName(id,name,sizeof(name));
  4241. TogglePlayerControllable(id, 0);
  4242. format(string, sizeof(string), "AdmCmd: %s has freezed %s", sendername, name);
  4243. ABroadCast(COLOR_YELLOW,string,1);
  4244. format(string, sizeof(string),"You have been frozen by admin %s", sendername);
  4245. SendClientMessage(id, COLOR_LIGHTRED, string);
  4246. }
  4247. return 1;
  4248. }
  4249. CMD:unfreeze(playerid, params[])
  4250. {
  4251. new id, sendername[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], string[128];
  4252. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid,COLOR_GREY,"You are not authorized to use this command");
  4253. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /unfreeze [playerid/partofname]");
  4254. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  4255. else
  4256. {
  4257. GetPlayerName(playerid,sendername,sizeof(sendername));
  4258. GetPlayerName(id,name,sizeof(name));
  4259. TogglePlayerControllable(id, 1);
  4260. format(string, sizeof(string), "AdmCmd: %s has unfreezed %s", sendername, name);
  4261. ABroadCast(COLOR_YELLOW,string,1);
  4262. format(string, sizeof(string),"You have been unfreezed by admin %s", sendername);
  4263. SendClientMessage(id, COLOR_LIGHTRED, string);
  4264. }
  4265. return 1;
  4266. }
  4267. CMD:check(playerid, params[])
  4268. {
  4269. new id;
  4270. if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid,COLOR_GREY,"You are not authorized to use this command");
  4271. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GREY,"USAGE: /check [playerid/partofname]");
  4272. if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_GREY,"Invalid player ID");
  4273. else
  4274. {
  4275. ShowStats(playerid, id);
  4276. }
  4277. return 1;
  4278. }
  4279. CMD:tow(playerid, params[])
  4280. {
  4281. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4282. new vehicleid = GetPlayerVehicleID(playerid);
  4283. if(IsTrailerAttachedToVehicle(vehicleid))
  4284. {
  4285. DetachTrailerFromVehicle(vehicleid);
  4286. SendClientMessage(playerid, COLOR_WHITE, "You are not towing anymore");
  4287. return 1;
  4288. }
  4289. new Float:x, Float:y, Float:z;
  4290. new Float:dist, Float:closedist=8, closeveh;
  4291. for(new i=1; i < MAX_VEHICLES; i++)
  4292. {
  4293. if(i != vehicleid && GetVehiclePos(i, x, y, z))
  4294. {
  4295. dist = GetPlayerDistanceFromPoint(playerid, x, y, z);
  4296. if(dist < closedist)
  4297. {
  4298. closedist = dist;
  4299. closeveh = i;
  4300. }
  4301. }
  4302. }
  4303. if(!closeveh) return SendClientMessage(playerid, COLOR_RED, "You are not close to a vehicle!");
  4304. AttachTrailerToVehicle(closeveh, vehicleid);
  4305. SendClientMessage(playerid, COLOR_WHITE, "You are now towing a vehicle");
  4306. return 1;
  4307. }
  4308.  
  4309. CMD:eject(playerid, params[])
  4310. {
  4311. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4312. new pid, msg[128];
  4313. if(sscanf(params, "u", pid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /eject [player]");
  4314. if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "Invalid player!");
  4315. new vehicleid = GetPlayerVehicleID(playerid);
  4316. if(!IsPlayerInVehicle(pid, vehicleid)) return SendClientMessage(playerid, COLOR_RED, "Player is not in your vehicle!");
  4317. RemovePlayerFromVehicle(pid);
  4318. format(msg, sizeof(msg), "Vehicle driver %s (%d) has ejected you", PlayerName(playerid), playerid);
  4319. SendClientMessage(pid, COLOR_WHITE, msg);
  4320. format(msg, sizeof(msg), "You have ejected %s (%d) from your vehicle", PlayerName(pid), pid);
  4321. SendClientMessage(playerid, COLOR_WHITE, msg);
  4322. return 1;
  4323. }
  4324.  
  4325. CMD:ejectall(playerid, params[])
  4326. {
  4327. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4328. new vehicleid = GetPlayerVehicleID(playerid);
  4329. new msg[128];
  4330. format(msg, sizeof(msg), "Vehicle driver %s (%d) has ejected you", PlayerName(playerid), playerid);
  4331. for(new i=0; i < MAX_PLAYERS; i++)
  4332. {
  4333. if(IsPlayerConnected(i) && i != playerid && IsPlayerInVehicle(i, vehicleid))
  4334. {
  4335. RemovePlayerFromVehicle(i);
  4336. SendClientMessage(i, COLOR_WHITE, msg);
  4337. }
  4338. }
  4339. SendClientMessage(playerid, COLOR_WHITE, "You have ejected all passengers");
  4340. return 1;
  4341. }
  4342.  
  4343. CMD:clearmods(playerid, params[])
  4344. {
  4345. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4346. new vehicleid = GetPlayerVehicleID(playerid);
  4347. new id = GetVehicleID(vehicleid);
  4348. if(GetPlayerVehicleAccess(playerid, id) != 1)
  4349. return SendClientMessage(playerid, COLOR_RED, "This is not your vehicle vehicle!");
  4350. for(new i=0; i < sizeof(VehicleMods[]); i++)
  4351. {
  4352. RemoveVehicleComponent(VehicleID[id], GetVehicleComponentInSlot(VehicleID[id], i));
  4353. VehicleMods[id][i] = 0;
  4354. }
  4355. VehiclePaintjob[id] = 255;
  4356. ChangeVehiclePaintjob(VehicleID[id], 255);
  4357. SaveVehicle(id);
  4358. SendClientMessage(playerid, COLOR_WHITE, "You have removed all modifications from your vehicle");
  4359. return 1;
  4360. }
  4361.  
  4362. CMD:trackcar(playerid, params[])
  4363. {
  4364. if(TrackCar[playerid])
  4365. {
  4366. TrackCar[playerid] = 0;
  4367. DisablePlayerCheckpoint(playerid);
  4368. SendClientMessage(playerid, COLOR_WHITE, "You are not tracking your vehicle anymore");
  4369. return 1;
  4370. }
  4371. new info[256], bool:found;
  4372. for(new i=1; i < MAX_DVEHICLES; i++)
  4373. {
  4374. if(VehicleCreated[i] == VEHICLE_PLAYER && strcmp(VehicleOwner[i], PlayerName(playerid)) == 0)
  4375. {
  4376. found = true;
  4377. format(info, sizeof(info), "%sID: %d Name: %s\n", info, i, VehicleNames[VehicleModel[i]-400]);
  4378. }
  4379. }
  4380. if(!found) return SendClientMessage(playerid, COLOR_RED, "You don't have any vehicles!");
  4381. ShowPlayerDialog(playerid, DIALOG_FINDVEHICLE, DIALOG_STYLE_LIST, "Find Your Vehicle", info, "Find", "Cancel");
  4382. return 1;
  4383. }
  4384.  
  4385. CMD:v(playerid, params[])
  4386. {
  4387. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4388. new vehicleid = GetPlayerVehicleID(playerid);
  4389. if(IsBicycle(vehicleid)) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");
  4390. new id = GetVehicleID(vehicleid);
  4391. if(!GetPlayerVehicleAccess(playerid, id))
  4392. return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4393. SetPVarInt(playerid, "DialogValue1", id);
  4394. ShowDialog(playerid, DIALOG_VEHICLE);
  4395. return 1;
  4396. }
  4397.  
  4398. CMD:sellv(playerid, params[])
  4399. {
  4400. new pid, id, price, msg[128];
  4401. if(sscanf(params, "udd", pid, id, price)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /sellv [player] [vehicleid] [price]");
  4402. if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "Invalid player!");
  4403. if(GetPlayerVehicleAccess(playerid, id) != 1)
  4404. return SendClientMessage(playerid, COLOR_RED, "You are not the owner of this vehicle!");
  4405. if(price < 1) return SendClientMessage(playerid, COLOR_RED, "Invalid price!");
  4406. if(!PlayerToPlayer(playerid, pid, 10.0)) return SendClientMessage(playerid, COLOR_RED, "Player is too far!");
  4407. SetPVarInt(pid, "DialogValue1", playerid);
  4408. SetPVarInt(pid, "DialogValue2", id);
  4409. SetPVarInt(pid, "DialogValue3", price);
  4410. ShowDialog(pid, DIALOG_VEHICLE_SELL);
  4411. format(msg, sizeof(msg), "You have offered %s (%d) to buy your vehicle for $%d", PlayerName(pid), pid, price);
  4412. SendClientMessage(playerid, COLOR_WHITE, msg);
  4413. return 1;
  4414. }
  4415.  
  4416. CMD:givecarkeys(playerid, params[])
  4417. {
  4418. new pid, id, msg[128];
  4419. if(sscanf(params, "ud", pid, id)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /givecarkeys [player] [vehicleid]");
  4420. if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "Invalid player!");
  4421. if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "Invalid vehicleid!");
  4422. if(GetPlayerVehicleAccess(playerid, id) != 1)
  4423. return SendClientMessage(playerid, COLOR_RED, "You are not the owner of this vehicle!");
  4424. if(!PlayerToPlayer(playerid, pid, 10.0)) return SendClientMessage(playerid, COLOR_RED, "Player is too far!");
  4425. SetPVarInt(pid, "CarKeys", id);
  4426. format(msg, sizeof(msg), "You have given your car keys to %s (%d)", PlayerName(pid), pid);
  4427. SendClientMessage(playerid, COLOR_WHITE, msg);
  4428. format(msg, sizeof(msg), "%s (%d) has given you car keys", PlayerName(playerid), playerid);
  4429. SendClientMessage(pid, COLOR_WHITE, msg);
  4430. return 1;
  4431. }
  4432.  
  4433. CMD:vlock(playerid, params[])
  4434. {
  4435. new vehicleid;
  4436. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4437. {
  4438. vehicleid = GetPlayerVehicleID(playerid);
  4439. }
  4440. else
  4441. {
  4442. vehicleid = GetClosestVehicle(playerid);
  4443. if(!PlayerToVehicle(playerid, vehicleid, 5.0)) vehicleid = 0;
  4444. }
  4445. if(!vehicleid) return SendClientMessage(playerid, COLOR_RED, "You are not close to a vehicle!");
  4446. new id = GetVehicleID(vehicleid);
  4447. if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4448. if(!GetPlayerVehicleAccess(playerid, id))
  4449. return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4450. new engine, lights, alarm, doors, bonnet, boot, objective;
  4451. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  4452. if(doors == 1)
  4453. {
  4454. doors = 0;
  4455. GameTextForPlayer(playerid, "~g~doors unlocked", 3000, 6);
  4456. }
  4457. else
  4458. {
  4459. doors = 1;
  4460. GameTextForPlayer(playerid, "~r~doors locked", 3000, 6);
  4461. }
  4462. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  4463. return 1;
  4464. }
  4465.  
  4466. CMD:valarm(playerid, params[])
  4467. {
  4468. new vehicleid;
  4469. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4470. {
  4471. vehicleid = GetPlayerVehicleID(playerid);
  4472. }
  4473. else
  4474. {
  4475. vehicleid = GetClosestVehicle(playerid);
  4476. if(!PlayerToVehicle(playerid, vehicleid, 5.0)) vehicleid = 0;
  4477. }
  4478. if(!vehicleid) return SendClientMessage(playerid, COLOR_RED, "You are not close to a vehicle!");
  4479. new id = GetVehicleID(vehicleid);
  4480. if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4481. if(GetPlayerVehicleAccess(playerid, id) != 1)
  4482. return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4483. if(VehicleSecurity[vehicleid] == 0)
  4484. {
  4485. VehicleSecurity[vehicleid] = 1;
  4486. GameTextForPlayer(playerid, "~g~alarm on", 3000, 6);
  4487. }
  4488. else
  4489. {
  4490. ToggleAlarm(vehicleid, VEHICLE_PARAMS_OFF);
  4491. VehicleSecurity[vehicleid] = 0;
  4492. GameTextForPlayer(playerid, "~r~alarm off", 3000, 6);
  4493. }
  4494. return 1;
  4495. }
  4496.  
  4497. CMD:trunk(playerid, params[])
  4498. {
  4499. new vehicleid;
  4500. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4501. {
  4502. vehicleid = GetPlayerVehicleID(playerid);
  4503. }
  4504. else
  4505. {
  4506. vehicleid = GetClosestVehicle(playerid);
  4507. if(!PlayerToVehicle(playerid, vehicleid, 5.0)) vehicleid = 0;
  4508. }
  4509. if(!vehicleid)
  4510. return SendClientMessage(playerid, COLOR_RED, "You are not close to a vehicle!");
  4511. new id = GetVehicleID(vehicleid);
  4512. if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4513. if(!GetPlayerVehicleAccess(playerid, id))
  4514. return SendClientMessage(playerid, COLOR_RED, "You don't have the keys for this vehicle!");
  4515. new engine, lights, alarm, doors, bonnet, boot, objective;
  4516. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  4517. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, 1, objective);
  4518. SetPVarInt(playerid, "DialogValue1", id);
  4519. ShowDialog(playerid, DIALOG_TRUNK);
  4520. return 1;
  4521. }
  4522.  
  4523. CMD:fuel(playerid, params[])
  4524. {
  4525. for(new i=1; i < MAX_FUEL_STATIONS; i++)
  4526. {
  4527. if(FuelStationCreated[i])
  4528. {
  4529. if(IsPlayerInRangeOfPoint(playerid, 15.0, FuelStationPos[i][0], FuelStationPos[i][1], FuelStationPos[i][2]))
  4530. {
  4531. SetPVarInt(playerid, "FuelStation", i);
  4532. ShowDialog(playerid, DIALOG_FUEL);
  4533. return 1;
  4534. }
  4535. }
  4536. }
  4537. SendClientMessage(playerid, COLOR_RED, "You are not in a fuel station!");
  4538. return 1;
  4539. }
  4540.  
  4541. CMD:setfuel(playerid, params[])
  4542. {
  4543. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4544. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You are not in a vehicle!");
  4545. new amount, msg[128];
  4546. if(sscanf(params, "d", amount)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setfuel [amount]");
  4547. if(amount < 0 || amount > 100) return SendClientMessage(playerid, COLOR_RED, "Invalid amount! (0-100)");
  4548. Fuel[GetPlayerVehicleID(playerid)] = amount;
  4549. format(msg, sizeof(msg), "You have set your vehicle fuel to %d", amount);
  4550. SendClientMessage(playerid, COLOR_WHITE, msg);
  4551. return 1;
  4552. }
  4553.  
  4554. CMD:addv(playerid, params[])
  4555. {
  4556. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4557. if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!");
  4558. new model[32], modelid, dealerid, color1, color2, price;
  4559. if(sscanf(params, "dsddd", dealerid, model, color1, color2, price))
  4560. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /addv [dealerid] [model] [color1] [color2] [price]");
  4561. if(!IsValidDealership(dealerid)) return SendClientMessage(playerid, COLOR_RED, "Invalid dealerid!");
  4562. if(IsNumeric(model)) modelid = strval(model);
  4563. else modelid = GetVehicleModelIDFromName(model);
  4564. if(modelid < 400 || modelid > 611) return SendClientMessage(playerid, COLOR_RED, "Invalid model ID!");
  4565. if(color1 < 0 || color2 < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid color!");
  4566. if(price < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid price!");
  4567. new Float:X, Float:Y, Float:Z, Float:angle;
  4568. GetPlayerPos(playerid, X, Y, Z);
  4569. GetPlayerFacingAngle(playerid, angle);
  4570. X += floatmul(floatsin(-angle, degrees), 4.0);
  4571. Y += floatmul(floatcos(-angle, degrees), 4.0);
  4572. for(new i=1; i < MAX_DVEHICLES; i++)
  4573. {
  4574. if(!VehicleCreated[i])
  4575. {
  4576. new msg[128];
  4577. VehicleCreated[i] = VEHICLE_DEALERSHIP;
  4578. VehicleModel[i] = modelid;
  4579. VehiclePos[i][0] = X;
  4580. VehiclePos[i][1] = Y;
  4581. VehiclePos[i][2] = Z;
  4582. VehiclePos[i][3] = angle+90.0;
  4583. VehicleColor[i][0] = color1;
  4584. VehicleColor[i][1] = color2;
  4585. VehicleInterior[i] = GetPlayerInterior(playerid);
  4586. VehicleWorld[i] = GetPlayerVirtualWorld(playerid);
  4587. VehicleValue[i] = price;
  4588. valstr(VehicleOwner[i], dealerid);
  4589. VehicleNumberPlate[i] = DEFAULT_NUMBER_PLATE;
  4590. for(new d=0; d < sizeof(VehicleTrunk[]); d++)
  4591. {
  4592. VehicleTrunk[i][d][0] = 0;
  4593. VehicleTrunk[i][d][1] = 0;
  4594. }
  4595. for(new d=0; d < sizeof(VehicleMods[]); d++)
  4596. {
  4597. VehicleMods[i][d] = 0;
  4598. }
  4599. VehiclePaintjob[i] = 255;
  4600. UpdateVehicle(i, 0);
  4601. SaveVehicle(i);
  4602. format(msg, sizeof(msg), "Added vehicle id %d to dealerid %d", i, dealerid);
  4603. SendClientMessage(playerid, COLOR_WHITE, msg);
  4604. return 1;
  4605. }
  4606. }
  4607. SendClientMessage(playerid, COLOR_RED, "Can't add any more vehicles!");
  4608. return 1;
  4609. }
  4610.  
  4611. CMD:editv(playerid, params[])
  4612. {
  4613. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4614. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4615. {
  4616. new id = GetVehicleID(GetPlayerVehicleID(playerid));
  4617. if(!IsValidVehicle(id)) return SendClientMessage(playerid, COLOR_RED, "This is not a dynamic vehicle!");
  4618. SetPVarInt(playerid, "DialogValue1", id);
  4619. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  4620. return 1;
  4621. }
  4622. new vehicleid;
  4623. if(sscanf(params, "d", vehicleid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /editv [vehicleid]");
  4624. if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_RED, "Invalid vehicleid!");
  4625. SetPVarInt(playerid, "DialogValue1", vehicleid);
  4626. ShowDialog(playerid, DIALOG_EDITVEHICLE);
  4627. return 1;
  4628. }
  4629.  
  4630. CMD:adddealership(playerid, params[])
  4631. {
  4632. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4633. if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!");
  4634. for(new i=1; i < MAX_DEALERSHIPS; i++)
  4635. {
  4636. if(!DealershipCreated[i])
  4637. {
  4638. new msg[128];
  4639. DealershipCreated[i] = 1;
  4640. GetPlayerPos(playerid, DealershipPos[i][0], DealershipPos[i][1], DealershipPos[i][2]);
  4641. UpdateDealership(i, 0);
  4642. SaveDealership(i);
  4643. format(msg, sizeof(msg), "Added dealership id %d", i);
  4644. SendClientMessage(playerid, COLOR_WHITE, msg);
  4645. return 1;
  4646. }
  4647. }
  4648. SendClientMessage(playerid, COLOR_RED, "Can't add any more dealerships!");
  4649. return 1;
  4650. }
  4651.  
  4652. CMD:deletedealership(playerid, params[])
  4653. {
  4654. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4655. new dealerid, msg[128];
  4656. if(sscanf(params, "d", dealerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /deletedealership [dealerid]");
  4657. if(!IsValidDealership(dealerid)) return SendClientMessage(playerid, COLOR_RED, "Invalid dealerid!");
  4658. for(new i=1; i < MAX_DVEHICLES; i++)
  4659. {
  4660. if(VehicleCreated[i] == VEHICLE_DEALERSHIP && strval(VehicleOwner[i]) == dealerid)
  4661. {
  4662. DestroyVehicle(VehicleID[i]);
  4663. Delete3DTextLabel(VehicleLabel[i]);
  4664. VehicleCreated[i] = 0;
  4665. }
  4666. }
  4667. DealershipCreated[dealerid] = 0;
  4668. Delete3DTextLabel(DealershipLabel[dealerid]);
  4669. SaveDealership(dealerid);
  4670. format(msg, sizeof(msg), "Deleted dealership id %d", dealerid);
  4671. SendClientMessage(playerid, COLOR_WHITE, msg);
  4672. return 1;
  4673. }
  4674.  
  4675. CMD:movedealership(playerid, params[])
  4676. {
  4677. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4678. new dealerid, msg[128];
  4679. if(sscanf(params, "d", dealerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /movedealership [dealerid]");
  4680. if(!IsValidDealership(dealerid)) return SendClientMessage(playerid, COLOR_RED, "Invalid dealerid!");
  4681. GetPlayerPos(playerid, DealershipPos[dealerid][0], DealershipPos[dealerid][1], DealershipPos[dealerid][2]);
  4682. UpdateDealership(dealerid, 1);
  4683. SaveDealership(dealerid);
  4684. format(msg, sizeof(msg), "Moved dealership id %d here", dealerid);
  4685. SendClientMessage(playerid, COLOR_WHITE, msg);
  4686. return 1;
  4687. }
  4688.  
  4689. CMD:gotodealership(playerid, params[])
  4690. {
  4691. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4692. new dealerid, msg[128];
  4693. if(sscanf(params, "d", dealerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /gotodealership [dealerid]");
  4694. if(!IsValidDealership(dealerid)) return SendClientMessage(playerid, COLOR_RED, "Invalid dealerid!");
  4695. SetPlayerPos(playerid, DealershipPos[dealerid][0], DealershipPos[dealerid][1], DealershipPos[dealerid][2]);
  4696. format(msg, sizeof(msg), "Teleported to dealership id %d", dealerid);
  4697. SendClientMessage(playerid, COLOR_WHITE, msg);
  4698. return 1;
  4699. }
  4700.  
  4701. CMD:addfuelstation(playerid, params[])
  4702. {
  4703. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4704. if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!");
  4705. for(new i=1; i < MAX_FUEL_STATIONS; i++)
  4706. {
  4707. if(!FuelStationCreated[i])
  4708. {
  4709. new msg[128];
  4710. FuelStationCreated[i] = 1;
  4711. GetPlayerPos(playerid, FuelStationPos[i][0], FuelStationPos[i][1], FuelStationPos[i][2]);
  4712. UpdateFuelStation(i, 0);
  4713. SaveFuelStation(i);
  4714. format(msg, sizeof(msg), "Added fuel station id %d", i);
  4715. SendClientMessage(playerid, COLOR_WHITE, msg);
  4716. return 1;
  4717. }
  4718. }
  4719. SendClientMessage(playerid, COLOR_RED, "Can't add any more fuel stations!");
  4720. return 1;
  4721. }
  4722.  
  4723. CMD:deletefuelstation(playerid, params[])
  4724. {
  4725. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4726. new stationid, msg[128];
  4727. if(sscanf(params, "d", stationid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /deletefuelstation [stationid]");
  4728. if(!IsValidFuelStation(stationid)) return SendClientMessage(playerid, COLOR_RED, "Invalid stationid!");
  4729. FuelStationCreated[stationid] = 0;
  4730. Delete3DTextLabel(FuelStationLabel[stationid]);
  4731. SaveFuelStation(stationid);
  4732. format(msg, sizeof(msg), "Deleted fuel station id %d", stationid);
  4733. SendClientMessage(playerid, COLOR_WHITE, msg);
  4734. return 1;
  4735. }
  4736.  
  4737. CMD:movefuelstation(playerid, params[])
  4738. {
  4739. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4740. new stationid, msg[128];
  4741. if(sscanf(params, "d", stationid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /movefuelstation [stationid]");
  4742. if(!IsValidFuelStation(stationid)) return SendClientMessage(playerid, COLOR_RED, "Invalid stationid!");
  4743. GetPlayerPos(playerid, FuelStationPos[stationid][0], FuelStationPos[stationid][1], FuelStationPos[stationid][2]);
  4744. UpdateFuelStation(stationid, 1);
  4745. SaveFuelStation(stationid);
  4746. format(msg, sizeof(msg), "Moved fuel station id %d here", stationid);
  4747. SendClientMessage(playerid, COLOR_WHITE, msg);
  4748. return 1;
  4749. }
  4750.  
  4751. CMD:gotofuelstation(playerid, params[])
  4752. {
  4753. if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
  4754. new stationid, msg[128];
  4755. if(sscanf(params, "d", stationid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /gotofuelstation [stationid]");
  4756. if(!IsValidFuelStation(stationid)) return SendClientMessage(playerid, COLOR_RED, "Invalid stationid!");
  4757. SetPlayerPos(playerid, FuelStationPos[stationid][0], FuelStationPos[stationid][1], FuelStationPos[stationid][2]);
  4758. format(msg, sizeof(msg), "Teleported to fuel station id %d", stationid);
  4759. SendClientMessage(playerid, COLOR_WHITE, msg);
  4760. return 1;
  4761. }
  4762. CMD:anims(playerid, params[])
  4763. {
  4764. SendClientMessage(playerid,COLOR_GRAD2," ____________Character Animations____________");
  4765. SendClientMessage(playerid,COLOR_GRAD2,"[Sit/Lay] /sit /seat /lay /sleep /lean /lean2");
  4766. SendClientMessage(playerid,COLOR_GRAD2,"[Signs] /gsign1 /gsign2 /gsign4 /gsign5 /gsign7");
  4767. SendClientMessage(playerid,COLOR_GRAD2,"[Communication] /greet1 /greet2 /greet3 ");
  4768. SendClientMessage(playerid,COLOR_GRAD2,"[Communication] /fuckyou /wave /argue /kiss");
  4769. SendClientMessage(playerid,COLOR_GRAD2,"[Physical Actions] /bat /bat2 /punch /aim /slapass");
  4770. SendClientMessage(playerid,COLOR_GRAD2,"[Physical Actions] /taxiL /flip /crack");
  4771. SendClientMessage(playerid,COLOR_GRAD2,"[Emotions] /injured");
  4772. SendClientMessage(playerid,COLOR_GRAD2,"_____________________________________________");
  4773. return true;
  4774. }
  4775. CMD:taxiL(playerid, params[])
  4776. {
  4777. LoopingAnim(playerid,"PED","IDLE_taxi",4.0,0,1,1,1,0);
  4778. return 1;
  4779. }
  4780. CMD:punch(playerid, params[])
  4781. {
  4782. LoopingAnim(playerid,"MD_CHASE","MD_BIKE_Punch",4.0,0,1,1,1,0);
  4783. return 1;
  4784. }
  4785. CMD:greet1(playerid, params[])
  4786. {
  4787. LoopingAnim(playerid,"WUZI","Wuzi_Greet_Plyr",4.0,0,1,1,1,0);
  4788. return 1;
  4789. }
  4790. CMD:greet2(playerid, params[])
  4791. {
  4792. LoopingAnim(playerid,"WUZI","Wuzi_Greet_Wuzi",4.0,0,1,1,1,0);
  4793. return 1;
  4794. }
  4795. CMD:wave(playerid, params[])
  4796. {
  4797. LoopingAnim(playerid,"BD_FIRE ","BD_GF_Wave",4.0,0,1,1,1,0);
  4798. return 1;
  4799. }
  4800. CMD:argue(playerid, params[])
  4801. {
  4802. LoopingAnim(playerid,"PAULNMAC","PnM_Argue1_A",4.0,0,1,1,1,0);
  4803. return 1;
  4804. }
  4805. CMD:sleep(playerid, params[])
  4806. {
  4807. LoopingAnim(playerid,"INT_HOUSE","BED_In_L",4.0,0,1,1,1,0);
  4808. return 1;
  4809. }
  4810. CMD:lean2(playerid, params[])
  4811. {
  4812. LoopingAnim(playerid,"RYDER","Van_Lean_L",4.0,0,1,1,1,0);
  4813. return 1;
  4814. }
  4815.  
  4816. CMD:gsign1(playerid, params[])
  4817. {
  4818. LoopingAnim(playerid,"GHANDS","gsign1",4.0,0,1,1,1,0);
  4819. return 1;
  4820. }
  4821. CMD:gsign2(playerid, params[])
  4822. {
  4823. LoopingAnim(playerid,"GHANDS","gsign1LH",4.0,0,1,1,1,0);
  4824. return 1;
  4825. }
  4826. CMD:gsign3(playerid, params[])
  4827. {
  4828. LoopingAnim(playerid,"GHANDS","gsign2",4.0,0,1,1,1,0);
  4829. return 1;
  4830. }
  4831. CMD:gsign4(playerid, params[])
  4832. {
  4833. LoopingAnim(playerid,"GHANDS","gsign2LH",4.0,0,1,1,1,0);
  4834. return 1;
  4835. }
  4836. CMD:gsign5(playerid, params[])
  4837. {
  4838. LoopingAnim(playerid,"GHANDS","gsign3",4.0,0,1,1,1,0);
  4839. return 1;
  4840. }
  4841. CMD:gsign6(playerid, params[])
  4842. {
  4843. LoopingAnim(playerid,"GHANDS","gsign3LH",4.0,0,1,1,1,0);
  4844. return 1;
  4845. }
  4846. CMD:gsign7(playerid, params[])
  4847. {
  4848. LoopingAnim(playerid,"GHANDS","gsign4",4.0,0,1,1,1,0);
  4849. return 1;
  4850. }
  4851.  
  4852.  
  4853.  
  4854. CMD:carjacked1(playerid, params[])
  4855. {
  4856. LoopingAnim(playerid,"PED","CAR_jackedLHS",4.0,0,1,1,1,0);
  4857. return 1;
  4858. }
  4859.  
  4860.  
  4861.  
  4862. CMD:carjacked2(playerid, params[])
  4863. {
  4864. LoopingAnim(playerid,"PED","CAR_jackedRHS",4.0,0,1,1,1,0);
  4865. return 1;
  4866. }
  4867.  
  4868.  
  4869.  
  4870. CMD:handsup(playerid, params[])
  4871. {
  4872. LoopingAnim(playerid, "ROB_BANK","SHP_HandsUp_Scr", 4.0, 0, 1, 1, 1, 0);
  4873. return 1;
  4874. }
  4875.  
  4876.  
  4877.  
  4878. CMD:cellin(playerid, params[])
  4879. {
  4880. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
  4881. return 1;
  4882. }
  4883.  
  4884.  
  4885.  
  4886. CMD:cellout(playerid, params[])
  4887. {
  4888. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
  4889. return 1;
  4890. }
  4891.  
  4892.  
  4893.  
  4894. CMD:drunk(playerid, params[])
  4895. {
  4896. LoopingAnim(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1);
  4897. return 1;
  4898. }
  4899.  
  4900.  
  4901.  
  4902. CMD:bomb(playerid, params[])
  4903. {
  4904. ClearAnimations(playerid);
  4905. LoopingAnim(playerid, "BOMBER","BOM_Plant_Loop",4.0,1,0,0,1,0); // Place Bomb
  4906. return 1;
  4907. }
  4908.  
  4909.  
  4910. CMD:getarrested(playerid, params[])
  4911. {
  4912. LoopingAnim(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1); // Gun Arrest
  4913. return 1;
  4914. }
  4915.  
  4916.  
  4917. CMD:laugh(playerid, params[])
  4918. {
  4919. OnePlayAnim(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); // Laugh
  4920. return 1;
  4921. }
  4922.  
  4923.  
  4924. CMD:lookout(playerid, params[])
  4925. {
  4926. OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0); // Rob Lookout
  4927. return 1;
  4928. }
  4929.  
  4930.  
  4931. CMD:robman(playerid, params[])
  4932. {
  4933. LoopingAnim(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0); // Rob
  4934. return 1;
  4935. }
  4936.  
  4937.  
  4938. CMD:crossarms(playerid, params[])
  4939. {
  4940. LoopingAnim(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); // Arms crossed
  4941. return 1;
  4942. }
  4943.  
  4944.  
  4945. CMD:lay(playerid, params[])
  4946. {
  4947. LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); // Lay down
  4948. return 1;
  4949. }
  4950.  
  4951.  
  4952. CMD:hide(playerid, params[])
  4953. {
  4954. LoopingAnim(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0); // Taking Cover
  4955. return 1;
  4956. }
  4957.  
  4958.  
  4959. CMD:vomit(playerid, params[])
  4960. {
  4961. OnePlayAnim(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH!
  4962. return 1;
  4963. }
  4964.  
  4965.  
  4966. CMD:eat(playerid, params[])
  4967. {
  4968. OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger
  4969. return 1;
  4970. }
  4971. // Wave
  4972.  
  4973.  
  4974.  
  4975. CMD:slapass(playerid, params[])
  4976. {
  4977. OnePlayAnim(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping
  4978. return 1;
  4979. }
  4980.  
  4981.  
  4982. CMD:deal(playerid, params[])
  4983. {
  4984. OnePlayAnim(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0); // Deal Drugs
  4985. return 1;
  4986. }
  4987.  
  4988.  
  4989.  
  4990. CMD:crack(playerid, params[])
  4991. {
  4992. LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
  4993. return 1;
  4994. }
  4995.  
  4996. // Sit
  4997. CMD:sit(playerid, params[])
  4998. {
  4999. LoopingAnim(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0); // Sit
  5000. return 1;
  5001. }
  5002. // Idle Chat
  5003. CMD:chat(playerid, params[])
  5004. {
  5005. LoopingAnim(playerid,"PED","IDLE_CHAT",4.0,1,0,0,1,1);
  5006. return 1;
  5007. }
  5008. // Idle Chat2
  5009. CMD:chat2(playerid, params[])
  5010. {
  5011. LoopingAnim(playerid,"MISC","Idle_Chat_02",4.0,1,0,0,1,1);
  5012. return 1;
  5013. }
  5014. // Fucku
  5015. CMD:fuckyou(playerid, params[])
  5016. {
  5017. OnePlayAnim(playerid,"PED","fucku",4.0,0,0,0,0,0);
  5018. return 1;
  5019. }
  5020. // TaiChi
  5021. CMD:taichi(playerid, params[])
  5022. {
  5023. LoopingAnim(playerid,"PARK","Tai_Chi_Loop",4.0,1,0,0,0,0);
  5024. return 1;
  5025. }
  5026.  
  5027. // ChairSit
  5028.  
  5029. // Fall on the ground
  5030. CMD:flip(playerid, params[])
  5031. {
  5032. LoopingAnim(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
  5033. return 1;
  5034. }
  5035.  
  5036. // Fall
  5037. CMD:backflip(playerid, params[])
  5038. {
  5039. LoopingAnim(playerid, "PED","FLOOR_hit_f", 4.0, 1, 0, 0, 0, 0);
  5040. return 1;
  5041. }
  5042.  
  5043. // kiss
  5044. CMD:kiss(playerid, params[])
  5045. {
  5046. LoopingAnim(playerid, "KISSING", "Playa_Kiss_02", 3.0, 1, 1, 1, 1, 0);
  5047. return 1;
  5048. }
  5049.  
  5050. // Injujred
  5051. CMD:injured(playerid, params[])
  5052. {
  5053. LoopingAnim(playerid, "SWEET", "Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);
  5054. return 1;
  5055. }
  5056.  
  5057.  
  5058. // Violence animations
  5059. CMD:push(playerid, params[])
  5060. {
  5061. OnePlayAnim(playerid,"GANGS","shake_cara",4.0,0,0,0,0,0);
  5062. return 1;
  5063. }
  5064.  
  5065. CMD:akick(playerid, params[])
  5066. {
  5067. OnePlayAnim(playerid,"POLICE","Door_Kick",4.0,0,0,0,0,0);
  5068. return 1;
  5069. }
  5070.  
  5071. CMD:lowbodypush(playerid, params[])
  5072. {
  5073. OnePlayAnim(playerid,"GANGS","shake_carSH",4.0,0,0,0,0,0);
  5074. return 1;
  5075. }
  5076.  
  5077. // Spray
  5078. CMD:spray(playerid, params[])
  5079. {
  5080. OnePlayAnim(playerid,"SPRAYCAN","spraycan_full",4.0,0,0,0,0,0);
  5081. return 1;
  5082. }
  5083.  
  5084. // Headbutt
  5085. CMD:headbutt(playerid, params[])
  5086. {
  5087. OnePlayAnim(playerid,"WAYFARER","WF_Fwd",4.0,0,0,0,0,0);
  5088. return 1;
  5089. }
  5090.  
  5091. // Medic
  5092. CMD:medic(playerid, params[])
  5093. {
  5094. OnePlayAnim(playerid,"MEDIC","CPR",4.0,0,0,0,0,0);
  5095. return 1;
  5096. }
  5097.  
  5098. // KO Face
  5099. CMD:koface(playerid, params[])
  5100. {
  5101. LoopingAnim(playerid,"PED","KO_shot_face",4.0,0,1,1,1,0);
  5102. return 1;
  5103. }
  5104.  
  5105. // KO Stomach
  5106. CMD:kostomach(playerid, params[])
  5107. {
  5108. LoopingAnim(playerid,"PED","KO_shot_stom",4.0,0,1,1,1,0);
  5109. return 1;
  5110. }
  5111.  
  5112. // Jump for your life!
  5113. CMD:lifejump(playerid, params[])
  5114. {
  5115. LoopingAnim(playerid,"PED","EV_dive",4.0,0,1,1,1,0);
  5116. return 1;
  5117. }
  5118.  
  5119. // Exhausted
  5120. CMD:exhaust(playerid, params[])
  5121. {
  5122. LoopingAnim(playerid,"PED","IDLE_tired",3.0,1,0,0,0,0);
  5123. return 1;
  5124. }
  5125.  
  5126. // Left big slap
  5127. CMD:leftslap(playerid, params[])
  5128. {
  5129. OnePlayAnim(playerid,"PED","BIKE_elbowL",4.0,0,0,0,0,0);
  5130. return 1;
  5131. }
  5132.  
  5133. // Big fall
  5134. CMD:rollfall(playerid, params[])
  5135. {
  5136. LoopingAnim(playerid,"PED","BIKE_fallR",4.0,0,1,1,1,0);
  5137. return 1;
  5138. }
  5139.  
  5140. // Locked
  5141. CMD:carlock(playerid, params[])
  5142. {
  5143. OnePlayAnim(playerid,"PED","CAR_doorlocked_LHS",4.0,0,0,0,0,0);
  5144. return 1;
  5145. }
  5146.  
  5147. // carjack
  5148. CMD:rcarjack1(playerid, params[])
  5149. {
  5150. OnePlayAnim(playerid,"PED","CAR_pulloutL_LHS",4.0,0,0,0,0,0);
  5151. return 1;
  5152. }
  5153.  
  5154. // carjack
  5155. CMD:lcarjack1(playerid, params[])
  5156. {
  5157. OnePlayAnim(playerid,"PED","CAR_pulloutL_RHS",4.0,0,0,0,0,0);
  5158. return 1;
  5159. }
  5160.  
  5161. // carjack
  5162. CMD:rcarjack2(playerid, params[])
  5163. {
  5164. OnePlayAnim(playerid,"PED","CAR_pullout_LHS",4.0,0,0,0,0,0);
  5165. return 1;
  5166. }
  5167.  
  5168. // carjack
  5169. CMD:lcarjack2(playerid, params[])
  5170. {
  5171. OnePlayAnim(playerid,"PED","CAR_pullout_RHS",4.0,0,0,0,0,0);
  5172. return 1;
  5173. }
  5174.  
  5175. // Hood frisked
  5176. CMD:hoodfrisked(playerid, params[])
  5177. {
  5178. LoopingAnim(playerid,"POLICE","crm_drgbst_01",4.0,0,1,1,1,0);
  5179. return 1;
  5180. }
  5181.  
  5182. // Lighting cigarette
  5183. CMD:lightcig(playerid, params[])
  5184. {
  5185. OnePlayAnim(playerid,"SMOKING","M_smk_in",3.0,0,0,0,0,0);
  5186. return 1;
  5187. }
  5188.  
  5189. // Tap cigarette
  5190. CMD:tapcig(playerid, params[])
  5191. {
  5192. OnePlayAnim(playerid,"SMOKING","M_smk_tap",3.0,0,0,0,0,0);
  5193. return 1;
  5194. }
  5195.  
  5196. // Bat stance
  5197. CMD:bat(playerid, params[])
  5198. {
  5199. LoopingAnim(playerid,"BASEBALL","Bat_IDLE",4.0,1,1,1,1,0);
  5200. return 1;
  5201. }
  5202.  
  5203. // Boxing
  5204. CMD:box(playerid, params[])
  5205. {
  5206. LoopingAnim(playerid,"GYMNASIUM","GYMshadowbox",4.0,1,1,1,1,0);
  5207. return 1;
  5208. }
  5209.  
  5210. // Lay 2
  5211. CMD:lay2(playerid, params[])
  5212. {
  5213. LoopingAnim(playerid,"SUNBATHE","Lay_Bac_in",3.0,0,1,1,1,0);
  5214. return 1;
  5215. }
  5216.  
  5217.  
  5218.  
  5219. CMD:chant(playerid, params[])
  5220. {
  5221. LoopingAnim(playerid,"RIOT","RIOT_CHANT",4.0,1,1,1,1,0);
  5222. return 1;
  5223. }
  5224.  
  5225.  
  5226.  
  5227. CMD:fucku(playerid, params[])
  5228. {
  5229. OnePlayAnim(playerid,"RIOT","RIOT_FUKU",2.0,0,0,0,0,0);
  5230. return 1;
  5231. }
  5232.  
  5233.  
  5234.  
  5235. CMD:shouting(playerid, params[])
  5236. {
  5237. LoopingAnim(playerid,"RIOT","RIOT_shout",4.0,1,0,0,0,0);
  5238. return 1;
  5239. }
  5240.  
  5241.  
  5242.  
  5243. CMD:cop(playerid, params[])
  5244. {
  5245. OnePlayAnim(playerid,"SWORD","sword_block",50.0,0,1,1,1,1);
  5246. return 1;
  5247. }
  5248.  
  5249.  
  5250.  
  5251. CMD:elbow(playerid, params[])
  5252. {
  5253. OnePlayAnim(playerid,"FIGHT_D","FightD_3",4.0,0,1,1,0,0);
  5254. return 1;
  5255. }
  5256.  
  5257.  
  5258.  
  5259. CMD:kneekick(playerid, params[])
  5260. {
  5261. OnePlayAnim(playerid,"FIGHT_D","FightD_2",4.0,0,1,1,0,0);
  5262. return 1;
  5263. }
  5264.  
  5265.  
  5266.  
  5267. CMD:fstance(playerid, params[])
  5268. {
  5269. LoopingAnim(playerid,"FIGHT_D","FightD_IDLE",4.0,1,1,1,1,0);
  5270. return 1;
  5271. }
  5272.  
  5273. CMD:engine(playerid, params[])
  5274. {
  5275. new vehicleid = GetPlayerVehicleID(playerid);
  5276. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You need to be in a vehicle to use this command");
  5277. if(vehEngine[vehicleid] == 0)
  5278. {
  5279. vehEngine[vehicleid] = 2;
  5280. SetTimerEx("StartEngine", 3000, 0, "i", playerid);
  5281. SendClientMessage(playerid, COLOR_GREEN, "Vehicle engine starting");
  5282. }
  5283. else if(vehEngine[vehicleid] == 1)
  5284. {
  5285. vehEngine[vehicleid] = 0;
  5286. TogglePlayerControllable(playerid, 0);
  5287. SendClientMessage(playerid, COLOR_GOLD, "Vehicle engine stopped");
  5288. SendClientMessage(playerid, COLOR_GOLD, "To re-start the vehicle's engine press \"Shift\" or type \"/engine\"");
  5289. }
  5290. return 1;
  5291. }
  5292.  
  5293.  
  5294. stock IsVehicleOccupied(vehicleid)
  5295. {
  5296. for(new i=0;i<MAX_PLAYERS;i++)
  5297. {
  5298. if(IsPlayerInVehicle(i,vehicleid)) return 1;
  5299. }
  5300. return 0;
  5301. }
  5302.  
  5303. stock GivePlayerCash(playerid, money)
  5304. {
  5305. PlayerInfo[playerid][pCash] += money;
  5306. ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
  5307. UpdateMoneyBar(playerid,PlayerInfo[playerid][pCash]);//Sets the money in the moneybar to the serverside cash, Do not remove!
  5308. return PlayerInfo[playerid][pCash];
  5309. }
  5310. stock SetPlayerCash(playerid, money)
  5311. {
  5312. PlayerInfo[playerid][pCash] = money;
  5313. ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
  5314. UpdateMoneyBar(playerid,PlayerInfo[playerid][pCash]);//Sets the money in the moneybar to the serverside cash, Do not remove!
  5315. return PlayerInfo[playerid][pCash];
  5316. }
  5317. stock ResetPlayerCash(playerid)
  5318. {
  5319. PlayerInfo[playerid][pCash] = 0;
  5320. ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
  5321. UpdateMoneyBar(playerid,PlayerInfo[playerid][pCash]);//Sets the money in the moneybar to the serverside cash, Do not remove!
  5322. return PlayerInfo[playerid][pCash];
  5323. }
  5324. stock GetPlayerCash(playerid)
  5325. {
  5326. return PlayerInfo[playerid][pCash];
  5327. }
  5328.  
  5329.  
  5330. stock sscanf(string[], format[], {Float,_}:...)
  5331. {
  5332. #if defined isnull
  5333. if (isnull(string))
  5334. #else
  5335. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  5336. #endif
  5337. {
  5338. return format[0];
  5339. }
  5340. #pragma tabsize 4
  5341. new
  5342. formatPos = 0,
  5343. stringPos = 0,
  5344. paramPos = 2,
  5345. paramCount = numargs(),
  5346. delim = ' ';
  5347. while (string[stringPos] && string[stringPos] <= ' ')
  5348. {
  5349. stringPos++;
  5350. }
  5351. while (paramPos < paramCount && string[stringPos])
  5352. {
  5353. switch (format[formatPos++])
  5354. {
  5355. case '\0':
  5356. {
  5357. return 0;
  5358. }
  5359. case 'i', 'd':
  5360. {
  5361. new
  5362. neg = 1,
  5363. num = 0,
  5364. ch = string[stringPos];
  5365. if (ch == '-')
  5366. {
  5367. neg = -1;
  5368. ch = string[++stringPos];
  5369. }
  5370. do
  5371. {
  5372. stringPos++;
  5373. if ('0' <= ch <= '9')
  5374. {
  5375. num = (num * 10) + (ch - '0');
  5376. }
  5377. else
  5378. {
  5379. return -1;
  5380. }
  5381. }
  5382. while ((ch = string[stringPos]) > ' ' && ch != delim);
  5383. setarg(paramPos, 0, num * neg);
  5384. }
  5385. case 'h', 'x':
  5386. {
  5387. new
  5388. num = 0,
  5389. ch = string[stringPos];
  5390. do
  5391. {
  5392. stringPos++;
  5393. switch (ch)
  5394. {
  5395. case 'x', 'X':
  5396. {
  5397. num = 0;
  5398. continue;
  5399. }
  5400. case '0' .. '9':
  5401. {
  5402. num = (num << 4) | (ch - '0');
  5403. }
  5404. case 'a' .. 'f':
  5405. {
  5406. num = (num << 4) | (ch - ('a' - 10));
  5407. }
  5408. case 'A' .. 'F':
  5409. {
  5410. num = (num << 4) | (ch - ('A' - 10));
  5411. }
  5412. default:
  5413. {
  5414. return -1;
  5415. }
  5416. }
  5417. }
  5418. while ((ch = string[stringPos]) > ' ' && ch != delim);
  5419. setarg(paramPos, 0, num);
  5420. }
  5421. case 'c':
  5422. {
  5423. setarg(paramPos, 0, string[stringPos++]);
  5424. }
  5425. case 'f':
  5426. {
  5427.  
  5428. new changestr[16], changepos = 0, strpos = stringPos;
  5429. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  5430. {
  5431. changestr[changepos++] = string[strpos++];
  5432. }
  5433. changestr[changepos] = '\0';
  5434. setarg(paramPos,0,_:floatstr(changestr));
  5435. }
  5436. case 'p':
  5437. {
  5438. delim = format[formatPos++];
  5439. continue;
  5440. }
  5441. case '\'':
  5442. {
  5443. new
  5444. end = formatPos - 1,
  5445. ch;
  5446. while ((ch = format[++end]) && ch != '\'') {}
  5447. if (!ch)
  5448. {
  5449. return -1;
  5450. }
  5451. format[end] = '\0';
  5452. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  5453. {
  5454. if (format[end + 1])
  5455. {
  5456. return -1;
  5457. }
  5458. return 0;
  5459. }
  5460. format[end] = '\'';
  5461. stringPos = ch + (end - formatPos);
  5462. formatPos = end + 1;
  5463. }
  5464. case 'u':
  5465. {
  5466. new
  5467. end = stringPos - 1,
  5468. id = 0,
  5469. bool:num = true,
  5470. ch;
  5471. while ((ch = string[++end]) && ch != delim)
  5472. {
  5473. if (num)
  5474. {
  5475. if ('0' <= ch <= '9')
  5476. {
  5477. id = (id * 10) + (ch - '0');
  5478. }
  5479. else
  5480. {
  5481. num = false;
  5482. }
  5483. }
  5484. }
  5485. if (num && IsPlayerConnected(id))
  5486. {
  5487. setarg(paramPos, 0, id);
  5488. }
  5489. else
  5490. {
  5491. #if !defined foreach
  5492. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  5493. #define __SSCANF_FOREACH__
  5494. #endif
  5495. string[end] = '\0';
  5496. num = false;
  5497. new
  5498. name[MAX_PLAYER_NAME];
  5499. id = end - stringPos;
  5500. foreach (Player, playerid)
  5501. {
  5502. GetPlayerName(playerid, name, sizeof (name));
  5503. if (!strcmp(name, string[stringPos], true, id))
  5504. {
  5505. setarg(paramPos, 0, playerid);
  5506. num = true;
  5507. break;
  5508. }
  5509. }
  5510. if (!num)
  5511. {
  5512. setarg(paramPos, 0, INVALID_PLAYER_ID);
  5513. }
  5514. string[end] = ch;
  5515. #if defined __SSCANF_FOREACH__
  5516. #undef foreach
  5517. #undef __SSCANF_FOREACH__
  5518. #endif
  5519. }
  5520. stringPos = end;
  5521. }
  5522. case 's', 'z':
  5523. {
  5524. new
  5525. i = 0,
  5526. ch;
  5527. if (format[formatPos])
  5528. {
  5529. while ((ch = string[stringPos++]) && ch != delim)
  5530. {
  5531. setarg(paramPos, i++, ch);
  5532. }
  5533. if (!i)
  5534. {
  5535. return -1;
  5536. }
  5537. }
  5538. else
  5539. {
  5540. while ((ch = string[stringPos++]))
  5541. {
  5542. setarg(paramPos, i++, ch);
  5543. }
  5544. }
  5545. stringPos--;
  5546. setarg(paramPos, i, '\0');
  5547. }
  5548. default:
  5549. {
  5550. continue;
  5551. }
  5552. }
  5553. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  5554. {
  5555. stringPos++;
  5556. }
  5557. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  5558. {
  5559. stringPos++;
  5560. }
  5561. paramPos++;
  5562. }
  5563. do
  5564. {
  5565. if ((delim = format[formatPos++]) > ' ')
  5566. {
  5567. if (delim == '\'')
  5568. {
  5569. while ((delim = format[formatPos++]) && delim != '\'') {}
  5570. }
  5571. else if (delim != 'z')
  5572. {
  5573. return delim;
  5574. }
  5575. }
  5576. }
  5577. while (delim > ' ');
  5578. return 0;
  5579. }
  5580.  
  5581. stock strvalEx( const string[] ) // fix for strval-bug with > 50 letters.
  5582. {
  5583. // written by mabako in less than a minute :X
  5584. if( strlen( string ) >= 50 ) return 0; // It will just return 0 if the string is too long
  5585. return strval(string);
  5586. }
  5587. stock IsValidName(playerid)
  5588. {
  5589. if (IsPlayerConnected(playerid))
  5590. {
  5591. new player[24];
  5592. GetPlayerName(playerid,player,24);
  5593. for(new n = 0; n < strlen(player); n++)
  5594. {
  5595. if (player[n] == '_' && player[n+1] >= 'A' && player[n+1] <= 'Z') return 1;
  5596. if (player[n] == ']' || player[n] == '[') return 0;
  5597. }
  5598. }
  5599. return 0;
  5600. }
  5601.  
  5602. stock PlayerName(playerid)
  5603. {
  5604. new pName[MAX_PLAYER_NAME];
  5605. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  5606. return pName;
  5607. }
  5608.  
  5609. stock IsPlayerSpawned(playerid)
  5610. {
  5611. switch(GetPlayerState(playerid))
  5612. {
  5613. case 1,2,3: return 1;
  5614. }
  5615. return 0;
  5616. }
  5617.  
  5618. stock IsMeleeWeapon(weaponid)
  5619. {
  5620. switch(weaponid)
  5621. {
  5622. case 2 .. 15, 41 .. 42: return 1;
  5623. }
  5624. return 0;
  5625. }
  5626.  
  5627. stock RemovePlayerWeapon(playerid, weaponid)
  5628. {
  5629. new WeaponData[12][2];
  5630. for(new i=1; i < sizeof(WeaponData); i++)
  5631. {
  5632. GetPlayerWeaponData(playerid, i, WeaponData[i][0], WeaponData[i][1]);
  5633. }
  5634. ResetPlayerWeapons(playerid);
  5635. for(new i=1; i < sizeof(WeaponData); i++)
  5636. {
  5637. if(WeaponData[i][0] != weaponid)
  5638. {
  5639. GivePlayerWeapon(playerid, WeaponData[i][0], WeaponData[i][1]);
  5640. }
  5641. }
  5642. }
  5643.  
  5644. stock IsBicycle(vehicleid)
  5645. {
  5646. switch(GetVehicleModel(vehicleid))
  5647. {
  5648. case 481,509,510: return 1;
  5649. }
  5650. return 0;
  5651. }
  5652.  
  5653. stock PlayerToPlayer(playerid, targetid, Float:dist)
  5654. {
  5655. new Float:pos[3];
  5656. GetPlayerPos(targetid, pos[0], pos[1], pos[2]);
  5657. return IsPlayerInRangeOfPoint(playerid, dist, pos[0], pos[1], pos[2]);
  5658. }
  5659.  
  5660. stock PlayerToVehicle(playerid, vehicleid, Float:dist)
  5661. {
  5662. new Float:pos[3];
  5663. GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
  5664. return IsPlayerInRangeOfPoint(playerid, dist, pos[0], pos[1], pos[2]);
  5665. }
  5666.  
  5667. stock GetClosestVehicle(playerid)
  5668. {
  5669. new Float:x, Float:y, Float:z;
  5670. new Float:dist, Float:closedist=9999, closeveh;
  5671. for(new i=1; i < MAX_VEHICLES; i++)
  5672. {
  5673. if(GetVehiclePos(i, x, y, z))
  5674. {
  5675. dist = GetPlayerDistanceFromPoint(playerid, x, y, z);
  5676. if(dist < closedist)
  5677. {
  5678. closedist = dist;
  5679. closeveh = i;
  5680. }
  5681. }
  5682. }
  5683. return closeveh;
  5684. }
  5685.  
  5686. stock ToggleEngine(vehicleid, toggle)
  5687. {
  5688. new engine, lights, alarm, doors, bonnet, boot, objective;
  5689. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  5690. SetVehicleParamsEx(vehicleid, toggle, lights, alarm, doors, bonnet, boot, objective);
  5691. }
  5692.  
  5693. stock ToggleAlarm(vehicleid, toggle)
  5694. {
  5695. new engine, lights, alarm, doors, bonnet, boot, objective;
  5696. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  5697. SetVehicleParamsEx(vehicleid, engine, lights, toggle, doors, bonnet, boot, objective);
  5698. }
  5699.  
  5700. stock IsNumeric(const string[])
  5701. {
  5702. for(new i=0; string[i]; i++)
  5703. {
  5704. if(string[i] < '0' || string[i] > '9') return 0;
  5705. }
  5706. return 1;
  5707. }
  5708.  
  5709. stock GetVehicleModelIDFromName(const vname[])
  5710. {
  5711. for(new i=0; i < sizeof(VehicleNames); i++)
  5712. {
  5713. if(strfind(VehicleNames[i], vname, true) != -1) return i + 400;
  5714. }
  5715. return -1;
  5716. }
  5717.  
  5718. stock GetPlayer2DZone(playerid)
  5719. {
  5720. new zone[32] = "San Andreas";
  5721. new Float:x, Float:y, Float:z;
  5722. GetPlayerPos(playerid, x, y, z);
  5723. for(new i = 0; i < sizeof(SanAndreasZones); i++)
  5724. {
  5725. if(x >= SanAndreasZones[i][Zone_Area][0] && x <= SanAndreasZones[i][Zone_Area][3]
  5726. && y >= SanAndreasZones[i][Zone_Area][1] && y <= SanAndreasZones[i][Zone_Area][4])
  5727. {
  5728. strcpy(zone, sizeof(zone), SanAndreasZones[i][Zone_Name]);
  5729. return zone;
  5730. }
  5731. }
  5732. return zone;
  5733. }
  5734. stock GetPlayer3DZone(playerid)
  5735. {
  5736. new zone[32] = "San Andreas";
  5737. new Float:x, Float:y, Float:z;
  5738. GetPlayerPos(playerid, x, y, z);
  5739. for(new i = 0; i < sizeof(SanAndreasZones); i++)
  5740. {
  5741. if(x >= SanAndreasZones[i][Zone_Area][0] && x <= SanAndreasZones[i][Zone_Area][3]
  5742. && y >= SanAndreasZones[i][Zone_Area][1] && y <= SanAndreasZones[i][Zone_Area][4]
  5743. && z >= SanAndreasZones[i][Zone_Area][2] && z <= SanAndreasZones[i][Zone_Area][5])
  5744. {
  5745. strcpy(zone, sizeof(zone), SanAndreasZones[i][Zone_Name]);
  5746. return zone;
  5747. }
  5748. }
  5749. return zone;
  5750. }
  5751.  
  5752. LoadVehicles()
  5753. {
  5754. new File:handle, count;
  5755. new Filename[64], line[256];
  5756. for(new i=1; i < MAX_DVEHICLES; i++)
  5757. {
  5758. format(Filename, sizeof(Filename), VEHICLE_File_PATH "v%d.ini", i);
  5759. if(!fexist(Filename)) continue;
  5760. handle = fopen(Filename, io_read);
  5761. while(fread(handle, line))
  5762. {
  5763. StripNL(line);
  5764. if(!line[0]) continue;
  5765. if(strcmp(line, "Created=", false, 8) == 0) VehicleCreated[i] = strval(line[8]);
  5766. else if(strcmp(line, "Model=", false, 6) == 0) VehicleModel[i] = strval(line[6]);
  5767. else if(strcmp(line, "Pos=", false, 4) == 0) sscanf(line[4], "p,ffff", VehiclePos[i][0], VehiclePos[i][1],
  5768. VehiclePos[i][2], VehiclePos[i][3]);
  5769. else if(strcmp(line, "Colors=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleColor[i][0], VehicleColor[i][1]);
  5770. else if(strcmp(line, "Interior=", false, 9) == 0) VehicleInterior[i] = strval(line[9]);
  5771. else if(strcmp(line, "VirtualWorld=", false, 13) == 0) VehicleWorld[i] = strval(line[13]);
  5772. else if(strcmp(line, "Owner=", false, 6) == 0) strcpy(VehicleOwner[i], sizeof(VehicleOwner[]), line[6]);
  5773. else if(strcmp(line, "NumberPlate=", false, 12) == 0) strcpy(VehicleNumberPlate[i], sizeof(VehicleNumberPlate[]), line[12]);
  5774. else if(strcmp(line, "Value=", false, 6) == 0) VehicleValue[i] = strval(line[6]);
  5775. else if(strcmp(line, "Trunk1=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleTrunk[i][0][0], VehicleTrunk[i][0][1]);
  5776. else if(strcmp(line, "Trunk2=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleTrunk[i][1][0], VehicleTrunk[i][1][1]);
  5777. else if(strcmp(line, "Trunk3=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleTrunk[i][2][0], VehicleTrunk[i][2][1]);
  5778. else if(strcmp(line, "Trunk4=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleTrunk[i][3][0], VehicleTrunk[i][3][1]);
  5779. else if(strcmp(line, "Trunk5=", false, 7) == 0) sscanf(line[7], "p,dd", VehicleTrunk[i][4][0], VehicleTrunk[i][4][1]);
  5780. else if(strcmp(line, "Mod0=", false, 5) == 0) VehicleMods[i][0] = strval(line[5]);
  5781. else if(strcmp(line, "Mod1=", false, 5) == 0) VehicleMods[i][1] = strval(line[5]);
  5782. else if(strcmp(line, "Mod2=", false, 5) == 0) VehicleMods[i][2] = strval(line[5]);
  5783. else if(strcmp(line, "Mod3=", false, 5) == 0) VehicleMods[i][3] = strval(line[5]);
  5784. else if(strcmp(line, "Mod4=", false, 5) == 0) VehicleMods[i][4] = strval(line[5]);
  5785. else if(strcmp(line, "Mod5=", false, 5) == 0) VehicleMods[i][5] = strval(line[5]);
  5786. else if(strcmp(line, "Mod6=", false, 5) == 0) VehicleMods[i][6] = strval(line[5]);
  5787. else if(strcmp(line, "Mod7=", false, 5) == 0) VehicleMods[i][7] = strval(line[5]);
  5788. else if(strcmp(line, "Mod8=", false, 5) == 0) VehicleMods[i][8] = strval(line[5]);
  5789. else if(strcmp(line, "Mod9=", false, 5) == 0) VehicleMods[i][9] = strval(line[5]);
  5790. else if(strcmp(line, "Mod10=", false, 6) == 0) VehicleMods[i][10] = strval(line[6]);
  5791. else if(strcmp(line, "Mod11=", false, 6) == 0) VehicleMods[i][11] = strval(line[6]);
  5792. else if(strcmp(line, "Mod12=", false, 6) == 0) VehicleMods[i][12] = strval(line[6]);
  5793. else if(strcmp(line, "Mod13=", false, 6) == 0) VehicleMods[i][13] = strval(line[6]);
  5794. else if(strcmp(line, "Paintjob=", false, 9) == 0) VehiclePaintjob[i] = strval(line[9]);
  5795. }
  5796. fclose(handle);
  5797. if(VehicleCreated[i]) count++;
  5798. }
  5799. printf("------ Dealerships System Started------ ");
  5800. printf(" Loaded %d vehicles", count);
  5801. }
  5802.  
  5803. SaveVehicle(vehicleid)
  5804. {
  5805. new Filename[64], line[256];
  5806. format(Filename, sizeof(Filename), VEHICLE_File_PATH "v%d.ini", vehicleid);
  5807. new File:handle = fopen(Filename, io_write);
  5808. format(line, sizeof(line), "Created=%d\r\n", VehicleCreated[vehicleid]); fwrite(handle, line);
  5809. format(line, sizeof(line), "Model=%d\r\n", VehicleModel[vehicleid]); fwrite(handle, line);
  5810. format(line, sizeof(line), "Pos=%.3f,%.3f,%.3f,%.3f\r\n", VehiclePos[vehicleid][0], VehiclePos[vehicleid][1],
  5811. VehiclePos[vehicleid][2], VehiclePos[vehicleid][3]);
  5812. fwrite(handle, line);
  5813. format(line, sizeof(line), "Colors=%d,%d\r\n", VehicleColor[vehicleid][0], VehicleColor[vehicleid][1]); fwrite(handle, line);
  5814. format(line, sizeof(line), "Interior=%d\r\n", VehicleInterior[vehicleid]); fwrite(handle, line);
  5815. format(line, sizeof(line), "VirtualWorld=%d\r\n", VehicleWorld[vehicleid]); fwrite(handle, line);
  5816. format(line, sizeof(line), "Owner=%s\r\n", VehicleOwner[vehicleid]); fwrite(handle, line);
  5817. format(line, sizeof(line), "NumberPlate=%s\r\n", VehicleNumberPlate[vehicleid]); fwrite(handle, line);
  5818. format(line, sizeof(line), "Value=%d\r\n", VehicleValue[vehicleid]); fwrite(handle, line);
  5819. format(line, sizeof(line), "Trunk1=%d,%d\r\n", VehicleTrunk[vehicleid][0][0], VehicleTrunk[vehicleid][0][1]); fwrite(handle, line);
  5820. format(line, sizeof(line), "Trunk2=%d,%d\r\n", VehicleTrunk[vehicleid][1][0], VehicleTrunk[vehicleid][1][1]); fwrite(handle, line);
  5821. format(line, sizeof(line), "Trunk3=%d,%d\r\n", VehicleTrunk[vehicleid][2][0], VehicleTrunk[vehicleid][2][1]); fwrite(handle, line);
  5822. format(line, sizeof(line), "Trunk4=%d,%d\r\n", VehicleTrunk[vehicleid][3][0], VehicleTrunk[vehicleid][3][1]); fwrite(handle, line);
  5823. format(line, sizeof(line), "Trunk5=%d,%d\r\n", VehicleTrunk[vehicleid][4][0], VehicleTrunk[vehicleid][4][1]); fwrite(handle, line);
  5824. format(line, sizeof(line), "Mod0=%d\r\n", VehicleMods[vehicleid][0]); fwrite(handle, line);
  5825. format(line, sizeof(line), "Mod1=%d\r\n", VehicleMods[vehicleid][1]); fwrite(handle, line);
  5826. format(line, sizeof(line), "Mod2=%d\r\n", VehicleMods[vehicleid][2]); fwrite(handle, line);
  5827. format(line, sizeof(line), "Mod3=%d\r\n", VehicleMods[vehicleid][3]); fwrite(handle, line);
  5828. format(line, sizeof(line), "Mod4=%d\r\n", VehicleMods[vehicleid][4]); fwrite(handle, line);
  5829. format(line, sizeof(line), "Mod5=%d\r\n", VehicleMods[vehicleid][5]); fwrite(handle, line);
  5830. format(line, sizeof(line), "Mod6=%d\r\n", VehicleMods[vehicleid][6]); fwrite(handle, line);
  5831. format(line, sizeof(line), "Mod7=%d\r\n", VehicleMods[vehicleid][7]); fwrite(handle, line);
  5832. format(line, sizeof(line), "Mod8=%d\r\n", VehicleMods[vehicleid][8]); fwrite(handle, line);
  5833. format(line, sizeof(line), "Mod9=%d\r\n", VehicleMods[vehicleid][9]); fwrite(handle, line);
  5834. format(line, sizeof(line), "Mod10=%d\r\n", VehicleMods[vehicleid][10]); fwrite(handle, line);
  5835. format(line, sizeof(line), "Mod11=%d\r\n", VehicleMods[vehicleid][11]); fwrite(handle, line);
  5836. format(line, sizeof(line), "Mod12=%d\r\n", VehicleMods[vehicleid][12]); fwrite(handle, line);
  5837. format(line, sizeof(line), "Mod13=%d\r\n", VehicleMods[vehicleid][13]); fwrite(handle, line);
  5838. format(line, sizeof(line), "Paintjob=%d\r\n", VehiclePaintjob[vehicleid]); fwrite(handle, line);
  5839. fclose(handle);
  5840. }
  5841.  
  5842. UpdateVehicle(vehicleid, removeold)
  5843. {
  5844. if(VehicleCreated[vehicleid])
  5845. {
  5846. if(removeold)
  5847. {
  5848. new Float:health;
  5849. GetVehicleHealth(VehicleID[vehicleid], health);
  5850. new engine, lights, alarm, doors, bonnet, boot, objective;
  5851. GetVehicleParamsEx(VehicleID[vehicleid], engine, lights, alarm, doors, bonnet, boot, objective);
  5852. //new panels, doorsd, lightsd, tires;
  5853. //GetVehicleDamageStatus(VehicleID[vehicleid], panels, doorsd, lightsd, tires);
  5854. DestroyVehicle(VehicleID[vehicleid]);
  5855. VehicleID[vehicleid] = CreateVehicle(VehicleModel[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1],
  5856. VehiclePos[vehicleid][2], VehiclePos[vehicleid][3], VehicleColor[vehicleid][0], VehicleColor[vehicleid][1], 3600);
  5857. SetVehicleHealth(VehicleID[vehicleid], health);
  5858. SetVehicleParamsEx(VehicleID[vehicleid], engine, lights, alarm, doors, bonnet, boot, objective);
  5859. //UpdateVehicleDamageStatus(VehicleID[vehicleid], panels, doorsd, lightsd, tires);
  5860. }
  5861. else
  5862. {
  5863. VehicleID[vehicleid] = CreateVehicle(VehicleModel[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1],
  5864. VehiclePos[vehicleid][2], VehiclePos[vehicleid][3], VehicleColor[vehicleid][0], VehicleColor[vehicleid][1], 3600);
  5865. }
  5866. LinkVehicleToInterior(VehicleID[vehicleid], VehicleInterior[vehicleid]);
  5867. SetVehicleVirtualWorld(VehicleID[vehicleid], VehicleWorld[vehicleid]);
  5868. SetVehicleNumberPlate(VehicleID[vehicleid], VehicleNumberPlate[vehicleid]);
  5869. for(new i=0; i < sizeof(VehicleMods[]); i++)
  5870. {
  5871. AddVehicleComponent(VehicleID[vehicleid], VehicleMods[vehicleid][i]);
  5872. }
  5873. ChangeVehiclePaintjob(VehicleID[vehicleid], VehiclePaintjob[vehicleid]);
  5874. UpdateVehicleLabel(vehicleid, removeold);
  5875. }
  5876. }
  5877.  
  5878. UpdateVehicleLabel(vehicleid, removeold)
  5879. {
  5880. if(VehicleCreated[vehicleid] == VEHICLE_DEALERSHIP)
  5881. {
  5882. if(removeold)
  5883. {
  5884. Delete3DTextLabel(VehicleLabel[vehicleid]);
  5885. }
  5886. new labeltext[128];
  5887. format(labeltext, sizeof(labeltext), "%s\nID: %d\nDealership: %s\nPrice: $%d", VehicleNames[VehicleModel[vehicleid]-400],
  5888. vehicleid, VehicleOwner[vehicleid], VehicleValue[vehicleid]);
  5889. VehicleLabel[vehicleid] = Create3DTextLabel(labeltext, 0xBB7700DD, 0, 0, 0, 10.0, 0);
  5890. Attach3DTextLabelToVehicle(VehicleLabel[vehicleid], VehicleID[vehicleid], 0, 0, 0);
  5891. }
  5892. }
  5893.  
  5894. IsValidVehicle(vehicleid)
  5895. {
  5896. if(vehicleid < 1 || vehicleid >= MAX_DVEHICLES) return 0;
  5897. if(VehicleCreated[vehicleid]) return 1;
  5898. return 0;
  5899. }
  5900.  
  5901. GetVehicleID(vehicleid)
  5902. {
  5903. for(new i=1; i < MAX_DVEHICLES; i++)
  5904. {
  5905. if(VehicleCreated[i] && VehicleID[i] == vehicleid) return i;
  5906. }
  5907. return 0;
  5908. }
  5909.  
  5910. GetPlayerVehicles(playerid)
  5911. {
  5912. new count;
  5913. for(new i=1; i < MAX_DVEHICLES; i++)
  5914. {
  5915. if(VehicleCreated[i] == VEHICLE_PLAYER && strcmp(VehicleOwner[i], PlayerName(playerid)) == 0)
  5916. {
  5917. count++;
  5918. }
  5919. }
  5920. return count;
  5921. }
  5922.  
  5923. GetPlayerVehicleAccess(playerid, vehicleid)
  5924. {
  5925. if(IsValidVehicle(vehicleid))
  5926. {
  5927. if(VehicleCreated[vehicleid] == VEHICLE_DEALERSHIP)
  5928. {
  5929. if(PlayerInfo[playerid][pAdmin] < 6)
  5930. {
  5931. return 3;
  5932. }
  5933. }
  5934. else if(VehicleCreated[vehicleid] == VEHICLE_PLAYER)
  5935. {
  5936. if(strcmp(VehicleOwner[vehicleid], PlayerName(playerid)) == 0)
  5937. {
  5938. return 1;
  5939. }
  5940. else if(GetPVarInt(playerid, "CarKeys") == vehicleid)
  5941. {
  5942. return 2;
  5943. }
  5944. }
  5945. }
  5946. else
  5947. {
  5948. return 2;
  5949. }
  5950. return 0;
  5951. }
  5952.  
  5953. LoadDealerships()
  5954. {
  5955. new File:handle, count;
  5956. new Filename[64], line[256];
  5957. for(new i=1; i < MAX_DEALERSHIPS; i++)
  5958. {
  5959. format(Filename, sizeof(Filename), DEALERSHIP_File_PATH "d%d.ini", i);
  5960. if(!fexist(Filename)) continue;
  5961. handle = fopen(Filename, io_read);
  5962. while(fread(handle, line))
  5963. {
  5964. StripNL(line);
  5965. if(!line[0]) continue;
  5966. if(strcmp(line, "Created=", false, 8) == 0) DealershipCreated[i] = strval(line[8]);
  5967. else if(strcmp(line, "Pos=", false, 4) == 0) sscanf(line[4], "p,fff", DealershipPos[i][0],
  5968. DealershipPos[i][1], DealershipPos[i][2]);
  5969. }
  5970. fclose(handle);
  5971. if(DealershipCreated[i]) count++;
  5972. }
  5973. printf(" Loaded %d dealerships", count);
  5974. }
  5975.  
  5976. SaveDealership(dealerid)
  5977. {
  5978. new Filename[64], line[256];
  5979. format(Filename, sizeof(Filename), DEALERSHIP_File_PATH "d%d.ini", dealerid);
  5980. new File:handle = fopen(Filename, io_write);
  5981. format(line, sizeof(line), "Created=%d\r\n", DealershipCreated[dealerid]); fwrite(handle, line);
  5982. format(line, sizeof(line), "Pos=%.3f,%.3f,%.3f\r\n", DealershipPos[dealerid][0],
  5983. DealershipPos[dealerid][1], DealershipPos[dealerid][2]);
  5984. fwrite(handle, line);
  5985. fclose(handle);
  5986. }
  5987.  
  5988. UpdateDealership(dealerid, removeold)
  5989. {
  5990. if(DealershipCreated[dealerid])
  5991. {
  5992. if(removeold)
  5993. {
  5994. Delete3DTextLabel(DealershipLabel[dealerid]);
  5995. }
  5996. new labeltext[32];
  5997. format(labeltext, sizeof(labeltext), "Vehicle Dealership\nID: %d", dealerid);
  5998. DealershipLabel[dealerid] = Create3DTextLabel(labeltext, 0x00BB00DD, DealershipPos[dealerid][0],
  5999. DealershipPos[dealerid][1], DealershipPos[dealerid][2]+0.5, 20.0, 0);
  6000. }
  6001. }
  6002.  
  6003. IsValidDealership(dealerid)
  6004. {
  6005. if(dealerid < 1 || dealerid >= MAX_DEALERSHIPS) return 0;
  6006. if(DealershipCreated[dealerid]) return 1;
  6007. return 0;
  6008. }
  6009.  
  6010. LoadFuelStations()
  6011. {
  6012. new File:handle, count;
  6013. new Filename[64], line[256];
  6014. for(new i=1; i < MAX_FUEL_STATIONS; i++)
  6015. {
  6016. format(Filename, sizeof(Filename), FUEL_STATION_File_PATH "f%d.ini", i);
  6017. if(!fexist(Filename)) continue;
  6018. handle = fopen(Filename, io_read);
  6019. while(fread(handle, line))
  6020. {
  6021. StripNL(line);
  6022. if(!line[0]) continue;
  6023. if(strcmp(line, "Created=", false, 8) == 0) FuelStationCreated[i] = strval(line[8]);
  6024. else if(strcmp(line, "Pos=", false, 4) == 0) sscanf(line[4], "p,fff", FuelStationPos[i][0],
  6025. FuelStationPos[i][1], FuelStationPos[i][2]);
  6026. }
  6027. fclose(handle);
  6028. if(FuelStationCreated[i]) count++;
  6029. }
  6030. printf(" Loaded %d fuel stations", count);
  6031. }
  6032.  
  6033. SaveFuelStation(stationid)
  6034. {
  6035. new Filename[64], line[256];
  6036. format(Filename, sizeof(Filename), FUEL_STATION_File_PATH "f%d.ini", stationid);
  6037. new File:handle = fopen(Filename, io_write);
  6038. format(line, sizeof(line), "Created=%d\r\n", FuelStationCreated[stationid]); fwrite(handle, line);
  6039. format(line, sizeof(line), "Pos=%.3f,%.3f,%.3f\r\n", FuelStationPos[stationid][0],
  6040. FuelStationPos[stationid][1], FuelStationPos[stationid][2]);
  6041. fwrite(handle, line);
  6042. fclose(handle);
  6043. }
  6044.  
  6045. UpdateFuelStation(stationid, removeold)
  6046. {
  6047. if(FuelStationCreated[stationid])
  6048. {
  6049. if(removeold)
  6050. {
  6051. Delete3DTextLabel(FuelStationLabel[stationid]);
  6052. }
  6053. new labeltext[32];
  6054. format(labeltext, sizeof(labeltext), "Fuel Station\nID: %d\n/fuel", stationid);
  6055. FuelStationLabel[stationid] = Create3DTextLabel(labeltext, 0x00BBFFDD, FuelStationPos[stationid][0],
  6056. FuelStationPos[stationid][1], FuelStationPos[stationid][2]+0.5, 20.0, 0);
  6057. }
  6058. }
  6059.  
  6060. IsValidFuelStation(stationid)
  6061. {
  6062. if(stationid < 1 || stationid >= MAX_FUEL_STATIONS) return 0;
  6063. if(FuelStationCreated[stationid]) return 1;
  6064. return 0;
  6065. }
  6066. stock GetVehicleName(vehicleid, model[], len)
  6067. {
  6068. new vid = GetVehicleModel(vehicleid);
  6069. if(vid == 400) return format(model, len, "Landstalker", 0);
  6070. else if(vid == 401) return format(model, len, "Bravura", 0);
  6071. else if(vid == 402) return format(model, len, "Buffalo", 0);
  6072. else if(vid == 403) return format(model, len, "Linerunner", 0);
  6073. else if(vid == 404) return format(model, len, "Perenail", 0);
  6074. else if(vid == 405) return format(model, len, "Sentinel", 0);
  6075. else if(vid == 406) return format(model, len, "Dumper", 0);
  6076. else if(vid == 407) return format(model, len, "Firetruck", 0);
  6077. else if(vid == 408) return format(model, len, "Trashmaster", 0);
  6078. else if(vid == 409) return format(model, len, "Stretch", 0);
  6079. else if(vid == 410) return format(model, len, "Manana", 0);
  6080. else if(vid == 411) return format(model, len, "Infernus", 0);
  6081. else if(vid == 412) return format(model, len, "Vodooo", 0);
  6082. else if(vid == 413) return format(model, len, "Pony", 0);
  6083. else if(vid == 414) return format(model, len, "Mule", 0);
  6084. else if(vid == 415) return format(model, len, "Cheetah", 0);
  6085. else if(vid == 416) return format(model, len, "Ambulance", 0);
  6086. else if(vid == 417) return format(model, len, "Leviathan", 0);
  6087. else if(vid == 418) return format(model, len, "Moonbeam", 0);
  6088. else if(vid == 419) return format(model, len, "Esperanto", 0);
  6089. else if(vid == 420) return format(model, len, "Taxi", 0);
  6090. else if(vid == 421) return format(model, len, "Washington", 0);
  6091. else if(vid == 422) return format(model, len, "Bobcat", 0);
  6092. else if(vid == 423) return format(model, len, "Mr Whoopee", 0);
  6093. else if(vid == 424) return format(model, len, "BF Injection", 0);
  6094. else if(vid == 425) return format(model, len, "Hunter", 0);
  6095. else if(vid == 426) return format(model, len, "Premier", 0);
  6096. else if(vid == 427) return format(model, len, "S.W.A.T Truck", 0);
  6097. else if(vid == 428) return format(model, len, "Securicar", 0);
  6098. else if(vid == 429) return format(model, len, "Banshee", 0);
  6099. else if(vid == 430) return format(model, len, "Predator", 0);
  6100. else if(vid == 431) return format(model, len, "Bus", 0);
  6101. else if(vid == 432) return format(model, len, "Rhino", 0);
  6102. else if(vid == 433) return format(model, len, "Barracks", 0);
  6103. else if(vid == 434) return format(model, len, "Hotknife", 0);
  6104. else if(vid == 435) return format(model, len, "Trailer", 0);
  6105. else if(vid == 436) return format(model, len, "Previon", 0);
  6106. else if(vid == 437) return format(model, len, "Coach", 0);
  6107. else if(vid == 438) return format(model, len, "Cabbie", 0);
  6108. else if(vid == 439) return format(model, len, "Stallion", 0);
  6109. else if(vid == 440) return format(model, len, "Rumpo", 0);
  6110. else if(vid == 441) return format(model, len, "RC Bandit", 0);
  6111. else if(vid == 442) return format(model, len, "Romero", 0);
  6112. else if(vid == 443) return format(model, len, "Packer", 0);
  6113. else if(vid == 444) return format(model, len, "Monster", 0);
  6114. else if(vid == 445) return format(model, len, "Admiral", 0);
  6115. else if(vid == 446) return format(model, len, "Squalo", 0);
  6116. else if(vid == 447) return format(model, len, "Seasparrow", 0);
  6117. else if(vid == 448) return format(model, len, "Pizza Boy", 0);
  6118. else if(vid == 449) return format(model, len, "Tram", 0);
  6119. else if(vid == 450) return format(model, len, "Trailer 2", 0);
  6120. else if(vid == 451) return format(model, len, "Turismo", 0);
  6121. else if(vid == 452) return format(model, len, "Speeder", 0);
  6122. else if(vid == 453) return format(model, len, "Refeer", 0);
  6123. else if(vid == 454) return format(model, len, "Tropic", 0);
  6124. else if(vid == 455) return format(model, len, "Flatbed", 0);
  6125. else if(vid == 456) return format(model, len, "Yankee", 0);
  6126. else if(vid == 457) return format(model, len, "Caddy", 0);
  6127. else if(vid == 458) return format(model, len, "Solair", 0);
  6128. else if(vid == 459) return format(model, len, "Top Fun", 0);
  6129. else if(vid == 460) return format(model, len, "Skimmer", 0);
  6130. else if(vid == 461) return format(model, len, "PCJ-600", 0);
  6131. else if(vid == 462) return format(model, len, "Faggio", 0);
  6132. else if(vid == 463) return format(model, len, "Freeway", 0);
  6133. else if(vid == 464) return format(model, len, "RC Baron", 0);
  6134. else if(vid == 465) return format(model, len, "RC Raider", 0);
  6135. else if(vid == 466) return format(model, len, "Glendade", 0);
  6136. else if(vid == 467) return format(model, len, "Oceanic", 0);
  6137. else if(vid == 468) return format(model, len, "Sanchez", 0);
  6138. else if(vid == 469) return format(model, len, "Sparrow", 0);
  6139. else if(vid == 470) return format(model, len, "Patriot", 0);
  6140. else if(vid == 471) return format(model, len, "Quad", 0);
  6141. else if(vid == 472) return format(model, len, "Coastguard", 0);
  6142. else if(vid == 473) return format(model, len, "Dinghy", 0);
  6143. else if(vid == 474) return format(model, len, "Hermes", 0);
  6144. else if(vid == 475) return format(model, len, "Sabre", 0);
  6145. else if(vid == 476) return format(model, len, "Rustler", 0);
  6146. else if(vid == 477) return format(model, len, "ZR-350", 0);
  6147. else if(vid == 478) return format(model, len, "Walton", 0);
  6148. else if(vid == 479) return format(model, len, "Regina", 0);
  6149. else if(vid == 480) return format(model, len, "Comet", 0);
  6150. else if(vid == 481) return format(model, len, "BMX", 0);
  6151. else if(vid == 482) return format(model, len, "Burrito", 0);
  6152. else if(vid == 483) return format(model, len, "Camper", 0);
  6153. else if(vid == 484) return format(model, len, "Marquis", 0);
  6154. else if(vid == 485) return format(model, len, "Baggage", 0);
  6155. else if(vid == 486) return format(model, len, "Dozer", 0);
  6156. else if(vid == 487) return format(model, len, "Maverick", 0);
  6157. else if(vid == 488) return format(model, len, "News Maverick", 0);
  6158. else if(vid == 489) return format(model, len, "Rancher", 0);
  6159. else if(vid == 490) return format(model, len, "Federal Rancher", 0);
  6160. else if(vid == 491) return format(model, len, "Virgo", 0);
  6161. else if(vid == 492) return format(model, len, "Greenwood", 0);
  6162. else if(vid == 493) return format(model, len, "Jetmax", 0);
  6163. else if(vid == 494) return format(model, len, "Hotring", 0);
  6164. else if(vid == 495) return format(model, len, "Sandking", 0);
  6165. else if(vid == 496) return format(model, len, "Blista Compact", 0);
  6166. else if(vid == 497) return format(model, len, "Police Maverick", 0);
  6167. else if(vid == 498) return format(model, len, "Boxville", 0);
  6168. else if(vid == 499) return format(model, len, "Benson", 0);
  6169. else if(vid == 500) return format(model, len, "Mesa", 0);
  6170. else if(vid == 501) return format(model, len, "RC Goblin", 0);
  6171. else if(vid == 502) return format(model, len, "Hotring A", 0);
  6172. else if(vid == 503) return format(model, len, "Hotring B", 0);
  6173. else if(vid == 504) return format(model, len, "Blooding Banger", 0);
  6174. else if(vid == 505) return format(model, len, "Rancher", 0);
  6175. else if(vid == 506) return format(model, len, "Super GT", 0);
  6176. else if(vid == 507) return format(model, len, "Elegant", 0);
  6177. else if(vid == 508) return format(model, len, "Journey", 0);
  6178. else if(vid == 509) return format(model, len, "Bike", 0);
  6179. else if(vid == 510) return format(model, len, "Mountain Bike", 0);
  6180. else if(vid == 511) return format(model, len, "Beagle", 0);
  6181. else if(vid == 512) return format(model, len, "Cropduster", 0);
  6182. else if(vid == 513) return format(model, len, "Stuntplane", 0);
  6183. else if(vid == 514) return format(model, len, "Petrol", 0);
  6184. else if(vid == 515) return format(model, len, "Roadtrain", 0);
  6185. else if(vid == 516) return format(model, len, "Nebula", 0);
  6186. else if(vid == 517) return format(model, len, "Majestic", 0);
  6187. else if(vid == 518) return format(model, len, "Buccaneer", 0);
  6188. else if(vid == 519) return format(model, len, "Shamal", 0);
  6189. else if(vid == 520) return format(model, len, "Hydra", 0);
  6190. else if(vid == 521) return format(model, len, "FCR-300", 0);
  6191. else if(vid == 522) return format(model, len, "NRG-500", 0);
  6192. else if(vid == 523) return format(model, len, "HPV-1000", 0);
  6193. else if(vid == 524) return format(model, len, "Cement Truck", 0);
  6194. else if(vid == 525) return format(model, len, "Towtruck", 0);
  6195. else if(vid == 526) return format(model, len, "Fortune", 0);
  6196. else if(vid == 527) return format(model, len, "Cadrona", 0);
  6197. else if(vid == 528) return format(model, len, "Federal Truck", 0);
  6198. else if(vid == 529) return format(model, len, "Williard", 0);
  6199. else if(vid == 530) return format(model, len, "Fork Lift", 0);
  6200. else if(vid == 531) return format(model, len, "Tractor", 0);
  6201. else if(vid == 532) return format(model, len, "Combine", 0);
  6202. else if(vid == 533) return format(model, len, "Feltzer", 0);
  6203. else if(vid == 534) return format(model, len, "Remington", 0);
  6204. else if(vid == 535) return format(model, len, "Slamvan", 0);
  6205. else if(vid == 536) return format(model, len, "Blade", 0);
  6206. else if(vid == 537) return format(model, len, "Freight", 0);
  6207. else if(vid == 538) return format(model, len, "Streak", 0);
  6208. else if(vid == 539) return format(model, len, "Vortex", 0);
  6209. else if(vid == 540) return format(model, len, "Vincent", 0);
  6210. else if(vid == 541) return format(model, len, "Bullet", 0);
  6211. else if(vid == 542) return format(model, len, "Clover", 0);
  6212. else if(vid == 543) return format(model, len, "Sadler", 0);
  6213. else if(vid == 544) return format(model, len, "Stairs Firetruck", 0);
  6214. else if(vid == 545) return format(model, len, "Hustler", 0);
  6215. else if(vid == 546) return format(model, len, "Intruder", 0);
  6216. else if(vid == 547) return format(model, len, "Primo", 0);
  6217. else if(vid == 548) return format(model, len, "Cargobob", 0);
  6218. else if(vid == 549) return format(model, len, "Tampa", 0);
  6219. else if(vid == 550) return format(model, len, "Sunrise", 0);
  6220. else if(vid == 551) return format(model, len, "Merit", 0);
  6221. else if(vid == 552) return format(model, len, "Utility Van", 0);
  6222. else if(vid == 553) return format(model, len, "Nevada", 0);
  6223. else if(vid == 554) return format(model, len, "Yosemite", 0);
  6224. else if(vid == 555) return format(model, len, "Windsor", 0);
  6225. else if(vid == 556) return format(model, len, "Monster A", 0);
  6226. else if(vid == 557) return format(model, len, "Monster B", 0);
  6227. else if(vid == 558) return format(model, len, "Uranus", 0);
  6228. else if(vid == 559) return format(model, len, "Jester", 0);
  6229. else if(vid == 560) return format(model, len, "Sultan", 0);
  6230. else if(vid == 561) return format(model, len, "Stratum", 0);
  6231. else if(vid == 562) return format(model, len, "Elegy", 0);
  6232. else if(vid == 563) return format(model, len, "Raindance", 0);
  6233. else if(vid == 564) return format(model, len, "RC Tiger", 0);
  6234. else if(vid == 565) return format(model, len, "Flash", 0);
  6235. else if(vid == 566) return format(model, len, "Tahoma", 0);
  6236. else if(vid == 567) return format(model, len, "Savanna", 0);
  6237. else if(vid == 568) return format(model, len, "Bandito", 0);
  6238. else if(vid == 569) return format(model, len, "Freight Flat", 0);
  6239. else if(vid == 570) return format(model, len, "Streak", 0);
  6240. else if(vid == 571) return format(model, len, "Kart", 0);
  6241. else if(vid == 572) return format(model, len, "Mower", 0);
  6242. else if(vid == 573) return format(model, len, "Duneride", 0);
  6243. else if(vid == 574) return format(model, len, "Sweeper", 0);
  6244. else if(vid == 575) return format(model, len, "Broadway", 0);
  6245. else if(vid == 576) return format(model, len, "Tornado", 0);
  6246. else if(vid == 577) return format(model, len, "AT-400", 0);
  6247. else if(vid == 578) return format(model, len, "DFT-30", 0);
  6248. else if(vid == 579) return format(model, len, "Huntley", 0);
  6249. else if(vid == 580) return format(model, len, "Stafford", 0);
  6250. else if(vid == 581) return format(model, len, "BF-400", 0);
  6251. else if(vid == 582) return format(model, len, "Raindance", 0);
  6252. else if(vid == 583) return format(model, len, "News Van", 0);
  6253. else if(vid == 584) return format(model, len, "Tug", 0);
  6254. else if(vid == 585) return format(model, len, "Petrol Tanker", 0);
  6255. else if(vid == 586) return format(model, len, "Wayfarer", 0);
  6256. else if(vid == 587) return format(model, len, "Euros", 0);
  6257. else if(vid == 588) return format(model, len, "Hotdog", 0);
  6258. else if(vid == 589) return format(model, len, "Club", 0);
  6259. else if(vid == 590) return format(model, len, "Freight Box", 0);
  6260. else if(vid == 591) return format(model, len, "Trailer 3", 0);
  6261. else if(vid == 592) return format(model, len, "Andromada", 0);
  6262. else if(vid == 593) return format(model, len, "Dodo", 0);
  6263. else if(vid == 594) return format(model, len, "RC Cam", 0);
  6264. else if(vid == 595) return format(model, len, "Launch", 0);
  6265. else if(vid == 596) return format(model, len, "LSPD Patrol Car", 0);
  6266. else if(vid == 597) return format(model, len, "FBI Patrol Car", 0);
  6267. else if(vid == 598) return format(model, len, "NG Patrol Car", 0);
  6268. else if(vid == 599) return format(model, len, "LSPD Patrol Ranger", 0);
  6269. else if(vid == 600) return format(model, len, "Picador", 0);
  6270. else if(vid == 601) return format(model, len, "S.W.A.T Tank", 0);
  6271. else if(vid == 602) return format(model, len, "Alpha", 0);
  6272. else if(vid == 603) return format(model, len, "Phoenix", 0);
  6273. else if(vid == 609) return format(model, len, "Boxville", 0);
  6274. return 0;
  6275. }
Advertisement
Add Comment
Please, Sign In to add comment