Guest User

Freeroam SAMP Script

a guest
Oct 31st, 2010
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 157.92 KB | None | 0 0
  1. #include <a_samp>
  2. #include <core>
  3. #include <float>
  4. #include <file>
  5. #include <dudb>
  6. #include <dini>
  7.  
  8. #define FILE_SETTINGS "settings.ini"
  9. #define FILE_TOTALSTAT "totalstat.ini"
  10. #define FILE_BLACKLIST "blacklist.ini"
  11.  
  12. #define COLOR_GREY 0xAFAFAFAA
  13. #define COLOR_GREEN 0x33AA33AA
  14. #define COLOR_RED 0xAA3333AA
  15. #define COLOR_YELLOW 0xFFFF00AA
  16. #define COLOR_WHITE 0xFFFFFFAA
  17. #define COLOR_BLUE 0x0000BBAA
  18. #define COLOR_LIGHTBLUE 0x33CCFFAA
  19. #define COLOR_ORANGE 0xFF9900AA
  20. #define MUSIC_OFF 1186
  21. #define CLASS_MUSIC_ON 1185
  22.  
  23. #define INACTIVE_PLAYER_ID 255
  24.  
  25. #define NUMVALUES 4
  26.  
  27. #define CP_BANK 0
  28. #define CP_PIRATE 1
  29. #define CP_AMMU 2
  30. #define CP_DRAGON 3
  31. #define CP_SEXSHOP 4
  32. #define CP_BAR 5
  33. #define CP_CALIGULA 6
  34. #define CP_ZIP 7
  35. #define CP_BINCO 8
  36. #define CP_TATOO 9
  37. #define CP_BOTIQUE 10
  38. #define CP_JIZZY 11
  39. #define CP_PIZZA 12
  40. #define CP_VICTIM 13
  41. #define CP_STRIPCLUB 14
  42. #define CP_WANGCARS 15
  43. #define CP_EMERALD 16
  44. #define CP_VISAGE 17
  45. #define CP_SUBURBAN 18
  46. #define CP_PROLAPS 19
  47. #define CP_BURGER 20
  48. #define CP_CLUCKIN 21
  49. #define CP_CLUB 22
  50. #define CP_DS 23
  51. #define CP_ZOMBO 24
  52.  
  53. #define P_DRAGON 0
  54. #define P_SEXSHOP 1
  55. #define P_BAR 2
  56. #define P_CALIGULA 3
  57. #define P_ZIP 4
  58. #define P_BINCO 5
  59. #define P_TATOO 6
  60. #define P_BOTIQUE 7
  61. #define P_JIZZY 8
  62. #define P_PIZZA 9
  63. #define P_VICTIM 10
  64. #define P_STRIPCLUB 11
  65. #define P_WANGCARS 12
  66. #define P_EMERALD 13
  67. #define P_VISAGE 14
  68. #define P_SUBURBAN 15
  69. #define P_PROLAPS 16
  70. #define P_BURGER 17
  71. #define P_CLUCKIN 18
  72. #define P_CLUB 19
  73. #define P_DS 20
  74. #define P_ZOMBO 21
  75.  
  76. #define P_OFFSET 3
  77.  
  78. forward SetPlayerRandomSpawn(playerid);
  79. forward SetupPlayerForClassSelection(playerid);
  80. forward GameModeExitFunc();
  81.  
  82. new iSpawnSet[MAX_PLAYERS];
  83. new bank[MAX_PLAYERS];
  84. new bounty[MAX_PLAYERS];
  85. new playerCheckpoint[MAX_PLAYERS];
  86. new worldTime;
  87. new god[MAX_PLAYERS];
  88. new payment[MAX_PLAYERS];
  89. new query[MAX_PLAYERS];
  90. new jailed[MAX_PLAYERS];
  91. new muted[MAX_PLAYERS];
  92. new logged[MAX_PLAYERS];
  93. new logintimeout[MAX_PLAYERS];
  94. new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
  95. new killsinarow[MAX_PLAYERS];
  96.  
  97. new playerColors[100] = {
  98. 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
  99. 0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
  100. 0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
  101. 0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
  102. 0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
  103. 0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
  104. 0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
  105. 0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
  106. 0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
  107. 0x3FE65CFF
  108. };
  109.  
  110. new Float:gRandomPlayerSpawns[23][3] = {
  111. {1958.3783,1343.1572,15.3746},
  112. {2199.6531,1393.3678,10.8203},
  113. {2483.5977,1222.0825,10.8203},
  114. {2637.2712,1129.2743,11.1797},
  115. {2000.0106,1521.1111,17.0625},
  116. {2024.8190,1917.9425,12.3386},
  117. {2261.9048,2035.9547,10.8203},
  118. {2262.0986,2398.6572,10.8203},
  119. {2244.2566,2523.7280,10.8203},
  120. {2335.3228,2786.4478,10.8203},
  121. {2150.0186,2734.2297,11.1763},
  122. {2158.0811,2797.5488,10.8203},
  123. {1969.8301,2722.8564,10.8203},
  124. {1652.0555,2709.4072,10.8265},
  125. {1564.0052,2756.9463,10.8203},
  126. {1271.5452,2554.0227,10.8203},
  127. {1441.5894,2567.9099,10.8203},
  128. {1480.6473,2213.5718,11.0234},
  129. {1400.5906,2225.6960,11.0234},
  130. {1598.8419,2221.5676,11.0625},
  131. {1318.7759,1251.3580,10.8203},
  132. {1558.0731,1007.8292,10.8125},
  133. {1705.2347,1025.6808,10.8203}
  134. };
  135.  
  136. new Float:gCopPlayerSpawns[2][3] = {
  137. {2297.1064,2452.0115,10.8203},
  138. {2297.0452,2468.6743,10.8203}
  139. };
  140.  
  141. #define MAX_POINTS 25
  142.  
  143. new Float:checkCoords[MAX_POINTS][4] = {
  144. {-36.5483,-57.9948, -17.2655,-49.2967}, //BANK
  145. {1894.6128,1445.3431, 2084.9739,1637.8186}, //PIRATE
  146. {284.0546,-86.4384, 302.9315,-56.6674}, //AMMUNATION
  147. {1925.1511,968.2358, 2019.0715,1067.4276}, //DRAGON
  148. {-115.9544,-24.2706, -99.1631,-7.1391}, //SEXSHOP
  149. {487.6558,-88.5900, 512.0635, -67.7503}, //BAR
  150. {2216.7971,1638.0493, 2255.2097,1714.0806}, //CALIGULA
  151. {144.9131,-96.0927, 177.4128,-70.7923}, //ZIP
  152. {201.4462,-112.4556, 218.5237,-95.1238}, //BINCO
  153. {-204.7623,-44.0326, -200.2330,-39.8128}, //TATOO
  154. {416.7485,-84.4242, 422.6890,-74.0611}, //BOTIQUE
  155. {-2676.0637,1398.3545,-2642.4065,1421.6180},//JIZZY
  156. {369.0025,-131.6332,378.1711,-116.3600}, //PIZZA
  157. {201.9053,-11.7524,225.9064,-4.1778}, //VICTIM
  158. {1201.1422,-16.6343,1223.4420,12.6656}, //STRIPCLUB
  159. {-1996.0801,253.4684,-1942.0564,310.0717}, //WANG CARS
  160. {2099.1985,2328.5200,2179.1382,2405.8721}, //EMERALD ISLE
  161. {1998.3783,1875.9679,2066.3425,1957.0034}, //THE VISAGE
  162. {199.4294,-46.8185,209.5469,-34.0015}, //SUBURBAN
  163. {198.8601,-137.9890,214.9677,-128.5504}, //PRO LAPS
  164. {363.5299,-73.9080,381.7558,-57.7846}, //BURGER SHOT
  165. {364.8330,-10.3823,380.1563,-6.4998}, //CLUCKIN' BELL
  166. {478.4092,-22.1267,498.3633,-7.5962}, //CLUB
  167. {198.9507,-166.7670,210.7806,-156.2189}, //DIDIER SACHS
  168. {-1986.7450,640.8196,-1918.7468,712.6972} //ZOMBOTECH
  169. };
  170.  
  171. new Float:checkpoints[MAX_POINTS][3] = {
  172. {-22.2549,-55.6575,1003.5469},
  173. {2000.3132,1538.6012,13.5859},
  174. {291.0004,-84.5168,1001.5156},
  175. {1989.0619,1005.5241,994.4688},
  176. {-103.5525,-22.4661,1000.7188},
  177. {501.4927,-75.4323,998.7578},
  178. {2235.5408,1679.0402,1008.3594},
  179. {161.1875,-79.9915,1001.8047},
  180. {207.5640,-97.8188,1005.2578},
  181. {-203.4864,-41.2045,1002.2734},
  182. {418.5547,-80.1667,1001.8047},
  183. {-2649.101,1409.747,906.2734},
  184. {376.0949,-125.8507,1001.5},
  185. {218.443,-8.778273,1001.211},
  186. {1212.3918,-10.9459,1000.9219},
  187. {-1957.5327,300.2131,35.4688},
  188. {2127.5940,2370.4255,10.8203},
  189. {2022.5179,1916.6848,12.3397},
  190. {203.6803,-40.7557,1001.8047},
  191. {206.9941,-133.5536,1002.8672},
  192. {367.5272,-67.4198,1001.5078},
  193. {371.3292,-8.9039,1001.8516},
  194. {487.3790,-14.7161,1000.6797},
  195. {204.3967,-161.7745,1000.5234},
  196. {-1950.9393,674.2313,46.5625}
  197. };
  198.  
  199. new checkpointType[MAX_POINTS] = {
  200. CP_BANK,
  201. CP_PIRATE,
  202. CP_AMMU,
  203. CP_DRAGON,
  204. CP_SEXSHOP,
  205. CP_BAR,
  206. CP_CALIGULA,
  207. CP_ZIP,
  208. CP_BINCO,
  209. CP_TATOO,
  210. CP_BOTIQUE,
  211. CP_JIZZY,
  212. CP_PIZZA,
  213. CP_VICTIM,
  214. CP_STRIPCLUB,
  215. CP_WANGCARS,
  216. CP_EMERALD,
  217. CP_VISAGE,
  218. CP_SUBURBAN,
  219. CP_PROLAPS,
  220. CP_BURGER,
  221. CP_CLUCKIN,
  222. CP_CLUB,
  223. CP_DS,
  224. CP_ZOMBO
  225. };
  226.  
  227. #define MAX_PROPERTIES 22
  228.  
  229. new propertyNames[MAX_PROPERTIES][32] = {
  230. "Four Dragons Casino",
  231. "Sex Shop",
  232. "Bar",
  233. "Caligulas Casino",
  234. "Zip Shop",
  235. "Binco Shop",
  236. "Tattoo Parlor",
  237. "Botique",
  238. "Jizzy's Club",
  239. "The Well Stacked Pizza",
  240. "Victim Shop",
  241. "Strip Club",
  242. "Wang Cars",
  243. "Emerald Isle",
  244. "The Visage",
  245. "Sub Urban",
  246. "Pro Laps",
  247. "Burger Shot",
  248. "Cluckin' Bell",
  249. "Club",
  250. "Didier Sachs",
  251. "Zombotech Corp."
  252. };
  253.  
  254. new propertyValues[MAX_PROPERTIES] = {
  255. 150000,
  256. 50000,
  257. 40000,
  258. 200000,
  259. 30000,
  260. 30000,
  261. 20000,
  262. 40000,
  263. 150000,
  264. 30000,
  265. 30000,
  266. 60000,
  267. 40000,
  268. 120000,
  269. 200000,
  270. 30000,
  271. 30000,
  272. 40000,
  273. 20000,
  274. 100000,
  275. 250000,
  276. 80000
  277. };
  278.  
  279. new propertyEarnings[MAX_PROPERTIES] = {
  280. 7500,
  281. 2500,
  282. 2000,
  283. 10000,
  284. 1500,
  285. 1500,
  286. 1000,
  287. 2000,
  288. 7500,
  289. 1500,
  290. 1500,
  291. 3000,
  292. 2000,
  293. 6000,
  294. 10000,
  295. 1500,
  296. 1500,
  297. 2000,
  298. 1000,
  299. 5000,
  300. 12500,
  301. 4000
  302. };
  303.  
  304. new propertyOwner[MAX_PROPERTIES] = {999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999};
  305.  
  306. new weaponNamesMelee[4][32] = {
  307. "Knife",
  308. "Baseball Bat",
  309. "Katana",
  310. "Chainsaw"
  311. };
  312.  
  313. new weaponIDsMelee[4] = {
  314. 4, //Knife
  315. 5, //Baseball
  316. 8, //Katana
  317. 9 //Chainsaw
  318. };
  319.  
  320. new weaponCostMelee[4] = {
  321. 1500,
  322. 2000,
  323. 3000,
  324. 5000
  325. };
  326.  
  327. new weaponNamesPistols[3][32] = {
  328. "Pistol",
  329. "Silenced Pistol",
  330. "Desert Eagle"
  331. };
  332.  
  333. new weaponIDsPistols[3] = {
  334. 22, //Pistol
  335. 23, //Silenced
  336. 24 //DE
  337. };
  338.  
  339. new weaponCostPistols[3] = {
  340. 20,
  341. 30,
  342. 60
  343. };
  344.  
  345. new weaponNamesShotguns[3][32] = {
  346. "Shotgun",
  347. "Sawn-off",
  348. "Combat Shotgun"
  349. };
  350.  
  351. new weaponIDsShotguns[3] = {
  352. 25, //Shotgun
  353. 26, //Sawnoff
  354. 27 //Combat shotgun
  355. };
  356.  
  357. new weaponCostShotguns[3] = {
  358. 70,
  359. 120,
  360. 150
  361. };
  362.  
  363. new weaponNamesSMGs[3][32] = {
  364. "Tec9",
  365. "Micro Uzi",
  366. "MP5"
  367. };
  368.  
  369. new weaponIDsSMGs[3] = {
  370. 32, //Tec9
  371. 28, //Micro Uzi
  372. 29 //MP5
  373. };
  374.  
  375. new weaponCostSMGs[3] = {
  376. 50,
  377. 80,
  378. 150
  379. };
  380.  
  381. new weaponNamesRifles[2][32] = {
  382. "AK47",
  383. "M4"
  384. };
  385.  
  386. new weaponIDsRifles[2] = {
  387. 30, //AK47
  388. 31 //M4
  389. };
  390.  
  391. new weaponCostRifles[2] = {
  392. 250,
  393. 300
  394. };
  395.  
  396. new gActivePlayers[MAX_PLAYERS];
  397. new gLastGaveCash[MAX_PLAYERS];
  398.  
  399. new RankKillNames[12][32] = {
  400. "Civilian",
  401. "Pickpocket",
  402. "Criminal",
  403. "Murderer",
  404. "Buster",
  405. "Gangsta",
  406. "OG",
  407. "Maniac",
  408. "Hitman",
  409. "Terrorist",
  410. "Monster",
  411. "GODOFGTA"
  412. };
  413.  
  414. new RankKills[12] = {
  415. 0,
  416. 2,
  417. 10,
  418. 25,
  419. 50,
  420. 100,
  421. 250,
  422. 500,
  423. 1000,
  424. 2500,
  425. 5000,
  426. 10000
  427. };
  428.  
  429. new RankKillIARNames[12][32] = {
  430. "Pacific",
  431. "Double-killer",
  432. "Mega-killer",
  433. "Ultra-killer",
  434. "Ludicrous-killer",
  435. "Worth Ten",
  436. "Damned",
  437. "Cheated Death",
  438. "Serial Killer",
  439. "Army",
  440. "Holy Crap",
  441. "BLASTBOY"
  442. };
  443.  
  444. new RankKillsIAR[12] = {
  445. 0,
  446. 2,
  447. 4,
  448. 6,
  449. 8,
  450. 10,
  451. 12,
  452. 14,
  453. 16,
  454. 18,
  455. 20,
  456. 25
  457. };
  458.  
  459. new RankDeathNames[12][32] = {
  460. "Virgin",
  461. "Victim",
  462. "Target",
  463. "Crackhead",
  464. "Bitch",
  465. "Undead",
  466. "Meat",
  467. "Frag",
  468. "Sieve",
  469. "Fucked Up",
  470. "Ghost",
  471. "LIVELONG"
  472. };
  473.  
  474. new RankDeaths[12] = {
  475. 0,
  476. 2,
  477. 10,
  478. 25,
  479. 50,
  480. 100,
  481. 250,
  482. 500,
  483. 1000,
  484. 2500,
  485. 5000,
  486. 10000
  487. };
  488.  
  489. new RankSuicideNames[12][32] = {
  490. "Intelligent",
  491. "Bad Lucker",
  492. "Self-killer",
  493. "Crazy",
  494. "Shithead",
  495. "Psycho",
  496. "Life-hater",
  497. "Kamikazee",
  498. "Freefaller",
  499. "Nutter",
  500. "Headless",
  501. "YAKUZADEATH"
  502. };
  503.  
  504. new RankSuicides[12] = {
  505. 0,
  506. 2,
  507. 10,
  508. 25,
  509. 50,
  510. 100,
  511. 250,
  512. 500,
  513. 1000,
  514. 2500,
  515. 5000,
  516. 10000
  517. };
  518.  
  519. new RankMoneyNames[12][32] = {
  520. "Looser",
  521. "Bad Player",
  522. "Casino Beginner",
  523. "Poor Man",
  524. "Shithead",
  525. "Businessman",
  526. "Rich Guy",
  527. "Lucker",
  528. "Millioneer",
  529. "Big Boss",
  530. "Oligarch",
  531. "IAMDAVEJ"
  532. };
  533.  
  534. new RankMoneys[12] = {
  535. -1000000,
  536. -100000,
  537. -10000,
  538. 0,
  539. 10000,
  540. 100000,
  541. 1000000,
  542. 5000000,
  543. 10000000,
  544. 50000000,
  545. 100000000,
  546. 1000000000
  547. };
  548.  
  549. new RankBountyNames[8][32] = {
  550. "Not Needed",
  551. "Ordered",
  552. "Low Interest",
  553. "Big Interest",
  554. "Wanted",
  555. "Main Target",
  556. "Most Wanted",
  557. "DESIRES"
  558. };
  559.  
  560. new RankBounty[8] = {
  561. 0,
  562. 10000,
  563. 50000,
  564. 100000,
  565. 500000,
  566. 1000000,
  567. 5000000,
  568. 10000000
  569. };
  570.  
  571. main()
  572. {
  573. print("\n----------------------------------------------------------");
  574. print(" Running Freeroam by ProRaiL (original: Jax+Sintax)");
  575. print("----------------------------------------------------------\n");
  576. worldTime = 12;
  577. }
  578.  
  579. public getCheckpointType(playerID) {
  580. return checkpointType[playerCheckpoint[playerID]];
  581. }
  582.  
  583. public IsPlayerInArea(playerid, Float:data[4])
  584. {
  585. new Float:x, Float:y, Float:z;
  586.  
  587. GetPlayerPos(playerid, x, y, z);
  588. if (x >= data[0] && x <= data[2] && y >= data[1] && y <= data[3]) return 1;
  589.  
  590. return 0;
  591. }
  592.  
  593. public IsPlayerAt(playerid, Float:x1, Float:y1, Float:x2, Float:y2)
  594. {
  595. new Float:x, Float:y, Float:z;
  596.  
  597. if (IsPlayerConnected(playerid)) {
  598. GetPlayerPos(playerid, x, y, z);
  599. if(x >= x1 && x <= x2 && y >= y1 && y <= y2) return 1;
  600. }
  601.  
  602. return 0;
  603. }
  604.  
  605. public TimeUpdate() {
  606. new tmp[256];
  607.  
  608. tmp = dini_Get(FILE_SETTINGS, "timeupdate");
  609. if (strval(tmp) == 0) return 0;
  610.  
  611. worldTime++;
  612. worldTime %= 24;
  613. SetWorldTime(worldTime);
  614.  
  615. return 1;
  616. }
  617.  
  618. public PirateShipScoreUpdate()
  619. {
  620. new tmp[256];
  621. new Float:x, Float:y, Float:z;
  622.  
  623. tmp = dini_Get(FILE_SETTINGS, "pirateship");
  624. if (strval(tmp) == 0) return 0;
  625.  
  626. tmp = dini_Get(FILE_SETTINGS, "pirateshipmoney");
  627. for (new i=0; i<MAX_PLAYERS; i++) {
  628. if (IsPlayerConnected(i)) {
  629. GetPlayerPos(i, x, y, z);
  630. if (IsPlayerAt(i, 1995.5, 1518.0, 2006.0, 1569.0)) StatGivePlayerMoney(i, strval(tmp));
  631. }
  632. }
  633.  
  634. return 1;
  635. }
  636.  
  637. public checkpointUpdate()
  638. {
  639. for(new i=0; i<MAX_PLAYERS; i++)
  640. {
  641. if(IsPlayerConnected(i)) {
  642. for(new j=0; j < MAX_POINTS; j++) {
  643. if(IsPlayerInArea(i, checkCoords[j])) {
  644. if(playerCheckpoint[i]!=j) {
  645. DisablePlayerCheckpoint(i);
  646. SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2], 2);
  647. playerCheckpoint[i] = j;
  648. }
  649. } else {
  650. if(playerCheckpoint[i]==j) {
  651. DisablePlayerCheckpoint(i);
  652. playerCheckpoint[i] = 999;
  653. }
  654. }
  655. }
  656. }
  657. }
  658. }
  659.  
  660. public PropertyScoreUpdate()
  661. {
  662. new owners[MAX_PROPERTIES];
  663. new payments[MAX_PROPERTIES];
  664.  
  665. for(new i=0; i < MAX_PROPERTIES; i++)
  666. owners[i]=999;
  667.  
  668. for(new i=0; i < MAX_PROPERTIES; i++)
  669. {
  670. if(propertyOwner[i] < 999) {
  671.  
  672. for(new j=0; j < MAX_PROPERTIES; j++) {
  673. if(owners[j]==propertyOwner[i]) {
  674. payments[j]+=propertyEarnings[i];
  675. j = MAX_PROPERTIES;
  676. } else if (owners[j]==999) {
  677. owners[j]=propertyOwner[i];
  678. payments[j]+=propertyEarnings[i];
  679. j = MAX_PROPERTIES;
  680. }
  681. }
  682.  
  683. }
  684. }
  685.  
  686. for(new i=0; i < MAX_PROPERTIES; i++) {
  687. if(owners[i] < 999 && IsPlayerConnected(owners[i])) {
  688. new string[256];
  689.  
  690. StatGivePlayerMoney(owners[i], payments[i]);
  691.  
  692. format(string, sizeof(string), "* You earned $%d from your properties.", payments[i]);
  693. SendClientMessage(owners[i], COLOR_GREEN, string);
  694. }
  695. }
  696. }
  697.  
  698. public KickMsg(playerid, kickername[], reason[])
  699. {
  700. new string[256];
  701. new tmp[256];
  702. new playername[MAX_PLAYER_NAME];
  703. GetPlayerName(playerid, playername, sizeof(playername));
  704. format(string, sizeof(string), "*** %s (id: %d) kicked by %s. Reason: %s ***", playername, playerid, kickername, reason);
  705. printf(string);
  706. SendClientMessageToAll(COLOR_GREY, string);
  707. Kick(playerid);
  708. tmp = dini_Get(FILE_TOTALSTAT, "kicks");
  709. dini_IntSet(FILE_TOTALSTAT, "kicks", strval(tmp)+1);
  710.  
  711. return 1;
  712. }
  713.  
  714. public BanMsg(playerid, kickername[], reason[])
  715. {
  716. new string[256];
  717. new tmp[256];
  718. new playername[MAX_PLAYER_NAME];
  719. GetPlayerName(playerid, playername, sizeof(playername));
  720. format(string, sizeof(string), "*** %s (id: %d) banned by %s. Reason: %s ***", playername, playerid, kickername, reason);
  721. printf(string);
  722. SendClientMessageToAll(COLOR_GREY, string);
  723. Ban(playerid);
  724. tmp = dini_Get(FILE_TOTALSTAT, "bans");
  725. dini_IntSet(FILE_TOTALSTAT, "bans", strval(tmp)+1);
  726.  
  727. return 1;
  728. }
  729.  
  730. public MoneyScan() {
  731. new playername[MAX_PLAYER_NAME];
  732. new string[256];
  733. new moneys;
  734. new tmp[256];
  735.  
  736. tmp = dini_Get(FILE_SETTINGS, "moneyscan");
  737. if (strval(tmp) == 0) return 0;
  738.  
  739. for(new i=0; i<MAX_PLAYERS; i++)
  740. {
  741. if (IsPlayerConnected(i) && !IsPlayerAdmin(i))
  742. {
  743. GetPlayerName(i, playername, sizeof(playername));
  744. moneys = GetPlayerMoney(i);
  745.  
  746. tmp = dini_Get(FILE_SETTINGS, "maxmoney");
  747. if (moneys > strval(tmp)) {
  748. GivePlayerMoney(i, -moneys);
  749. format(string, sizeof(string), "--- %s (id: %d) possible money cheat: $%d.", playername, i, moneys);
  750. printf(string);
  751. format(string, sizeof(string), "* %s (id: %d) scanner detected possible money cheat: $%d!!!", playername, i, moneys);
  752. SendClientMessageToAll(COLOR_RED, string);
  753. tmp = dini_Get(FILE_SETTINGS, "onmoneycheat");
  754. if (strval(tmp) == 1) KickMsg(i, "AntiCheat", "Possible money cheat!");
  755. if (strval(tmp) == 2) BanMsg(i, "AntiCheat", "Possible money cheat!");
  756. }
  757. }
  758. }
  759. return 1;
  760. }
  761.  
  762. public HealthScan()
  763. {
  764. new playername[MAX_PLAYER_NAME];
  765. new string[256];
  766. new Float:hp;
  767. new tmp[256];
  768.  
  769. tmp = dini_Get(FILE_SETTINGS, "healthscan");
  770. if (strval(tmp) == 0) return 0;
  771.  
  772. for(new i=0; i<MAX_PLAYERS; i++)
  773. {
  774. if (IsPlayerConnected(i) && !IsPlayerAdmin(i))
  775. {
  776. GetPlayerName(i, playername, sizeof(playername));
  777. GetPlayerHealth(i, hp);
  778.  
  779. tmp = dini_Get(FILE_SETTINGS, "maxhealth");
  780. if (hp > floatstr(tmp) && !god[i]) {
  781. format(string, sizeof(string), "--- %s (id: %d) possible health cheat.", playername, i);
  782. printf(string);
  783. format(string, sizeof(string), "* %s (id: %d) scanner detected possible health cheat!!!", playername, i);
  784. SendClientMessageToAll(COLOR_RED, string);
  785. tmp = dini_Get(FILE_SETTINGS, "onhealthcheat");
  786. if (strval(tmp) == 1) KickMsg(i, "AntiCheat", "Possible health cheat!");
  787. if (strval(tmp) == 2) BanMsg(i, "AntiCheat", "Possible health cheat!");
  788. }
  789. }
  790. }
  791. return 1;
  792. }
  793.  
  794. public VehicleDriver(vehicleid)
  795. {
  796. for (new i=0;i<MAX_PLAYERS;i++) {
  797. if (IsPlayerConnected(i) && GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == 2) return i;
  798. }
  799.  
  800. return -1;
  801. }
  802.  
  803. public AutoOpenCar()
  804. {
  805. for (new c=1;c<254;c++)
  806. if(VehicleDriver(c) == -1)
  807. for (new i=0;i<MAX_PLAYERS;i++) SetVehicleParamsForPlayer(c, i, 0, 0);
  808.  
  809. return 1;
  810. }
  811.  
  812. public TaxiCheck()
  813. {
  814. new driver;
  815. new drivername[MAX_PLAYER_NAME];
  816. new playername[MAX_PLAYER_NAME];
  817. new string[256];
  818.  
  819. for (new c=1;c<254;c++) {
  820. driver = VehicleDriver(c);
  821. if(driver != -1) {
  822. for (new i=0;i<MAX_PLAYERS;i++) {
  823. if (GetPlayerVehicleID(i) == c && GetPlayerState(i) == PLAYER_STATE_PASSENGER && payment[driver] != 0) {
  824. GetPlayerName(driver, drivername, sizeof(drivername));
  825. GetPlayerName(i, playername, sizeof(playername));
  826. if (GetPlayerMoney(i) > payment[driver]) {
  827. StatGivePlayerMoney(driver, payment[driver]);
  828. StatGivePlayerMoney(i, -payment[driver]);
  829.  
  830. format(string, sizeof(string), "--- %s (id: %d) pays $%d to %s (id: %d) for his driver service.", playername,i,payment[driver],drivername,driver);
  831. printf(string);
  832. format(string, sizeof(string), "* You pay $%d to %s (id: %d) for his driver service.", payment[driver],drivername,driver);
  833. SendClientMessage(i, COLOR_YELLOW, string);
  834. format(string, sizeof(string), "* You receive $%d from %s (id: %d) for your driver service.", payment[driver],playername,i);
  835. SendClientMessage(driver, COLOR_GREEN, string);
  836. }
  837. else {
  838. RemovePlayerFromVehicle(i);
  839. format(string, sizeof(string), "--- %s (id: %d) don't have $%d to pay %s (id: %d) for his driver service. Ejected from vehicle.", playername,i,payment[driver],drivername,driver);
  840. printf(string);
  841. format(string, sizeof(string), "* You don't have $%d to pay %s (id: %d) driver service.", payment[driver],drivername,driver);
  842. SendClientMessage(i, COLOR_RED, string);
  843. }
  844. }
  845. }
  846. }
  847. }
  848.  
  849. return 1;
  850. }
  851.  
  852. public SaveData()
  853. {
  854. new playername[MAX_PLAYER_NAME];
  855. new Float:x, Float:y, Float:z;
  856.  
  857. for (new i=0;i<MAX_PLAYERS;i++) {
  858. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  859. if (dini_Exists(udb_encode(playername)) && logged[i] == 1) {
  860. dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(i));
  861. dini_IntSet(udb_encode(playername), "bank", bank[i]);
  862. dini_IntSet(udb_encode(playername), "bounty", bounty[i]);
  863. if (GetPlayerState(i) != PLAYER_STATE_NONE && GetPlayerState(i) != PLAYER_STATE_WASTED) {
  864. GetPlayerPos(i, x,y,z);
  865. dini_FloatSet(udb_encode(playername), "x", x);
  866. dini_FloatSet(udb_encode(playername), "y", y);
  867. dini_FloatSet(udb_encode(playername), "z", z);
  868. }
  869. dini_IntSet(udb_encode(playername), "killsinarow", killsinarow[i]);
  870. SendClientMessage(i, COLOR_GREEN, "* Your progress auto-saved - Type /sv at any time to manual-save.");
  871. }
  872. }
  873.  
  874. return 1;
  875. }
  876.  
  877. public StatGivePlayerMoney(playerid, amount)
  878. {
  879. new tmp[256];
  880. if (IsPlayerConnected(playerid)) {
  881. tmp = dini_Get(FILE_SETTINGS, "maxmoney");
  882. if (GetPlayerMoney(playerid)+amount <= strval(tmp)) {
  883. GivePlayerMoney(playerid, amount);
  884. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  885. if (amount > 0) {
  886. tmp = dini_Get(FILE_TOTALSTAT, "moneyreceived");
  887. dini_IntSet(FILE_TOTALSTAT, "moneyreceived", strval(tmp)+amount);
  888. }
  889. else {
  890. tmp = dini_Get(FILE_TOTALSTAT, "moneylost");
  891. dini_IntSet(FILE_TOTALSTAT, "moneylost", strval(tmp)-amount);
  892. }
  893. }
  894. else {
  895. SendClientMessage(playerid, COLOR_RED, "* WARNING! Your money level is full! Use the ATMs at convienient stores to bank money.");
  896. SendClientMessage(playerid, COLOR_RED, "* You will then be able to get more money..");
  897. return 0;
  898. }
  899. }
  900. return 1;
  901. }
  902.  
  903.  
  904.  
  905.  
  906. public SettingsExistsCheck()
  907. {
  908. if (!dini_Exists(FILE_SETTINGS)) {
  909. dini_Create(FILE_SETTINGS);
  910. dini_IntSet(FILE_SETTINGS, "spawnmoney", 5000);
  911. dini_IntSet(FILE_SETTINGS, "timeupdate", 1);
  912. dini_IntSet(FILE_SETTINGS, "pirateship", 1);
  913. dini_IntSet(FILE_SETTINGS, "pirateshipmoney", 100);
  914. dini_IntSet(FILE_SETTINGS, "healthscan", 1);
  915. dini_FloatSet(FILE_SETTINGS, "maxhealth", 100.0);
  916. dini_IntSet(FILE_SETTINGS, "onhealthcheat", 2);
  917. dini_IntSet(FILE_SETTINGS, "moneyscan", 1);
  918. dini_IntSet(FILE_SETTINGS, "maxmoney", 9000000);
  919. dini_IntSet(FILE_SETTINGS, "onmoneycheat", 2);
  920. dini_Set(FILE_SETTINGS, "forbiddenweapons", "1,16,17,18,35,36,37,38,39,40");
  921. dini_IntSet(FILE_SETTINGS, "onweaponcheat", 2);
  922. dini_IntSet(FILE_SETTINGS, "blacklist", 1);
  923. dini_IntSet(FILE_SETTINGS, "positionsave", 1);
  924. dini_IntSet(FILE_SETTINGS, "register", 1);
  925. dini_IntSet(FILE_SETTINGS, "maxusers", 2000);
  926. dini_IntSet(FILE_SETTINGS, "defaultprotection", 1);
  927. dini_IntSet(FILE_SETTINGS, "logintimeout", 20000);
  928. dini_IntSet(FILE_SETTINGS, "locking", 1);
  929. dini_IntSet(FILE_SETTINGS, "bank", 1);
  930. dini_IntSet(FILE_SETTINGS, "send", 1);
  931. dini_IntSet(FILE_SETTINGS, "transact", 1);
  932. dini_IntSet(FILE_SETTINGS, "bounty", 1);
  933. dini_IntSet(FILE_SETTINGS, "properties", 1);
  934. dini_IntSet(FILE_SETTINGS, "spawnweapons", 1);
  935. dini_IntSet(FILE_SETTINGS, "skydive", 1);
  936. dini_IntSet(FILE_SETTINGS, "parachute", 1);
  937. dini_IntSet(FILE_SETTINGS, "driverservice", 1);
  938. dini_IntSet(FILE_SETTINGS, "protectionchange", 1);
  939. dini_IntSet(FILE_SETTINGS, "manualsaving", 1);
  940. }
  941. }
  942.  
  943. public LoginTimeout()
  944. {
  945. for (new i=0;i<MAX_PLAYERS;i++)
  946. if (logged[i] == 0 && GetPlayerState(i) != PLAYER_STATE_NONE) KickMsg(i, "Protection", "Login timeout!");
  947. }
  948.  
  949. public GetPlayerId(playername[])
  950. {
  951. if (IsNumeric(playername))
  952. if (IsPlayerConnected(strval(playername))) return strval(playername);
  953. else
  954. for (new i=0;i<MAX_PLAYERS;i++)
  955. if ((IsPlayerConnected(i)) && (strcmp(playername, gPlayerName[i], true) == 0)) return i;
  956. return INVALID_PLAYER_ID;
  957. }
  958.  
  959. public RandomColor()
  960. {
  961. new color;
  962. color = random(4294967040) + 255;
  963. return color;
  964. }
  965.  
  966. public MyFunc(playerid)
  967. {
  968. SendClientMessage(playerid, COLOR_YELLOW, "* Cheaters around? Use /report [id] [name] [reason]");
  969. }
  970.  
  971. public OnPlayerConnect(playerid)
  972. {
  973. new playername[MAX_PLAYER_NAME];
  974. new tmp[256];
  975. new idx;
  976.  
  977. SendClientMessage(playerid, COLOR_ORANGE, "* Welcome to the Gamer Unlimited SA:MP Server!");
  978. SendClientMessage(playerid, COLOR_ORANGE, "* Visit us on the web at www.gamerunlimited.com!");
  979. SendClientMessage(playerid, COLOR_YELLOW, "_________________________________________________");
  980. GameTextForPlayer(playerid,"www.gamerunlimited.com",5000,8);
  981. SendClientMessage(playerid, COLOR_ORANGE, "* Please type /help to get started.");
  982. gActivePlayers[playerid]++;
  983. gLastGaveCash[playerid] = GetTickCount();
  984.  
  985. playerCheckpoint[playerid] = 999;
  986.  
  987. GetPlayerName(playerid, playername, sizeof(playername));
  988.  
  989. tmp = dini_Get(FILE_SETTINGS, "blacklist");
  990. if (strval(tmp) == 1) {
  991. tmp = dini_Get(FILE_BLACKLIST, playername);
  992. if (strval(strtok(tmp, idx, ',')) == 1) KickMsg(playerid, "Blacklist", strtok(tmp, idx, ','));
  993. idx = 0;
  994. if (strval(strtok(tmp, idx, ',')) == 2) BanMsg(playerid, "Blacklist", strtok(tmp, idx, ','));
  995. }
  996.  
  997. if (dini_Exists(udb_encode(playername))) {
  998. SendClientMessage(playerid, COLOR_RED, "* Your username is already registered! If you are the owner, log in using /login [password]");
  999. tmp = dini_Get(udb_encode(playername), "protection");
  1000. if (strval(tmp) == 1) SendClientMessage(playerid, COLOR_RED, "* If you start the game without logging in, you will be kicked!");
  1001. tmp = dini_Get(udb_encode(playername), "money");
  1002. StatGivePlayerMoney(playerid, strval(tmp));
  1003. tmp = dini_Get(udb_encode(playername), "bank");
  1004. bank[playerid] = strval(tmp);
  1005. tmp = dini_Get(udb_encode(playername), "bounty");
  1006. bounty[playerid] = strval(tmp);
  1007. tmp = dini_Get(udb_encode(playername), "jailed");
  1008. if (strval(tmp) == 1) jailed[playerid] = 1;
  1009. tmp = dini_Get(udb_encode(playername), "muted");
  1010. if (strval(tmp) == 1) muted[playerid] = 1;
  1011. }
  1012. else {
  1013. SendClientMessage(playerid, COLOR_YELLOW, "* In order to save your player stats (money, frags, etc) you need to get an account by typing /register [password].");
  1014. SendClientMessage(playerid, COLOR_YELLOW, "* After successful registration you may log on at any time by typing /login [password]");
  1015. logged[playerid] = 1;
  1016. }
  1017.  
  1018. return 1;
  1019. }
  1020.  
  1021. public OnPlayerDisconnect(playerid)
  1022. {
  1023. new playername[MAX_PLAYER_NAME];
  1024. new string[256];
  1025. new Float:x, Float:y, Float:z;
  1026.  
  1027. gActivePlayers[playerid]--;
  1028.  
  1029. for(new i=0; i < MAX_PROPERTIES; i++) {
  1030. if(propertyOwner[i] == playerid) {
  1031. propertyOwner[i] = 999;
  1032. StatGivePlayerMoney(playerid, propertyValues[i]);
  1033. }
  1034. }
  1035.  
  1036. GetPlayerName(playerid, playername, sizeof(playername));
  1037.  
  1038. if (dini_Exists(udb_encode(playername)) && logged[playerid] == 1) {
  1039. dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(playerid));
  1040. dini_IntSet(udb_encode(playername), "bank", bank[playerid]);
  1041. dini_IntSet(udb_encode(playername), "bounty", bounty[playerid]);
  1042. if (GetPlayerState(playerid) != PLAYER_STATE_NONE && GetPlayerState(playerid) != PLAYER_STATE_WASTED) {
  1043. GetPlayerPos(playerid, x,y,z);
  1044. dini_FloatSet(udb_encode(playername), "x", x);
  1045. dini_FloatSet(udb_encode(playername), "y", y);
  1046. dini_FloatSet(udb_encode(playername), "z", z);
  1047. }
  1048. dini_IntSet(udb_encode(playername), "killsinarow", killsinarow[playerid]);
  1049.  
  1050. format(string, sizeof(string), "--- %s logged out.", playername);
  1051. printf(string);
  1052. }
  1053.  
  1054. KillTimer(logintimeout[playerid]);
  1055. logged[playerid] = bank[playerid] = bounty[playerid] = god[playerid] = payment[playerid] = jailed[playerid] = muted[playerid] = killsinarow[playerid] = 0;
  1056. query[playerid] = 255;
  1057. }
  1058.  
  1059. public OnPlayerCommandText(playerid, cmdtext[])
  1060. {
  1061. new string[256];
  1062. new playermoney;
  1063. new sendername[MAX_PLAYER_NAME];
  1064. new giveplayer[MAX_PLAYER_NAME];
  1065. new cmd[256];
  1066. new giveplayerid, moneys, idx, weaponid;
  1067. new tmp[256], tmp2[256];
  1068. new playername[MAX_PLAYER_NAME];
  1069.  
  1070. cmd = strtok(cmdtext, idx);
  1071.  
  1072. if(strcmp(cmd, "/help", true) == 0) {
  1073. SendClientMessage(playerid, COLOR_ORANGE,"_______________________________________________________");
  1074. SendClientMessage(playerid, COLOR_YELLOW,"* To chat and give server commands, first press T.");
  1075. SendClientMessage(playerid, COLOR_YELLOW,"* Below are some popular commands. Exclude [] brackets in examples.");
  1076. SendClientMessage(playerid, COLOR_YELLOW,"* ACCOUNT: /register [password] /setpass [password] /login [password] /sv /stat /setprot");
  1077. SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: /pm [id] [message] /me [text] /query [id]");
  1078. SendClientMessage(playerid, COLOR_YELLOW,"* CAR LOCK: /lock /unlock /close /open");
  1079. SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /bank [amount] /get [amount] /balance /send [id] [amount] /transact [amount] /setpay [amount] /getpay [amount]");
  1080. SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /bw(melee,pistol,shotgun,smg,rifle) /weaplist");
  1081. SendClientMessage(playerid, COLOR_YELLOW,"* PROPERTY: /buy [property name] /proplist /prop");
  1082. SendClientMessage(playerid, COLOR_YELLOW,"* BOUNTY: /hitman [id] [amount] /bounty [id]");
  1083. SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /para /skydive /kill /totalstat");
  1084. SendClientMessage(playerid, COLOR_ORANGE,"_______________________________________________________");
  1085.  
  1086. return 1;
  1087. }
  1088.  
  1089. if(strcmp(cmd, "/adminhelp", true) == 0 && IsPlayerAdmin(playerid)) {
  1090. SendClientMessage(playerid, COLOR_ORANGE,"___________________________________________________________________________");
  1091. SendClientMessage(playerid, COLOR_YELLOW,"* ACCOUNT: /deluser /svall /setuser(str,int,float) /getuser");
  1092. SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /givemoney /setmoney /getmoney /setbank /getbank /setbounty");
  1093. SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /giveweapon /disarm");
  1094. SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /locs /tp /tpto");
  1095. SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /jail /unjail /mute /unmute /freeze /unfreeze /heal /god /murder");
  1096. SendClientMessage(playerid, COLOR_YELLOW,"* CONTROL: /kick /ban /black(add,del)");
  1097. SendClientMessage(playerid, COLOR_ORANGE,"___________________________________________________________________________");
  1098.  
  1099. return 1;
  1100. }
  1101.  
  1102. if(strcmp(cmd, "/register", true) == 0) {
  1103. tmp = dini_Get(FILE_SETTINGS, "register");
  1104. if (strval(tmp) == 0) {
  1105. SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
  1106. return 1;
  1107. }
  1108. tmp = dini_Get(FILE_SETTINGS, "maxusers");
  1109. tmp2 = dini_Get(FILE_TOTALSTAT, "users");
  1110. if (strval(tmp2) >= strval(tmp)) {
  1111. SendClientMessage(playerid, COLOR_RED, "* User limit reached! You cannot register.");
  1112. return 1;
  1113. }
  1114.  
  1115. tmp = strtok(cmdtext, idx);
  1116.  
  1117. GetPlayerName(playerid, playername, sizeof(playername));
  1118.  
  1119. if(20 < strlen(tmp) || strlen(tmp) < 5) {
  1120. SendClientMessage(playerid, COLOR_YELLOW, "* Password length must be 5-20 symbols.");
  1121. return 1;
  1122. }
  1123.  
  1124. if(!strlen(tmp))
  1125. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /register [password]");
  1126.  
  1127. else {
  1128. if (!dini_Exists(udb_encode(playername))) {
  1129. dini_Create(udb_encode(playername));
  1130. dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  1131. tmp2 = dini_Get(FILE_SETTINGS, "defaultprotection");
  1132. dini_IntSet(udb_encode(playername), "protection", strval(tmp2));
  1133. dini_Set(udb_encode(playername), "x", "x");
  1134. dini_Set(udb_encode(playername), "y", "y");
  1135. dini_Set(udb_encode(playername), "z", "z");
  1136. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  1137. tmp2 = dini_Get(FILE_TOTALSTAT, "users");
  1138. dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)+1);
  1139. format(string, sizeof(string), "--- %s (id: %d) created account. Password: %s.", playername, playerid, tmp);
  1140. printf(string);
  1141. format(string, sizeof(string), "* Account named %s created! You can now login with password %s.", playername, tmp);
  1142. SendClientMessage(playerid, COLOR_GREEN, string);
  1143. }
  1144. else {
  1145. format(string, sizeof(string), "* %s already registered.", playername,tmp);
  1146. SendClientMessage(playerid, COLOR_RED, string);
  1147. }
  1148. }
  1149.  
  1150. return 1;
  1151. }
  1152.  
  1153. if(strcmp(cmd, "/setpass", true) == 0) {
  1154. tmp = dini_Get(FILE_SETTINGS, "register");
  1155. if (strval(tmp) == 0) {
  1156. SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
  1157. return 1;
  1158. }
  1159.  
  1160. tmp = strtok(cmdtext, idx);
  1161.  
  1162. GetPlayerName(playerid, playername, sizeof(playername));
  1163.  
  1164. if(20 < strlen(tmp) || strlen(tmp) < 5) {
  1165. SendClientMessage(playerid, COLOR_YELLOW, "* Password length must be 5-20 symbols.");
  1166. return 1;
  1167. }
  1168.  
  1169. if(!strlen(tmp))
  1170. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setpass [password]");
  1171.  
  1172. else {
  1173. if (dini_Exists(udb_encode(playername))) {
  1174. if (logged[playerid] == 1) {
  1175. dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  1176. format(string, sizeof(string), "--- %s (id: %d) changed his pass to %s.", playername, playerid, tmp);
  1177. printf(string);
  1178. format(string, sizeof(string), "* Password changed to %s, remember it.", tmp);
  1179. SendClientMessage(playerid, COLOR_GREEN, string);
  1180. }
  1181. else SendClientMessage(playerid, COLOR_RED, "* You must be logged in to change your password.");
  1182. }
  1183. else {
  1184. format(string, sizeof(string), "* %s no such account.", playername);
  1185. SendClientMessage(playerid, COLOR_RED, string);
  1186. }
  1187. }
  1188.  
  1189. return 1;
  1190. }
  1191.  
  1192. if(strcmp(cmd, "/login", true) == 0) {
  1193. tmp = dini_Get(FILE_SETTINGS, "register");
  1194. if (strval(tmp) == 0) {
  1195. SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
  1196. return 1;
  1197. }
  1198.  
  1199. tmp = strtok(cmdtext, idx);
  1200.  
  1201. GetPlayerName(playerid, playername, sizeof(playername));
  1202. if(!strlen(tmp))
  1203. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /login [password]");
  1204.  
  1205. else {
  1206. if (dini_Exists(udb_encode(playername))) {
  1207. if (logged[playerid] == 1) {
  1208. format(string, sizeof(string), "--- %s already logged.", playername);
  1209. printf(string);
  1210. SendClientMessage(playerid, COLOR_YELLOW, "* You already logged.");
  1211. }
  1212. else {
  1213. tmp2 = dini_Get(udb_encode(playername), "password");
  1214. if (udb_hash(tmp) != strval(tmp2)) {
  1215. format(string, sizeof(string), "--- %s (id: %d) typed wrong password: %s.", playername, playerid, tmp);
  1216. printf(string);
  1217. SendClientMessage(playerid, COLOR_RED, "* Wrong password.");
  1218. }
  1219. else {
  1220. logged[playerid] = 1;
  1221. format(string, sizeof(string), "--- %s (id: %d) logged in. Password: %s.", playername, playerid, tmp);
  1222. printf(string);
  1223. SendClientMessage(playerid, COLOR_GREEN, "* You are logged in!");
  1224. }
  1225. }
  1226. }
  1227. else {
  1228. format(string, sizeof(string), "* %s no such account.", playername);
  1229. SendClientMessage(playerid, COLOR_RED, string);
  1230. }
  1231. }
  1232.  
  1233. return 1;
  1234. }
  1235.  
  1236. if (strcmp(cmdtext, "/close", true) == 0 || strcmp(cmdtext, "/lock", true) == 0) {
  1237. tmp = dini_Get(FILE_SETTINGS, "locking");
  1238. if (strval(tmp) == 0) {
  1239. SendClientMessage(playerid, COLOR_RED, "* Locking is not allowed on this server!");
  1240. return 1;
  1241. }
  1242.  
  1243. if(IsPlayerInAnyVehicle(playerid)) {
  1244. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) {
  1245. SendClientMessage(playerid, COLOR_GREY, "* Only the driver can lock the car!");
  1246. return 1;
  1247. }
  1248.  
  1249. for(new i=0;i<MAX_PLAYERS;i++)
  1250. if(i != playerid) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 1);
  1251.  
  1252. SendClientMessage(playerid, COLOR_GREY, "* Your vehicle is now locked. You're safe.");
  1253. }
  1254. else SendClientMessage(playerid, COLOR_GREY, "* You must be in a car to do that.");
  1255.  
  1256. return 1;
  1257. }
  1258.  
  1259.  
  1260. if (strcmp(cmdtext, "/open", true) == 0 || strcmp(cmdtext, "/unlock", true) == 0) {
  1261. tmp = dini_Get(FILE_SETTINGS, "locking");
  1262. if (strval(tmp) == 0) {
  1263. SendClientMessage(playerid, COLOR_RED, "* Locking is not allowed on this server!");
  1264. return 1;
  1265. }
  1266.  
  1267. if(IsPlayerInAnyVehicle(playerid)) {
  1268. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) {
  1269. SendClientMessage(playerid, COLOR_GREY, "* Only the driver can open the car!");
  1270. return 1;
  1271. }
  1272.  
  1273. for(new i=0;i<MAX_PLAYERS;i++)
  1274. if(i != playerid) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 0);
  1275.  
  1276. SendClientMessage(playerid, COLOR_GREY, "* Your car is now unlocked.");
  1277. }
  1278. else SendClientMessage(playerid, COLOR_GREY, "* You must be in a car to do it.");
  1279.  
  1280. return 1;
  1281. }
  1282.  
  1283. if(strcmp(cmd, "/bank", true) == 0) {
  1284. tmp = dini_Get(FILE_SETTINGS, "bank");
  1285. if (strval(tmp) == 0) {
  1286. SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
  1287. return 1;
  1288. }
  1289.  
  1290. if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
  1291. SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this. ATMs are located in convenience stores.");
  1292. return 1;
  1293. }
  1294.  
  1295. tmp = strtok(cmdtext, idx);
  1296. if(!strlen(tmp)) {
  1297. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bank [amount]");
  1298. return 1;
  1299. }
  1300. moneys = strval(tmp);
  1301.  
  1302. if(moneys < 1) {
  1303. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1304. return 1;
  1305. }
  1306.  
  1307. if(GetPlayerMoney(playerid) < moneys) {
  1308. moneys = GetPlayerMoney(playerid);
  1309. }
  1310.  
  1311. StatGivePlayerMoney(playerid, 0-moneys);
  1312. bank[playerid]+=moneys;
  1313. GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
  1314. format(string, sizeof(string), "--- %s (id: %d) deposited $%d, balance is $%d.", giveplayer,playerid,moneys,bank[playerid]);
  1315. printf(string);
  1316. format(string, sizeof(string), "* You have deposited $%d, your current balance is $%d.", moneys, bank[playerid]);
  1317. SendClientMessage(playerid, COLOR_YELLOW, string);
  1318.  
  1319. return 1;
  1320. }
  1321.  
  1322. if(strcmp(cmd, "/get", true) == 0) {
  1323. tmp = dini_Get(FILE_SETTINGS, "bank");
  1324. if (strval(tmp) == 0) {
  1325. SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
  1326. return 1;
  1327. }
  1328.  
  1329. if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
  1330. SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this. ATMs are located in convenience stores.");
  1331. return 1;
  1332. }
  1333.  
  1334. tmp = strtok(cmdtext, idx);
  1335. if(!strlen(tmp)) {
  1336. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /get [amount]");
  1337. return 1;
  1338. }
  1339. moneys = strval(tmp);
  1340.  
  1341. if(moneys < 1) {
  1342. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1343. return 1;
  1344. }
  1345.  
  1346. if(moneys > bank[playerid])
  1347. moneys = bank[playerid];
  1348.  
  1349. StatGivePlayerMoney(playerid, moneys);
  1350. bank[playerid] -= moneys;
  1351. GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
  1352. format(string, sizeof(string), "--- %s (id: %d) withdrawn $%d, balance is $%d.", giveplayer,playerid,moneys,bank[playerid]);
  1353. printf(string);
  1354. format(string, sizeof(string), "* You have withdrawn $%d, your current balance is $%d.", moneys, bank[playerid]);
  1355. SendClientMessage(playerid, COLOR_YELLOW, string);
  1356.  
  1357. return 1;
  1358. }
  1359.  
  1360. if(strcmp(cmd, "/balance", true) == 0) {
  1361. tmp = dini_Get(FILE_SETTINGS, "bank");
  1362. if (strval(tmp) == 0) {
  1363. SendClientMessage(playerid, COLOR_RED, "* Banks are not allowed on this server!");
  1364. return 1;
  1365. }
  1366.  
  1367. format(string, sizeof(string), "* You have $%d in the bank.", bank[playerid]);
  1368. SendClientMessage(playerid, COLOR_YELLOW, string);
  1369. GameTextForPlayer(playerid,"Balance: $%d",5000,8);
  1370.  
  1371. return 1;
  1372. }
  1373.  
  1374. if(strcmp(cmd, "/send", true) == 0) {
  1375. tmp = dini_Get(FILE_SETTINGS, "send");
  1376. if (strval(tmp) == 0) {
  1377. SendClientMessage(playerid, COLOR_RED, "* Send are not allowed on this server!");
  1378. return 1;
  1379. }
  1380.  
  1381. tmp = strtok(cmdtext, idx);
  1382.  
  1383. GetPlayerName(playerid, sendername, sizeof(sendername));
  1384.  
  1385. if (dini_Exists(udb_encode(sendername)) && logged[playerid] == 0) {
  1386. SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
  1387. return 1;
  1388. }
  1389.  
  1390. if (jailed[playerid] == 1) {
  1391. SendClientMessage(playerid, COLOR_RED, "* You're jailed and cannot send money.");
  1392. return 1;
  1393. }
  1394.  
  1395. if(!strlen(tmp)) {
  1396. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /send [playerid] [amount]");
  1397. return 1;
  1398. }
  1399. giveplayerid = strval(tmp);
  1400.  
  1401. tmp = strtok(cmdtext, idx);
  1402. if(!strlen(tmp)) {
  1403. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /send [playerid] [amount]");
  1404. return 1;
  1405. }
  1406. moneys = strval(tmp);
  1407.  
  1408. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1409.  
  1410. if (IsPlayerConnected(giveplayerid)) {
  1411. playermoney = GetPlayerMoney(playerid);
  1412. if (moneys > 0 && playermoney >= moneys) {
  1413. StatGivePlayerMoney(playerid, (0 - moneys));
  1414. StatGivePlayerMoney(giveplayerid, moneys);
  1415. format(string, sizeof(string), "--- %s (id: %d) sent $%d to %s (id: %d).", sendername,playerid,moneys,giveplayer,giveplayerid);
  1416. printf(string);
  1417. format(string, sizeof(string), "* You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys);
  1418. SendClientMessage(playerid, COLOR_YELLOW, string);
  1419. format(string, sizeof(string), "* You have recieved $%d from %s (id: %d).", moneys, sendername, playerid);
  1420. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  1421. }
  1422. else {
  1423. SendClientMessage(playerid, COLOR_YELLOW, "* Invalid transaction amount.");
  1424. }
  1425. }
  1426. else {
  1427. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  1428. SendClientMessage(playerid, COLOR_YELLOW, string);
  1429. }
  1430. return 1;
  1431. }
  1432.  
  1433. if(strcmp(cmd, "/transact", true) == 0) {
  1434. tmp = dini_Get(FILE_SETTINGS, "bank");
  1435. if (strval(tmp) == 0) {
  1436. SendClientMessage(playerid, COLOR_RED, "* Banks are not allowed on this server!");
  1437. return 1;
  1438. }
  1439.  
  1440. tmp = dini_Get(FILE_SETTINGS, "transact");
  1441. if (strval(tmp) == 0) {
  1442. SendClientMessage(playerid, COLOR_RED, "* Send are not allowed on this server!");
  1443. return 1;
  1444. }
  1445.  
  1446. if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
  1447. SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this. ATMs are located in convenience stores.");
  1448. return 1;
  1449. }
  1450.  
  1451. tmp = strtok(cmdtext, idx);
  1452.  
  1453. GetPlayerName(playerid, sendername, sizeof(sendername));
  1454.  
  1455. if (dini_Exists(udb_encode(sendername)) && logged[playerid] == 0) {
  1456. SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
  1457. return 1;
  1458. }
  1459.  
  1460. if(!strlen(tmp)) {
  1461. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /transact [playerid] [amount]");
  1462. return 1;
  1463. }
  1464. giveplayerid = strval(tmp);
  1465.  
  1466. tmp = strtok(cmdtext, idx);
  1467. if(!strlen(tmp)) {
  1468. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /transact [playerid] [amount]");
  1469. return 1;
  1470. }
  1471. moneys = strval(tmp);
  1472.  
  1473. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1474.  
  1475. if (IsPlayerConnected(giveplayerid)) {
  1476. if (moneys > 0 && bank[playerid] >= moneys) {
  1477. bank[playerid] -= moneys;
  1478. bank[giveplayerid] += moneys;
  1479. format(string, sizeof(string), "--- %s (id: %d) transacted $%d to %s (id: %d) bank.", sendername,playerid,moneys,giveplayer,giveplayerid);
  1480. printf(string);
  1481. format(string, sizeof(string), "* You have transacted $%d to %s (id: %d) bank.", moneys,giveplayer,giveplayerid);
  1482. SendClientMessage(playerid, COLOR_YELLOW, string);
  1483. format(string, sizeof(string), "* You have recieved transaction of $%d from %s (id: %d) in bank.", moneys,sendername,playerid);
  1484. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  1485. }
  1486. else {
  1487. SendClientMessage(playerid, COLOR_YELLOW, "* Invalid transaction amount.");
  1488. }
  1489. }
  1490. else {
  1491. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  1492. SendClientMessage(playerid, COLOR_YELLOW, string);
  1493. }
  1494. return 1;
  1495. }
  1496.  
  1497. if(strcmp(cmd, "/hitman", true) == 0) {
  1498. tmp = dini_Get(FILE_SETTINGS, "bounty");
  1499. if (strval(tmp) == 0) {
  1500. SendClientMessage(playerid, COLOR_RED, "* Bounty are not allowed on this server!");
  1501. return 1;
  1502. }
  1503.  
  1504. tmp = strtok(cmdtext, idx);
  1505.  
  1506. GetPlayerName(playerid, sendername, sizeof(sendername));
  1507.  
  1508. if (dini_Exists(udb_encode(sendername)) && logged[playerid] == 0) {
  1509. SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
  1510. return 1;
  1511. }
  1512.  
  1513. if (!strlen(tmp)) {
  1514. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /hitman [playerid] [amount]");
  1515. return 1;
  1516. }
  1517. giveplayerid = strval(tmp);
  1518.  
  1519. tmp = strtok(cmdtext, idx);
  1520. if (!strlen(tmp)) {
  1521. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /hitman [playerid] [amount]");
  1522. return 1;
  1523. }
  1524. moneys = strval(tmp);
  1525.  
  1526. if (moneys > GetPlayerMoney(playerid)) {
  1527. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1528. return 1;
  1529. }
  1530. if (moneys < 1) {
  1531. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1532. return 1;
  1533. }
  1534. if (!IsPlayerConnected(giveplayerid)) {
  1535. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  1536. SendClientMessage(playerid, COLOR_YELLOW, string);
  1537. return 1;
  1538. }
  1539.  
  1540. bounty[giveplayerid]+=moneys;
  1541. StatGivePlayerMoney(playerid, -moneys);
  1542.  
  1543. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1544.  
  1545. format(string, sizeof(string), "--- %s (id: %d) put $%d on %s (id: %d) head (total: $%d).", sendername,playerid,moneys,giveplayer,giveplayerid, bounty[giveplayerid]);
  1546. printf(string);
  1547.  
  1548. format(string, sizeof(string), "* %s has a $%d bounty put on his head from %s (total: $%d).", giveplayer, moneys, sendername, bounty[giveplayerid]);
  1549. SendClientMessageToAll(COLOR_ORANGE, string);
  1550.  
  1551. return 1;
  1552. }
  1553.  
  1554. if(strcmp(cmd, "/bounty", true) == 0) {
  1555. tmp = dini_Get(FILE_SETTINGS, "bounty");
  1556. if (strval(tmp) == 0) {
  1557. SendClientMessage(playerid, COLOR_RED, "* Bounty are not allowed on this server!");
  1558. return 1;
  1559. }
  1560.  
  1561. tmp = strtok(cmdtext, idx);
  1562.  
  1563. if (!strlen(tmp)) {
  1564. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bounty [playerid]");
  1565. return 1;
  1566. }
  1567. giveplayerid = strval(tmp);
  1568.  
  1569. if (IsPlayerConnected(giveplayerid)) {
  1570. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1571. format(string, sizeof(string), "* Player %s (id: %d) has a $%d bounty on his head.", giveplayer,giveplayerid,bounty[giveplayerid]);
  1572. SendClientMessage(playerid, COLOR_YELLOW, string);
  1573. }
  1574. else {
  1575. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  1576. SendClientMessage(playerid, COLOR_YELLOW, string);
  1577. }
  1578.  
  1579. return 1;
  1580. }
  1581.  
  1582. if(strcmp(cmd, "/buy", true) == 0) {
  1583. new property=999;
  1584.  
  1585. tmp = dini_Get(FILE_SETTINGS, "properties");
  1586. if (strval(tmp) == 0) {
  1587. SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
  1588. return 1;
  1589. }
  1590.  
  1591. if(IsPlayerInCheckpoint(playerid)) {
  1592. switch (playerCheckpoint[playerid]) {
  1593. case CP_DRAGON:{
  1594. property = P_DRAGON;
  1595. }
  1596. case CP_SEXSHOP:{
  1597. property = P_SEXSHOP;
  1598. }
  1599. case CP_BAR:{
  1600. property = P_BAR;
  1601. }
  1602. case CP_CALIGULA:{
  1603. property = P_CALIGULA;
  1604. }
  1605. case CP_ZIP:{
  1606. property = P_ZIP;
  1607. }
  1608. case CP_BINCO:{
  1609. property = P_BINCO;
  1610. }
  1611. case CP_TATOO:{
  1612. property = P_TATOO;
  1613. }
  1614. case CP_BOTIQUE:{
  1615. property = P_BOTIQUE;
  1616. }
  1617. case CP_JIZZY:{
  1618. property = P_JIZZY;
  1619. }
  1620. case CP_PIZZA:{
  1621. property = P_PIZZA;
  1622. }
  1623. case CP_VICTIM:{
  1624. property = P_VICTIM;
  1625. }
  1626. case CP_STRIPCLUB:{
  1627. property = P_STRIPCLUB;
  1628. }
  1629. case CP_WANGCARS:{
  1630. property = P_WANGCARS;
  1631. }
  1632. case CP_EMERALD:{
  1633. property = P_EMERALD;
  1634. }
  1635. case CP_VISAGE:{
  1636. property = P_VISAGE;
  1637. }
  1638. case CP_SUBURBAN:{
  1639. property = P_SUBURBAN;
  1640. }
  1641. case CP_PROLAPS:{
  1642. property = P_PROLAPS;
  1643. }
  1644. case CP_BURGER:{
  1645. property = P_BURGER;
  1646. }
  1647. case CP_CLUCKIN:{
  1648. property = P_CLUCKIN;
  1649. }
  1650. case CP_CLUB:{
  1651. property = P_CLUB;
  1652. }
  1653. case CP_DS:{
  1654. property = P_DS;
  1655. }
  1656. case CP_ZOMBO:{
  1657. property = P_ZOMBO;
  1658. }
  1659. }
  1660.  
  1661. if (property == 999) {
  1662. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in a property checkpoint to /buy it.");
  1663. return 1;
  1664. }
  1665.  
  1666. if (GetPlayerMoney(playerid) < propertyValues[property]) {
  1667. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1668. return 1;
  1669. }
  1670. if (propertyOwner[property] == playerid) {
  1671. SendClientMessage(playerid, COLOR_RED, "* You already own this property.");
  1672. return 1;
  1673. }
  1674.  
  1675. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  1676. if (propertyOwner[property] < 999) {
  1677. StatGivePlayerMoney(propertyOwner[property], propertyValues[property]);
  1678. format (string, sizeof(string), "* Your property, the %s, has been bought out by %s (id: %d).",propertyNames[property],giveplayer,playerid);
  1679. SendClientMessage(propertyOwner[property], COLOR_RED, string);
  1680. }
  1681.  
  1682. StatGivePlayerMoney(playerid, -propertyValues[property]);
  1683.  
  1684. propertyOwner[property] = playerid;
  1685.  
  1686. format(string, sizeof(string), "--- %s (id: %d) bought %s for $%d.", giveplayer,playerid,propertyNames[property],propertyValues[property]);
  1687. printf(string);
  1688.  
  1689. format(string, sizeof(string), "* You have purchased the %s!", propertyNames[property]);
  1690. SendClientMessage(playerid, COLOR_GREEN, string);
  1691.  
  1692. }
  1693. else {
  1694. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in a property checkpoint to /buy it.");
  1695. return 1;
  1696. }
  1697.  
  1698. return 1;
  1699. }
  1700.  
  1701. if(strcmp(cmd, "/prop", true) == 0) {
  1702. new propertyid;
  1703.  
  1704. tmp = dini_Get(FILE_SETTINGS, "properties");
  1705. if (strval(tmp) == 0) {
  1706. SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
  1707. return 1;
  1708. }
  1709.  
  1710. tmp = strtok(cmdtext, idx);
  1711. propertyid = strval(tmp);
  1712. if (!strlen(tmp))
  1713. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /prop [propertyid]");
  1714.  
  1715. SendClientMessage(playerid, COLOR_GREEN, "* Property info:");
  1716. if (propertyOwner[propertyid] < 999) {
  1717. GetPlayerName(propertyOwner[propertyid], giveplayer, sizeof(giveplayer));
  1718. format(string, sizeof(string), "* %s (id: %d). Owner: %s.", propertyNames[propertyid], propertyid, giveplayer);
  1719. }
  1720. else format(string, sizeof(string), "* %s (id: %d). Owner: None.", propertyNames[propertyid], propertyid);
  1721.  
  1722. SendClientMessage(playerid, COLOR_YELLOW, string);
  1723.  
  1724. return 1;
  1725. }
  1726.  
  1727. if(strcmp(cmd, "/proplist", true) == 0) {
  1728. tmp = dini_Get(FILE_SETTINGS, "properties");
  1729. if (strval(tmp) == 0) {
  1730. SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
  1731. return 1;
  1732. }
  1733.  
  1734. SendClientMessage(playerid, COLOR_GREEN, "_________________________________________________________________________");
  1735. SendClientMessage(playerid, COLOR_YELLOW, "* 0. Four Dragons Casino *** 1. Sex Shop *** 2. Bar");
  1736. SendClientMessage(playerid, COLOR_YELLOW, "* 3. Caligula Casino *** 4. Zip Shop *** 5. Binco Shop");
  1737. SendClientMessage(playerid, COLOR_YELLOW, "* 6. Tatoo Parlor *** 7. Botique *** 8. Jizzy's Club");
  1738. SendClientMessage(playerid, COLOR_YELLOW, "* 9. The Well Stacked Pizza *** 10. Victim Shop *** 11. Strip Club");
  1739. SendClientMessage(playerid, COLOR_YELLOW, "* 12. Wang Cars *** 13. Emerald Isle *** 14. The Visage");
  1740. SendClientMessage(playerid, COLOR_YELLOW, "* 15. Sub Urban *** 16. Pro Laps *** 17. Burger ShotKick()");
  1741. SendClientMessage(playerid, COLOR_YELLOW, "* 18. Cluckin' Bell *** 19. Club *** 20. Didier Sachs *** 21. Zombotech");
  1742. SendClientMessage(playerid, COLOR_GREEN, "_________________________________________________________________________");
  1743.  
  1744. return 1;
  1745. }
  1746.  
  1747. if(strcmp(cmd, "/bwmelee", true) == 0) {
  1748. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  1749. if (strval(tmp) == 0) {
  1750. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  1751. return 1;
  1752. }
  1753.  
  1754. tmp = strtok(cmdtext, idx);
  1755.  
  1756. if (!strlen(tmp)) {
  1757. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwmelee [weaponid]");
  1758. return 1;
  1759. }
  1760. weaponid = strval(tmp);
  1761.  
  1762. tmp = strtok(cmdtext, idx);
  1763.  
  1764. if (IsPlayerInCheckpoint(playerid) == 0 || playerCheckpoint[playerid] != CP_AMMU) {
  1765. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
  1766. return 1;
  1767. }
  1768. if (GetPlayerMoney(playerid) < weaponCostMelee[weaponid]) {
  1769. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1770. return 1;
  1771. }
  1772. if (weaponid < 0 || weaponid > 3){
  1773. SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
  1774. return 1;
  1775. }
  1776.  
  1777. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  1778. format(string, sizeof(string), "--- %s (id: %d) purchased %s for $%d.", giveplayer,playerid,weaponNamesMelee[weaponid],weaponCostMelee[weaponid]);
  1779. printf(string);
  1780. format (string, sizeof(string), "* You purchased %s on your spawn for $%d.", weaponNamesMelee[weaponid],weaponCostMelee[weaponid]);
  1781. SendClientMessage(playerid, COLOR_GREEN, string);
  1782.  
  1783. GivePlayerWeapon(playerid, weaponIDsMelee[weaponid], 1);
  1784.  
  1785. dini_IntSet(udb_encode(giveplayer), "weapon1", weaponIDsMelee[weaponid]);
  1786.  
  1787. StatGivePlayerMoney(playerid, -weaponCostMelee[weaponid]);
  1788.  
  1789. return 1;
  1790. }
  1791.  
  1792. if(strcmp(cmd, "/bwpistol", true) == 0) {
  1793. new ammo;
  1794.  
  1795. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  1796. if (strval(tmp) == 0) {
  1797. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  1798. return 1;
  1799. }
  1800.  
  1801. tmp = strtok(cmdtext, idx);
  1802.  
  1803. if(!strlen(tmp)) {
  1804. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwpistol [weaponid] [ammo]");
  1805. return 1;
  1806. }
  1807. weaponid = strval(tmp);
  1808.  
  1809. tmp = strtok(cmdtext, idx);
  1810.  
  1811. if(!strlen(tmp)) {
  1812. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwpistol [weaponid] [ammo]");
  1813. return 1;
  1814. }
  1815. ammo = strval(tmp);
  1816.  
  1817. if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
  1818. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
  1819. return 1;
  1820. }
  1821. if(GetPlayerMoney(playerid) < weaponCostPistols[weaponid]*ammo) {
  1822. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1823. return 1;
  1824. }
  1825. if(weaponid < 0 || weaponid > 2){
  1826. SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
  1827. return 1;
  1828. }
  1829. if(ammo < 1) {
  1830. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1831. return 1;
  1832. }
  1833.  
  1834. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  1835. format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesPistols[weaponid],ammo,weaponCostPistols[weaponid]*ammo);
  1836. printf(string);
  1837. format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.", weaponNamesPistols[weaponid],ammo,weaponCostPistols[weaponid]*ammo);
  1838. SendClientMessage(playerid, COLOR_GREEN, string);
  1839.  
  1840. GivePlayerWeapon(playerid, weaponIDsPistols[weaponid], ammo);
  1841.  
  1842. dini_IntSet(udb_encode(giveplayer), "weapon2", weaponIDsPistols[weaponid]);
  1843. tmp = dini_Get(udb_encode(giveplayer), "ammo2");
  1844. dini_IntSet(udb_encode(giveplayer), "ammo2", strval(tmp)+ammo);
  1845.  
  1846. StatGivePlayerMoney(playerid, -weaponCostPistols[weaponid]*ammo);
  1847.  
  1848. return 1;
  1849. }
  1850.  
  1851. if(strcmp(cmd, "/bwshotgun", true) == 0) {
  1852. new ammo;
  1853.  
  1854. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  1855. if (strval(tmp) == 0) {
  1856. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  1857. return 1;
  1858. }
  1859.  
  1860. tmp = strtok(cmdtext, idx);
  1861.  
  1862. if(!strlen(tmp)) {
  1863. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwshotgun [weaponid] [ammo]");
  1864. return 1;
  1865. }
  1866. weaponid = strval(tmp);
  1867.  
  1868. tmp = strtok(cmdtext, idx);
  1869.  
  1870. if(!strlen(tmp)) {
  1871. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwshotgun [weaponid] [ammo]");
  1872. return 1;
  1873. }
  1874. ammo = strval(tmp);
  1875.  
  1876. if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
  1877. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
  1878. return 1;
  1879. }
  1880. if(GetPlayerMoney(playerid) < weaponCostShotguns[weaponid]*ammo) {
  1881. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1882. return 1;
  1883. }
  1884. if(weaponid < 0 || weaponid > 2){
  1885. SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
  1886. return 1;
  1887. }
  1888. if(ammo < 1) {
  1889. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1890. return 1;
  1891. }
  1892.  
  1893. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  1894. format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesShotguns[weaponid],ammo,weaponCostShotguns[weaponid]*ammo);
  1895. printf(string);
  1896. format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesShotguns[weaponid],ammo,weaponCostShotguns[weaponid]*ammo);
  1897. SendClientMessage(playerid, COLOR_GREEN, string);
  1898.  
  1899. GivePlayerWeapon(playerid, weaponIDsShotguns[weaponid], ammo);
  1900.  
  1901. dini_IntSet(udb_encode(giveplayer), "weapon3", weaponIDsShotguns[weaponid]);
  1902. tmp = dini_Get(udb_encode(giveplayer), "ammo3");
  1903. dini_IntSet(udb_encode(giveplayer), "ammo3", strval(tmp)+ammo);
  1904.  
  1905. StatGivePlayerMoney(playerid, -weaponCostShotguns[weaponid]*ammo);
  1906.  
  1907. return 1;
  1908. }
  1909.  
  1910. if(strcmp(cmd, "/bwsmg", true) == 0) {
  1911. new ammo;
  1912.  
  1913. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  1914. if (strval(tmp) == 0) {
  1915. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  1916. return 1;
  1917. }
  1918.  
  1919. tmp = strtok(cmdtext, idx);
  1920.  
  1921. if(!strlen(tmp)) {
  1922. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwsmg [weaponid] [ammo]");
  1923. return 1;
  1924. }
  1925. weaponid = strval(tmp);
  1926.  
  1927. tmp = strtok(cmdtext, idx);
  1928.  
  1929. if(!strlen(tmp)) {
  1930. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwsmg [weaponid] [ammo]");
  1931. return 1;
  1932. }
  1933. ammo = strval(tmp);
  1934.  
  1935. if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
  1936. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
  1937. return 1;
  1938. }
  1939. if(GetPlayerMoney(playerid) < weaponCostSMGs[weaponid]*ammo) {
  1940. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  1941. return 1;
  1942. }
  1943. if(weaponid < 0 || weaponid > 2){
  1944. SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
  1945. return 1;
  1946. }
  1947. if(ammo < 1) {
  1948. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  1949. return 1;
  1950. }
  1951.  
  1952. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  1953. format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesSMGs[weaponid],ammo,weaponCostSMGs[weaponid]*ammo);
  1954. printf(string);
  1955. format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesSMGs[weaponid],ammo,weaponCostSMGs[weaponid]*ammo);
  1956. SendClientMessage(playerid, COLOR_GREEN, string);
  1957.  
  1958. GivePlayerWeapon(playerid, weaponIDsSMGs[weaponid], ammo);
  1959.  
  1960. dini_IntSet(udb_encode(giveplayer), "weapon4", weaponIDsSMGs[weaponid]);
  1961. tmp = dini_Get(udb_encode(giveplayer), "ammo4");
  1962. dini_IntSet(udb_encode(giveplayer), "ammo4", strval(tmp)+ammo);
  1963.  
  1964. StatGivePlayerMoney(playerid, -weaponCostSMGs[weaponid]*ammo);
  1965.  
  1966. return 1;
  1967. }
  1968.  
  1969. if(strcmp(cmd, "/bwrifle", true) == 0) {
  1970. new ammo;
  1971.  
  1972. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  1973. if (strval(tmp) == 0) {
  1974. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  1975. return 1;
  1976. }
  1977.  
  1978. tmp = strtok(cmdtext, idx);
  1979.  
  1980. if(!strlen(tmp)) {
  1981. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwrifle [weaponid] [ammo]");
  1982. return 1;
  1983. }
  1984. weaponid = strval(tmp);
  1985.  
  1986. tmp = strtok(cmdtext, idx);
  1987.  
  1988. if(!strlen(tmp)) {
  1989. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwrifle [weaponid] [ammo]");
  1990. return 1;
  1991. }
  1992. ammo = strval(tmp);
  1993.  
  1994. if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
  1995. SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
  1996. return 1;
  1997. }
  1998. if(GetPlayerMoney(playerid) < weaponCostRifles[weaponid]*ammo) {
  1999. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  2000. return 1;
  2001. }
  2002. if(weaponid < 0 || weaponid > 2){
  2003. SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
  2004. return 1;
  2005. }
  2006. if(ammo < 1) {
  2007. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  2008. return 1;
  2009. }
  2010.  
  2011. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  2012. format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesRifles[weaponid],ammo,weaponCostRifles[weaponid]*ammo);
  2013. printf(string);
  2014. format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesRifles[weaponid],ammo,weaponCostRifles[weaponid]*ammo);
  2015. SendClientMessage(playerid, COLOR_GREEN, string);
  2016.  
  2017. GivePlayerWeapon(playerid, weaponIDsRifles[weaponid], ammo);
  2018.  
  2019. dini_IntSet(udb_encode(giveplayer), "weapon5", weaponIDsRifles[weaponid]);
  2020. tmp = dini_Get(udb_encode(giveplayer), "ammo5");
  2021. dini_IntSet(udb_encode(giveplayer), "ammo5", strval(tmp)+ammo);
  2022.  
  2023. StatGivePlayerMoney(playerid, -weaponCostRifles[weaponid]*ammo);
  2024.  
  2025. return 1;
  2026. }
  2027.  
  2028. if(strcmp(cmd, "/weaplist", true) == 0) {
  2029. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  2030. if (strval(tmp) == 0) {
  2031. SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
  2032. return 1;
  2033. }
  2034.  
  2035. SendClientMessage(playerid, COLOR_GREEN, "______________________________________________________________________________________________");
  2036. SendClientMessage(playerid, COLOR_YELLOW, "* /bwmelee: 0. Knife - 1500$ *** 1. Bat - 2000$ *** 2. Katana - 3000$ *** 3. Chainsaw - 5000$");
  2037. SendClientMessage(playerid, COLOR_YELLOW, "* /bwpistol: 0. Pistol - 20$ *** 1. Silenced Pistol - 30$ *** 2. Desert Eagle - 60$");
  2038. SendClientMessage(playerid, COLOR_YELLOW, "* /bwshotgun: 0. Shotgun - 70$ *** 1. Sawn-off - 120$ *** 2. Combat Shotgun - 150$");
  2039. SendClientMessage(playerid, COLOR_YELLOW, "* /bwsmg: 0. Tec9 - 50$ *** 1. Micro Uzi - 80$ *** 2. MP5 - 150$");
  2040. SendClientMessage(playerid, COLOR_YELLOW, "* /bwrifle: 0. AK47 - 250$ *** 1. M4 - 300$");
  2041. SendClientMessage(playerid, COLOR_GREEN, "______________________________________________________________________________________________");
  2042. return 1;
  2043. }
  2044.  
  2045. if(strcmp(cmd, "/skydive", true) == 0) {
  2046. new high;
  2047.  
  2048. tmp = dini_Get(FILE_SETTINGS, "skydive");
  2049. if (strval(tmp) == 0) {
  2050. SendClientMessage(playerid, COLOR_RED, "* Skydive are not allowed on this server!");
  2051. return 1;
  2052. }
  2053.  
  2054. if (jailed[playerid] == 1) {
  2055. SendClientMessage(playerid, COLOR_RED, "* You're jailed and cannot skydive.");
  2056. return 1;
  2057. }
  2058.  
  2059. GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
  2060.  
  2061. if (GetPlayerState(playerid) == PLAYER_STATE_NONE || GetPlayerState(playerid) == PLAYER_STATE_WASTED) return 1;
  2062.  
  2063. tmp = strtok(cmdtext, idx);
  2064. high = strval(tmp);
  2065.  
  2066. if(!strlen(tmp) || 100 > high || high > 1000)
  2067. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /skydive [100-1000]");
  2068. else {
  2069. if (GetPlayerMoney(playerid) > 499+high){
  2070. StatGivePlayerMoney(playerid, -500-high);
  2071. new Float:x;
  2072. new Float:y;
  2073. new Float:z;
  2074. GivePlayerWeapon(playerid, 46, 1);
  2075. GetPlayerPos(playerid, x, y, z);
  2076. SetPlayerPos(playerid, x, y, z+high);
  2077. SendClientMessage(playerid, COLOR_YELLOW, "* SKYDIVE!");
  2078. format(string, sizeof(string), "--- %s (id: %d) skydived by %d.", giveplayer,playerid,high);
  2079. printf(string);
  2080. }
  2081. else
  2082. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  2083. }
  2084.  
  2085. return 1;
  2086. }
  2087.  
  2088. if(strcmp(cmd, "/para", true) == 0) {
  2089. tmp = dini_Get(FILE_SETTINGS, "parachute");
  2090. if (strval(tmp) == 0) {
  2091. SendClientMessage(playerid, COLOR_RED, "* Parachute are not allowed on this server!");
  2092. return 1;
  2093. }
  2094.  
  2095. GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
  2096.  
  2097. if (GetPlayerState(playerid) == PLAYER_STATE_NONE || GetPlayerState(playerid) == PLAYER_STATE_WASTED) return 1;
  2098.  
  2099. if (GetPlayerMoney(playerid) > 499) {
  2100. StatGivePlayerMoney(playerid, -500);
  2101. GivePlayerWeapon(playerid, 46, 1);
  2102. SendClientMessage(playerid, COLOR_YELLOW, "* Parachute purchased.");
  2103. format(string, sizeof(string), "--- %s (id: %d) purchased parachute.", giveplayer,playerid);
  2104. printf(string);
  2105. }
  2106. else
  2107. SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
  2108. return 1;
  2109. }
  2110.  
  2111. if(strcmp(cmd, "/me", true) == 0) {
  2112. if (muted[playerid] == 1) {
  2113. SendClientMessage(playerid, COLOR_RED, "* You muted and cannot send messages.");
  2114. return 1;
  2115. }
  2116.  
  2117. strmid(tmp, cmdtext, 3, strlen(cmdtext));
  2118. GetPlayerName(playerid, playername, sizeof(playername));
  2119. if(!strlen(tmp))
  2120. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /me [action]");
  2121.  
  2122. else {
  2123. format(string, sizeof(string), "* %s (id: %d)%s", playername,playerid,tmp);
  2124. printf(string);
  2125. SendClientMessageToAll(COLOR_LIGHTBLUE, string);
  2126. }
  2127.  
  2128. return 1;
  2129. }
  2130.  
  2131. if(strcmp(cmd, "/query", true) == 0) {
  2132. tmp = strtok(cmdtext, idx);
  2133.  
  2134. if(!strlen(tmp)) {
  2135. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /query [playerid]");
  2136. return 1;
  2137. }
  2138. giveplayerid = strval(tmp);
  2139.  
  2140. if (giveplayerid == 255) {
  2141. query[playerid] = 255;
  2142. SendClientMessage(playerid, COLOR_YELLOW, "* Your query is turned off.");
  2143. return 1;
  2144. }
  2145.  
  2146. if (IsPlayerConnected(giveplayerid)) {
  2147. query[playerid] = giveplayerid;
  2148.  
  2149. GetPlayerName(playerid, sendername, sizeof(sendername));
  2150. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2151.  
  2152. format(string, sizeof(string), "--- %s (id: %d) sets query to %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2153. printf(string);
  2154.  
  2155. format(string, sizeof(string), "* Now you can send !messages to %s (id: %d).", giveplayer,giveplayerid);
  2156. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  2157. }
  2158. else {
  2159. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2160. SendClientMessage(playerid, COLOR_YELLOW, string);
  2161. }
  2162.  
  2163. return 1;
  2164. }
  2165.  
  2166. if(strcmp(cmd, "/setpay", true) == 0) {
  2167. tmp = dini_Get(FILE_SETTINGS, "driverservice");
  2168. if (strval(tmp) == 0) {
  2169. SendClientMessage(playerid, COLOR_RED, "* Driver service are not allowed on this server!");
  2170. return 1;
  2171. }
  2172.  
  2173. tmp = strtok(cmdtext, idx);
  2174.  
  2175. if(!strlen(tmp)) {
  2176. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setpay [amount]");
  2177. return 1;
  2178. }
  2179. moneys = strval(tmp);
  2180.  
  2181. if(moneys < 0) {
  2182. SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
  2183. return 1;
  2184. }
  2185.  
  2186. payment[playerid] = moneys;
  2187.  
  2188. GetPlayerName(playerid, sendername, sizeof(sendername));
  2189.  
  2190. format(string, sizeof(string), "--- %s (id: %d) sets payment for his driver services to $%d.", sendername,playerid,moneys);
  2191. printf(string);
  2192.  
  2193. format(string, sizeof(string), "* You set payment for your driver services to $%d.", moneys);
  2194. SendClientMessage(playerid, COLOR_ORANGE, string);
  2195.  
  2196. return 1;
  2197. }
  2198.  
  2199. if(strcmp(cmd, "/getpay", true) == 0) {
  2200. tmp = dini_Get(FILE_SETTINGS, "driverservice");
  2201. if (strval(tmp) == 0) {
  2202. SendClientMessage(playerid, COLOR_RED, "* Driver service are not allowed on this server!");
  2203. return 1;
  2204. }
  2205.  
  2206. tmp = strtok(cmdtext, idx);
  2207.  
  2208. if(!strlen(tmp)) {
  2209. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getpay [playerid]");
  2210. return 1;
  2211. }
  2212. giveplayerid = strval(tmp);
  2213.  
  2214. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2215.  
  2216. format(string, sizeof(string), "* Payment for %s (id: %d) driver services is $%d.", giveplayer,giveplayerid,payment[giveplayerid]);
  2217. SendClientMessage(playerid, COLOR_ORANGE, string);
  2218.  
  2219. return 1;
  2220. }
  2221.  
  2222. if(strcmp(cmd, "/jail", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2223. tmp = strtok(cmdtext, idx);
  2224.  
  2225. if(!strlen(tmp)) {
  2226. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jail [playerid]");
  2227. return 1;
  2228. }
  2229. giveplayerid = strval(tmp);
  2230.  
  2231. if (IsPlayerConnected(giveplayerid)) {
  2232. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2233. GetPlayerName(playerid, sendername, sizeof(sendername));
  2234. dini_IntSet(udb_encode(giveplayer), "jailed", 1);
  2235. jailed[giveplayerid] = 1;
  2236. SetPlayerInterior(giveplayerid,6);
  2237. SetPlayerPos(giveplayerid,265.1273,77.6823,1001.0391);
  2238. format(string, sizeof(string), "--- %s (id: %d) jailed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2239. printf(string);
  2240. format(string, sizeof(string), "* %s (id: %d) jailed.", giveplayer,giveplayerid);
  2241. SendClientMessage(playerid, COLOR_YELLOW, string);
  2242. format(string, sizeof(string), "* You were jailed by %s (id: %d).", sendername,playerid);
  2243. SendClientMessage(giveplayerid, COLOR_RED, string);
  2244. }
  2245. else {
  2246. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2247. SendClientMessage(playerid, COLOR_YELLOW, string);
  2248. }
  2249.  
  2250. return 1;
  2251. }
  2252.  
  2253. if(strcmp(cmd, "/unjail", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2254. tmp = strtok(cmdtext, idx);
  2255.  
  2256. if(!strlen(tmp)) {
  2257. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unjail [playerid]");
  2258. return 1;
  2259. }
  2260. giveplayerid = strval(tmp);
  2261.  
  2262. if (IsPlayerConnected(giveplayerid)) {
  2263. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2264. GetPlayerName(playerid, sendername, sizeof(sendername));
  2265. SetPlayerInterior(giveplayerid,0);
  2266. SetPlayerPos(giveplayerid,2297.1064,2452.0115,10.8203);
  2267. dini_IntSet(udb_encode(giveplayer), "jailed", 0);
  2268. jailed[giveplayerid] = 0;
  2269. format(string, sizeof(string), "--- %s (id: %d) released %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2270. printf(string);
  2271. format(string, sizeof(string), "* %s (id: %d) released.", giveplayer,giveplayerid);
  2272. SendClientMessage(playerid, COLOR_YELLOW, string);
  2273. format(string, sizeof(string), "* You were released by %s (id: %d).", sendername,playerid);
  2274. SendClientMessage(giveplayerid, COLOR_GREEN, string);
  2275. }
  2276. else {
  2277. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2278. SendClientMessage(playerid, COLOR_YELLOW, string);
  2279. }
  2280.  
  2281. return 1;
  2282. }
  2283.  
  2284. if(strcmp(cmd, "/mute", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2285. tmp = strtok(cmdtext, idx);
  2286.  
  2287. if(!strlen(tmp)) {
  2288. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /mute [playerid]");
  2289. return 1;
  2290. }
  2291. giveplayerid = strval(tmp);
  2292.  
  2293. if (IsPlayerConnected(giveplayerid)) {
  2294. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2295. GetPlayerName(playerid, sendername, sizeof(sendername));
  2296. dini_IntSet(udb_encode(giveplayer), "muted", 1);
  2297. muted[giveplayerid] = 1;
  2298. format(string, sizeof(string), "--- %s (id: %d) muted %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2299. printf(string);
  2300. format(string, sizeof(string), "* %s (id: %d) muted.", giveplayer,giveplayerid);
  2301. SendClientMessage(playerid, COLOR_YELLOW, string);
  2302. format(string, sizeof(string), "* You muted by %s (id: %d).", sendername,playerid);
  2303. SendClientMessage(giveplayerid, COLOR_RED, string);
  2304. }
  2305. else {
  2306. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2307. SendClientMessage(playerid, COLOR_YELLOW, string);
  2308. }
  2309.  
  2310. return 1;
  2311. }
  2312.  
  2313. if(strcmp(cmd, "/unmute", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2314. tmp = strtok(cmdtext, idx);
  2315.  
  2316. if(!strlen(tmp)) {
  2317. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unmute [playerid]");
  2318. return 1;
  2319. }
  2320. giveplayerid = strval(tmp);
  2321.  
  2322. if (IsPlayerConnected(giveplayerid)) {
  2323. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2324. GetPlayerName(playerid, sendername, sizeof(sendername));
  2325. dini_IntSet(udb_encode(giveplayer), "muted", 0);
  2326. muted[giveplayerid] = 0;
  2327. format(string, sizeof(string), "--- %s (id: %d) unmuted %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2328. printf(string);
  2329. format(string, sizeof(string), "* %s (id: %d) unmuted.", giveplayer,giveplayerid);
  2330. SendClientMessage(playerid, COLOR_YELLOW, string);
  2331. format(string, sizeof(string), "* You unmuted by %s (id: %d).", sendername,playerid);
  2332. SendClientMessage(giveplayerid, COLOR_GREEN, string);
  2333. }
  2334. else {
  2335. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2336. SendClientMessage(playerid, COLOR_YELLOW, string);
  2337. }
  2338.  
  2339. return 1;
  2340. }
  2341.  
  2342. if(strcmp(cmd, "/heal", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2343. tmp = strtok(cmdtext, idx);
  2344.  
  2345. if(!strlen(tmp)) {
  2346. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /heal [playerid]");
  2347. return 1;
  2348. }
  2349. giveplayerid = strval(tmp);
  2350.  
  2351. if (IsPlayerConnected(giveplayerid)) {
  2352. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2353. GetPlayerName(playerid, sendername, sizeof(sendername));
  2354. SetPlayerHealth(giveplayerid, 100.0);
  2355. god[playerid] = 0;
  2356. format(string, sizeof(string), "--- %s (id: %d) healed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2357. printf(string);
  2358. format(string, sizeof(string), "* %s (id: %d) healed.", giveplayer,giveplayerid);
  2359. SendClientMessage(playerid, COLOR_YELLOW, string);
  2360. format(string, sizeof(string), "* You healed by %s (id: %d).", sendername,playerid);
  2361. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2362. }
  2363. else {
  2364. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2365. SendClientMessage(playerid, COLOR_YELLOW, string);
  2366. }
  2367.  
  2368. return 1;
  2369. }
  2370.  
  2371. if(strcmp(cmd, "/god", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2372. tmp = strtok(cmdtext, idx);
  2373.  
  2374. if(!strlen(tmp)) {
  2375. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /god [playerid]");
  2376. return 1;
  2377. }
  2378. giveplayerid = strval(tmp);
  2379.  
  2380. if (IsPlayerConnected(giveplayerid)) {
  2381. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2382. GetPlayerName(playerid, sendername, sizeof(sendername));
  2383. god[giveplayerid] = 1;
  2384. SetPlayerHealth(giveplayerid, 99999.0);
  2385. format(string, sizeof(string), "--- %s (id: %d) invincibled %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2386. printf(string);
  2387. format(string, sizeof(string), "* %s (id: %d) is now invincible.", giveplayer,giveplayerid);
  2388. SendClientMessage(playerid, COLOR_YELLOW, string);
  2389. format(string, sizeof(string), "* %s (id: %d) made you invincible.", sendername,playerid);
  2390. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2391. }
  2392. else {
  2393. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2394. SendClientMessage(playerid, COLOR_YELLOW, string);
  2395. }
  2396.  
  2397. return 1;
  2398. }
  2399.  
  2400. if(strcmp(cmd, "/murder", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2401. tmp = strtok(cmdtext, idx);
  2402.  
  2403. if(!strlen(tmp)) {
  2404. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /murder [playerid]");
  2405. return 1;
  2406. }
  2407. giveplayerid = strval(tmp);
  2408.  
  2409. if (IsPlayerConnected(giveplayerid)) {
  2410. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2411. GetPlayerName(playerid, sendername, sizeof(sendername));
  2412. SetPlayerHealth(giveplayerid, 0.0);
  2413. god[giveplayerid] = 0;
  2414. format(string, sizeof(string), "--- %s (id: %d) murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2415. printf(string);
  2416. format(string, sizeof(string), "* %s (id: %d) is now dead.", giveplayer,giveplayerid);
  2417. SendClientMessage(playerid, COLOR_YELLOW, string);
  2418. format(string, sizeof(string), "* %s (id: %d) killed you.", sendername,playerid);
  2419. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2420. }
  2421. else {
  2422. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2423. SendClientMessage(playerid, COLOR_YELLOW, string);
  2424. }
  2425.  
  2426. return 1;
  2427. }
  2428.  
  2429. if(strcmp(cmd, "/freeze", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2430. tmp = strtok(cmdtext, idx);
  2431.  
  2432. if(!strlen(tmp)) {
  2433. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /freeze [playerid]");
  2434. return 1;
  2435. }
  2436. giveplayerid = strval(tmp);
  2437.  
  2438. if (IsPlayerConnected(giveplayerid)) {
  2439. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2440. GetPlayerName(playerid, sendername, sizeof(sendername));
  2441. TogglePlayerControllable(giveplayerid, 0);
  2442. format(string, sizeof(string), "--- %s (id: %d) freezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2443. printf(string);
  2444. format(string, sizeof(string), "* %s (id: %d) frozen.", giveplayer,giveplayerid);
  2445. SendClientMessage(playerid, COLOR_YELLOW, string);
  2446. format(string, sizeof(string), "* You frozen by %s (id: %d).", sendername,playerid);
  2447. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2448. }
  2449. else {
  2450. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2451. SendClientMessage(playerid, COLOR_YELLOW, string);
  2452. }
  2453.  
  2454. return 1;
  2455. }
  2456.  
  2457. if(strcmp(cmd, "/unfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2458. tmp = strtok(cmdtext, idx);
  2459.  
  2460. if(!strlen(tmp)) {
  2461. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unfreeze [playerid]");
  2462. return 1;
  2463. }
  2464. giveplayerid = strval(tmp);
  2465.  
  2466. if (IsPlayerConnected(giveplayerid)) {
  2467. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2468. GetPlayerName(playerid, sendername, sizeof(sendername));
  2469. TogglePlayerControllable(giveplayerid, 1);
  2470. format(string, sizeof(string), "--- %s (id: %d) unfreezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2471. printf(string);
  2472. format(string, sizeof(string), "* %s (id: %d) unfrozen.", giveplayer,giveplayerid);
  2473. SendClientMessage(playerid, COLOR_YELLOW, string);
  2474. format(string, sizeof(string), "* You unfrozen by %s (id: %d).", sendername,playerid);
  2475. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2476. }
  2477. else {
  2478. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2479. SendClientMessage(playerid, COLOR_YELLOW, string);
  2480. }
  2481.  
  2482. return 1;
  2483. }
  2484.  
  2485. if(strcmp(cmd, "/givemoney", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2486. tmp = strtok(cmdtext, idx);
  2487.  
  2488. if(!strlen(tmp)) {
  2489. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /givemoney [playerid] [amount]");
  2490. return 1;
  2491. }
  2492. giveplayerid = strval(tmp);
  2493.  
  2494. tmp = strtok(cmdtext, idx);
  2495. if(!strlen(tmp)) {
  2496. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /givemoney [playerid] [amount]");
  2497. return 1;
  2498. }
  2499. moneys = strval(tmp);
  2500.  
  2501. if (IsPlayerConnected(giveplayerid)) {
  2502. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2503. GetPlayerName(playerid, sendername, sizeof(sendername));
  2504. playermoney = GetPlayerMoney(playerid);
  2505. StatGivePlayerMoney(giveplayerid, moneys);
  2506. format(string, sizeof(string), "--- %s (id: %d) maded $%d for %s (id: %d).", sendername,playerid,moneys,giveplayer,giveplayerid);
  2507. printf(string);
  2508. format(string, sizeof(string), "* You have made money for %s (id: %d), $%d.", giveplayer,giveplayerid, moneys);
  2509. SendClientMessage(playerid, COLOR_YELLOW, string);
  2510. format(string, sizeof(string), "* You have granted $%d from %s (id: %d).", moneys, sendername, playerid);
  2511. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2512. }
  2513. else {
  2514. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2515. SendClientMessage(playerid, COLOR_YELLOW, string);
  2516. }
  2517.  
  2518. return 1;
  2519. }
  2520.  
  2521. if(strcmp(cmd, "/giveweapon", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2522. new ammo;
  2523. tmp = strtok(cmdtext, idx);
  2524.  
  2525. if(!strlen(tmp)) {
  2526. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
  2527. return 1;
  2528. }
  2529. giveplayerid = strval(tmp);
  2530.  
  2531. tmp = strtok(cmdtext, idx);
  2532. if(!strlen(tmp)) {
  2533. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
  2534. return 1;
  2535. }
  2536. moneys = strval(tmp);
  2537.  
  2538. tmp = strtok(cmdtext, idx);
  2539. if(!strlen(tmp)) {
  2540. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
  2541. return 1;
  2542. }
  2543. ammo = strval(tmp);
  2544.  
  2545. if (IsPlayerConnected(giveplayerid)) {
  2546. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2547. GetPlayerName(playerid, sendername, sizeof(sendername));
  2548. GivePlayerWeapon(giveplayerid, moneys, ammo);
  2549. format(string, sizeof(string), "--- %s (id: %d) gave weapon (id: %d) (ammo: %d) to %s (id: %d).", sendername,playerid,moneys,ammo,giveplayer,giveplayerid);
  2550. printf(string);
  2551. format(string, sizeof(string), "* You given weapon (id: %d) (ammo: %d) to %s (id: %d).", moneys,ammo,giveplayer,giveplayerid);
  2552. SendClientMessage(playerid, COLOR_YELLOW, string);
  2553. format(string, sizeof(string), "* You have granted weapon (id: %d) (ammo: %d) from %s (id: %d).", moneys,ammo,sendername,playerid);
  2554. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2555. }
  2556. else {
  2557. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2558. SendClientMessage(playerid, COLOR_YELLOW, string);
  2559. }
  2560.  
  2561. return 1;
  2562. }
  2563.  
  2564. if(strcmp(cmd, "/disarm", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2565. tmp = strtok(cmdtext, idx);
  2566.  
  2567. if(!strlen(tmp)) {
  2568. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /disarm [playerid]");
  2569. return 1;
  2570. }
  2571. giveplayerid = strval(tmp);
  2572.  
  2573. if (IsPlayerConnected(giveplayerid)) {
  2574. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2575. GetPlayerName(playerid, sendername, sizeof(sendername));
  2576. ResetPlayerWeapons(giveplayerid);
  2577. format(string, sizeof(string), "--- %s (id: %d) removed weapons from %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
  2578. printf(string);
  2579. format(string, sizeof(string), "* Removed all weapons from %s (id: %d).", giveplayer,giveplayerid);
  2580. SendClientMessage(playerid, COLOR_YELLOW, string);
  2581. format(string, sizeof(string), "* %s (id: %d) removed all your weapons.", sendername,playerid);
  2582. SendClientMessage(giveplayerid, COLOR_RED, string);
  2583. }
  2584. else {
  2585. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2586. SendClientMessage(playerid, COLOR_YELLOW, string);
  2587. }
  2588.  
  2589. return 1;
  2590. }
  2591.  
  2592. if(strcmp(cmd, "/locs", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2593. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________________________________________________");
  2594. SendClientMessage(playerid, COLOR_YELLOW,"* LS: 1. Groove St. *** 2. Airport *** 3. Highest Building *** 4. Lighthouse");
  2595. SendClientMessage(playerid, COLOR_YELLOW,"* SF: 5. Doherty *** 6. Airport *** 7. Highest Building *** 8. Golden Gate");
  2596. SendClientMessage(playerid, COLOR_YELLOW,"* LV: 9. Four Dragons *** 10. Airport *** 11. Highest Building");
  2597. SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: 12. Chilliad *** 13. Abandoned Airport *** 14. Area 69");
  2598. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________________________________________________");
  2599.  
  2600. return 1;
  2601. }
  2602.  
  2603. if(strcmp(cmd, "/tp", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2604. new locname[256];
  2605. tmp = strtok(cmdtext, idx);
  2606.  
  2607. if(!strlen(tmp)) {
  2608. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tp [playerid] [locid]");
  2609. return 1;
  2610. }
  2611. giveplayerid = strval(tmp);
  2612.  
  2613. tmp = strtok(cmdtext, idx);
  2614. if(!strlen(tmp)) {
  2615. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tp [playerid] [locid]");
  2616. return 1;
  2617. }
  2618. moneys = strval(tmp);
  2619.  
  2620. if (moneys < 1 || moneys > 14) {
  2621. SendClientMessage(playerid, COLOR_YELLOW, "* Invalid location id.");
  2622. return 1;
  2623. }
  2624.  
  2625. if (IsPlayerConnected(giveplayerid)) {
  2626. SetPlayerInterior(giveplayerid, 0);
  2627. if (moneys == 1) {
  2628. format(locname, sizeof(locname), "LS Groove St.");
  2629. SetPlayerPos(giveplayerid, 2492.9375,-1670.4402,13.3359);
  2630. }
  2631. if (moneys == 2) {
  2632. format(locname, sizeof(locname), "LS Airport");
  2633. SetPlayerPos(giveplayerid, 1925.1957,-2426.8733,13.5391);
  2634. }
  2635. if (moneys == 3) {
  2636. format(locname, sizeof(locname), "LS Highest Building");
  2637. SetPlayerPos(giveplayerid, 1546.1326,-1354.6786,329.4790);
  2638. }
  2639. if (moneys == 4) {
  2640. format(locname, sizeof(locname), "LS Lighthouse");
  2641. SetPlayerPos(giveplayerid, 154.0820,-1938.4050,3.7734);
  2642. }
  2643. if (moneys == 5) {
  2644. format(locname, sizeof(locname), "SF Doherty");
  2645. SetPlayerPos(giveplayerid, -2026.0696,175.2042,28.8359);
  2646. }
  2647. if (moneys == 6) {
  2648. format(locname, sizeof(locname), "SF Airport");
  2649. SetPlayerPos(giveplayerid, -1281.1655,-166.1917,14.1484);
  2650. }
  2651. if (moneys == 7) {
  2652. format(locname, sizeof(locname), "SF Highest Building");
  2653. SetPlayerPos(giveplayerid, -1753.8291,885.4835,295.8750);
  2654. }
  2655. if (moneys == 8) {
  2656. format(locname, sizeof(locname), "SF Golden Gate");
  2657. SetPlayerPos(giveplayerid, -2678.8230,1595.1827,217.2739);
  2658. }
  2659. if (moneys == 9) {
  2660. format(locname, sizeof(locname), "LV Four Dragons");
  2661. SetPlayerPos(giveplayerid, 2030.2551,1007.9247,10.8203);
  2662. }
  2663. if (moneys == 10) {
  2664. format(locname, sizeof(locname), "LV Airport");
  2665. SetPlayerPos(giveplayerid, 1525.6610,1594.5865,10.8203);
  2666. }
  2667. if (moneys == 11) {
  2668. format(locname, sizeof(locname), "LV Highest Building");
  2669. SetPlayerPos(giveplayerid, 2057.1145,2435.5623,165.6172);
  2670. }
  2671. if (moneys == 12) {
  2672. format(locname, sizeof(locname), "Chilliad");
  2673. SetPlayerPos(giveplayerid, -2321.2866,-1637.9414,483.7031);
  2674. }
  2675. if (moneys == 13) {
  2676. format(locname, sizeof(locname), "Abandoned Airport");
  2677. SetPlayerPos(giveplayerid, 324.9738,2520.6030,16.6942);
  2678. }
  2679. if (moneys == 14) {
  2680. format(locname, sizeof(locname), "Area 69");
  2681. SetPlayerPos(giveplayerid, 213.6413,1904.4032,17.6406);
  2682. }
  2683. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2684. GetPlayerName(playerid, sendername, sizeof(sendername));
  2685. format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to location id %d.", sendername,playerid,giveplayer,giveplayerid, moneys);
  2686. printf(string);
  2687. format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,locname,moneys);
  2688. SendClientMessage(playerid, COLOR_YELLOW, string);
  2689. format(string, sizeof(string), "* You teleported to %s by %s (id: %d).", locname,sendername,playerid);
  2690. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2691. }
  2692. if (!IsPlayerConnected(giveplayerid)) {
  2693. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2694. SendClientMessage(playerid, COLOR_YELLOW, string);
  2695. }
  2696.  
  2697. return 1;
  2698. }
  2699.  
  2700. if(strcmp(cmd, "/tpto", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2701. new telename[MAX_PLAYER_NAME];
  2702. new teleid;
  2703. new Float:pX, Float:pY, Float:pZ;
  2704. tmp = strtok(cmdtext, idx);
  2705.  
  2706. if(!strlen(tmp)) {
  2707. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
  2708. return 1;
  2709. }
  2710. giveplayerid = strval(tmp);
  2711.  
  2712. tmp = strtok(cmdtext, idx);
  2713. if(!strlen(tmp)) {
  2714. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
  2715. return 1;
  2716. }
  2717. teleid = strval(tmp);
  2718.  
  2719. if (IsPlayerConnected(giveplayerid) && IsPlayerConnected(teleid)) {
  2720. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2721. GetPlayerName(playerid, sendername, sizeof(sendername));
  2722. GetPlayerName(teleid, telename, sizeof(telename));
  2723. GetPlayerPos(teleid, pX,pY,pZ);
  2724. SetPlayerPos(giveplayerid, pX,pY,pZ);
  2725. format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to %s (id: %d)", sendername,playerid,giveplayer,giveplayerid,telename,teleid);
  2726. printf(string);
  2727. format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,telename,teleid);
  2728. SendClientMessage(playerid, COLOR_YELLOW, string);
  2729. format(string, sizeof(string), "* You teleported to %s (id: %d) by %s (id: %d).", telename,teleid,sendername,playerid);
  2730. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2731. }
  2732. if (!IsPlayerConnected(giveplayerid)) {
  2733. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2734. SendClientMessage(playerid, COLOR_YELLOW, string);
  2735. }
  2736. if (!IsPlayerConnected(teleid)) {
  2737. format(string, sizeof(string), "* %d is not an active player.", teleid);
  2738. SendClientMessage(playerid, COLOR_YELLOW, string);
  2739. }
  2740.  
  2741. return 1;
  2742. }
  2743.  
  2744. if(strcmp(cmd, "/deluser", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2745. tmp = strtok(cmdtext, idx);
  2746.  
  2747. GetPlayerName(playerid, playername, sizeof(playername));
  2748. if(!strlen(tmp))
  2749. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /deluser [playername]");
  2750.  
  2751. else {
  2752. if (dini_Exists(udb_encode(tmp))) {
  2753. dini_Remove(udb_encode(tmp));
  2754. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  2755. tmp2 = dini_Get(FILE_TOTALSTAT, "users");
  2756. if (strval(tmp2) > 0) dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)-1);
  2757. format(string, sizeof(string), "--- %s (id: %d) deleted user %s from db.", playername,playerid,tmp);
  2758. printf(string);
  2759. format(string, sizeof(string), "* User %s deleted from db.", tmp);
  2760. SendClientMessage(playerid, COLOR_RED, string);
  2761. }
  2762. else {
  2763. format(string, sizeof(string), "* %s no such account.", tmp);
  2764. SendClientMessage(playerid, COLOR_RED, string);
  2765. }
  2766. }
  2767.  
  2768. return 1;
  2769. }
  2770.  
  2771. if(strcmp(cmd, "/setmoney", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2772. new oldmoneys;
  2773.  
  2774. tmp = strtok(cmdtext, idx);
  2775.  
  2776. if(!strlen(tmp)) {
  2777. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setmoney [playerid] [amount]");
  2778. return 1;
  2779. }
  2780. giveplayerid = strval(tmp);
  2781.  
  2782. tmp = strtok(cmdtext, idx);
  2783. if(!strlen(tmp)) {
  2784. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setmoney [playerid] [amount]");
  2785. return 1;
  2786. }
  2787. moneys = strval(tmp);
  2788.  
  2789. if (IsPlayerConnected(giveplayerid)) {
  2790. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2791. GetPlayerName(playerid, sendername, sizeof(sendername));
  2792. oldmoneys = GetPlayerMoney(giveplayerid);
  2793. StatGivePlayerMoney(giveplayerid, -oldmoneys+moneys);
  2794. format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) money to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
  2795. printf(string);
  2796. format(string, sizeof(string), "* You set money of %s (id: %d) to $%d.", giveplayer,giveplayerid,moneys);
  2797. SendClientMessage(playerid, COLOR_YELLOW, string);
  2798. format(string, sizeof(string), "* Your money is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
  2799. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2800. }
  2801. else {
  2802. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2803. SendClientMessage(playerid, COLOR_YELLOW, string);
  2804. }
  2805.  
  2806. return 1;
  2807. }
  2808.  
  2809. if(strcmp(cmd, "/getmoney", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2810. tmp = strtok(cmdtext, idx);
  2811.  
  2812. if(!strlen(tmp)) {
  2813. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getmoney [playerid]");
  2814. return 1;
  2815. }
  2816. giveplayerid = strval(tmp);
  2817.  
  2818. if (IsPlayerConnected(giveplayerid)) {
  2819. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2820. format(string, sizeof(string), "* Money of %s (id: %d) is $%d.", giveplayer,giveplayerid,GetPlayerMoney(giveplayerid));
  2821. SendClientMessage(playerid, COLOR_YELLOW, string);
  2822. }
  2823. else {
  2824. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2825. SendClientMessage(playerid, COLOR_YELLOW, string);
  2826. }
  2827.  
  2828. return 1;
  2829. }
  2830.  
  2831. if(strcmp(cmd, "/setbank", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2832. tmp = strtok(cmdtext, idx);
  2833.  
  2834. if(!strlen(tmp)) {
  2835. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbank [playerid] [amount]");
  2836. return 1;
  2837. }
  2838. giveplayerid = strval(tmp);
  2839.  
  2840. tmp = strtok(cmdtext, idx);
  2841. if(!strlen(tmp)) {
  2842. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbank [playerid] [amount]");
  2843. return 1;
  2844. }
  2845. moneys = strval(tmp);
  2846.  
  2847. if (IsPlayerConnected(giveplayerid)) {
  2848. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2849. GetPlayerName(playerid, sendername, sizeof(sendername));
  2850. bank[giveplayerid] = moneys;
  2851. format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) bank balance to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
  2852. printf(string);
  2853. format(string, sizeof(string), "* You set balance of %s (id: %d) to $%d in bank.", giveplayer,giveplayerid,moneys);
  2854. SendClientMessage(playerid, COLOR_YELLOW, string);
  2855. format(string, sizeof(string), "* Your bank balance is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
  2856. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2857. }
  2858. else {
  2859. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2860. SendClientMessage(playerid, COLOR_YELLOW, string);
  2861. }
  2862.  
  2863. return 1;
  2864. }
  2865.  
  2866. if(strcmp(cmd, "/getbank", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2867. tmp = strtok(cmdtext, idx);
  2868.  
  2869. if(!strlen(tmp)) {
  2870. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getbank [playerid]");
  2871. return 1;
  2872. }
  2873. giveplayerid = strval(tmp);
  2874.  
  2875. if (IsPlayerConnected(giveplayerid)) {
  2876. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2877. format(string, sizeof(string), "* Balance of %s (id: %d) is $%d.", giveplayer,giveplayerid,bank[giveplayerid]);
  2878. SendClientMessage(playerid, COLOR_YELLOW, string);
  2879. }
  2880. else {
  2881. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2882. SendClientMessage(playerid, COLOR_YELLOW, string);
  2883. }
  2884.  
  2885. return 1;
  2886. }
  2887.  
  2888. if(strcmp(cmd, "/setbounty", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2889. tmp = strtok(cmdtext, idx);
  2890.  
  2891. if(!strlen(tmp)) {
  2892. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbounty [playerid] [amount]");
  2893. return 1;
  2894. }
  2895. giveplayerid = strval(tmp);
  2896.  
  2897. tmp = strtok(cmdtext, idx);
  2898. if(!strlen(tmp)) {
  2899. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbounty [playerid] [amount]");
  2900. return 1;
  2901. }
  2902. moneys = strval(tmp);
  2903.  
  2904. if (IsPlayerConnected(giveplayerid)) {
  2905. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2906. GetPlayerName(playerid, sendername, sizeof(sendername));
  2907. bounty[giveplayerid] = moneys;
  2908. format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) bounty to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
  2909. printf(string);
  2910. format(string, sizeof(string), "* You set bounty on %s (id: %d) to $%d.", giveplayer,giveplayerid,moneys);
  2911. SendClientMessage(playerid, COLOR_YELLOW, string);
  2912. format(string, sizeof(string), "* Your bounty is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
  2913. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  2914. }
  2915. else {
  2916. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2917. SendClientMessage(playerid, COLOR_YELLOW, string);
  2918. }
  2919.  
  2920. return 1;
  2921. }
  2922.  
  2923. if(strcmp(cmd, "/kick", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2924. tmp = strtok(cmdtext, idx);
  2925.  
  2926. if(!strlen(tmp)) {
  2927. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
  2928. return 1;
  2929. }
  2930. giveplayerid = strval(tmp);
  2931.  
  2932. strmid(tmp, cmdtext, 6+strlen(tmp), strlen(cmdtext));
  2933. if(!strlen(tmp)) {
  2934. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
  2935. return 1;
  2936. }
  2937.  
  2938. if (IsPlayerConnected(giveplayerid)) {
  2939. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2940. GetPlayerName(playerid, sendername, sizeof(sendername));
  2941. KickMsg(giveplayerid, sendername, tmp);
  2942. }
  2943. else {
  2944. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2945. SendClientMessage(playerid, COLOR_YELLOW, string);
  2946. }
  2947.  
  2948. return 1;
  2949. }
  2950.  
  2951. if(strcmp(cmd, "/ban", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  2952. tmp = strtok(cmdtext, idx);
  2953.  
  2954. if(!strlen(tmp)) {
  2955. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
  2956. return 1;
  2957. }
  2958. giveplayerid = strval(tmp);
  2959.  
  2960. strmid(tmp, cmdtext, 5+strlen(tmp), strlen(cmdtext));
  2961. if(!strlen(tmp)) {
  2962. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
  2963. return 1;
  2964. }
  2965.  
  2966. if (IsPlayerConnected(giveplayerid)) {
  2967. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2968. GetPlayerName(playerid, sendername, sizeof(sendername));
  2969. BanMsg(giveplayerid, sendername, tmp);
  2970. }
  2971. else {
  2972. format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
  2973. SendClientMessage(playerid, COLOR_YELLOW, string);
  2974. }
  2975.  
  2976. return 1;
  2977. }
  2978.  
  2979. if(strcmp(cmd, "/stat", true) == 0) {
  2980. tmp = strtok(cmdtext, idx);
  2981.  
  2982. GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
  2983. if(!strlen(tmp)) {
  2984. if (dini_Exists(udb_encode(sendername))) {
  2985. SendClientMessage(playerid, COLOR_WHITE,"____________________________");
  2986. format(string, sizeof(string), "* Statistic for %s:", sendername);
  2987. SendClientMessage(playerid, COLOR_ORANGE, string);
  2988. tmp2 = dini_Get(udb_encode(sendername), "kills");
  2989. for (new i=0;i<12;i++)
  2990. if (RankKills[i] <= strval(tmp2)) moneys = i;
  2991. format(string, sizeof(string), "* Kills: %d. Rank: %s.", strval(tmp2),RankKillNames[moneys]);
  2992. SendClientMessage(playerid, COLOR_GREEN, string);
  2993. tmp2 = dini_Get(udb_encode(sendername), "killsinarow");
  2994. for (new i=0;i<12;i++)
  2995. if (RankKillsIAR[i] <= strval(tmp2)) moneys = i;
  2996. format(string, sizeof(string), "* Max kills in a row: %d. Rank: %s.", strval(tmp2),RankKillIARNames[moneys]);
  2997. SendClientMessage(playerid, COLOR_WHITE, string);
  2998. tmp2 = dini_Get(udb_encode(sendername), "deaths");
  2999. for (new i=0;i<12;i++)
  3000. if (RankDeaths[i] <= strval(tmp2)) moneys = i;
  3001. format(string, sizeof(string), "* Deaths: %d. Rank: %s.", strval(tmp2),RankDeathNames[moneys]);
  3002. SendClientMessage(playerid, COLOR_RED, string);
  3003. tmp2 = dini_Get(udb_encode(sendername), "suicides");
  3004. for (new i=0;i<12;i++)
  3005. if (RankSuicides[i] <= strval(tmp2)) moneys = i;
  3006. format(string, sizeof(string), "* Suicides: %d. Rank: %s.", strval(tmp2),RankSuicideNames[moneys]);
  3007. SendClientMessage(playerid, COLOR_GREY, string);
  3008. for (new i=0;i<12;i++)
  3009. if (RankMoneys[i] <= GetPlayerMoney(playerid)+bank[playerid]) moneys = i;
  3010. format(string, sizeof(string), "* Total money: %d. Rank: %s.", GetPlayerMoney(playerid)+bank[playerid],RankMoneyNames[moneys]);
  3011. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  3012. for (new i=0;i<8;i++)
  3013. if (RankBounty[i] <= bounty[playerid]) moneys = i;
  3014. format(string, sizeof(string), "* Bounty: %d. Rank: %s.", bounty[playerid],RankBountyNames[moneys]);
  3015. SendClientMessage(playerid, COLOR_YELLOW, string);
  3016. SendClientMessage(playerid, COLOR_WHITE,"____________________________");
  3017. }
  3018. else {
  3019. format(string, sizeof(string), "* %s no such account.", sendername);
  3020. SendClientMessage(playerid, COLOR_RED, string);
  3021. }
  3022. }
  3023. else {
  3024. if (dini_Exists(udb_encode(tmp))) {
  3025. SendClientMessage(playerid, COLOR_WHITE,"____________________________");
  3026. format(string, sizeof(string), "* Statistic for %s:", tmp);
  3027. SendClientMessage(playerid, COLOR_ORANGE, string);
  3028. tmp2 = dini_Get(udb_encode(tmp), "kills");
  3029. for (new i=0;i<12;i++)
  3030. if (RankKills[i] <= strval(tmp2)) moneys = i;
  3031. format(string, sizeof(string), "* Kills: %d. Rank: %s.", strval(tmp2),RankKillNames[moneys]);
  3032. SendClientMessage(playerid, COLOR_GREEN, string);
  3033. tmp2 = dini_Get(udb_encode(tmp), "killsinarow");
  3034. for (new i=0;i<12;i++)
  3035. if (RankKillsIAR[i] <= strval(tmp2)) moneys = i;
  3036. format(string, sizeof(string), "* Max kills in a row: %d. Rank: %s.", strval(tmp2),RankKillIARNames[moneys]);
  3037. SendClientMessage(playerid, COLOR_WHITE, string);
  3038. tmp2 = dini_Get(udb_encode(tmp), "deaths");
  3039. for (new i=0;i<12;i++)
  3040. if (RankDeaths[i] <= strval(tmp2)) moneys = i;
  3041. format(string, sizeof(string), "* Deaths: %d. Rank: %s.", strval(tmp2),RankDeathNames[moneys]);
  3042. SendClientMessage(playerid, COLOR_RED, string);
  3043. tmp2 = dini_Get(udb_encode(tmp), "suicides");
  3044. for (new i=0;i<12;i++)
  3045. if (RankSuicides[i] <= strval(tmp2)) moneys = i;
  3046. format(string, sizeof(string), "* Suicides: %d. Rank: %s.", strval(tmp2),RankSuicideNames[moneys]);
  3047. SendClientMessage(playerid, COLOR_GREY, string);
  3048. SendClientMessage(playerid, COLOR_WHITE,"____________________________");
  3049. giveplayerid = GetPlayerId(tmp);
  3050. if (giveplayerid != INVALID_PLAYER_ID) {
  3051. weaponid = bounty[giveplayerid];
  3052. giveplayerid = GetPlayerMoney(giveplayerid)+bank[giveplayerid];
  3053. }
  3054. else {
  3055. tmp2 = dini_Get(udb_encode(tmp), "money");
  3056. giveplayerid = strval(tmp2);
  3057. tmp2 = dini_Get(udb_encode(tmp), "bank");
  3058. giveplayerid += strval(tmp2);
  3059. tmp2 = dini_Get(udb_encode(tmp), "bounty");
  3060. weaponid = strval(tmp2);
  3061. }
  3062. for (new i=0;i<12;i++)
  3063. if (RankMoneys[i] <= giveplayerid) moneys = i;
  3064. format(string, sizeof(string), "* Total money: %d. Rank: %s.", giveplayerid,RankMoneyNames[moneys]);
  3065. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  3066. for (new i=0;i<8;i++)
  3067. if (RankBounty[i] <= weaponid) moneys = i;
  3068. format(string, sizeof(string), "* Bounty: %d. Rank: %s.", weaponid,RankBountyNames[moneys]);
  3069. SendClientMessage(playerid, COLOR_YELLOW, string);
  3070. SendClientMessage(playerid, COLOR_WHITE,"____________________________");
  3071. }
  3072. else {
  3073. format(string, sizeof(string), "* %s no such account.", tmp);
  3074. SendClientMessage(playerid, COLOR_RED, string);
  3075. }
  3076. }
  3077.  
  3078. return 1;
  3079. }
  3080.  
  3081. if(strcmp(cmd, "/totalstat", true) == 0) {
  3082. new tmp3[256];
  3083. SendClientMessage(playerid, COLOR_WHITE,"_________________________________________");
  3084. format(string, sizeof(string), "* Total server statistic:", sendername);
  3085. SendClientMessage(playerid, COLOR_ORANGE, string);
  3086. tmp = dini_Get(FILE_TOTALSTAT, "kills");
  3087. tmp2 = dini_Get(FILE_TOTALSTAT, "deaths");
  3088. tmp3 = dini_Get(FILE_TOTALSTAT, "suicides");
  3089. format(string, sizeof(string), "* Kills: %d. Deaths: %d. Suicides: %d.", strval(tmp),strval(tmp2),strval(tmp3));
  3090. SendClientMessage(playerid, COLOR_GREEN, string);
  3091. tmp = dini_Get(FILE_TOTALSTAT, "moneyreceived");
  3092. tmp2 = dini_Get(FILE_TOTALSTAT, "moneylost");
  3093. format(string, sizeof(string), "* Money received: %d. Money spent/lost: %d.", strval(tmp), strval(tmp2));
  3094. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  3095. tmp = dini_Get(FILE_TOTALSTAT, "users");
  3096. format(string, sizeof(string), "* Players registered: %d.", strval(tmp));
  3097. tmp = dini_Get(FILE_TOTALSTAT, "kicks");
  3098. tmp2 = dini_Get(FILE_TOTALSTAT, "bans");
  3099. format(string, sizeof(string), "* Players kicked: %d. Players banned: %d.", strval(tmp),strval(tmp2));
  3100. SendClientMessage(playerid, COLOR_RED, string);
  3101. SendClientMessage(playerid, COLOR_WHITE,"_________________________________________");
  3102.  
  3103. return 1;
  3104. }
  3105.  
  3106. if(strcmp(cmd, "/setprot", true) == 0) {
  3107. tmp = dini_Get(FILE_SETTINGS, "protectionchange");
  3108. if (strval(tmp) == 0) {
  3109. SendClientMessage(playerid, COLOR_RED, "* Protection change are not allowed on this server!");
  3110. return 1;
  3111. }
  3112.  
  3113. tmp = strtok(cmdtext, idx);
  3114.  
  3115. GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
  3116.  
  3117. if (dini_Exists(udb_encode(sendername)) && logged[playerid] == 0) {
  3118. SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
  3119. return 1;
  3120. }
  3121.  
  3122. if(!strlen(tmp)) {
  3123. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setprot [0-1]");
  3124. return 1;
  3125. }
  3126. moneys = strval(tmp);
  3127.  
  3128. if (moneys < 0 || moneys > 1) {
  3129. SendClientMessage(playerid, COLOR_YELLOW, "* Invalid parameter.");
  3130. return 1;
  3131. }
  3132.  
  3133. if (dini_Exists(udb_encode(sendername))) {
  3134. dini_IntSet(udb_encode(sendername), "protection", moneys);
  3135.  
  3136. format(string, sizeof(string), "--- %s (id: %d) sets protection to %s.", sendername,playerid,moneys);
  3137. printf(string);
  3138. if (moneys == 0) SendClientMessage(playerid, COLOR_YELLOW, "* You turned protection off. No login required on connect.");
  3139. if (moneys == 1) SendClientMessage(playerid, COLOR_YELLOW, "* You turned protection on. Login required on connect.");
  3140. }
  3141. else {
  3142. format(string, sizeof(string), "* %s no such account.", sendername);
  3143. SendClientMessage(playerid, COLOR_RED, string);
  3144. }
  3145.  
  3146. return 1;
  3147. }
  3148.  
  3149. if(strcmp(cmd, "/sv", true) == 0) {
  3150. new Float:x, Float:y, Float:z;
  3151.  
  3152. tmp = dini_Get(FILE_SETTINGS, "manualsaving");
  3153. if (strval(tmp) == 0) {
  3154. SendClientMessage(playerid, COLOR_RED, "* Manual saving are not allowed on this server!");
  3155. return 1;
  3156. }
  3157.  
  3158. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  3159.  
  3160. if (dini_Exists(udb_encode(playername))) {
  3161. if (logged[playerid] == 1) {
  3162. dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(playerid));
  3163. dini_IntSet(udb_encode(playername), "bank", bank[playerid]);
  3164. dini_IntSet(udb_encode(playername), "bounty", bounty[playerid]);
  3165. if (GetPlayerState(playerid) != PLAYER_STATE_NONE && GetPlayerState(playerid) != PLAYER_STATE_WASTED) {
  3166. GetPlayerPos(playerid, x,y,z);
  3167. dini_FloatSet(udb_encode(playername), "x", x);
  3168. dini_FloatSet(udb_encode(playername), "y", y);
  3169. dini_FloatSet(udb_encode(playername), "z", z);
  3170. }
  3171. dini_IntSet(udb_encode(playername), "killsinarow", killsinarow[playerid]);
  3172. format(string, sizeof(string), "--- %s (id: %d) saved his progress. Money: $%d *** Bank: $%d *** Bounty: $%d.", playername,playerid,GetPlayerMoney(playerid),bank[playerid],bounty[playerid]);
  3173. printf(string);
  3174. SendClientMessage(playerid, COLOR_GREEN, "* Your progress saved.");
  3175. }
  3176. else SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged to save your progress.");
  3177. }
  3178. else {
  3179. format(string, sizeof(string), "* %s no such account.", playername);
  3180. SendClientMessage(playerid, COLOR_RED, string);
  3181. }
  3182.  
  3183. return 1;
  3184. }
  3185.  
  3186. if(strcmp(cmd, "/svall", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  3187. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  3188. format(string, sizeof(string), "--- %s (id: %d) requested global save.", playername,playerid);
  3189. printf(string);
  3190. SaveData();
  3191. SendClientMessage(playerid, COLOR_GREEN, "* Global save done.");
  3192.  
  3193. return 1;
  3194. }
  3195.  
  3196. if(strcmp(cmd, "/setuserstr", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  3197. new tmp3[256];
  3198.  
  3199. tmp = strtok(cmdtext, idx);
  3200. if(!strlen(tmp)) {
  3201. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
  3202. return 1;
  3203. }
  3204.  
  3205. tmp2 = strtok(cmdtext, idx);
  3206. if(!strlen(tmp)) {
  3207. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
  3208. return 1;
  3209. }
  3210.  
  3211. tmp3 = strtok(cmdtext, idx);
  3212. if(!strlen(tmp)) {
  3213. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
  3214. return 1;
  3215. }
  3216.  
  3217. if (dini_Exists(udb_encode(tmp))) {
  3218. dini_Set(udb_encode(tmp), tmp2, tmp3);
  3219.  
  3220. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  3221. format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%s.", playername,playerid,tmp,tmp2,tmp3);
  3222. printf(string);
  3223. format(string, sizeof(string), "* You set parameters %s: %s=%s.", tmp,tmp2,tmp3);
  3224. SendClientMessage(playerid, COLOR_YELLOW, string);
  3225. }
  3226. else {
  3227. format(string, sizeof(string), "* %s no such account.", tmp);
  3228. SendClientMessage(playerid, COLOR_RED, string);
  3229. }
  3230.  
  3231. return 1;
  3232. }
  3233.  
  3234. if(strcmp(cmd, "/setuserint", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  3235. new tmp3[256];
  3236.  
  3237. tmp = strtok(cmdtext, idx);
  3238. if(!strlen(tmp)) {
  3239. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
  3240. return 1;
  3241. }
  3242.  
  3243. tmp2 = strtok(cmdtext, idx);
  3244. if(!strlen(tmp)) {
  3245. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
  3246. return 1;
  3247. }
  3248.  
  3249. tmp3 = strtok(cmdtext, idx);
  3250. if(!strlen(tmp)) {
  3251. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
  3252. return 1;
  3253. }
  3254. moneys = strval(tmp3);
  3255.  
  3256. if (dini_Exists(udb_encode(tmp))) {
  3257. dini_IntSet(udb_encode(tmp), tmp2, moneys);
  3258.  
  3259. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  3260. format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%d.", playername,playerid,tmp,tmp2,moneys);
  3261. printf(string);
  3262. format(string, sizeof(string), "* You set parameters %s: %s=%d.", tmp,tmp2,moneys);
  3263. SendClientMessage(playerid, COLOR_YELLOW, string);
  3264. }
  3265. else {
  3266. format(string, sizeof(string), "* %s no such account.", tmp);
  3267. SendClientMessage(playerid, COLOR_RED, string);
  3268. }
  3269.  
  3270. return 1;
  3271. }
  3272.  
  3273. if(strcmp(cmd, "/setuserfloat", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  3274. new tmp3[256];
  3275. new Float:flt;
  3276.  
  3277. tmp = strtok(cmdtext, idx);
  3278. if(!strlen(tmp)) {
  3279. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
  3280. return 1;
  3281. }
  3282.  
  3283. tmp2 = strtok(cmdtext, idx);
  3284. if(!strlen(tmp)) {
  3285. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
  3286. return 1;
  3287. }
  3288.  
  3289. tmp3 = strtok(cmdtext, idx);
  3290. if(!strlen(tmp)) {
  3291. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
  3292. return 1;
  3293. }
  3294. flt = floatstr(tmp3);
  3295.  
  3296. if (dini_Exists(udb_encode(tmp))) {
  3297. dini_FloatSet(udb_encode(tmp), tmp2, flt);
  3298.  
  3299. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  3300. format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%f.", playername,playerid,tmp,tmp2,flt);
  3301. printf(string);
  3302. format(string, sizeof(string), "* You set parameters %s: %s=%f.", tmp,tmp2,flt);
  3303. SendClientMessage(playerid, COLOR_YELLOW, string);
  3304. }
  3305. else {
  3306. format(string, sizeof(string), "* %s no such account.", tmp);
  3307. SendClientMessage(playerid, COLOR_RED, string);
  3308. }
  3309.  
  3310. return 1;
  3311. }
  3312.  
  3313. if(strcmp(cmd, "/getuser", true) == 0 && IsPlayerAdmin(playerid) == 1) {
  3314. new tmp3[256];
  3315.  
  3316. tmp = strtok(cmdtext, idx);
  3317. if(!strlen(tmp)) {
  3318. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getuser [playername] [key]");
  3319. return 1;
  3320. }
  3321.  
  3322. tmp2 = strtok(cmdtext, idx);
  3323. if(!strlen(tmp)) {
  3324. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getuser [playername] [key]");
  3325. return 1;
  3326. }
  3327.  
  3328. if (dini_Exists(udb_encode(tmp))) {
  3329. tmp3 = dini_Get(udb_encode(tmp), tmp2);
  3330.  
  3331. format(string, sizeof(string), "* You parameters of %s: %s=%s.", tmp,tmp2,tmp3);
  3332. SendClientMessage(playerid, COLOR_YELLOW, string);
  3333. }
  3334. else {
  3335. format(string, sizeof(string), "* %s no such account.", tmp);
  3336. SendClientMessage(playerid, COLOR_RED, string);
  3337. }
  3338.  
  3339. return 1;
  3340. }
  3341.  
  3342. if(strcmp(cmd, "/blackadd", true) == 0 && IsPlayerAdmin(playerid)) {
  3343. tmp = dini_Get(FILE_SETTINGS, "blacklist");
  3344. if (strval(tmp) == 0) {
  3345. SendClientMessage(playerid, COLOR_RED, "* Blacklist are not allowed on this server!");
  3346. return 1;
  3347. }
  3348.  
  3349. new tmp3[256];
  3350.  
  3351. tmp = strtok(cmdtext, idx);
  3352. if(!strlen(tmp)) {
  3353. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [1-2] [reason]");
  3354. return 1;
  3355. }
  3356.  
  3357. tmp2 = strtok(cmdtext, idx);
  3358. if(!strlen(tmp)) {
  3359. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [1-2] [reason]");
  3360. return 1;
  3361. }
  3362. moneys = strval(tmp2);
  3363.  
  3364. if (moneys < 1 || moneys > 2) {
  3365. SendClientMessage(playerid, COLOR_YELLOW, "* Invalid action.");
  3366. return 1;
  3367. }
  3368.  
  3369. strmid(tmp2, cmdtext, 12+strlen(tmp)+strlen(tmp2), strlen(cmdtext));
  3370. GetPlayerName(playerid, playername, sizeof(playername));
  3371.  
  3372. if(!strlen(tmp2))
  3373. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [0-2] [reason]");
  3374.  
  3375. else {
  3376. format(tmp3, sizeof(tmp3), "%d,%s", moneys,tmp2);
  3377. if (!dini_Exists(FILE_BLACKLIST)) dini_Create(FILE_BLACKLIST);
  3378. dini_Set(FILE_BLACKLIST, tmp, tmp3);
  3379.  
  3380. format(string, sizeof(string), "--- %s (id: %d) blacklisted %s. Action: %d. Reason: %s", playername,playerid,tmp,moneys,tmp2);
  3381. printf(string);
  3382. format(string, sizeof(string), "* You blacklisted %s. Action: %d. Reason: %s", tmp,moneys,tmp2);
  3383. SendClientMessage(playerid, COLOR_ORANGE, string);
  3384. }
  3385.  
  3386. return 1;
  3387. }
  3388.  
  3389. if(strcmp(cmd, "/blackdel", true) == 0 && IsPlayerAdmin(playerid)) {
  3390. tmp = dini_Get(FILE_SETTINGS, "blacklist");
  3391. if (strval(tmp) == 0) {
  3392. SendClientMessage(playerid, COLOR_RED, "* Blacklist are not allowed on this server!");
  3393. return 1;
  3394. }
  3395.  
  3396. tmp = strtok(cmdtext, idx);
  3397. if(!strlen(tmp)) {
  3398. SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackdel [playername]");
  3399. return 1;
  3400. }
  3401.  
  3402. dini_Unset(FILE_BLACKLIST, tmp);
  3403.  
  3404. format(string, sizeof(string), "--- %s (id: %d) deleted %s from blacklist.", playername,playerid,tmp);
  3405. printf(string);
  3406. format(string, sizeof(string), "* You deleted %s from blacklist.", tmp);
  3407. SendClientMessage(playerid, COLOR_ORANGE, string);
  3408.  
  3409. return 1;
  3410. }
  3411.  
  3412. return 0;
  3413. }
  3414.  
  3415. public OnPlayerSpawn(playerid)
  3416. {
  3417. PlayerPlaySound(playerid, MUSIC_OFF, -2432.5391,-1620.2317,526.8373); //Cool
  3418. new string[256];
  3419. new playername[MAX_PLAYER_NAME];
  3420. new tmp[256], tmp2[256], tmp3[256];
  3421.  
  3422. GetPlayerName(playerid, playername, sizeof(playername));
  3423.  
  3424. SetPlayerInterior(playerid,0);
  3425. SetPlayerRandomSpawn(playerid);
  3426.  
  3427. if (dini_Exists(udb_encode(playername))) {
  3428. tmp = dini_Get(udb_encode(playername), "protection");
  3429. tmp2 = dini_Get(FILE_SETTINGS, "logintimeout");
  3430. if (logged[playerid] == 0 && strval(tmp) == 1) {
  3431. logintimeout[playerid] = SetTimer("LoginTimeout", strval(tmp2), 0);
  3432. format(string, sizeof(string), "* You are not logged! If you won't login in next %d seconds, you will be kicked!", strval(tmp2) / 1000);
  3433. SendClientMessage(playerid, COLOR_RED, string);
  3434. }
  3435. else {
  3436. tmp = dini_Get(FILE_SETTINGS, "positionsave");
  3437. if (strval(tmp) == 1) {
  3438. tmp = dini_Get(udb_encode(playername), "x");
  3439. tmp2 = dini_Get(udb_encode(playername), "y");
  3440. tmp3 = dini_Get(udb_encode(playername), "z");
  3441. if (strval(tmp) && strval(tmp2) && strval(tmp3)) SetPlayerPos(playerid, floatstr(tmp), floatstr(tmp2), floatstr(tmp3));
  3442. }
  3443.  
  3444. tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
  3445. if (strval(tmp) == 1) {
  3446. tmp = dini_Get(udb_encode(playername), "weapon1");
  3447. if (strval(tmp) != 0) GivePlayerWeapon(playerid, strval(tmp), 1);
  3448. tmp = dini_Get(udb_encode(playername), "weapon2");
  3449. tmp2 = dini_Get(udb_encode(playername), "ammo2");
  3450. if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
  3451. tmp = dini_Get(udb_encode(playername), "weapon3");
  3452. tmp2 = dini_Get(udb_encode(playername), "ammo3");
  3453. if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
  3454. tmp = dini_Get(udb_encode(playername), "weapon4");
  3455. tmp2 = dini_Get(udb_encode(playername), "ammo4");
  3456. if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
  3457. tmp = dini_Get(udb_encode(playername), "weapon5");
  3458. tmp2 = dini_Get(udb_encode(playername), "ammo5");
  3459. if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
  3460. }
  3461. }
  3462. }
  3463.  
  3464. if (jailed[playerid] == 1) {
  3465. SetPlayerInterior(playerid,6);
  3466. SetPlayerPos(playerid,265.1273,77.6823,1001.0391);
  3467. format(string, sizeof(string), "--- %s spawned as prisoner.", playername);
  3468. printf(string);
  3469. SendClientMessage(playerid, COLOR_RED, "* Your prisoner status restored.");
  3470. }
  3471.  
  3472. tmp = dini_Get(FILE_SETTINGS, "spawnmoney");
  3473. if (GetPlayerMoney(playerid) <= 0) StatGivePlayerMoney(playerid, strval(tmp)-GetPlayerMoney(playerid));
  3474.  
  3475. return 1;
  3476. }
  3477.  
  3478. public OnPlayerText(playerid, text[]) {
  3479. new string[256];
  3480. new playername[MAX_PLAYER_NAME];
  3481. new giveplayer[MAX_PLAYER_NAME];
  3482.  
  3483. GetPlayerName(playerid, playername, sizeof(playername));
  3484.  
  3485. if (text[0] == '!' && query[playerid] != 255) {
  3486. if (IsPlayerConnected(query[playerid])) {
  3487. GetPlayerName(query[playerid], giveplayer, sizeof(giveplayer));
  3488. format(string, sizeof(string), "--- PM: %s (id: %d) to %s (id: %d): %s", playername,playerid,giveplayer,query[playerid],text);
  3489. printf(string);
  3490. format(string, sizeof(string), "* PM to %s (id: %d): %s", giveplayer,query[playerid],text);
  3491. SendClientMessage(playerid, playerColors[playerid], string);
  3492. format(string, sizeof(string), "* PM from %s (id: %d): %s", playername,playerid,text);
  3493. SendClientMessage(query[playerid], playerColors[playerid], string);
  3494. }
  3495. else {
  3496. format(string, sizeof(string), "* %d is not an active player.", query[playerid]);
  3497. SendClientMessage(playerid, COLOR_YELLOW, string);
  3498. }
  3499. }
  3500. else {
  3501. if (muted[playerid] == 1) {
  3502. SendClientMessage(playerid, COLOR_RED, "* You muted and cannot send messages.");
  3503. return 0;
  3504. }
  3505.  
  3506. format(string, sizeof(string), "%s: %s", playername,text);
  3507. SendClientMessageToAll(playerColors[playerid], string);
  3508. }
  3509. return 0;
  3510. }
  3511.  
  3512. public SetPlayerRandomSpawn(playerid)
  3513. {
  3514. if (iSpawnSet[playerid] == 1)
  3515. {
  3516. new rand = random(sizeof(gCopPlayerSpawns));
  3517. SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
  3518. SetPlayerFacingAngle(playerid, 270.0);
  3519. }
  3520. else if (iSpawnSet[playerid] == 0)
  3521. {
  3522. new rand = random(sizeof(gRandomPlayerSpawns));
  3523. SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
  3524. }
  3525. return 1;
  3526. }
  3527.  
  3528. public OnPlayerDeath(playerid, killerid, reason)
  3529. {
  3530. new playercash;
  3531. new killedplayer[MAX_PLAYER_NAME];
  3532. new killername[MAX_PLAYER_NAME];
  3533. new string[256];
  3534. new tmp[256], tmp2[256];
  3535. new idx;
  3536. new detected;
  3537.  
  3538. playercash = GetPlayerMoney(playerid);
  3539.  
  3540. GetPlayerName(playerid, killedplayer, sizeof(killedplayer));
  3541.  
  3542. tmp = dini_Get(FILE_SETTINGS, "forbiddenweapons");
  3543. tmp2 = dini_Get(FILE_SETTINGS, "onweaponcheat");
  3544. for (new i=0;i<47 && detected != 1;i++)
  3545. if (reason == strval(strtok(tmp, idx, ',')) && reason != 0 && !IsPlayerAdmin(playerid)) {
  3546. if (strval(tmp2) == 1) KickMsg(killerid, "AntiCheat", "Forbidden weapon detected!");
  3547. if (strval(tmp2) == 2) BanMsg(killerid, "AntiCheat", "Forbidden weapon detected!");
  3548. detected = 1;
  3549. }
  3550.  
  3551. if (killerid == INVALID_PLAYER_ID) {
  3552. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  3553. SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
  3554.  
  3555. if (dini_Exists(udb_encode(killedplayer))) {
  3556. tmp = dini_Get(udb_encode(killedplayer), "suicides");
  3557. dini_IntSet(udb_encode(killedplayer), "suicides", strval(tmp)+1);
  3558. }
  3559.  
  3560. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  3561. tmp = dini_Get(FILE_TOTALSTAT, "suicides");
  3562. dini_IntSet(FILE_TOTALSTAT, "suicides", strval(tmp)+1);
  3563.  
  3564. format(string, sizeof(string), "--- %s (id: %d) suicided with weapon (id: %d).", killedplayer,playerid,reason);
  3565. printf(string);
  3566. }
  3567. else {
  3568. GetPlayerName(killerid, killername, sizeof(killername));
  3569.  
  3570. if (dini_Exists(udb_encode(killername))) {
  3571. tmp = dini_Get(udb_encode(killername), "kills");
  3572. dini_IntSet(udb_encode(killername), "kills", strval(tmp)+1);
  3573. }
  3574.  
  3575. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  3576. tmp = dini_Get(FILE_TOTALSTAT, "kills");
  3577. dini_IntSet(FILE_TOTALSTAT, "kills", strval(tmp)+1);
  3578.  
  3579. SendDeathMessage(killerid,playerid,reason);
  3580. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  3581. if(bounty[playerid] > 0) {
  3582. format(string, sizeof(string), "* You earned a bounty of $%d for killing %s.", bounty[playerid],killedplayer);
  3583. SendClientMessage(killerid, COLOR_GREEN, string);
  3584.  
  3585. StatGivePlayerMoney(killerid, bounty[playerid]);
  3586. bounty[playerid] = 0;
  3587. }
  3588. if(playercash > 0) StatGivePlayerMoney(killerid, playercash);
  3589.  
  3590. format(string, sizeof(string), "--- %s (id: %d) killed %s (id: %d) with weapon (id: %d).", killername,killerid,killedplayer,playerid,reason);
  3591. printf(string);
  3592.  
  3593. killsinarow[killerid] += 1;
  3594. }
  3595.  
  3596. if (dini_Exists(udb_encode(killedplayer))) {
  3597. tmp = dini_Get(udb_encode(killedplayer), "deaths");
  3598. dini_IntSet(udb_encode(killedplayer), "deaths", strval(tmp)+1);
  3599. }
  3600.  
  3601. if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
  3602. tmp = dini_Get(FILE_TOTALSTAT, "deaths");
  3603. dini_IntSet(FILE_TOTALSTAT, "deaths", strval(tmp)+1);
  3604.  
  3605. dini_Set(udb_encode(killedplayer), "x", "x");
  3606. dini_Set(udb_encode(killedplayer), "y", "y");
  3607. dini_Set(udb_encode(killedplayer), "z", "z");
  3608.  
  3609. if(playercash > 0) StatGivePlayerMoney(playerid, -playercash);
  3610.  
  3611. killsinarow[playerid] = 0;
  3612.  
  3613. return 1;
  3614. }
  3615.  
  3616. public OnPlayerEnterCheckpoint(playerid)
  3617. {
  3618. new string[256];
  3619. new ownplayer[MAX_PLAYER_NAME];
  3620.  
  3621. switch (getCheckpointType(playerid)) {
  3622. case CP_BANK: {
  3623. SendClientMessage(playerid, COLOR_YELLOW, "* You are at an ATM. To store money use '/bank [amount]', to withdraw");
  3624. SendClientMessage(playerid, COLOR_YELLOW, "* money use '/get [amount]', and '/balance' to see your balance.");
  3625. }
  3626. case CP_PIRATE: {
  3627. SendClientMessage(playerid, COLOR_YELLOW, "* Argh! Welcome to Pirates in Mens Pants! You can make money whilst standing on this boat.");
  3628. }
  3629. case CP_AMMU: {
  3630. SendClientMessage(playerid, COLOR_GREEN, "* You can purchase weapons here so that you have them every time you spawn.");
  3631. SendClientMessage(playerid, COLOR_YELLOW, "* Type /bw(melee,pistol,shotgun,smg,rifle) and /weaplist for a list of weapons.");
  3632. }
  3633. }
  3634.  
  3635. if (getCheckpointType(playerid) >= P_OFFSET) {
  3636. format(string, sizeof(string), "* You can buy the %s for $%d by typing /buy %s", propertyNames[playerCheckpoint[playerid]-P_OFFSET], propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
  3637. SendClientMessage(playerid, COLOR_YELLOW, string);
  3638. format(string, sizeof(string), "* You will earn $%d regularly.", propertyEarnings[playerCheckpoint[playerid]-P_OFFSET]);
  3639. SendClientMessage(playerid, COLOR_YELLOW, string);
  3640. if (propertyOwner[playerCheckpoint[playerid]-P_OFFSET] < 999) {
  3641. GetPlayerName(propertyOwner[playerCheckpoint[playerid]-P_OFFSET], ownplayer, sizeof(ownplayer));
  3642. format(string, sizeof(string), "* This property is currently owned by %s.", ownplayer);
  3643. SendClientMessage(playerid, COLOR_RED, string);
  3644. }
  3645. }
  3646. }
  3647.  
  3648. public OnPlayerRequestClass(playerid, classid)
  3649. {
  3650. if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6)
  3651. {
  3652. iSpawnSet[playerid] = 1;
  3653. }
  3654. else
  3655. {
  3656. iSpawnSet[playerid] = 0;
  3657. }
  3658. SetupPlayerForClassSelection(playerid);
  3659. return 1;
  3660. }
  3661.  
  3662. public SetupPlayerForClassSelection(playerid)
  3663. {
  3664. SetPlayerInterior(playerid,14);
  3665. SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  3666. SetPlayerFacingAngle(playerid, 270.0);
  3667. SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  3668. SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  3669. // PlayerPlaySound(playerid, 1187, -752, 484, 1373);
  3670. PlayerPlaySound(playerid, CLASS_MUSIC_ON, -752, 485, 1373); //Cool
  3671. }
  3672.  
  3673. public GameModeExitFunc()
  3674. {
  3675. GameModeExit();
  3676. }
  3677.  
  3678. public OnGameModeInit()
  3679. {
  3680. SetTimer("MyFunc", 600000, 0);
  3681. SetGameModeText("Freeroam v.2.3d");
  3682.  
  3683. ShowPlayerMarkers(1);
  3684. ShowNameTags(1);
  3685.  
  3686. AddPlayerClass(280,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3687. AddPlayerClass(281,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3688. AddPlayerClass(282,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3689. AddPlayerClass(283,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3690. AddPlayerClass(284,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3691. AddPlayerClass(285,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3692. AddPlayerClass(286,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3693. AddPlayerClass(287,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3694.  
  3695. AddPlayerClass(254,1958.3783,1343.1572,15.3746,0.0,0,0,24,300,-1,-1);
  3696. AddPlayerClass(255,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3697. AddPlayerClass(256,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3698. AddPlayerClass(257,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3699. AddPlayerClass(258,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3700. AddPlayerClass(259,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3701. AddPlayerClass(260,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3702. AddPlayerClass(261,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3703. AddPlayerClass(262,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3704. AddPlayerClass(263,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3705. AddPlayerClass(264,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3706. AddPlayerClass(274,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3707. AddPlayerClass(275,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3708. AddPlayerClass(276,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3709.  
  3710. AddPlayerClass(1,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3711. AddPlayerClass(2,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3712. AddPlayerClass(290,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3713. AddPlayerClass(291,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3714. AddPlayerClass(292,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3715. AddPlayerClass(293,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3716. AddPlayerClass(294,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3717. AddPlayerClass(295,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3718. AddPlayerClass(296,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3719. AddPlayerClass(297,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3720. AddPlayerClass(298,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3721. AddPlayerClass(299,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3722.  
  3723. AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3724. AddPlayerClass(278,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3725. AddPlayerClass(279,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3726. AddPlayerClass(288,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3727. AddPlayerClass(47,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3728. AddPlayerClass(48,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3729. AddPlayerClass(49,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3730. AddPlayerClass(50,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3731. AddPlayerClass(51,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3732. AddPlayerClass(52,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3733. AddPlayerClass(53,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3734. AddPlayerClass(54,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3735. AddPlayerClass(55,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3736. AddPlayerClass(56,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3737. AddPlayerClass(57,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3738. AddPlayerClass(58,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3739. AddPlayerClass(59,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3740. AddPlayerClass(60,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3741. AddPlayerClass(61,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3742. AddPlayerClass(62,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3743. AddPlayerClass(63,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3744. AddPlayerClass(64,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3745. AddPlayerClass(66,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3746. AddPlayerClass(67,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3747. AddPlayerClass(68,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3748. AddPlayerClass(69,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3749. AddPlayerClass(70,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3750. AddPlayerClass(71,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3751. AddPlayerClass(72,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3752. AddPlayerClass(73,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3753. AddPlayerClass(75,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3754. AddPlayerClass(76,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3755. AddPlayerClass(78,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3756. AddPlayerClass(79,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3757. AddPlayerClass(80,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3758. AddPlayerClass(81,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3759. AddPlayerClass(82,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3760. AddPlayerClass(83,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3761. AddPlayerClass(84,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3762. AddPlayerClass(85,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3763. AddPlayerClass(87,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3764. AddPlayerClass(88,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3765. AddPlayerClass(89,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3766. AddPlayerClass(91,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3767. AddPlayerClass(92,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3768. AddPlayerClass(93,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3769. AddPlayerClass(95,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3770. AddPlayerClass(96,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3771. AddPlayerClass(97,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3772. AddPlayerClass(98,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3773. AddPlayerClass(99,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3774. AddPlayerClass(100,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3775. AddPlayerClass(101,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3776. AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3777. AddPlayerClass(103,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3778. AddPlayerClass(104,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3779. AddPlayerClass(105,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3780. AddPlayerClass(106,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3781. AddPlayerClass(107,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3782. AddPlayerClass(108,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3783. AddPlayerClass(109,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3784. AddPlayerClass(110,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3785. AddPlayerClass(111,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3786. AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3787. AddPlayerClass(113,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3788. AddPlayerClass(114,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3789. AddPlayerClass(115,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3790. AddPlayerClass(116,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3791. AddPlayerClass(117,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3792. AddPlayerClass(118,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3793. AddPlayerClass(120,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3794. AddPlayerClass(121,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3795. AddPlayerClass(122,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3796. AddPlayerClass(123,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3797. AddPlayerClass(124,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3798. AddPlayerClass(125,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3799. AddPlayerClass(126,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3800. AddPlayerClass(127,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3801. AddPlayerClass(128,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3802. AddPlayerClass(129,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3803. AddPlayerClass(131,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3804. AddPlayerClass(133,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3805. AddPlayerClass(134,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3806. AddPlayerClass(135,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3807. AddPlayerClass(136,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3808. AddPlayerClass(137,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3809. AddPlayerClass(138,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3810. AddPlayerClass(139,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3811. AddPlayerClass(140,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3812. AddPlayerClass(141,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3813. AddPlayerClass(142,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3814. AddPlayerClass(143,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3815. AddPlayerClass(144,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3816. AddPlayerClass(145,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3817. AddPlayerClass(146,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3818. AddPlayerClass(147,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3819. AddPlayerClass(148,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3820. AddPlayerClass(150,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3821. AddPlayerClass(151,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3822. AddPlayerClass(152,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3823. AddPlayerClass(153,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3824. AddPlayerClass(154,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3825. AddPlayerClass(155,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3826. AddPlayerClass(156,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3827. AddPlayerClass(157,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3828. AddPlayerClass(158,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3829. AddPlayerClass(159,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3830. AddPlayerClass(160,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3831. AddPlayerClass(161,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3832. AddPlayerClass(162,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3833. AddPlayerClass(163,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3834. AddPlayerClass(164,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3835. AddPlayerClass(165,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3836. AddPlayerClass(166,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3837. AddPlayerClass(167,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3838. AddPlayerClass(168,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3839. AddPlayerClass(169,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3840. AddPlayerClass(170,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3841. AddPlayerClass(171,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3842. AddPlayerClass(172,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3843. AddPlayerClass(173,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3844. AddPlayerClass(174,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3845. AddPlayerClass(175,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3846. AddPlayerClass(176,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3847. AddPlayerClass(177,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3848. AddPlayerClass(178,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3849. AddPlayerClass(179,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3850. AddPlayerClass(180,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3851. AddPlayerClass(181,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3852. AddPlayerClass(182,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3853. AddPlayerClass(183,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3854. AddPlayerClass(184,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3855. AddPlayerClass(185,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3856. AddPlayerClass(186,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3857. AddPlayerClass(187,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3858. AddPlayerClass(188,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3859. AddPlayerClass(189,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3860. AddPlayerClass(190,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3861. AddPlayerClass(191,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3862. AddPlayerClass(192,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3863. AddPlayerClass(193,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3864. AddPlayerClass(194,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3865. AddPlayerClass(195,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3866. AddPlayerClass(196,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3867. AddPlayerClass(197,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3868. AddPlayerClass(198,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3869. AddPlayerClass(199,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3870. AddPlayerClass(200,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3871. AddPlayerClass(201,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3872. AddPlayerClass(202,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3873. AddPlayerClass(203,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3874. AddPlayerClass(204,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3875. AddPlayerClass(205,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3876. AddPlayerClass(206,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3877. AddPlayerClass(207,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3878. AddPlayerClass(209,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3879. AddPlayerClass(210,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3880. AddPlayerClass(211,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3881. AddPlayerClass(212,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3882. AddPlayerClass(213,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3883. AddPlayerClass(214,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3884. AddPlayerClass(215,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3885. AddPlayerClass(216,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3886. AddPlayerClass(217,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3887. AddPlayerClass(218,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3888. AddPlayerClass(219,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3889. AddPlayerClass(220,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3890. AddPlayerClass(221,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3891. AddPlayerClass(222,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3892. AddPlayerClass(223,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3893. AddPlayerClass(224,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3894. AddPlayerClass(225,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3895. AddPlayerClass(226,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3896. AddPlayerClass(227,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3897. AddPlayerClass(228,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3898. AddPlayerClass(229,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3899. AddPlayerClass(230,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3900. AddPlayerClass(231,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3901. AddPlayerClass(232,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3902. AddPlayerClass(233,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3903. AddPlayerClass(234,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3904. AddPlayerClass(235,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3905. AddPlayerClass(236,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3906. AddPlayerClass(237,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3907. AddPlayerClass(238,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3908. AddPlayerClass(239,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3909. AddPlayerClass(240,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3910. AddPlayerClass(241,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3911. AddPlayerClass(242,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3912. AddPlayerClass(243,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3913. AddPlayerClass(244,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3914. AddPlayerClass(245,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3915. AddPlayerClass(246,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3916. AddPlayerClass(247,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3917. AddPlayerClass(248,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3918. AddPlayerClass(249,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3919. AddPlayerClass(250,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3920. AddPlayerClass(251,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3921. AddPlayerClass(253,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3922.  
  3923. AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,-1,-1);
  3924. AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,-1,-1);
  3925. AddStaticVehicle(437,2110.4102,1398.3672,10.7552,359.5964,-1,-1);
  3926. AddStaticVehicle(409,2074.9624,1479.2120,10.3990,359.6861,-1,-1);
  3927. AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,-1,-1);
  3928. AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,-1,-1);
  3929. AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,-1,-1);
  3930. AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,-1,-1);
  3931. AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,-1,-1);
  3932. AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,-1,-1);
  3933. AddStaticVehicle(402,2034.5016,1912.5874,11.9048,0.2909,-1,-1);
  3934. AddStaticVehicle(463,2172.1682,1988.8643,10.5474,89.9151,-1,-1);
  3935. AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,-1,-1);
  3936. AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,-1,-1);
  3937. AddStaticVehicle(561,2221.9946,1998.7787,9.6815,92.6188,-1,-1);
  3938. AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,-1,-1);
  3939. AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,-1,-1);
  3940. AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,-1,-1);
  3941. AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,-1,-1);
  3942. AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,-1,-1);
  3943. AddStaticVehicle(562,2577.2354,1038.8063,10.4777,181.7069,-1,-1);
  3944. AddStaticVehicle(562,2394.1021,989.4888,10.4806,89.5080,-1,-1);
  3945. AddStaticVehicle(510,1881.0510,957.2120,10.4789,270.4388,-1,-1);
  3946. AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,-1,-1);
  3947. AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,-1,-1);
  3948. AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,-1,-1);
  3949. AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,-1,-1);
  3950. AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,-1,-1);
  3951. AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,-1,-1);
  3952. AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,-1,-1);
  3953. AddStaticVehicle(409,1960.9989,2754.9072,10.5473,200.4316,-1,-1);
  3954. AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,-1,-1);
  3955. AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,-1,-1);
  3956. AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,-1,-1);
  3957. AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,-1,-1);
  3958. AddStaticVehicle(561,1555.2734,2750.5261,10.6388,91.7773,-1,-1);
  3959. AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,-1,-1);
  3960. AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,-1,-1);
  3961. AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,-1,-1);
  3962. AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,-1,-1);
  3963. AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,-1,-1);
  3964. AddStaticVehicle(561,2461.7253,1357.9705,10.6389,180.2927,-1,-1);
  3965. AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,-1,-1);
  3966. AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,-1,-1);
  3967. AddStaticVehicle(477,1553.3696,1020.2884,10.5532,270.6825,-1,-1);
  3968. AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,-1,-1);
  3969. AddStaticVehicle(451,1383.4630,1035.0420,10.9131,91.2515,-1,-1);
  3970. AddStaticVehicle(477,1445.4526,974.2831,10.5534,1.6213,-1,-1);
  3971. AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,-1,-1);
  3972. AddStaticVehicle(561,1658.5463,1028.5432,10.5533,359.8419,-1,-1);
  3973. AddStaticVehicle(510,1677.6628,1040.1930,10.4136,178.7038,-1,-1);
  3974. AddStaticVehicle(510,1383.6959,1042.2114,10.4121,85.7269,-1,-1);
  3975. AddStaticVehicle(510,1064.2332,1215.4158,10.4157,177.2942,-1,-1);
  3976. AddStaticVehicle(510,1111.4536,1788.3893,10.4158,92.4627,-1,-1);
  3977. AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,-1,-1);
  3978. AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,-1,-1);
  3979. AddStaticVehicle(468,993.7083,2267.4133,11.0315,1.5610,-1,-1);
  3980. AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,-1,-1);
  3981. AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,-1,-1);
  3982. AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,-1,-1);
  3983. AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,-1,-1);
  3984. AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,-1,-1);
  3985. AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,-1,-1);
  3986. AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,-1,-1);
  3987. AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,-1,-1);
  3988. AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,-1,-1);
  3989. AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,-1,-1);
  3990. AddStaticVehicle(468,1670.1089,1297.8322,10.3864,359.4936,-1,-1);
  3991. AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,-1,-1);
  3992. AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,-1,-1);
  3993. AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,-1,-1);
  3994. AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,-1,-1);
  3995. AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,-1,-1);
  3996. AddStaticVehicle(513,1283.6847,1386.5137,11.5300,272.1003,-1,-1);
  3997. AddStaticVehicle(513,1288.0499,1403.6605,11.5295,243.5028,-1,-1);
  3998. AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,-1,-1);
  3999. AddStaticVehicle(468,1710.5763,1805.9275,10.3911,176.5028,-1,-1);
  4000. AddStaticVehicle(468,2805.1650,2027.0028,10.3920,357.5978,-1,-1);
  4001. AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,-1,-1);
  4002. AddStaticVehicle(468,2876.8013,2326.8418,10.3914,267.8946,-1,-1);
  4003. AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,-1,-1);
  4004. AddStaticVehicle(575,2494.4214,2813.9348,10.5172,316.9462,-1,-1);
  4005. AddStaticVehicle(534,2327.6484,2787.7327,10.5174,179.5639,-1,-1);
  4006. AddStaticVehicle(534,2142.6970,2806.6758,10.5176,89.8970,-1,-1);
  4007. AddStaticVehicle(468,2139.7012,2799.2114,10.3917,229.6327,-1,-1);
  4008. AddStaticVehicle(468,2104.9446,2658.1331,10.3834,82.2700,-1,-1);
  4009. AddStaticVehicle(468,1914.2322,2148.2590,10.3906,267.7297,-1,-1);
  4010. AddStaticVehicle(534,1904.7527,2157.4312,10.5175,183.7728,-1,-1);
  4011. AddStaticVehicle(534,1532.6139,2258.0173,10.5176,359.1516,-1,-1);
  4012. AddStaticVehicle(468,1534.3204,2202.8970,10.3644,4.9108,-1,-1);
  4013. AddStaticVehicle(534,1613.1553,2200.2664,10.5176,89.6204,-1,-1);
  4014. AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,-1,-1);
  4015. AddStaticVehicle(561,1637.6285,2329.8774,10.5538,89.6408,-1,-1);
  4016. AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,-1,-1);
  4017. AddStaticVehicle(510,1281.7458,2571.6719,10.5472,270.6128,-1,-1);
  4018. AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,-1,-1);
  4019. AddStaticVehicle(468,993.9020,2159.4194,10.3905,88.8805,-1,-1);
  4020. AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,-1,-1);
  4021. AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,-1,-1);
  4022. AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,-1,-1);
  4023. AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,-1,-1);
  4024. AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,-1,-1);
  4025. AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,-1,-1);
  4026. AddStaticVehicle(534,2817.6445,928.3469,10.4470,359.5235,-1,-1);
  4027. AddStaticVehicle(468,1919.8829,947.1886,10.4715,359.4453,-1,-1);
  4028. AddStaticVehicle(522,1881.6346,1006.7653,10.4783,86.9967,-1,-1);
  4029. AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,-1,-1);
  4030. AddStaticVehicle(565,2038.1614,1014.8566,10.4057,179.8665,-1,-1);
  4031. AddStaticVehicle(559,2038.0966,1026.7987,10.4040,180.6107,-1,-1);
  4032. AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,-1,-1);
  4033. AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,-1,-1);
  4034. AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,-1,-1);
  4035. AddStaticVehicle(534,-110.8473,1133.7113,19.7091,359.7000,-1,-1);
  4036. AddStaticVehicle(510,69.4633,1217.0189,18.3304,158.9345,-1,-1);
  4037. AddStaticVehicle(510,-199.4185,1223.0405,19.2624,176.7001,-1,-1);
  4038. AddStaticVehicle(593,325.4121,2538.5999,17.5184,181.2964,-1,-1);
  4039. AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,-1,-1);
  4040. AddStaticVehicle(451,384.2365,2602.1763,16.0926,192.4858,-1,-1);
  4041. AddStaticVehicle(510,423.8012,2541.6870,15.9708,338.2426,-1,-1);
  4042. AddStaticVehicle(510,-244.0047,2724.5439,62.2077,51.5825,-1,-1);
  4043. AddStaticVehicle(510,-311.1414,2659.4329,62.4513,310.9601,-1,-1);
  4044. AddStaticVehicle(534,843.1893,838.8093,12.5177,18.2348,-1,-1);
  4045. AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,-1,-1);
  4046. AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,-1,-1);
  4047. AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,-1,-1);
  4048. AddStaticVehicle(575,-290.2229,1317.0276,54.1871,81.7529,-1,-1);
  4049. AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,-1,-1);
  4050. AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,-1,-1);
  4051. AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,-1,-1);
  4052. AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,-1,-1);
  4053. AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,-1,-1);
  4054. AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,-1,-1);
  4055. AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,-1,-1);
  4056. AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,-1,-1);
  4057. AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,-1,-1);
  4058. AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,-1,-1);
  4059. AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,-1,-1);
  4060. AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,-1,-1);
  4061. AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,-1,-1);
  4062. AddStaticVehicle(536,95.0568,1056.5530,13.4068,192.1461,-1,-1);
  4063. AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,-1,-1);
  4064. AddStaticVehicle(409,-290.0065,1759.4958,42.4154,89.7571,-1,-1);
  4065. AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,-1,-1);
  4066. AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,-1,-1);
  4067. AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,-1,-1);
  4068. AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,-1,-1);
  4069. AddStaticVehicle(561,-799.3062,1518.1556,26.7488,88.5295,-1,-1);
  4070. AddStaticVehicle(468,-749.9730,1589.8435,26.5311,125.6508,-1,-1);
  4071. AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,-1,-1);
  4072. AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,-1,-1);
  4073. AddStaticVehicle(468,-944.2642,1424.1603,29.6783,148.5582,-1,-1);
  4074. AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,-1,-1);
  4075. AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,-1,-1);
  4076. AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,-1,-1);
  4077. AddStaticVehicle(592,-1371.1775,-232.3967,15.0676,315.6091,-1,-1);
  4078. AddStaticVehicle(513,-1355.6632,-488.9562,14.7157,191.2547,-1,-1);
  4079. AddStaticVehicle(513,-1374.4580,-499.1462,14.7482,220.4057,-1,-1);
  4080. AddStaticVehicle(553,-1197.8773,-489.6715,15.4841,0.4029,-1,-1);
  4081. AddStaticVehicle(553,1852.9989,-2385.4009,15.4841,200.0707,-1,-1);
  4082. AddStaticVehicle(511,1642.9850,-2425.2063,14.4744,159.8745,-1,-1);
  4083. AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,-1,-1);
  4084. AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,-1,-1);
  4085. AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,-1,-1);
  4086. AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,-1,-1);
  4087. AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,-1,-1);
  4088. AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,-1,-1);
  4089. AddStaticVehicle(446,2293.4219,517.5514,1.7537,270.7889,-1,-1);
  4090. AddStaticVehicle(446,2354.4690,518.5284,1.7450,270.2214,-1,-1);
  4091. AddStaticVehicle(446,772.4293,2912.5579,1.0753,69.6706,-1,-1);
  4092. AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,-1,-1);
  4093. AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,-1,-1);
  4094. AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,-1,-1);
  4095. AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,-1,-1);
  4096. AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,-1,-1);
  4097. AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,-1,-1);
  4098. AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,-1,-1);
  4099. AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,-1,-1);
  4100. AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,-1,-1);
  4101. AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,-1,-1);
  4102. AddStaticVehicle(409,-1949.8689,266.5759,40.7776,216.4882,-1,-1);
  4103. AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,-1,-1);
  4104. AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,-1,-1);
  4105. AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,-1,-1);
  4106. AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,-1,-1);
  4107. AddStaticVehicle(561,-1645.2401,1303.9883,6.8482,133.6013,-1,-1);
  4108. AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,-1,-1);
  4109. AddStaticVehicle(409,113.8611,1068.6182,13.3395,177.1330,-1,-1);
  4110. AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,-1,-1);
  4111. AddStaticVehicle(409,612.4678,1694.4126,6.7192,302.5539,-1,-1);
  4112. AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,-1,-1);
  4113. AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,-1,-1);
  4114. AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,-1,-1);
  4115. AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,-1,-1);
  4116. AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,-1,-1);
  4117. AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,-1,-1);
  4118. AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,-1,-1);
  4119. AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,-1,-1);
  4120. AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,-1,-1);
  4121. AddStaticVehicle(575,2804.4365,1332.5348,10.6283,271.7682,-1,-1);
  4122. AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,-1,-1);
  4123. AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,-1,-1);
  4124. AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,-1,-1);
  4125. AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,-1,-1);
  4126. AddStaticVehicle(536,2785.0261,-1835.0374,9.6874,226.9852,-1,-1);
  4127. AddStaticVehicle(536,2787.8975,-1876.2583,9.6966,0.5804,-1,-1);
  4128. AddStaticVehicle(409,2771.2993,-1841.5620,9.4870,20.7678,-1,-1);
  4129. AddStaticVehicle(451,1713.9319,1467.8354,10.5219,342.8006,-1,-1);
  4130. AddStaticVehicle(487,1907.3180,-2370.9448,13.7237,171.4087,-1,-1);
  4131. AddStaticVehicle(487,1937.8707,-2367.7688,13.7238,148.1337,-1,-1);
  4132. AddStaticVehicle(519,1875.0195,-2433.2417,14.4736,173.2058,-1,-1);
  4133. AddStaticVehicle(519,1806.0576,-2448.2708,14.4737,184.3718,-1,-1);
  4134. AddStaticVehicle(553,1992.4908,-2494.0266,15.4841,89.9354,-1,-1);
  4135. AddStaticVehicle(519,1359.2721,1712.1901,11.7388,270.1237,-1,-1);
  4136. AddStaticVehicle(519,1357.2432,1756.2228,11.7423,270.0228,-1,-1);
  4137. AddStaticVehicle(592,1476.9865,1817.3193,12.0088,179.7205,-1,-1);
  4138. AddStaticVehicle(553,1526.1075,1722.5662,13.1558,89.0719,-1,-1);
  4139. AddStaticVehicle(511,1521.4501,1762.7058,12.1951,90.0973,-1,-1);
  4140. AddStaticVehicle(593,1543.9456,1504.8796,11.3110,110.7683,-1,-1);
  4141. AddStaticVehicle(593,1552.3733,1467.2634,11.2896,88.5463,-1,-1);
  4142. AddStaticVehicle(593,-1208.3148,-143.5120,14.6070,134.5333,-1,-1);
  4143. AddStaticVehicle(593,-1249.1862,-97.8405,14.6098,136.2920,-1,-1);
  4144. AddStaticVehicle(487,-1224.8188,-10.5438,14.3567,43.1714,-1,-1);
  4145. AddStaticVehicle(487,-1186.1617,26.0722,14.3234,43.4089,-1,-1);
  4146. AddStaticVehicle(511,-1464.5212,-121.9160,15.5236,127.3604,-1,-1);
  4147. AddStaticVehicle(487,365.6864,2536.2576,16.8100,357.7899,-1,-1);
  4148. AddStaticVehicle(593,347.5829,2541.6016,17.2124,178.9457,-1,-1);
  4149. AddStaticVehicle(446,-933.1351,2655.9641,39.9680,134.1089,-1,-1);
  4150. AddStaticVehicle(446,-920.7197,2654.6516,39.9336,135.3314,-1,-1);
  4151. AddStaticVehicle(446,-1867.0760,2122.2290,-0.4709,40.9321,-1,-1);
  4152. AddStaticVehicle(446,-2041.7366,-1292.8422,-0.5669,219.9766,-1,-1);
  4153. AddStaticVehicle(522,1424.6390,2011.2247,10.3870,267.5187,-1,-1);
  4154. AddStaticVehicle(415,1458.4037,2005.4050,10.5835,270.6011,-1,-1);
  4155. AddStaticVehicle(536,-307.7787,834.0385,12.5844,1.3044,-1,-1);
  4156. AddStaticVehicle(409,-2620.7344,1378.1827,6.9128,181.8913,-1,-1);
  4157. AddStaticVehicle(575,-2635.1992,1378.1097,6.9113,179.4993,-1,-1);
  4158. AddStaticVehicle(451,-2645.6157,1337.1875,6.9380,270.4539,-1,-1);
  4159. AddStaticVehicle(415,1464.4105,-899.2629,54.6207,182.1717,-1,-1);
  4160. AddStaticVehicle(451,1014.7068,-1362.3627,13.1410,268.4366,-1,-1);
  4161. AddStaticVehicle(536,992.9833,-1343.9553,13.1536,84.4456,-1,-1);
  4162. AddStaticVehicle(415,1030.8966,-2003.3646,12.8626,105.1992,-1,-1);
  4163. AddStaticVehicle(561,1401.4495,-2331.2705,13.3180,356.5226,-1,-1);
  4164. AddStaticVehicle(477,1410.4238,-2262.6548,13.3197,1.4244,-1,-1);
  4165. AddStaticVehicle(506,1394.9098,-2242.5615,13.3190,356.4018,-1,-1);
  4166. AddStaticVehicle(415,2777.6567,-1944.6384,13.3174,267.2390,-1,-1);
  4167. AddStaticVehicle(402,2662.3376,-1827.7867,9.0843,104.1313,-1,-1);
  4168. AddStaticVehicle(400,2496.6030,-1751.8090,13.2353,177.7862,-1,-1);
  4169. AddStaticVehicle(506,2301.8459,-1640.2737,14.4014,21.0667,-1,-1);
  4170. AddStaticVehicle(451,2270.7397,-1430.8334,23.6049,168.9817,-1,-1);
  4171. AddStaticVehicle(510,1883.3857,-1373.6320,13.1791,118.8204,-1,-1);
  4172. AddStaticVehicle(510,1877.3157,-1410.3794,13.0857,276.5073,-1,-1);
  4173. AddStaticVehicle(510,1945.7273,-1363.6149,18.1861,179.6495,-1,-1);
  4174. AddStaticVehicle(510,1945.6027,-1380.7971,18.1864,320.4554,-1,-1);
  4175. AddStaticVehicle(510,1962.4762,-1408.2625,13.1800,135.3088,-1,-1);
  4176. AddStaticVehicle(510,1899.9825,-1442.7949,13.1240,335.2642,-1,-1);
  4177. AddStaticVehicle(510,1898.1802,-1355.7472,13.1009,150.9942,-1,-1);
  4178.  
  4179. AddStaticPickup(371,15,1710.3359,1614.3585,10.1191); //para
  4180. AddStaticPickup(371,15,1964.4523,1917.0341,130.9375); //para
  4181. AddStaticPickup(371,15,2055.7258,2395.8589,150.4766); //para
  4182. AddStaticPickup(371,15,2265.0120,1672.3837,94.9219); //para
  4183. AddStaticPickup(371,15,2265.9739,1623.4060,94.9219); //para
  4184. AddStaticPickup(370,15,213.8414,1874.6965,17.6406); // jetpack area69
  4185. AddStaticPickup(370,15,-2209.4707,294.1174,35.1172); // jetpack sf
  4186. AddStaticPickup(370,15,2530.4746,-1677.4136,19.9302); // jetpack ls
  4187. AddStaticPickup(370,15,2096.8235,1158.7990,24.5625); // jetpack lv
  4188.  
  4189. SetTimer("checkpointUpdate", 1100, 1);
  4190. SetTimer("PirateShipScoreUpdate", 2001, 1);
  4191. SetTimer("PropertyScoreUpdate", 40005, 1);
  4192. SetTimer("TimeUpdate",60009, 1);
  4193. SetTimer("MoneyScan", 30000, 1);
  4194. SetTimer("HealthScan", 30000, 1);
  4195. SetTimer("AutoOpenCar", 10000, 1);
  4196. SetTimer("TaxiCheck", 30000, 1);
  4197. SetTimer("SaveData", 300000, 1);
  4198. SetTimer("SettingsExistsCheck", 5000, 1);
  4199. SetTimer("RandomColor", 2500, 1);
  4200.  
  4201. return 1;
  4202. }
  4203.  
  4204. public SendPlayerFormattedText(playerid, const str[], define)
  4205. {
  4206. new tmpbuf[256];
  4207. format(tmpbuf, sizeof(tmpbuf), str, define);
  4208. SendClientMessage(playerid, 0xFFFF00AA, tmpbuf);
  4209. }
  4210.  
  4211. public SendAllFormattedText(playerid, const str[], define)
  4212. {
  4213. new tmpbuf[256];
  4214. format(tmpbuf, sizeof(tmpbuf), str, define);
  4215. SendClientMessageToAll(0xFFFF00AA, tmpbuf);
  4216. }
  4217.  
  4218. IsNumeric(const string[])
  4219. {
  4220. for (new i=0,j=strlen(string);i<j;i++)
  4221. if (string[i] > '9' || string[i] < '0') return 0;
  4222. return 1;
  4223. }
Add Comment
Please, Sign In to add comment