Advertisement
Guest User

pawelf94

a guest
Dec 21st, 2009
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 136.37 KB | None | 0 0
  1. #include <a_samp>
  2. #include <core>
  3. #include <float>
  4. native WP_Hash(buffer[], len, const str[]);
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define GREEN 0x21DD00FF
  9. #define RED 0xE60000FF
  10. #define ADMIN_RED 0xFB0000FF
  11. #define YELLOW 0xFFFF00FF
  12. #define ORANGE 0xF97804FF
  13. #define LIGHTRED 0xFF8080FF
  14. #define LIGHTBLUE 0x00C2ECFF
  15. #define LIGHT_BLUE 0x00C2ECFF
  16. #define PURPLE 0xB360FDFF
  17. #define BLUE 0x1229FAFF
  18. #define LIGHTGREEN 0x38FF06FF
  19. #define DARKPINK 0xE100E1FF
  20. #define DARKGREEN 0x008040FF
  21. #define AQUAGREEN 0x00CACAFB
  22. #define NICESKY 0x99FFFFAA
  23. #define GREY 0xCECECEFF
  24. #define WHITE 0xFFFFFFFF
  25. #define LIMEGREEN 0x97DD37FF
  26. #define COLOR_GREY 0xAFAFAFAA
  27. #define COLOR_GREEN 0x33AA33AA
  28. #define COLOR_RED 0xAA3333AA
  29. #define COLOR_YELLOW 0xFFFF00AA
  30. #define COLOR_WHITE 0xFFFFFFAA
  31. #define PocketMoney 0
  32. #define INACTIVE_PLAYER_ID 255
  33. #define GIVECASH_DELAY 0
  34.  
  35. #define NUMVALUES 4
  36. #define DIALOG_TYPE_DELVEH 7000
  37. #define DIALOG_TYPE_DELVEHS 7001
  38. #define DIALOG_TYPE_SERVLOCK 7002
  39. #define DIALOG_TYPE_SERVLOCKPASS 7003
  40.  
  41. forward AddCar(carcoords);
  42. forward MoneyGrubScoreUpdate();
  43. forward Givecashdelaytimer(playerid);
  44. forward SetPlayerRandomSpawn(playerid);
  45. forward SetupPlayerForClassSelection(playerid);
  46. forward GameModeExitFunc();
  47. forward SendPlayerFormattedText(playerid, const str[], define);
  48. forward public SendAllFormattedText(playerid, const str[], define);
  49. forward SendClientMessageToAdmins(color,string[],alevel);
  50. forward OnPlayerRegister(playerid,password[]);
  51. forward OnPlayerLogin(playerid,password[]);
  52. forward OnPlayerUpdateAccount(playerid);
  53. forward BanLog(string[]);
  54. forward KickLog(string[]);
  55. forward VehicleLog(string[]);
  56. forward CountDown();
  57.  
  58. //------------------------------------------------------------------------------------------------------
  59.  
  60. enum Info
  61. {
  62. AdminLevel,
  63. Password[150],
  64. Cash,
  65. Warns,
  66. Jail,
  67. Logged,
  68. Mute,
  69. WarnReason1[128],
  70. WarnReason2[128],
  71. WarnReason3[128],
  72. IP[20],
  73. };
  74.  
  75. new ViewCommands[][] =
  76. {
  77. {"/admins"},
  78. {"/count"}
  79. };
  80.  
  81. new carselect[15];
  82. new rccounter = 0;
  83. new AccountInfo[MAX_PLAYERS][Info];
  84. new SuperPunch[MAX_PLAYERS];
  85. new ViewCmds[MAX_PLAYERS];
  86. new Count = 999;
  87. new Hide[MAX_PLAYERS];
  88. new Drugs[MAX_PLAYERS];
  89. new bool:PMBlock[MAX_PLAYERS];
  90. new Nuke[MAX_PLAYERS];
  91. new Missile[MAX_PLAYERS];
  92. new bool:SpawnedVehicle[MAX_VEHICLES];
  93. new PlayerDelVeh[MAX_PLAYERS];
  94. new ServerLockPass[128];
  95. new servlock[128];
  96.  
  97. new VehNames[212][] = { // Vehicle Names - Betamaster
  98. {"Landstalker"},
  99. {"Bravura"},
  100. {"Buffalo"},
  101. {"Linerunner"},
  102. {"Perrenial"},
  103. {"Sentinel"},
  104. {"Dumper"},
  105. {"Firetruck"},
  106. {"Trashmaster"},
  107. {"Stretch"},
  108. {"Manana"},
  109. {"Infernus"},
  110. {"Voodoo"},
  111. {"Pony"},
  112. {"Mule"},
  113. {"Cheetah"},
  114. {"Ambulance"},
  115. {"Leviathan"},
  116. {"Moonbeam"},
  117. {"Esperanto"},
  118. {"Taxi"},
  119. {"Washington"},
  120. {"Bobcat"},
  121. {"Mr Whoopee"},
  122. {"BF Injection"},
  123. {"Hunter"},
  124. {"Premier"},
  125. {"Enforcer"},
  126. {"Securicar"},
  127. {"Banshee"},
  128. {"Predator"},
  129. {"Bus"},
  130. {"Rhino"},
  131. {"Barracks"},
  132. {"Hotknife"},
  133. {"Trailer 1"}, //artict1
  134. {"Previon"},
  135. {"Coach"},
  136. {"Cabbie"},
  137. {"Stallion"},
  138. {"Rumpo"},
  139. {"RC Bandit"},
  140. {"Romero"},
  141. {"Packer"},
  142. {"Monster"},
  143. {"Admiral"},
  144. {"Squalo"},
  145. {"Seasparrow"},
  146. {"Pizzaboy"},
  147. {"Tram"},
  148. {"Trailer 2"}, //artict2
  149. {"Turismo"},
  150. {"Speeder"},
  151. {"Reefer"},
  152. {"Tropic"},
  153. {"Flatbed"},
  154. {"Yankee"},
  155. {"Caddy"},
  156. {"Solair"},
  157. {"Berkley's RC Van"},
  158. {"Skimmer"},
  159. {"PCJ-600"},
  160. {"Faggio"},
  161. {"Freeway"},
  162. {"RC Baron"},
  163. {"RC Raider"},
  164. {"Glendale"},
  165. {"Oceanic"},
  166. {"Sanchez"},
  167. {"Sparrow"},
  168. {"Patriot"},
  169. {"Quad"},
  170. {"Coastguard"},
  171. {"Dinghy"},
  172. {"Hermes"},
  173. {"Sabre"},
  174. {"Rustler"},
  175. {"ZR-350"},
  176. {"Walton"},
  177. {"Regina"},
  178. {"Comet"},
  179. {"BMX"},
  180. {"Burrito"},
  181. {"Camper"},
  182. {"Marquis"},
  183. {"Baggage"},
  184. {"Dozer"},
  185. {"Maverick"},
  186. {"News Chopper"},
  187. {"Rancher"},
  188. {"FBI Rancher"},
  189. {"Virgo"},
  190. {"Greenwood"},
  191. {"Jetmax"},
  192. {"Hotring"},
  193. {"Sandking"},
  194. {"Blista Compact"},
  195. {"Police Maverick"},
  196. {"Boxville"},
  197. {"Benson"},
  198. {"Mesa"},
  199. {"RC Goblin"},
  200. {"Hotring Racer A"}, //hotrina
  201. {"Hotring Racer B"}, //hotrinb
  202. {"Bloodring Banger"},
  203. {"Rancher"},
  204. {"Super GT"},
  205. {"Elegant"},
  206. {"Journey"},
  207. {"Bike"},
  208. {"Mountain Bike"},
  209. {"Beagle"},
  210. {"Cropdust"},
  211. {"Stunt"},
  212. {"Tanker"}, //petro
  213. {"Roadtrain"},
  214. {"Nebula"},
  215. {"Majestic"},
  216. {"Buccaneer"},
  217. {"Shamal"},
  218. {"Hydra"},
  219. {"FCR-900"},
  220. {"NRG-500"},
  221. {"HPV1000"},
  222. {"Cement Truck"},
  223. {"Tow Truck"},
  224. {"Fortune"},
  225. {"Cadrona"},
  226. {"FBI Truck"},
  227. {"Willard"},
  228. {"Forklift"},
  229. {"Tractor"},
  230. {"Combine"},
  231. {"Feltzer"},
  232. {"Remington"},
  233. {"Slamvan"},
  234. {"Blade"},
  235. {"Freight"},
  236. {"Streak"},
  237. {"Vortex"},
  238. {"Vincent"},
  239. {"Bullet"},
  240. {"Clover"},
  241. {"Sadler"},
  242. {"Firetruck LA"}, //firela
  243. {"Hustler"},
  244. {"Intruder"},
  245. {"Primo"},
  246. {"Cargobob"},
  247. {"Tampa"},
  248. {"Sunrise"},
  249. {"Merit"},
  250. {"Utility"},
  251. {"Nevada"},
  252. {"Yosemite"},
  253. {"Windsor"},
  254. {"Monster A"}, //monstera
  255. {"Monster B"}, //monsterb
  256. {"Uranus"},
  257. {"Jester"},
  258. {"Sultan"},
  259. {"Stratum"},
  260. {"Elegy"},
  261. {"Raindance"},
  262. {"RC Tiger"},
  263. {"Flash"},
  264. {"Tahoma"},
  265. {"Savanna"},
  266. {"Bandito"},
  267. {"Freight Flat"}, //freiflat
  268. {"Streak Carriage"}, //streakc
  269. {"Kart"},
  270. {"Mower"},
  271. {"Duneride"},
  272. {"Sweeper"},
  273. {"Broadway"},
  274. {"Tornado"},
  275. {"AT-400"},
  276. {"DFT-30"},
  277. {"Huntley"},
  278. {"Stafford"},
  279. {"BF-400"},
  280. {"Newsvan"},
  281. {"Tug"},
  282. {"Trailer 3"}, //petrotr
  283. {"Emperor"},
  284. {"Wayfarer"},
  285. {"Euros"},
  286. {"Hotdog"},
  287. {"Club"},
  288. {"Freight Carriage"}, //freibox
  289. {"Trailer 3"}, //artict3
  290. {"Andromada"},
  291. {"Dodo"},
  292. {"RC Cam"},
  293. {"Launch"},
  294. {"Police Car (LSPD)"},
  295. {"Police Car (SFPD)"},
  296. {"Police Car (LVPD)"},
  297. {"Police Ranger"},
  298. {"Picador"},
  299. {"S.W.A.T. Van"},
  300. {"Alpha"},
  301. {"Phoenix"},
  302. {"Glendale"},
  303. {"Sadler"},
  304. {"Luggage Trailer A"}, //bagboxa
  305. {"Luggage Trailer B"}, //bagboxb
  306. {"Stair Trailer"}, //tugstair
  307. {"Boxville"},
  308. {"Farm Plow"}, //farmtr1
  309. {"Utility Trailer"} //utiltr1
  310. };
  311.  
  312. new WeapNames[][32] = {
  313. {"Unarmed (Fist)"}, // 0
  314. {"Brass Knuckles"}, // 1
  315. {"Golf Club"}, // 2
  316. {"Night Stick"}, // 3
  317. {"Knife"}, // 4
  318. {"Baseball Bat"}, // 5
  319. {"Shovel"}, // 6
  320. {"Pool Cue"}, // 7
  321. {"Katana"}, // 8
  322. {"Chainsaw"}, // 9
  323. {"Purple Dildo"}, // 10
  324. {"Big White Vibrator"}, // 11
  325. {"Medium White Vibrator"}, // 12
  326. {"Small White Vibrator"}, // 13
  327. {"Flowers"}, // 14
  328. {"Cane"}, // 15
  329. {"Grenade"}, // 16
  330. {"Teargas"}, // 17
  331. {"Molotov"}, // 18
  332. {" "}, // 19
  333. {" "}, // 20
  334. {" "}, // 21
  335. {"Colt 45"}, // 22
  336. {"Colt 45(Silenced)"}, // 23
  337. {"Deagle"}, // 24
  338. {"Normal Shotgun"}, // 25
  339. {"Sawnoff Shotgun"}, // 26
  340. {"Combat Shotgun"}, // 27
  341. {"Micro Uzi(Mac 10)"}, // 28
  342. {"SMG(MP5)"}, // 29
  343. {"AK47"}, // 30
  344. {"M4"}, // 31
  345. {"Tec9"}, // 32
  346. {"Country Rifle"}, // 33
  347. {"Sniper Rifle"}, // 34
  348. {"Rocket Launcher"}, // 35
  349. {"Heat-Seeking Rocket Launcher"}, // 36
  350. {"Flamethrower"}, // 37
  351. {"Minigun"}, // 38
  352. {"Satchel Charge"}, // 39
  353. {"Detonator"}, // 40
  354. {"Spray Can"}, // 41
  355. {"Fire Extinguisher"}, // 42
  356. {"Camera"}, // 43
  357. {"Night Vision Goggles"}, // 44
  358. {"Infrared Vision Goggles"}, // 45
  359. {"Parachute"}, // 46
  360. {"Fake Pistol"} // 47
  361. };
  362.  
  363. stock strtok(const string[], &index,seperator=' ')
  364. {
  365. new length = strlen(string);
  366. new offset = index;
  367. new result[128];
  368. while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  369. {
  370. result[index - offset] = string[index];
  371. index++;
  372. }
  373.  
  374. result[index - offset] = EOS;
  375. if ((index < length) && (string[index] == seperator))
  376. {
  377. index++;
  378. }
  379. return result;
  380. }
  381. stock IsNumeric(const string[])
  382. {
  383. for (new i = 0, j = strlen(string); i < j; i++)
  384. if (string[i] > '9' || string[i] < '0')
  385. return 0;
  386. return 1;
  387. }
  388.  
  389. ReturnUser(text[], playerid = INVALID_PLAYER_ID)
  390. {
  391. new pos = 0;
  392. while (text[pos] < 0x21)
  393. {
  394. if (text[pos] == 0) return INVALID_PLAYER_ID;
  395. pos++;
  396. }
  397. new userid = INVALID_PLAYER_ID;
  398. if (IsNumeric(text[pos]))
  399. {
  400. userid = strval(text[pos]);
  401. if (userid >=0 && userid < MAX_PLAYERS)
  402. {
  403. if(!IsPlayerConnected(userid))
  404. userid = INVALID_PLAYER_ID;
  405. else return userid;
  406. }
  407. }
  408. new len = strlen(text[pos]);
  409. new count = 0;
  410. new pname[MAX_PLAYER_NAME];
  411. for (new i = 0; i < MAX_PLAYERS; i++)
  412. {
  413. if (IsPlayerConnected(i))
  414. {
  415. GetPlayerName(i, pname, sizeof (pname));
  416. if (strcmp(pname, text[pos], true, len) == 0)
  417. {
  418. if (len == strlen(pname)) return i;
  419. else
  420. {
  421. count++;
  422. userid = i;
  423. }
  424. }
  425. }
  426. }
  427. if (count != 1)
  428. {
  429. if (playerid != INVALID_PLAYER_ID)
  430. {
  431. if (count) SendClientMessage(playerid, YELLOW, "There are multiple users, enter full playername.");
  432. else SendClientMessage(playerid, RED, "Playername not found.");
  433. }
  434. userid = INVALID_PLAYER_ID;
  435. }
  436. return userid;
  437. }
  438. stock GetFileString(string[])
  439. {
  440. new result[128];
  441. result[0] = 0;
  442. if (strfind(string, ":", true) == -1) return result;
  443. new id = strfind(string, ":", true);
  444. strmid(result, string, 0, id, 128);
  445. return result;
  446. }
  447.  
  448. stock GetFileValue(string[])
  449. {
  450. new val[256];
  451. val[0] = 0;
  452. if (strfind(string , ":", true) == -1) return val;
  453. new id = strfind(string, ":", true);
  454. strmid(val, string, id+2, strlen(string)-1, 256);
  455. return val;
  456. }
  457.  
  458. new RandCars[20][1] = {
  459. {603},{583},{586},{566},
  460. {562},{568},{580},{579},
  461. {560},{558},{541},{521},
  462. {522},{523},{477},{451},
  463. {434},{429},{415},{411}
  464. };
  465.  
  466.  
  467. new Float:CarSpawns[54][4] = {
  468. {1032.8171,-1594.2629,13.3356,180.7377},
  469. {1988.6533,1087.7460,10.4751,269.5815},
  470. {1992.5874,1087.8477,10.4761,269.7112},
  471. {1993.5490,1087.8447,10.4750,269.7661},
  472. {2040.5435,1181.9846,10.3790,178.2661},
  473. {2040.2813,1173.3302,10.3787,178.2643},
  474. {2039.9502,1162.4052,10.3806,178.2644},
  475. {2039.9458,1135.4756,10.3813,180.2942},
  476. {2171.7546,1012.6989,10.5273,89.2601},
  477. {2163.1548,1012.8098,10.5252,89.2628},
  478. {2142.4731,1013.0759,10.5268,89.2632},
  479. {2141.2031,1015.9063,10.5272,88.0564},
  480. {2132.6350,1016.1976,10.5275,88.0542},
  481. {2133.0439,1022.6212,10.5268,89.2576},
  482. {2132.3315,1025.5502,10.5268,89.5869},
  483. {2151.2642,987.3393,10.5526,181.5200},
  484. {2394.4719,994.1828,10.5267,90.5199},
  485. {2380.0977,1009.1062,10.5267,356.4108},
  486. {2380.6201,1017.4321,10.5271,356.4107},
  487. {2448.0166,1301.7682,10.4629,178.0107},
  488. {2464.8359,1337.6912,10.5273,359.4193},
  489. {2441.1145,1335.7941,10.5273,89.7969},
  490. {2486.6282,1307.5331,10.4532,269.1746},
  491. {2788.2173,1295.8784,10.4569,0.9409},
  492. {2794.5825,1296.0687,10.4569,359.2833},
  493. {2781.8972,1295.3284,10.4568,1.4087},
  494. {2775.2886,1295.1444,10.4567,358.8980},
  495. {2764.8103,1291.2999,10.4574,88.9120},
  496. {2764.6997,1284.8268,10.4568,90.1575},
  497. {2823.9519,2209.6033,10.5241,88.9704},
  498. {2823.3530,2197.2993,10.5202,269.0419},
  499. {2827.1157,2364.2427,10.5268,270.7789},
  500. {2841.4985,2357.2939,10.5198,268.3486},
  501. {2852.3020,2357.0061,10.5408,268.4392},
  502. {2866.8760,2353.0588,10.5262,266.4987},
  503. {2852.9712,2338.5791,10.5279,85.7903},
  504. {2842.4629,2338.8401,10.5259,88.2479},
  505. {2827.3442,2338.4021,10.5202,87.9161},
  506. {2815.2798,2341.8125,10.5199,85.9341},
  507. {2814.9163,2379.7063,10.5277,269.1239},
  508. {2604.3020,2136.0994,10.5282,270.0356},
  509. {2604.8613,2149.4902,10.5274,268.9434},
  510. {2119.4792,2191.5049,10.3787,359.8015},
  511. {2119.3945,2167.2690,10.3792,359.8012},
  512. {2119.3035,2141.1130,10.3792,359.8007},
  513. {2119.8755,2098.0063,10.3792,0.2043},
  514. {2102.6357,2092.3552,10.5263,266.6326},
  515. {2103.1125,2082.6079,10.5271,266.0643},
  516. {2103.2695,2059.7346,10.5261,267.1861},
  517. {1690.8741,2131.3967,11.0373,88.8118},
  518. {1643.7787,2197.5212,10.5281,357.6211},
  519. {1612.5304,2190.5161,10.5273,89.3708},
  520. {1590.0470,2191.6707,10.5261,90.8158},
  521. {1602.8180,2206.7151,10.5277,269.6120}
  522. };
  523.  
  524. new CashScoreOld;
  525. new iSpawnSet[MAX_PLAYERS];
  526.  
  527. new Float:gRandomPlayerSpawns[23][3] = {
  528. {1958.3783,1343.1572,15.3746},
  529. {2199.6531,1393.3678,10.8203},
  530. {2483.5977,1222.0825,10.8203},
  531. {2637.2712,1129.2743,11.1797},
  532. {2000.0106,1521.1111,17.0625},
  533. {2024.8190,1917.9425,12.3386},
  534. {2261.9048,2035.9547,10.8203},
  535. {2262.0986,2398.6572,10.8203},
  536. {2244.2566,2523.7280,10.8203},
  537. {2335.3228,2786.4478,10.8203},
  538. {2150.0186,2734.2297,11.1763},
  539. {2158.0811,2797.5488,10.8203},
  540. {1969.8301,2722.8564,10.8203},
  541. {1652.0555,2709.4072,10.8265},
  542. {1564.0052,2756.9463,10.8203},
  543. {1271.5452,2554.0227,10.8203},
  544. {1441.5894,2567.9099,10.8203},
  545. {1480.6473,2213.5718,11.0234},
  546. {1400.5906,2225.6960,11.0234},
  547. {1598.8419,2221.5676,11.0625},
  548. {1318.7759,1251.3580,10.8203},
  549. {1558.0731,1007.8292,10.8125},
  550. //{-857.0551,1536.6832,22.5870}, Out of Town Spawns
  551. //{817.3494,856.5039,12.7891},
  552. //{116.9315,1110.1823,13.6094},
  553. //{-18.8529,1176.0159,19.5634},
  554. //{-315.0575,1774.0636,43.6406},
  555. {1705.2347,1025.6808,10.8203}
  556. };
  557.  
  558. new Float:gCopPlayerSpawns[2][3] = {
  559. {2297.1064,2452.0115,10.8203},
  560. {2297.0452,2468.6743,10.8203}
  561. };
  562.  
  563. //Round code stolen from mike's Manhunt :P
  564. //new gRoundTime = 3600000; // Round time - 1 hour
  565. //new gRoundTime = 1200000; // Round time - 20 mins
  566. //new gRoundTime = 900000; // Round time - 15 mins
  567. //new gRoundTime = 600000; // Round time - 10 mins
  568. //new gRoundTime = 300000; // Round time - 5 mins
  569. //new gRoundTime = 120000; // Round time - 2 mins
  570. //new gRoundTime = 60000; // Round time - 1 min
  571. /*
  572. new gActivePlayers[MAX_PLAYERS];
  573. new gLastGaveCash[MAX_PLAYERS];
  574. */
  575. //------------------------------------------------------------------------------------------------------
  576.  
  577. main()
  578. {
  579. print("Mapa by: Pawel Fraczkowski");
  580. }
  581.  
  582. //------------------------------------------------------------------------------------------------------
  583.  
  584. public OnPlayerRequestSpawn(playerid)
  585. {
  586. #if defined LOGIN_BEFORE_SPAWN
  587. new string[128];
  588. new sendername[MAX_PLAYER_NAME];
  589. GetPlayerName(playerid,sendername,24);
  590. format(string,128,"/sAccounts/%s.seifadmin",sendername);
  591. if (fexist(string) && AccountInfo[playerid][Logged] == 0)
  592. {
  593. SendClientMessage(playerid,RED,"Your account is registered. You must first login in order to spawn.");
  594. return 0;
  595. }
  596. #endif
  597. return 1;
  598. }
  599.  
  600. public VehicleLog(string[])
  601. {
  602. new entry[128];
  603. format(entry, sizeof(entry), "%s\r\n",string);
  604. new File:hFile;
  605. hFile = fopen("vehiclespawn.log", io_append);
  606. if (hFile)
  607. {
  608. fwrite(hFile, entry);
  609. fclose(hFile);
  610. }
  611. }
  612.  
  613. public KickLog(string[])
  614. {
  615. new entry[128];
  616. format(entry, sizeof(entry), "%s\r\n",string);
  617. new File:hFile;
  618. hFile = fopen("kick.log", io_append);
  619. if (hFile)
  620. {
  621. fwrite(hFile, entry);
  622. fclose(hFile);
  623. }
  624. }
  625.  
  626. public BanLog(string[])
  627. {
  628. new entry[128];
  629. format(entry, sizeof(entry), "%s\r\n",string);
  630. new File:hFile;
  631. hFile = fopen("ban.log", io_append);
  632. if (hFile)
  633. {
  634. fwrite(hFile, entry);
  635. fclose(hFile);
  636. }
  637. }
  638. public SendClientMessageToAdmins(color,string[],alevel)
  639. {
  640. for(new i = 0; i < MAX_PLAYERS; i++)
  641. {
  642. if(IsPlayerConnected(i))
  643. {
  644. if (AccountInfo[i][AdminLevel] >= alevel)
  645. {
  646. SendClientMessage(i, color, string);
  647. printf("%s", string);
  648. }
  649. }
  650. }
  651. return 1;
  652. }
  653. public OnPlayerRegister(playerid, password[])
  654. {
  655. if(IsPlayerConnected(playerid))
  656. {
  657. new name[MAX_PLAYER_NAME], str[128], ip[15];
  658. GetPlayerName(playerid, name, sizeof name);
  659. GetPlayerIp(playerid, ip, sizeof ip);
  660. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  661. new File:account = fopen(str, io_write);
  662. if (account)
  663. {
  664. strmid(AccountInfo[playerid][Password], password, 0, strlen(password), 255);
  665. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  666. new file[256];
  667. {
  668. format(file, sizeof file, "Password: %s\n", AccountInfo[playerid][Password]);
  669. { fwrite(account, file); }
  670. format(file, sizeof file, "AdminLevel: %d\n", 0);
  671. { fwrite(account, file); AccountInfo[playerid][AdminLevel] = 0; }
  672. format(file, sizeof file, "Cash: %d\n", AccountInfo[playerid][Cash]);
  673. { fwrite(account, file); }
  674. format(file, sizeof file, "Warnings: %d\n",AccountInfo[playerid][Warns]);
  675. { fwrite(account, file); }
  676. format(file, sizeof file, "WarnReason1: %s\n",AccountInfo[playerid][WarnReason1]);
  677. { fwrite(account, file); }
  678. format(file, sizeof file, "WarnReason2: %s\n",AccountInfo[playerid][WarnReason2]);
  679. { fwrite(account, file); }
  680. format(file, sizeof file, "WarnReason3: %s\n",AccountInfo[playerid][WarnReason3]);
  681. { fwrite(account, file); }
  682. format(file, sizeof file, "IPAddress: %s\n",ip);
  683. { fwrite(account, file); }
  684. }
  685. fclose(account);
  686. SendClientMessage(playerid, GREEN, "You can now login [/login]");
  687. }
  688. }
  689. return 1;
  690. }
  691.  
  692. public OnPlayerUpdateAccount(playerid)
  693. {
  694. if(IsPlayerConnected(playerid))
  695. {
  696. if(AccountInfo[playerid][Logged] == 1)
  697. {
  698. new name[MAX_PLAYER_NAME], str[128];
  699. GetPlayerName(playerid, name, sizeof name);
  700. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  701. new File:account = fopen(str, io_write);
  702. if (account)
  703. {
  704. AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
  705. new file[256];
  706. {
  707. format(file, sizeof file, "Password: %s\n", AccountInfo[playerid][Password]);
  708. { fwrite(account, file); }
  709. format(file, sizeof file, "AdminLevel: %d\n",AccountInfo[playerid][AdminLevel]);
  710. { fwrite(account, file); }
  711. format(file, sizeof file, "Cash: %d\n", AccountInfo[playerid][Cash]);
  712. { fwrite(account, file); }
  713. format(file, sizeof file, "Warnings: %d\n",AccountInfo[playerid][Warns]);
  714. { fwrite(account, file); }
  715. format(file, sizeof file, "WarnReason1: %s\n",AccountInfo[playerid][WarnReason1]);
  716. { fwrite(account, file); }
  717. format(file, sizeof file, "WarnReason2: %s\n",AccountInfo[playerid][WarnReason2]);
  718. { fwrite(account, file); }
  719. format(file, sizeof file, "WarnReason3: %s\n",AccountInfo[playerid][WarnReason3]);
  720. { fwrite(account, file); }
  721. format(file, sizeof file, "IPAddress: %s\n",AccountInfo[playerid][IP]);
  722. { fwrite(account, file); }
  723. }
  724. fclose(account);
  725. }
  726. }
  727. }
  728. return 1;
  729. }
  730.  
  731. public OnPlayerLogin(playerid, password[])
  732. {
  733. new name[MAX_PLAYER_NAME], str[128];
  734. GetPlayerName(playerid, name, sizeof name);
  735. format(str, sizeof str, "/sAccounts/%s.seifadmin", name);
  736. new File:account = fopen(str, io_read);
  737. if (account)
  738. {
  739. new pass[256];
  740. new passres[256], value[256];
  741. fread(account, pass, sizeof pass);
  742. passres = GetFileString(pass);
  743. if (!strcmp("Password", passres))
  744. {
  745. value = GetFileValue(pass);
  746. strmid(AccountInfo[playerid][Password], value, 0, strlen(value), 150);
  747. }
  748. if (!strcmp(AccountInfo[playerid][Password], password, true))
  749. {
  750. while (fread(account, pass, 256))
  751. {
  752. passres = GetFileString(pass);
  753. if (!strcmp("AdminLevel", passres, true))
  754. {
  755. value = GetFileValue(pass);
  756. AccountInfo[playerid][AdminLevel] = strval(value);
  757. }
  758. if (!strcmp("Cash", passres, true))
  759. {
  760. value = GetFileValue(pass);
  761. AccountInfo[playerid][Cash] = strval(value);
  762. }
  763. if (!strcmp("Warnings", passres, true))
  764. {
  765. value = GetFileValue(pass);
  766. AccountInfo[playerid][Warns] = strval(value);
  767. }
  768. if (!strcmp("WarnReason1", passres, true))
  769. {
  770. value = GetFileValue(pass);
  771. strmid(AccountInfo[playerid][WarnReason1], value, 0, strlen(value), 128);
  772. }
  773. if (!strcmp("WarnReason2", passres, true))
  774. {
  775. value = GetFileValue(pass);
  776. strmid(AccountInfo[playerid][WarnReason2], value, 0, strlen(value), 128);
  777. }
  778. if (!strcmp("WarnReason3", passres, true))
  779. {
  780. value = GetFileValue(pass);
  781. strmid(AccountInfo[playerid][WarnReason3], value, 0, strlen(value), 128);
  782. }
  783. }
  784. fclose(account);
  785. AccountInfo[playerid][Logged] = 1;
  786. }
  787. else
  788. {
  789. SendClientMessage(playerid, RED, "Incorrect Password.");
  790. fclose(account);
  791. return 1;
  792. }
  793. GivePlayerMoney(playerid, AccountInfo[playerid][Cash]);
  794. format(str, sizeof str, "|- You have successfully logged in as %s -|", name);
  795. SendClientMessage(playerid, GREEN, str);
  796. printf("%s has logged in", name);
  797. if (AccountInfo[playerid][AdminLevel] > 0)
  798. {
  799. format(str, sizeof str, "|� You are now logged in as a level %d admin �|", AccountInfo[playerid][AdminLevel]);
  800. SendClientMessage(playerid, LIGHTGREEN, str);
  801. ViewCmds[playerid] = 0;
  802. }
  803. }
  804. return 1;
  805. }
  806.  
  807. //------------------------------------------------------------------------------------------------------
  808.  
  809. public AddCar(carcoords)
  810. {
  811. new randcol = random(126);
  812. new randcol2 = 1;
  813. if (rccounter == 14)
  814. {
  815. rccounter = 0;
  816. }
  817. AddStaticVehicleEx(carselect[rccounter], CarSpawns[carcoords][0], CarSpawns[carcoords][1], CarSpawns[carcoords][2], CarSpawns[carcoords][3], randcol, randcol2, 60000);
  818. rccounter++;
  819. return 1;
  820. }
  821.  
  822.  
  823. public OnPlayerPickUpPickup(playerid, pickupid)
  824. {
  825. //new s[256];
  826. //format(s,256,"Picked up %d",pickupid);
  827. //SendClientMessage(playerid,0xFFFFFFFF,s);
  828. }
  829.  
  830. //------------------------------------------------------------------------------------------------------
  831.  
  832. public MoneyGrubScoreUpdate()
  833. {
  834. new CashScore;
  835. new name[MAX_PLAYER_NAME];
  836. //new string[256];
  837. for(new i=0; i<MAX_PLAYERS; i++)
  838. {
  839. if (IsPlayerConnected(i))
  840. {
  841. GetPlayerName(i, name, sizeof(name));
  842. CashScore = GetPlayerMoney(i);
  843. SetPlayerScore(i, CashScore);
  844. if (CashScore > CashScoreOld)
  845. {
  846. CashScoreOld = CashScore;
  847. //format(string, sizeof(string), "$$$ %s is now in the lead $$$", name);
  848. //SendClientMessageToAll(COLOR_YELLOW, string);
  849. }
  850. }
  851. }
  852. }
  853.  
  854. //------------------------------------------------------------------------------------------------------
  855.  
  856. /*public GrubModeReset()
  857. {
  858. for(new i=0; i<MAX_PLAYERS; i++)
  859. {
  860. if (IsPlayerConnected(i))
  861. {
  862. SetPlayerScore(i, PocketMoney);
  863. SetPlayerRandomSpawn(i, classid);
  864. }
  865. }
  866.  
  867. }*/
  868.  
  869. //------------------------------------------------------------------------------------------------------
  870. public OnPlayerConnect(playerid)
  871. {
  872. AccountInfo[playerid][Jail] = 0;
  873. AccountInfo[playerid][AdminLevel] = 0;
  874. AccountInfo[playerid][Warns] = 0;
  875. AccountInfo[playerid][Logged] = 0;
  876. AccountInfo[playerid][Mute] = 0;
  877. format(AccountInfo[playerid][Password], 128, " ");
  878. format(AccountInfo[playerid][WarnReason1], 128, "NONE");
  879. format(AccountInfo[playerid][WarnReason2], 128, "NONE");
  880. format(AccountInfo[playerid][WarnReason3], 128, "NONE");
  881. Drugs[playerid] = 0;
  882. Hide[playerid] = 0;
  883. SuperPunch[playerid] = 0;
  884. ViewCmds[playerid] = 0;
  885. PlayerDelVeh[playerid] = INVALID_VEHICLE_ID;
  886. PMBlock[playerid] = false;
  887. if (strcmp(ServerLockPass, "-", true))
  888. {
  889. SendClientMessage(playerid, ADMIN_RED, "| Server Zamkniety |");
  890. ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCKPASS, DIALOG_STYLE_INPUT, "Server Jest Zamkniety", "Wpisz haslo aby wejsc", "Enter", "Cancel");
  891. }
  892. new string[128];
  893. new ip[20];
  894. new sendername[MAX_PLAYER_NAME];
  895. GetPlayerName(playerid, sendername, sizeof(sendername));
  896. GetPlayerIp(playerid, ip, sizeof ip);
  897. strmid(AccountInfo[playerid][IP], ip, 0, strlen(ip), 128);
  898. format(string, sizeof(string), "/sAccounts/%s.seifadmin", sendername);
  899. if (!fexist(string)) return SendClientMessage(playerid,GREEN,"Potrzebujesz konto aby grac wpisz /register [haslo]");
  900. #if defined ENABLE_AUTO_LOGIN
  901. {
  902. new File:user = fopen(string, io_read);
  903. if (user)
  904. {
  905. new pass[128];
  906. new passres[128], value[128];
  907. new loop = 1;
  908. WHILE:
  909. while (fread(user, pass))
  910. {
  911. printf("line: %s", pass);
  912. strmid(passres, GetFileString(pass), 0, strlen(GetFileString(pass)), 128);
  913. if (loop == 1)
  914. {
  915. if (!strcmp("IPAddress", passres)) printf("IP; %s", GetFileValue(pass));
  916. if (!strcmp("Password", passres))
  917. {
  918. value = GetFileValue(pass);
  919. strmid(AccountInfo[playerid][Password], value, 0, strlen(value)-1, 128);
  920. loop = 2;
  921. goto WHILE;
  922. }
  923. }
  924. else if (loop == 2)
  925. {
  926. if (!strcmp("IPAddress", passres))
  927. {
  928. printf("%s", passres);
  929. strmid(passres, value, 0, strlen(value)-1, 20);
  930. printf("file-ip: %s | player-ip: %s", GetFileValue(pass), AccountInfo[playerid][IP]);
  931. if (!strcmp(AccountInfo[playerid][IP], passres, true))
  932. {
  933. SendClientMessage(playerid, GREEN, "Auto Logowanie.");
  934. fclose(user);
  935. OnPlayerLogin(playerid, AccountInfo[playerid][Password]);
  936. return 1;
  937. }
  938. else
  939. {
  940. if (fexist(string))
  941. {
  942. SendClientMessage(playerid, ORANGE, "Wpisz /login [haslo] by sie zalogowac");
  943. }
  944. fclose(user);
  945. }
  946. }
  947. }
  948. }
  949. fclose(user);
  950. }
  951. }
  952. #else
  953. {
  954. if (fexist(string))
  955. {
  956. SendClientMessage(playerid, ORANGE, "Wpisz /login [haslo] by sie zalogowac");
  957. }
  958. }
  959. #endif
  960. return 1;
  961. }
  962.  
  963. //------------------------------------------------------------------------------------------------------
  964. public OnPlayerDisconnect(playerid, reason)
  965. {
  966. OnPlayerUpdateAccount(playerid);
  967. AccountInfo[playerid][Jail] = 0;
  968. AccountInfo[playerid][AdminLevel] = 0;
  969. AccountInfo[playerid][Warns] = 0;
  970. AccountInfo[playerid][Logged] = 0;
  971. AccountInfo[playerid][Mute] = 0;
  972. Drugs[playerid] = 0;
  973. Hide[playerid] = 0;
  974. SuperPunch[playerid] = 0;
  975. ViewCmds[playerid] = 0;
  976. strmid(AccountInfo[playerid][IP], " ", 0, strlen(" "), 20);
  977. return 1;
  978. }
  979. //------------------------------------------------------------------------------------------------------
  980.  
  981. public OnPlayerCommandText(playerid, cmdtext[])
  982. {
  983. new playermoney;
  984. new sendername[MAX_PLAYER_NAME];
  985. new giveplayer[MAX_PLAYER_NAME];
  986. new giveplayerid, moneys, idx;
  987. new cmd[128];
  988. new tmp[128];
  989. new giveplayername[MAX_PLAYER_NAME];
  990. new string[128];
  991. cmd = strtok(cmdtext,idx);
  992.  
  993. for(new i = 0; i < GetMaxPlayers(); i++)
  994. {
  995. if (IsPlayerConnected(i))
  996. {
  997. if (AccountInfo[i][AdminLevel] > 0 && ViewCmds[i] == 1)
  998. {
  999. for(new v = 0; v < sizeof(ViewCommands); v++) if (!strcmp(cmdtext, ViewCommands[v], true))
  1000. {
  1001. GetPlayerName(playerid, sendername, sizeof sendername);
  1002. format(tmp, 128, "[VIEWCMDS] [%d]%s: %s", playerid, sendername, cmdtext);
  1003. SendClientMessage(i, PURPLE, tmp);
  1004. }
  1005. }
  1006. }
  1007. }
  1008. if(strcmp(cmd, "/help", true) == 0)
  1009. {
  1010. SendClientMessage(playerid, ORANGE, "/login /register /admins /report /dajkase");
  1011. return 1;
  1012. }
  1013. if(strcmp(cmd, "/ah", true) == 0 || strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/acommands", true) == 0) // List of admin commands
  1014. {
  1015. if (AccountInfo[playerid][AdminLevel] == 5 || IsPlayerAdmin(playerid))
  1016. {
  1017. SendClientMessage(playerid, BLUE, "/dajadmina /gmx /kickall /get /crash /setwarn /view /apm /lockserver");
  1018. }
  1019. if (AccountInfo[playerid][AdminLevel] == 4 || AccountInfo[playerid][AdminLevel] == 5)
  1020. {
  1021. SendClientMessage(playerid, LIGHT_BLUE, "/nuke /ban /givecash /teleport /veh /pweapons /warn /fuck /giveweapon");
  1022. SendClientMessage(playerid, LIGHT_BLUE, "/an /setweather /settime /");
  1023. }
  1024. if (AccountInfo[playerid][AdminLevel] == 3 || AccountInfo[playerid][AdminLevel] == 4 || AccountInfo[playerid][AdminLevel] == 5)
  1025. {
  1026. SendClientMessage(playerid, GREEN, "/setscore /angle /ip /kick /mute /unmute /drugs /freeze /unfreeze /setname");
  1027. SendClientMessage(playerid, GREEN, "/kill /goto /slap /disarm /say /sethp /jail /unjail /aclearchat /hide /unhide");
  1028. SendClientMessage(playerid, GREEN, "/odliczanie /setskin");
  1029. }
  1030. return 1;
  1031. }
  1032.  
  1033. if(strcmp(cmd, "/dajkase", true) == 0) {
  1034. // new tmp[256];
  1035. tmp = strtok(cmdtext, idx);
  1036.  
  1037. if(!strlen(tmp)) {
  1038. SendClientMessage(playerid, ORANGE, "USAGE: /dajkase [playerid] [ilosc]");
  1039. return 1;
  1040. }
  1041. giveplayerid = strval(tmp);
  1042.  
  1043. tmp = strtok(cmdtext, idx);
  1044. if(!strlen(tmp)) {
  1045. SendClientMessage(playerid, ORANGE, "USAGE: /dajkase [playerid] [ilosc]");
  1046. return 1;
  1047. }
  1048. moneys = strval(tmp);
  1049.  
  1050. if (IsPlayerConnected(giveplayerid)) {
  1051. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1052. GetPlayerName(playerid, sendername, sizeof(sendername));
  1053. playermoney = GetPlayerMoney(playerid);
  1054. if (moneys > 0 && playermoney >= moneys) {
  1055. GivePlayerMoney(playerid, (0 - moneys));
  1056. GivePlayerMoney(giveplayerid, moneys);
  1057. format(string, sizeof(string), "Dales %s dla %d), $%d.", giveplayer,giveplayerid, moneys);
  1058. SendClientMessage(playerid, ORANGE, string);
  1059. format(string, sizeof(string), "Otrzymales $%d od %s %d).", moneys, sendername, playerid);
  1060. SendClientMessage(giveplayerid, ORANGE, string);
  1061. // printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
  1062. }
  1063. else {
  1064. SendClientMessage(playerid, ORANGE, "Nie wlasciwa suma");
  1065. }
  1066. }
  1067. else {
  1068. format(string, sizeof(string), "%d jest nie aktywnym graczem.", giveplayerid);
  1069. SendClientMessage(playerid, ORANGE, string);
  1070. }
  1071. return 1;
  1072. }
  1073.  
  1074. if(strcmp(cmd, "/dajadmina", true) == 0) // Make player an admin
  1075. {
  1076. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  1077. {
  1078. tmp = strtok(cmdtext, idx);
  1079. if(!strlen(tmp))
  1080. {
  1081. SendClientMessage(playerid, ORANGE, "USAGE: /dajadmina [playerid] [level 3-5]");
  1082. SendClientMessage(playerid, ORANGE, "5 - Head Admin, 4 - Admin, 3 - Moderator");
  1083. return 1;
  1084. }
  1085. // new giveplayerid = ReturnUser(tmp, playerid);
  1086. tmp = strtok(cmdtext, idx);
  1087. new level = strval(tmp);
  1088. if(giveplayerid != INVALID_PLAYER_ID)
  1089. {
  1090. if (level >= 0)
  1091. {
  1092. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1093. GetPlayerName(playerid, sendername, sizeof(sendername));
  1094. printf("Head Admin: %s dal admina dla %s ", sendername, giveplayername);
  1095. format(string, sizeof(string), "Zostales adminem z lvlem %d przez %s.", level, sendername);
  1096. SendClientMessage(giveplayerid, LIGHTBLUE, string);
  1097. format(string, sizeof(string), "Head Admin %s dal admina %s", sendername,giveplayername);
  1098. SendClientMessageToAdmins(ORANGE, string, 1);
  1099. AccountInfo[giveplayerid][AdminLevel] = level;
  1100. format(string, sizeof(string), "Dales admina %s level %d ", giveplayername,AccountInfo[giveplayerid][AdminLevel]);
  1101. SendClientMessage(playerid, LIGHTBLUE, string);
  1102. }
  1103. else return SendClientMessage(playerid, ORANGE, "Nie mozesz isc ponizej 0");
  1104. }
  1105. else if(giveplayerid == INVALID_PLAYER_ID)
  1106. {
  1107. format(string, sizeof(string), "%i nie jest aktywnym graczem", giveplayerid);
  1108. SendClientMessage(playerid, ORANGE, string);
  1109. }
  1110. }
  1111. else SendClientMessage(playerid, ORANGE, "Nie jestes Head Adminem!");
  1112. return 1;
  1113. }
  1114.  
  1115. if(strcmp(cmd, "/gmx", true) == 0) // Reboot the server
  1116. {
  1117. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid)) return GameModeExit();
  1118. else return SendClientMessage(playerid, RED, "Nie jestes Head Adminem!");
  1119. }
  1120.  
  1121. if(strcmp(cmd, "/kickall", true) == 0) // Kick everyone except the one who does this
  1122. {
  1123. new reason[128];
  1124. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  1125. {
  1126. GetPlayerName(playerid, sendername, sizeof(sendername));
  1127. reason = bigstrtok(cmdtext, idx);
  1128. if(!strlen(reason))
  1129. {
  1130. SendClientMessage(playerid, ORANGE, "USAGE: /kickall [reason]");
  1131. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick all the players.");
  1132. return 1;
  1133. }
  1134. printf("ADMIN: Admin %s wyrzucil kazdego. Poniewaz: %s", sendername, reason);
  1135. format(string, sizeof(string), "Administrator %s wykopal kazdego [Poniewaz: %s ] ", sendername,reason);
  1136. SendClientMessageToAll(ORANGE, string);
  1137. for(new i = 0; i < MAX_PLAYERS; i++)
  1138. {
  1139. if (i != playerid)
  1140. {
  1141. Kick(i);
  1142. KickLog(string);
  1143. }
  1144. }
  1145. }
  1146. else SendClientMessage(playerid, RED, "Nie jestes Head Adminem");
  1147. return 1;
  1148. }
  1149.  
  1150. if(strcmp(cmd, "/nuke", true) == 0) // Nuke a player (explode)
  1151. {
  1152. if (AccountInfo[playerid][AdminLevel] >= 4)
  1153. {
  1154. tmp = strtok(cmdtext, idx);
  1155. if(!strlen(tmp))
  1156. {
  1157. SendClientMessage(playerid, ORANGE, "USAGE: /nuke [playerid]");
  1158. SendClientMessage(playerid, ORANGE, "FUNCTION: Player will explode.");
  1159. return 1;
  1160. }
  1161. new Float:X,Float:Y,Float:Z;
  1162. // new giveplayerid = ReturnUser(tmp, playerid);
  1163. if(IsPlayerConnected(giveplayerid))
  1164. {
  1165. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1166. GetPlayerName(playerid, sendername, sizeof(sendername));
  1167. GetPlayerPos(giveplayerid, X,Y,Z);
  1168. CreateExplosion(X,Y,Z,2,3.0);
  1169. SetPlayerHealth(giveplayerid, 0.0);
  1170. format(string, sizeof(string), "Administrator %s spuscil bombe nuklearna na %s ",sendername,giveplayername);
  1171. SendClientMessageToAdmins(ORANGE, string,1);
  1172. }
  1173. else if (!IsPlayerConnected(giveplayerid))
  1174. {
  1175. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1176. SendClientMessage(playerid, RED, string);
  1177. }
  1178. }
  1179. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  1180. return 1;
  1181. }
  1182.  
  1183. if(strcmp(cmd, "/setscore", true) == 0) // Set player a score
  1184. {
  1185. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  1186. {
  1187. tmp = strtok(cmdtext, idx);
  1188. if(!strlen(tmp))
  1189. {
  1190. SendClientMessage(playerid, ORANGE, "USAGE: /setscore [playerid] [score]");
  1191. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
  1192. return 1;
  1193. }
  1194. // new giveplayerid = ReturnUser(tmp);
  1195. tmp = strtok(cmdtext, idx);
  1196. if(!strlen(tmp))
  1197. {
  1198. SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
  1199. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
  1200. return 1;
  1201. }
  1202. new score = strval(tmp);
  1203. if(IsPlayerConnected(giveplayerid))
  1204. {
  1205. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1206. GetPlayerScore(giveplayerid);
  1207. SetPlayerScore(giveplayerid, score);
  1208. format(string, sizeof(string), "You have changed %s's score number to %d.",giveplayername, score);
  1209. SendClientMessage(playerid, GREEN, string);
  1210. }
  1211. else if (!IsPlayerConnected(giveplayerid))
  1212. {
  1213. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1214. SendClientMessage(playerid, RED, string);
  1215. }
  1216. }
  1217. return 1;
  1218. }
  1219.  
  1220. if(strcmp(cmd, "/angle", true) == 0) // Shows your current angle + sets it
  1221. {
  1222. if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  1223. {
  1224. new Float:angle;
  1225. tmp = strtok(cmdtext, idx);
  1226. if(!strlen(tmp))
  1227. {
  1228. SendClientMessage(playerid, ORANGE, "USAGE: /angle [angle degree]");
  1229. SendClientMessage(playerid, ORANGE, "FUNCTION: Will change your current angle.");
  1230. GetPlayerFacingAngle(playerid,angle);
  1231. format(string, sizeof(string), "HELP: Your current angle is %f", angle);
  1232. SendClientMessage(playerid, ORANGE, string);
  1233. return 1;
  1234. }
  1235. angle = floatstr(tmp);
  1236. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1237. {
  1238. SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
  1239. format(string, sizeof(string), "You have changed your angle degree to %f" ,angle);
  1240. SendClientMessage(playerid, GREEN, string);
  1241. }
  1242. else
  1243. {
  1244. SetPlayerFacingAngle(playerid,angle);
  1245. format(string, sizeof(string), "You have changed your angle degree to %f",angle);
  1246. SendClientMessage(playerid, GREEN, string);
  1247. }
  1248. }
  1249. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  1250. return 1;
  1251. }
  1252.  
  1253. if(strcmp(cmd, "/rangeban", true) == 0) // Range-bans a player with the amount of ranges entered.
  1254. {
  1255. if (AccountInfo[playerid][AdminLevel] >= 5)
  1256. {
  1257. tmp = strtok(cmdtext,idx);
  1258. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /rangeban [playername/id] [ranges(2 max)]");
  1259. new ip[20],ban[128];
  1260. // new giveplayerid = ReturnUser(tmp);
  1261. if (IsPlayerConnected(giveplayerid))
  1262. {
  1263. tmp = strtok(cmdtext,idx);
  1264. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /rangeban [playername/id] [RANGES(2 max)]");
  1265. new ranges = strval(tmp);
  1266. if (ranges < 0 || ranges > 2) return SendClientMessage(playerid, RED, "Minimum ranges: 0 | Maximum ranges: 2");
  1267. if (ranges == 0)
  1268. {
  1269. Ban(giveplayerid);
  1270. }
  1271. GetPlayerName(giveplayerid, giveplayername, sizeof giveplayername);
  1272. GetPlayerIp(giveplayerid, ip, sizeof ip);
  1273. new count = 1;
  1274. for(new i = strlen(ip); i > 0; i--)
  1275. {
  1276. if (ip[i] == '.')
  1277. {
  1278. if (count == ranges)
  1279. {
  1280. format(ban, sizeof ban, "banip %s", ip);
  1281. SendRconCommand(ban);
  1282. break;
  1283. }
  1284. else count++;
  1285. }
  1286. else ip[i] = '*';
  1287. }
  1288. format(ban, sizeof ban, "%s has been banned with the ip '%s'", giveplayername, ip);
  1289. SendClientMessage(playerid, GREEN, ban);
  1290. }
  1291. else
  1292. {
  1293. format(string, sizeof(string), "%i is not an active player.", giveplayerid);
  1294. SendClientMessage(playerid, RED, string);
  1295. }
  1296. }
  1297. else SendClientMessage(playerid, RED, "You're not a lead admin !");
  1298. return 1;
  1299. }
  1300.  
  1301. if(strcmp(cmd, "/ip", true) == 0) // Look at the player's IP address
  1302. {
  1303. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  1304. {
  1305. tmp = strtok(cmdtext, idx);
  1306. if(!strlen(tmp))
  1307. {
  1308. SendClientMessage(playerid, ORANGE, "USAGE: /ip [playername/id]");
  1309. SendClientMessage(playerid, ORANGE, "FUNCTION: View a player's IP.");
  1310. return 1;
  1311. }
  1312.  
  1313. // new giveplayerid = ReturnUser(tmp);
  1314. if(IsPlayerConnected(giveplayerid))
  1315. {
  1316. new sstring[256];
  1317. new ip[20];
  1318. GetPlayerIp(giveplayerid, ip, sizeof ip);
  1319. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1320. format(sstring, sizeof(sstring), " %s's IP: %s ", giveplayername,ip);
  1321. SendClientMessage(playerid,LIGHTBLUE, sstring);
  1322. }
  1323. else
  1324. {
  1325. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1326. SendClientMessage(playerid, RED, string);
  1327. }
  1328. }
  1329. else SendClientMessage(playerid, RED, "You are not an admin.");
  1330. return 1;
  1331. }
  1332.  
  1333. if(strcmp(cmd, "/ban", true) == 0) // Bans a player from the server
  1334. {
  1335. new reason[128];
  1336. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  1337. {
  1338. tmp = strtok(cmdtext, idx);
  1339. if(!strlen(tmp))
  1340. {
  1341. SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  1342. SendClientMessage(playerid, ORANGE, "FUNCTION: Will BAN the specified player.");
  1343. return 1;
  1344. }
  1345.  
  1346. // new giveplayerid = ReturnUser(tmp);
  1347.  
  1348. if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
  1349. {
  1350. format(string, sizeof(string), "[%i]%s prubowal cie zbanowac",playerid,sendername);
  1351. SendClientMessage(giveplayerid, ORANGE,string);
  1352. SendClientMessage(playerid, ORANGE, "You are not allowed to ban an admin with a higher level than you!");
  1353. }
  1354.  
  1355. else if (giveplayerid != INVALID_PLAYER_ID)
  1356. {
  1357. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1358. GetPlayerName(playerid, sendername, sizeof(sendername));
  1359. reason = bigstrtok(cmdtext, idx);
  1360. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /ban [playername/id] [reason]");
  1361. new ip[20];
  1362. printf("ADMIN: Admin %s zbanowal %s. Za: %s", sendername, giveplayername, reason);
  1363. format(string, sizeof(string), "Administrator %s zbanowal %s. [Za: %s ] |-", sendername, giveplayername, reason);
  1364. SendClientMessageToAll(ORANGE, string);
  1365. GetPlayerIp(giveplayerid, ip, sizeof ip);
  1366. format(string, sizeof(string), "Zbanowane ip gracza: %s ", ip);
  1367. SendClientMessageToAdmins(ORANGE, string, 1);
  1368. AccountInfo[giveplayerid][AdminLevel] = 0; // Resets the banned player's admin level for security reasons
  1369. format(reason, sizeof reason, "[%s]%s", sendername, reason);
  1370. BanEx(giveplayerid, reason);
  1371. }
  1372. else if(giveplayerid == INVALID_PLAYER_ID)
  1373. {
  1374. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1375. SendClientMessage(playerid, RED, string);
  1376. }
  1377. }
  1378. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1379. return 1;
  1380. }
  1381.  
  1382. if(strcmp(cmd, "/kick", true) == 0) // Kicks the player from the server
  1383. {
  1384. new reason[128];
  1385. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1386. {
  1387. tmp = strtok(cmdtext, idx);
  1388. if(!strlen(tmp))
  1389. {
  1390. SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  1391. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick the specified player.");
  1392. return 1;
  1393. }
  1394.  
  1395. // new giveplayerid = ReturnUser(tmp);
  1396. if(giveplayerid != INVALID_PLAYER_ID)
  1397. {
  1398. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1399. GetPlayerName(playerid, sendername, sizeof(sendername));
  1400. reason = bigstrtok(cmdtext, idx);
  1401. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /kick [playername/id] [reason]");
  1402. printf("ADMIN: Admin %s kicked %s. Reason: %s", sendername, giveplayername, reason);
  1403. format(string, sizeof(string), "Administrator/Moderator %s wykopal %s. [Za: %s ] |-", sendername, giveplayername, reason);
  1404. SendClientMessageToAll(ORANGE, string);
  1405. Kick(giveplayerid);
  1406. KickLog(string);
  1407. }
  1408. else if(giveplayerid == INVALID_PLAYER_ID)
  1409. {
  1410. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1411. SendClientMessage(playerid, RED, string);
  1412. }
  1413. }
  1414. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1415. return 1;
  1416. }
  1417.  
  1418. if(strcmp(cmd, "/mute", true) == 0) // Mutes the player from talking in the chat box
  1419. {
  1420. new reason[128];
  1421. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1422. {
  1423. tmp = strtok(cmdtext, idx);
  1424. if(!strlen(tmp))
  1425. {
  1426. SendClientMessage(playerid, ORANGE, "USAGE: /mute [playername/id] [reason]");
  1427. SendClientMessage(playerid, ORANGE, "FUNCTION: Will mute the specified player.");
  1428. return 1;
  1429. }
  1430.  
  1431. // new giveplayerid = ReturnUser(tmp);
  1432.  
  1433. if(giveplayerid != INVALID_PLAYER_ID)
  1434. {
  1435. if (AccountInfo[giveplayerid][Mute] == 0)
  1436. {
  1437. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1438. GetPlayerName(playerid, sendername, sizeof(sendername));
  1439. reason = bigstrtok(cmdtext, idx);
  1440. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /mute [playername/id] [reason]");
  1441. printf("ADMIN: Admin %s muted %s. Reason: %s", sendername, giveplayername, reason);
  1442. format(string, sizeof(string), "Administrator/Moderator %s wyciszyl %s. [Za: %s ]|-", sendername,giveplayername,reason);
  1443. SendClientMessageToAll(ORANGE, string);
  1444. AccountInfo[giveplayerid][Mute] = 1;
  1445. }
  1446. else if (AccountInfo[giveplayerid][Mute] == 1) SendClientMessage(playerid, RED, "Player is already muted!");
  1447. }
  1448.  
  1449. else if(giveplayerid == INVALID_PLAYER_ID)
  1450. {
  1451. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1452. SendClientMessage(playerid, RED, string);
  1453. }
  1454. }
  1455. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1456. return 1;
  1457. }
  1458.  
  1459. if(strcmp(cmd, "/unmute", true) == 0) // Unmutes a muted player
  1460. {
  1461. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1462. {
  1463. tmp = strtok(cmdtext, idx);
  1464. if(!strlen(tmp))
  1465. {
  1466. SendClientMessage(playerid, ORANGE, "USAGE: /unmute [playername/id]");
  1467. SendClientMessage(playerid, ORANGE, "FUNCTION: Will unmute the specified player.");
  1468. return 1;
  1469. }
  1470.  
  1471. // new giveplayerid = ReturnUser(tmp);
  1472.  
  1473. if(giveplayerid != INVALID_PLAYER_ID)
  1474. {
  1475. if (AccountInfo[giveplayerid][Mute] == 1)
  1476. {
  1477. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1478. GetPlayerName(playerid, sendername, sizeof(sendername));
  1479. format(string, sizeof(string), "Administrator/Moderator %s dal zgode na mowienie dla %s ", sendername,giveplayername);
  1480. SendClientMessageToAll(ORANGE, string);
  1481. AccountInfo[giveplayerid][Mute] = 0;
  1482. }
  1483. else if (AccountInfo[giveplayerid][Mute] == 0) SendClientMessage(playerid, RED, "Player isn't muted.");
  1484. }
  1485.  
  1486. else if(giveplayerid == INVALID_PLAYER_ID)
  1487. {
  1488. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1489. SendClientMessage(playerid, RED, string);
  1490. }
  1491. }
  1492. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1493. return 1;
  1494. }
  1495.  
  1496. if(strcmp(cmd, "/drugs", true) == 0) // Will make the player invinsible until death
  1497. {
  1498. if (AccountInfo[playerid][AdminLevel] > 3 || IsPlayerAdmin(playerid))
  1499. {
  1500. SetPlayerHealth(playerid,999999999); // max HP
  1501. Drugs[playerid] = 1;
  1502. SendClientMessage(playerid, GREEN, "You are now high on drugs...");
  1503. }
  1504. else SendClientMessage(playerid, RED, "Drugs are bad for you!");
  1505. return 1;
  1506. }
  1507.  
  1508. if(strcmp(cmd, "/freeze", true) == 0) // Freezes the player. Prevents him from moving
  1509. {
  1510. new reason[128];
  1511. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1512. {
  1513. tmp = strtok(cmdtext, idx);
  1514. if(!strlen(tmp))
  1515. {
  1516. SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playername/id] [reason]");
  1517. SendClientMessage(playerid, ORANGE, "FUNCTION: Will freeze the specified player.");
  1518. return 1;
  1519. }
  1520.  
  1521. // new giveplayerid = ReturnUser(tmp);
  1522. if(giveplayerid != INVALID_PLAYER_ID)
  1523. {
  1524. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1525. GetPlayerName(playerid, sendername, sizeof(sendername));
  1526. reason = bigstrtok(cmdtext, idx);
  1527. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playername/id] [reason]");
  1528. format(string, sizeof(string), "Administrator/Moderator %s zamrozil %s. [Za: %s ] |-", sendername, giveplayername, reason);
  1529. SendClientMessageToAdmins(ORANGE, string, 1);
  1530. TogglePlayerControllable(giveplayerid, false);
  1531. }
  1532. else if(giveplayerid == INVALID_PLAYER_ID)
  1533. {
  1534. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1535. SendClientMessage(playerid, RED, string);
  1536. }
  1537. }
  1538. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1539. return 1;
  1540. }
  1541. if(strcmp(cmd, "/unfreeze", true) == 0) // Unfreezes the player
  1542. {
  1543. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1544. {
  1545. tmp = strtok(cmdtext, idx);
  1546. if(!strlen(tmp))
  1547. {
  1548. SendClientMessage(playerid, ORANGE, "USAGE: /unfreeze [playername/id]");
  1549. SendClientMessage(playerid, ORANGE, "FUNCTION: Will unfreeze the specified player.");
  1550. return 1;
  1551. }
  1552.  
  1553. // new giveplayerid = ReturnUser(tmp);
  1554. if(giveplayerid != INVALID_PLAYER_ID)
  1555. {
  1556. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1557. GetPlayerName(playerid, sendername, sizeof(sendername));
  1558. format(string, sizeof(string), "Administrator %s odmrozil %s ", sendername,giveplayername);
  1559. SendClientMessageToAdmins(ORANGE, string, 1);
  1560. TogglePlayerControllable(giveplayerid, true);
  1561. }
  1562. else if(giveplayerid == INVALID_PLAYER_ID)
  1563. {
  1564. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1565. SendClientMessage(playerid, RED, string);
  1566. }
  1567. }
  1568. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1569. return 1;
  1570. }
  1571.  
  1572. if(strcmp(cmd, "/setname", true) == 0) // Changes a player's name
  1573. {
  1574. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1575. {
  1576. tmp = strtok(cmdtext, idx);
  1577. if(!strlen(tmp))
  1578. {
  1579. SendClientMessage(playerid, ORANGE, "USAGE: /setname [playername/id] [newname]");
  1580. SendClientMessage(playerid, ORANGE, "FUNCTION: Will change the player's current name. ");
  1581. return 1;
  1582. }
  1583.  
  1584. // new giveplayerid = ReturnUser(tmp);
  1585. if(giveplayerid != INVALID_PLAYER_ID)
  1586. {
  1587. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1588. GetPlayerName(playerid, sendername, sizeof(sendername));
  1589. tmp = strtok(cmdtext, idx);
  1590. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setname [playername/id] [newname]");
  1591. format(string, sizeof(string), "Administrator/Moderator %s zmienil imie %s na %s ", sendername, giveplayername, tmp);
  1592. SendClientMessageToAdmins(ORANGE, string, 1);
  1593. SetPlayerName(giveplayerid, tmp);
  1594. }
  1595. else if(giveplayerid == INVALID_PLAYER_ID)
  1596. {
  1597. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1598. SendClientMessage(playerid, RED, string);
  1599. }
  1600. }
  1601. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1602. return 1;
  1603. }
  1604.  
  1605. if(strcmp(cmd, "/givecash", true) == 0) // Gives some cash to the player
  1606. {
  1607. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  1608. {
  1609. tmp = strtok(cmdtext, idx);
  1610. if(!strlen(tmp))
  1611. {
  1612. SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playername/id] [cash]");
  1613. SendClientMessage(playerid, ORANGE, "FUNCTION: Will give the player some cash. ");
  1614. return 1;
  1615. }
  1616.  
  1617. // new giveplayerid = ReturnUser(tmp);
  1618. if(giveplayerid != INVALID_PLAYER_ID)
  1619. {
  1620. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1621. GetPlayerName(playerid, sendername, sizeof(sendername));
  1622. tmp = strtok(cmdtext, idx);
  1623. new cash = strval(tmp);
  1624. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playername/id] [cash]");
  1625. format(string, sizeof(string), "Administrator %s dal %s $%d |-", sendername,giveplayername,cash);
  1626. SendClientMessageToAdmins(ORANGE, string, 1);
  1627. GivePlayerMoney(giveplayerid, cash);
  1628. }
  1629. else if(giveplayerid == INVALID_PLAYER_ID)
  1630. {
  1631. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1632. SendClientMessage(playerid, RED, string);
  1633. }
  1634. }
  1635. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1636. return 1;
  1637. }
  1638.  
  1639. if(strcmp(cmd, "/kill", true) == 0) // If an admin, it kills the player you want. If not, suicide.
  1640. {
  1641. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1642. {
  1643. tmp = strtok(cmdtext, idx);
  1644. if(!strlen(tmp))
  1645. {
  1646. SendClientMessage(playerid, ORANGE, "USAGE: /kill [playername/id]");
  1647. SendClientMessage(playerid, ORANGE, "FUNCTION: Will kill the specified player.");
  1648. return 1;
  1649. }
  1650.  
  1651. // new giveplayerid = ReturnUser(tmp);
  1652. if(giveplayerid != INVALID_PLAYER_ID)
  1653. {
  1654. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1655. GetPlayerName(playerid, sendername, sizeof(sendername));
  1656. format(string, sizeof(string), "Administrator/Moderator %s zabil %s ", sendername,giveplayername);
  1657. SendClientMessageToAdmins(ORANGE, string, 1);
  1658. SetPlayerHealth(giveplayerid, 0.0);
  1659. }
  1660. else if(giveplayerid == INVALID_PLAYER_ID)
  1661. {
  1662. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1663. SendClientMessage(playerid, RED, string);
  1664. }
  1665. }
  1666. else
  1667. {
  1668. SendClientMessage(playerid, RED, "You have committed suicide.");
  1669. SetPlayerHealth(playerid,0.0);
  1670. }
  1671. return 1;
  1672. }
  1673.  
  1674. if(strcmp(cmd, "/goto", true) == 0) // Teleports to a player
  1675. {
  1676. new Float:pX,Float:pY,Float:pZ;
  1677. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1678. {
  1679. tmp = strtok(cmdtext, idx);
  1680. if(!strlen(tmp))
  1681. {
  1682. SendClientMessage(playerid, ORANGE, "USAGE: /goto [playername/id]");
  1683. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport to the specified player.");
  1684. return 1;
  1685. }
  1686. // new giveplayerid = ReturnUser(tmp);
  1687. if(giveplayerid != INVALID_PLAYER_ID)
  1688. {
  1689. if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1690. {
  1691. GetPlayerPos(giveplayerid,pX,pY,pZ);
  1692. SetVehiclePos(GetPlayerVehicleID(playerid),pX,pY,pZ+2);
  1693. }
  1694. else
  1695. {
  1696. GetPlayerPos(giveplayerid,pX,pY,pZ);
  1697. SetPlayerPos(playerid,pX,pY,pZ+2);
  1698. }
  1699. SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
  1700. }
  1701. else if(giveplayerid == INVALID_PLAYER_ID)
  1702. {
  1703. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1704. SendClientMessage(playerid, RED, string);
  1705. }
  1706. }
  1707. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1708. return 1;
  1709. }
  1710.  
  1711. if(strcmp(cmd, "/get", true) == 0) // Teleports the player to your position
  1712. {
  1713. new Float:pX,Float:pY,Float:pZ;
  1714. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  1715. {
  1716. tmp = strtok(cmdtext, idx);
  1717. if(!strlen(tmp))
  1718. {
  1719. SendClientMessage(playerid, ORANGE, "USAGE: /get [playername/id]");
  1720. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport the specified player to you.");
  1721. return 1;
  1722. }
  1723. // new giveplayerid = ReturnUser(tmp);
  1724. if(giveplayerid != INVALID_PLAYER_ID)
  1725. {
  1726. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  1727. {
  1728. GetPlayerPos(playerid,pX,pY,pZ);
  1729. SetVehiclePos(GetPlayerVehicleID(giveplayerid),pX,pY,pZ+2);
  1730. }
  1731. else
  1732. {
  1733. GetPlayerPos(playerid,pX,pY,pZ);
  1734. SetPlayerPos(giveplayerid,pX,pY,pZ+2);
  1735. }
  1736. SetPlayerInterior(giveplayerid,GetPlayerInterior(playerid));
  1737. }
  1738. else if(giveplayerid == INVALID_PLAYER_ID)
  1739. {
  1740. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1741. SendClientMessage(playerid, RED, string);
  1742. }
  1743. }
  1744. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1745. return 1;
  1746. }
  1747.  
  1748. if(strcmp(cmd, "/teleport", true) == 0) // Teleports the player to the other player
  1749. {
  1750. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  1751. {
  1752. tmp = strtok(cmdtext, idx);
  1753. if(!strlen(tmp))
  1754. {
  1755. SendClientMessage(playerid, ORANGE, "USAGE: /teleport [playername/id] [targetname/id]");
  1756. SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport the player to the target.");
  1757. return 1;
  1758. }
  1759. // new giveplayerid = ReturnUser(tmp);
  1760. if(giveplayerid != INVALID_PLAYER_ID)
  1761. {
  1762. tmp = strtok(cmdtext, idx);
  1763. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /teleport [playername/id] [targetname/id]");
  1764. new targetid = ReturnUser(tmp, playerid);
  1765. if (targetid == INVALID_PLAYER_ID) return 1;
  1766. new Float:tX,Float:tY,Float:tZ;
  1767. if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
  1768. {
  1769. GetPlayerPos(targetid,tX,tY,tZ);
  1770. SetVehiclePos(GetPlayerVehicleID(giveplayerid),tX,tY,tZ+2);
  1771. }
  1772. else
  1773. {
  1774. GetPlayerPos(targetid,tX,tY,tZ);
  1775. SetPlayerPos(giveplayerid,tX,tY,tZ+2);
  1776. }
  1777. SetPlayerInterior(giveplayerid,GetPlayerInterior(targetid));
  1778. }
  1779. else if(giveplayerid == INVALID_PLAYER_ID)
  1780. {
  1781. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1782. SendClientMessage(playerid, RED, string);
  1783. }
  1784. }
  1785. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1786. return 1;
  1787. }
  1788.  
  1789. if(!strcmp(cmdtext, "//", true, 2)) // Admin chat
  1790. {
  1791. if (AccountInfo[playerid][AdminLevel] == 5 || IsPlayerAdmin(playerid))
  1792. {
  1793. if(!strlen(cmdtext[2])) return
  1794. GetPlayerName(playerid, sendername, sizeof(sendername));
  1795. format(string, sizeof(string), "Head Admin [%i]%s: %s" ,playerid,sendername, cmdtext[2]);
  1796. SendClientMessageToAdmins(BLUE, string, 1);
  1797. return 1;
  1798. }
  1799. else if (AccountInfo[playerid][AdminLevel] == 4 || IsPlayerAdmin(playerid))
  1800. {
  1801. if(!strlen(cmdtext[2])) return
  1802. GetPlayerName(playerid, sendername, sizeof(sendername));
  1803. format(string, sizeof(string), "Admin [%i]%s: %s" ,playerid,sendername, cmdtext[2]);
  1804. SendClientMessageToAdmins(LIGHT_BLUE, string, 1);
  1805. return 1;
  1806. }
  1807. else if (AccountInfo[playerid][AdminLevel] == 3 || IsPlayerAdmin(playerid))
  1808. {
  1809. if(!strlen(cmdtext[2])) return
  1810. GetPlayerName(playerid, sendername, sizeof(sendername));
  1811. format(string, sizeof(string), "Moderator [%i]%s: %s" ,playerid,sendername, cmdtext[2]);
  1812. SendClientMessageToAdmins(GREEN, string, 1);
  1813. return 1;
  1814. }
  1815. }
  1816.  
  1817. if(strcmp(cmd, "/slap", true) == 0) // Slap a player
  1818. {
  1819. new Float:pX,Float:pY,Float:pZ;
  1820. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1821. {
  1822. tmp = strtok(cmdtext, idx);
  1823. if(!strlen(tmp))
  1824. {
  1825. SendClientMessage(playerid, ORANGE, "USAGE: /slap [playername/id]");
  1826. SendClientMessage(playerid, ORANGE, "FUNCTION: Will slap the specified player");
  1827. return 1;
  1828. }
  1829.  
  1830. // new giveplayerid = ReturnUser(tmp);
  1831. if(giveplayerid != INVALID_PLAYER_ID)
  1832. {
  1833. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1834. GetPlayerName(playerid, sendername, sizeof(sendername));
  1835. GetPlayerPos(giveplayerid,pX,pY,pZ);
  1836. SetPlayerPos(giveplayerid,pX,pY,pZ+5);
  1837. format(string, sizeof(string), "Administrator/Moderator %s walnol %s ",sendername, giveplayername);
  1838. SendClientMessageToAdmins(ORANGE, string, 1);
  1839. }
  1840. else if(giveplayerid == INVALID_PLAYER_ID)
  1841. {
  1842. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1843. SendClientMessage(playerid, RED, string);
  1844. }
  1845. }
  1846. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1847. return 1;
  1848. }
  1849.  
  1850. /*if(strcmp(cmd, "/bslap", true) == 0) // Slap a player 2 times higher than /slap
  1851. {
  1852. new Float:pX,Float:pY,Float:pZ;
  1853. if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
  1854. {
  1855. tmp = strtok(cmdtext, idx);
  1856. if(!strlen(tmp))
  1857. {
  1858. SendClientMessage(playerid, ORANGE, "USAGE: /bslap [playername/id]");
  1859. SendClientMessage(playerid, ORANGE, "FUNCTION: Will double slap the specified player");
  1860. return 1;
  1861. }
  1862.  
  1863. new giveplayerid = ReturnUser(tmp);
  1864. if(giveplayerid != INVALID_PLAYER_ID)
  1865. {
  1866. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1867. GetPlayerName(playerid, sendername, sizeof(sendername));
  1868. GetPlayerPos(giveplayerid,pX,pY,pZ);
  1869. SetPlayerPos(giveplayerid,pX,pY,pZ+10);
  1870. format(string, sizeof(string), "-| Administrator %s bitch slapped %s |-",sendername, giveplayername);
  1871. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  1872. }
  1873. else if(giveplayerid == INVALID_PLAYER_ID)
  1874. {
  1875. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1876. SendClientMessage(playerid, RED, string);
  1877. }
  1878. }
  1879. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1880. return 1;
  1881. }
  1882. */
  1883. if(strcmp(cmd, "/disarm", true) == 0) // Reset the player's weapons
  1884. {
  1885. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1886. {
  1887. tmp = strtok(cmdtext, idx);
  1888. if(!strlen(tmp))
  1889. {
  1890. SendClientMessage(playerid, ORANGE, "USAGE: /disarm [playername/id]");
  1891. SendClientMessage(playerid, ORANGE, "FUNCTION: Will disarm the player.");
  1892. return 1;
  1893. }
  1894.  
  1895. // new giveplayerid = ReturnUser(tmp);
  1896. if(giveplayerid != INVALID_PLAYER_ID)
  1897. {
  1898. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  1899. GetPlayerName(playerid, sendername, sizeof(sendername));
  1900. ResetPlayerWeapons(giveplayerid);
  1901. format(string, sizeof(string), "Administrator/Moderator %s zabral bronie %s ",sendername, giveplayername);
  1902. SendClientMessageToAdmins(ADMIN_RED,string,1);
  1903. }
  1904. else if(giveplayerid == INVALID_PLAYER_ID)
  1905. {
  1906. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  1907. SendClientMessage(playerid, RED, string);
  1908. }
  1909. }
  1910. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1911. return 1;
  1912. }
  1913.  
  1914. if(strcmp(cmd, "/say", true) == 0) // Publicly says an admin message. Exact same as RCON's 'say' but in a red color.
  1915. {
  1916. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1917. {
  1918. GetPlayerName(playerid, sendername, sizeof(sendername));
  1919. new result[128];
  1920. result = bigstrtok(cmdtext, idx);
  1921. if(!strlen(result))
  1922. {
  1923. SendClientMessage(playerid, ORANGE, "USAGE: /say [message]");
  1924. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an admin message.");
  1925. return 1;
  1926. }
  1927. format(string, sizeof(string), "* Admin/Moderator: %s", result);
  1928. SendClientMessageToAll(LIGHTRED, string);
  1929. printf("%s", string);
  1930. }
  1931. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1932. return 1;
  1933. }
  1934.  
  1935. if(strcmp(cmd, "/bc", true) == 0 || strcmp(cmd, "/broadcast", true) == 0) // Displays a screen message
  1936. {
  1937. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1938. {
  1939. GetPlayerName(playerid, sendername, sizeof(sendername));
  1940. new result[128];
  1941. result = bigstrtok(cmdtext, idx);
  1942. if(!strlen(result))
  1943. {
  1944. SendClientMessage(playerid, ORANGE, "USAGE: /bc [message] [time in seconds(if non entered, 5 seconds will be the time by default)]");
  1945. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast a screen message");
  1946. return 1;
  1947. }
  1948. new time;
  1949. tmp = strtok(cmdtext, idx);
  1950. if (!strlen(tmp)) time = 5;
  1951. else time = strval(tmp);
  1952. format(string, sizeof(string), "~w~%s", result);
  1953. GameTextForAll(string, time*1000, 4);
  1954. printf("%s", string);
  1955. }
  1956. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  1957. return 1;
  1958. }
  1959.  
  1960. if(strcmp(cmd, "/veh", true) == 0) // Spawn a vehicle. Name supported too.
  1961. {
  1962. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  1963. {
  1964. tmp = strtok(cmdtext, idx);
  1965. if(!strlen(tmp))
  1966. {
  1967. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  1968. return 1;
  1969. }
  1970. new car = GetVehicleModelIDFromName(tmp);
  1971. if (car == -1)
  1972. {
  1973. car = strval(tmp);
  1974. if(car < 400 || car > 611) return SendClientMessage(playerid, RED, "Vehicle ID can't be below 400 nor above 611 !");
  1975. }
  1976.  
  1977. tmp = strtok(cmdtext, idx);
  1978. if(!strlen(tmp))
  1979. {
  1980. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  1981. return 1;
  1982. }
  1983. new color1 = strval(tmp);
  1984.  
  1985. tmp = strtok(cmdtext, idx);
  1986. if(!strlen(tmp))
  1987. {
  1988. SendClientMessage(playerid, ORANGE, "USAGE: /veh [modelname/id] [color1] [color2]");
  1989. return 1;
  1990. }
  1991. new color2 = strval(tmp);
  1992.  
  1993. new Float:X,Float:Y,Float:Z,Float:A;
  1994. GetPlayerPos(playerid, X,Y,Z);
  1995. GetPlayerFacingAngle(playerid, A);
  1996. X += (5 * floatsin(-A, degrees));
  1997. Y += (5 * floatcos(-A, degrees));
  1998. new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 600000000);
  1999. SpawnedVehicle[carid] = true;
  2000. format(string, sizeof(string), "Vehicle %s(%d) spawned. To delete, enter it and type /delveh. To delete all /veh spawned vehicles, type /delvehs", VehNames[GetVehicleModel(carid)-400], carid);
  2001. SendClientMessage(playerid, GREEN, string);
  2002. GetPlayerName(playerid,sendername,sizeof(sendername));
  2003. format(string, sizeof(string), "-| Administrator %s spawned a vehicle(%d) [ Model: %s ] |-", sendername, carid, VehNames[GetVehicleModel(carid)-400]);
  2004. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2005. }
  2006. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2007. return 1;
  2008. }
  2009.  
  2010. if(strcmp(cmd, "/pweapons", true) == 0) // Checks a player's weapons
  2011. {
  2012. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2013. {
  2014. tmp = strtok(cmdtext, idx);
  2015. if(!strlen(tmp))
  2016. {
  2017. SendClientMessage(playerid, ORANGE, "USAGE: /pweapons [playerid/name]");
  2018. return 1;
  2019. }
  2020. // new giveplayerid = ReturnUser(tmp);
  2021. if (giveplayerid != INVALID_PLAYER_ID)
  2022. {
  2023. new bullets[12];
  2024. new weapons[12];
  2025. new weapname[12][20];
  2026. for(new i = 0; i < 12; i++)
  2027. {
  2028. GetPlayerWeaponData(giveplayerid, i+1, weapons[i], bullets[i]);
  2029. GetWeaponName(weapons[i], weapname[i], 20);
  2030. }
  2031. GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
  2032. format(string,sizeof(string)," |- %s's Weapons -|",giveplayername);
  2033. SendClientMessage(playerid,LIGHTGREEN,string);
  2034. format(string, sizeof(string),"%s(0) - %s(%d) - %s(%d) - %s(%d) - %s(%d) - %s(%d)",weapname[0],weapname[1],bullets[1],weapname[2],bullets[2],weapname[3],bullets[3],weapname[4],bullets[4],weapname[5],bullets[5]);
  2035. SendClientMessage(playerid,YELLOW,string);
  2036. format(string,sizeof(string),"%s(%d) - %s(%d) - %s(%d) - %s(0) - %s(0) - %s(0)",weapname[6],bullets[6],weapname[7],bullets[7],weapname[8],bullets[8],weapname[9],weapname[10],weapname[11]);
  2037. SendClientMessage(playerid,YELLOW,string);
  2038. }
  2039. else SendClientMessage(playerid, RED, "Player is not active.");
  2040. }
  2041. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2042. return 1;
  2043. }
  2044.  
  2045. if(strcmp(cmd, "/sethp", true) == 0) // Sets a player's health
  2046. {
  2047. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  2048. {
  2049. tmp = strtok(cmdtext, idx);
  2050. if(!strlen(tmp))
  2051. {
  2052. SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
  2053. return 1;
  2054. }
  2055. new targetid = ReturnUser(tmp);
  2056. tmp = strtok(cmdtext, idx);
  2057. new Float:hp = floatstr(tmp);
  2058. if (targetid != INVALID_PLAYER_ID)
  2059. {
  2060. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
  2061. SetPlayerHealth(targetid,hp);
  2062. if (hp < 1) Drugs[targetid] = 0;
  2063. GetPlayerName(playerid, sendername, sizeof(sendername));
  2064. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2065. format(string,sizeof(string),"|- Administrator %s has changed %s's HP. [HP: %.2f] -|",sendername,giveplayername,hp);
  2066. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2067. }
  2068. else SendClientMessage(playerid, RED, "Player is not active.");
  2069. }
  2070. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2071. return 1;
  2072. }
  2073.  
  2074. if (strcmp(cmd, "/logout", true) == 0) // Logs off the admin
  2075. {
  2076. if(AccountInfo[playerid][Logged] == 1)
  2077. {
  2078. if(AccountInfo[playerid][AdminLevel] >= 1)
  2079. {
  2080. OnPlayerUpdateAccount(playerid);
  2081. AccountInfo[playerid][Logged] = 0;
  2082. AccountInfo[playerid][AdminLevel] = 0;
  2083. SendClientMessage(playerid, GREEN, "You have successfuly logged out.");
  2084. }
  2085. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2086. }
  2087. else return SendClientMessage(playerid, RED, "You're not logged in! ( /login [password] )");
  2088. return 1;
  2089. }
  2090.  
  2091. if(strcmp(cmd, "/warn", true) == 0) // Warns a player. 3 warnings = auto-ban
  2092. {
  2093. if (AccountInfo[playerid][AdminLevel] >= 4)
  2094. {
  2095. tmp = strtok(cmdtext, idx);
  2096. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /warn [playername/id] [reason]");
  2097. new targetid = ReturnUser(tmp);
  2098. if(IsPlayerConnected(targetid))
  2099. {
  2100. if(targetid != INVALID_PLAYER_ID)
  2101. {
  2102. new reason[128];
  2103. reason = bigstrtok(cmdtext, idx);
  2104. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /warn [playername/id] [reason]");
  2105. new sstring[128];
  2106. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2107. GetPlayerName(playerid, sendername, sizeof(sendername));
  2108. AccountInfo[targetid][Warns] += 1;
  2109. format(string, sizeof(string), "You got warned by Admin %s. Reason: %s", sendername, reason);
  2110. SendClientMessage(targetid, ADMIN_RED, string);
  2111. format(string, sizeof(string), "Administrator %s ostrzegl %s. [Za: %s ] ", sendername,giveplayername, reason);
  2112. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2113. format(string, sizeof(string), "-| %s's warnings: %d |-",giveplayername, AccountInfo[targetid][Warns]);
  2114. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2115. if (AccountInfo[targetid][Warns] == 1) strmid(AccountInfo[targetid][WarnReason1], reason, 0, strlen(reason), 128);
  2116. else if (AccountInfo[targetid][Warns] == 2) strmid(AccountInfo[targetid][WarnReason2], reason, 0, strlen(reason), 128);
  2117. else if (AccountInfo[targetid][Warns] == 3) strmid(AccountInfo[targetid][WarnReason3], reason, 0, strlen(reason), 128);
  2118. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban!");
  2119. if(AccountInfo[targetid][Warns] >= 3)
  2120. {
  2121. new ip[128];
  2122. format(string, sizeof(string), "Administrator %s zbanowal %s. [Powod: 3 Ostrzezenia] ", sendername,giveplayername);
  2123. BanLog(string);
  2124. SendClientMessageToAll(ADMIN_RED, string);
  2125. for(new i = 0; i < 3; i++)
  2126. {
  2127. if (i == 0) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason1]);
  2128. else if (i == 1) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason2]);
  2129. else if (i == 2) format(string, sizeof (string), "-| Reason #%d: %s |-", i+1, AccountInfo[targetid][WarnReason3]);
  2130. SendClientMessageToAll(ADMIN_RED, string);
  2131. }
  2132. GetPlayerIp(targetid,ip,128);
  2133. format(sstring, sizeof(sstring), "-| Banned Player's IP: %s |-", ip);
  2134. SendClientMessageToAdmins(ADMIN_RED, sstring,1);
  2135. AccountInfo[targetid][AdminLevel]= 0;
  2136. AccountInfo[targetid][Warns] = 0;
  2137. format(AccountInfo[targetid][WarnReason1], 128, "NONE");
  2138. format(AccountInfo[targetid][WarnReason2], 128, "NONE");
  2139. format(AccountInfo[targetid][WarnReason3], 128, "NONE");
  2140. Ban(giveplayerid);
  2141. return 1;
  2142. }
  2143. }
  2144. else
  2145. {
  2146. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2147. SendClientMessage(playerid, RED, string);
  2148. }
  2149. }
  2150. else
  2151. {
  2152. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2153. SendClientMessage(playerid, RED, string);
  2154. }
  2155. }
  2156. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2157. return 1;
  2158. }
  2159.  
  2160. if(strcmp(cmd, "/pstats", true) == 0) // Views the player's stats
  2161. {
  2162. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2163. {
  2164. tmp = strtok(cmdtext, idx);
  2165. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /pstats [playername/id]");
  2166. new targetid = ReturnUser(tmp);
  2167. if (targetid != INVALID_PLAYER_ID)
  2168. {
  2169. new Float:health,Float:armor;
  2170. GetPlayerHealth(targetid,health);
  2171. GetPlayerArmour(targetid,armor);
  2172. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2173. format(string, sizeof(string), "Stats of %s: Health: '%.2f' - Cash: '$%d' - Warnings: '%d' - Armor: '%.2f'",giveplayername, health,GetPlayerMoney(targetid),AccountInfo[targetid][Warns],armor);
  2174. SendClientMessage(playerid,PURPLE,string);
  2175. if(AccountInfo[giveplayerid][Logged] == 1) SendClientMessage(playerid, PURPLE, "Logged In: Yes");
  2176. else if(AccountInfo[giveplayerid][Logged] == 0) SendClientMessage(playerid, PURPLE, "Logged In: No");
  2177. SendClientMessage(playerid,YELLOW,"Type /pweapons [playername/id] to check the player's weapons");
  2178. }
  2179. else SendClientMessage(playerid, RED, "Player is not active.");
  2180. }
  2181. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2182. return 1;
  2183. }
  2184.  
  2185. if(strcmp(cmd, "/fuck", true) == 0) // Sends a player in the air and explodes
  2186. {
  2187. new Float:pX,Float:pY,Float:pZ;
  2188. new Float:X,Float:Y,Float:Z;
  2189. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  2190. {
  2191. tmp = strtok(cmdtext, idx);
  2192. if(!strlen(tmp))
  2193. {
  2194. SendClientMessage(playerid, ORANGE, "USAGE: /fuck [playerid]");
  2195. SendClientMessage(playerid, ORANGE, "FUNCTION: Will fuck up a player.");
  2196. return 1;
  2197. }
  2198.  
  2199. new targetid = ReturnUser(tmp);
  2200. if(targetid != INVALID_PLAYER_ID)
  2201. {
  2202. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2203. GetPlayerName(playerid, sendername, sizeof(sendername));
  2204. GetPlayerPos(targetid,pX,pY,pZ);
  2205. CreateExplosion(X,Y,Z+50,2,5.0);
  2206. SetPlayerPos(targetid,pX,pY,pZ+50);
  2207. format(string, sizeof(string), "Administrator %s fucked %s up ",sendername, giveplayername);
  2208. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2209. SendClientMessage(targetid, RED, "You've been fucked up by an admin.");
  2210. }
  2211. else if(giveplayerid == INVALID_PLAYER_ID)
  2212. {
  2213. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2214. SendClientMessage(playerid, RED, string);
  2215. }
  2216. }
  2217. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2218. return 1;
  2219. }
  2220.  
  2221. if(strcmp(cmd, "/giveweapon", true) == 0) // Gives a weapon to a player
  2222. {
  2223. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  2224. {
  2225. tmp = strtok(cmdtext, idx);
  2226. if(!strlen(tmp))
  2227. {
  2228. SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playername/id] [weaponid] [ammo]");
  2229. return 1;
  2230. }
  2231. new gun;
  2232. new ammo;
  2233. new targetid = ReturnUser(tmp);
  2234. tmp = strtok(cmdtext, idx);
  2235. gun = strval(tmp);
  2236. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playername/id] [weaponid] [ammo]");
  2237. tmp = strtok(cmdtext, idx);
  2238. ammo = strval(tmp);
  2239. if(targetid != INVALID_PLAYER_ID)
  2240. {
  2241. new weap[50];
  2242. GetPlayerName(playerid, sendername, sizeof(sendername));
  2243. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2244. GivePlayerWeapon(targetid, gun, ammo);
  2245. GetWeaponName(gun, weap, sizeof weap);
  2246. format(string, sizeof(string), "Administrator %s dal (%s) dla %s |-",sendername, weap, giveplayername);
  2247. SendClientMessageToAdmins(ORANGE,string,1);
  2248. }
  2249. else if(targetid == INVALID_PLAYER_ID)
  2250. {
  2251. format(string, sizeof(string), "%d is not an active player.", targetid);
  2252. SendClientMessage(playerid, RED, string);
  2253. }
  2254. }
  2255. else SendClientMessage(playerid, RED, "You are not an admin with the required level!");
  2256. return 1;
  2257. }
  2258. if(strcmp(cmd, "/crash", true) == 0) // Crashes a player's client
  2259. {
  2260. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2261. {
  2262. tmp = strtok(cmdtext, idx);
  2263. if(!strlen(tmp))
  2264. {
  2265. SendClientMessage(playerid, ORANGE, "USAGE: /crash [playername/id]");
  2266. SendClientMessage(playerid, ORANGE, "FUNCTION: Will crash a player.");
  2267. return 1;
  2268. }
  2269. new Float:X,Float:Y,Float:Z;
  2270. new targetid = ReturnUser(tmp);
  2271. if(IsPlayerConnected(targetid))
  2272. {
  2273. GetPlayerPos(giveplayerid,X,Y,Z);
  2274. new objectcrash = CreatePlayerObject(targetid,666666,X,Y,Z,0,0,0); // double-devil has spoken
  2275. SendClientMessage(playerid,GREEN, "Player successfuly crashed.");
  2276. DestroyPlayerObject(targetid, objectcrash);
  2277. }
  2278. else if (!IsPlayerConnected(giveplayerid))
  2279. {
  2280. format(string, sizeof(string), "%d is not an active player.", targetid);
  2281. SendClientMessage(playerid, RED, string);
  2282. }
  2283. }
  2284. else SendClientMessage(playerid, RED, "You're not a lead admin.");
  2285. return 1;
  2286. }
  2287.  
  2288. if(strcmp(cmd, "/setwarn", true) == 0) // Sets the player's warnings
  2289. {
  2290. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2291. {
  2292. tmp = strtok(cmdtext, idx);
  2293. if(!strlen(tmp))
  2294. {
  2295. SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playername/id] [warning]");
  2296. SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a certain player's warning.");
  2297. return 1;
  2298. }
  2299. new targetid = ReturnUser(tmp);
  2300. if(targetid != INVALID_PLAYER_ID)
  2301. {
  2302. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2303. GetPlayerName(playerid, sendername, sizeof(sendername));
  2304. tmp = strtok(cmdtext, idx);
  2305. new warnings = strval(tmp);
  2306. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playername/id] [warning]");
  2307. AccountInfo[targetid][Warns] = warnings;
  2308. format(string, sizeof(string), "Admin %s changed your warnings to %d", sendername, warnings);
  2309. SendClientMessage(targetid, GREEN, string);
  2310. SendClientMessage(targetid, RED, "3 Warnings = Auto-Ban! Ask an admin to check how many warnings you have");
  2311. format(string, sizeof(string), "Administrator %s zmienil warningi dla %s [Warningi: %d ] ",sendername,giveplayername, AccountInfo[giveplayerid][Warns]);
  2312. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2313. }
  2314. else if(giveplayerid == INVALID_PLAYER_ID)
  2315. {
  2316. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2317. SendClientMessage(playerid, RED, string);
  2318. }
  2319. }
  2320. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2321. return 1;
  2322. }
  2323.  
  2324. if(strcmp(cmd, "/an", true) == 0 || strcmp(cmd, "/announce", true) == 0) // Broadcasts an 'announcement' message.
  2325. {
  2326. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  2327. {
  2328. GetPlayerName(playerid, sendername, sizeof(sendername));
  2329. new result[128];
  2330. result = bigstrtok(cmdtext, idx);
  2331. if(!strlen(result))
  2332. {
  2333. SendClientMessage(playerid, ORANGE, "USAGE: /(an)nounce [message]");
  2334. SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an announcement.");
  2335. return 1;
  2336. }
  2337. format(string, sizeof(string), "%s", result);
  2338. SendClientMessageToAll(AQUAGREEN, string);
  2339. printf("Announcement by %s: %s", sendername, string);
  2340. }
  2341. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2342. return 1;
  2343. }
  2344.  
  2345. /* if(strcmp(cmd, "/superpunch", true) == 0) // Triggers an explosion when you use the punch key
  2346. {
  2347. if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
  2348. {
  2349. tmp = strtok(cmdtext,idx);
  2350. if(!strlen(tmp))
  2351. {
  2352. SendClientMessage(playerid, ORANGE, "USAGE: /superpunch [on/off]");
  2353. SendClientMessage(playerid, ORANGE, "FUNCTION: Will give you the power of Super Punch. When pressing 'PUNCH' button, you will explode but will live.");
  2354. }
  2355. else if(strcmp(tmp,"on",true) == 0)
  2356. {
  2357. SuperPunch[playerid] = 1;
  2358. SendClientMessage(playerid,GREEN,"You are now blessed with SUPER PUNCH! Go knock someone out.");
  2359. }
  2360. else if(strcmp(tmp,"off",true) == 0)
  2361. {
  2362. SuperPunch[playerid] = 0;
  2363. SendClientMessage(playerid,GREEN,"Your super punch is now disabled.");
  2364. }
  2365. }
  2366. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2367. return 1;
  2368. }
  2369.  
  2370. if (strcmp(cmd, "/superpunchp", true) == 0) // Gives the Super Punch ability to a player
  2371. {
  2372. new tmp2[128];
  2373. if (AccountInfo[playerid][AdminLevel] > 4 || IsPlayerAdmin(playerid))
  2374. {
  2375. tmp = strtok(cmdtext,idx);
  2376. if(!strlen(tmp))
  2377. {
  2378. SendClientMessage(playerid,ORANGE,"USAGE: /superpunchp [playername/id] [on/off]");
  2379. SendClientMessage(playerid,ORANGE,"FUNCTION: Will give the player the power of SuperPunch.");
  2380. }
  2381. new targetid = ReturnUser(tmp);
  2382. if(targetid != INVALID_PLAYER_ID)
  2383. {
  2384. tmp2 = strtok(cmdtext,idx);
  2385. if(strcmp(tmp2,"on",true) == 0)
  2386. {
  2387. GetPlayerName(playerid, sendername, sizeof(sendername));
  2388. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2389. SuperPunch[targetid] = 1;
  2390. format(string, sizeof(string), "Admin %s blessed you with the power of Super Punch !", sendername);
  2391. SendClientMessage(targetid,GREEN,string);
  2392. format(string, sizeof(string), "-| Administrator %s blessed %s with the power of Super Punch |-", sendername,giveplayername);
  2393. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2394. }
  2395. else if(strcmp(tmp2,"off",true) == 0)
  2396. {
  2397. format(string, sizeof(string), "Admin %s removed your Super Punch power.", sendername);
  2398. SendClientMessage(targetid,RED,string);
  2399. SuperPunch[targetid] = 0;
  2400. }
  2401. }
  2402. else if(giveplayerid == INVALID_PLAYER_ID)
  2403. {
  2404. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2405. SendClientMessage(playerid,RED,string);
  2406. }
  2407. }
  2408. else SendClientMessage(playerid,RED,"You are not an admin with the required level.");
  2409. return 1;
  2410. }
  2411. *//*
  2412. if(strcmp(cmd, "/viewcmds", true) == 0) // Views unknown commands and commands mentioned in 'ViewCommands' variable entered by players
  2413. {
  2414. if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
  2415. {
  2416. tmp = strtok(cmdtext,idx);
  2417. if(!strlen(tmp))
  2418. {
  2419. SendClientMessage(playerid, ORANGE, "USAGE: /viewcmds [on/off]");
  2420. SendClientMessage(playerid, ORANGE, "FUNCTION: Will see the players typing some commands and wrong commands.");
  2421. }
  2422. else if(strcmp(tmp,"on",true) == 0)
  2423. {
  2424. ViewCmds[playerid] = 1;
  2425. SendClientMessage(playerid,GREEN,"You can know view players typing some commands and wrong commands.");
  2426. }
  2427. else if(strcmp(tmp,"off",true) == 0)
  2428. {
  2429. ViewCmds[playerid] = 0;
  2430. SendClientMessage(playerid,GREEN,"You can no longer view players typing some commands and wrong commands.");
  2431. }
  2432. }
  2433. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2434. return 1;
  2435. }
  2436. */
  2437. if(strcmp(cmd, "/jail", true) == 0) // Jails a player
  2438. {
  2439. if (AccountInfo[playerid][AdminLevel] >= 3)
  2440. {
  2441. tmp = strtok(cmdtext, idx);
  2442. if(!strlen(tmp))
  2443. {
  2444. SendClientMessage(playerid, ORANGE, "USAGE: /jail [playername/id] [reason]");
  2445. return 1;
  2446. }
  2447. new targetid = ReturnUser(tmp);
  2448. if(IsPlayerConnected(targetid))
  2449. {
  2450. if(targetid != INVALID_PLAYER_ID)
  2451. {
  2452. if(AccountInfo[giveplayerid][Jail] == 0)
  2453. {
  2454. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2455. GetPlayerName(playerid, sendername, sizeof(sendername));
  2456. new reason[128];
  2457. reason = bigstrtok(cmdtext, idx);
  2458. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /jail [playername/id] [reason]");
  2459. format(string, sizeof(string), "You got jailed by Admin %s. Reason: %s", sendername, reason);
  2460. SendClientMessage(targetid, ADMIN_RED, string);
  2461. format(string, sizeof(string), " Administrator/Moderator %s uwienzil %s. [ Za: %s ] ",sendername,giveplayername, reason);
  2462. SendClientMessageToAll(ORANGE,string);
  2463. AccountInfo[targetid][Jail] = 1;
  2464. OnPlayerJailed(targetid);
  2465. return 1;
  2466. }
  2467. else SendClientMessage(playerid, RED, "Player is already jailed!");
  2468. }
  2469. else
  2470. {
  2471. format(string, sizeof(string), "%d is not an active player.", targetid);
  2472. SendClientMessage(playerid, RED, string);
  2473. }
  2474. }
  2475. else
  2476. {
  2477. format(string, sizeof(string), "%d is not an active player.", targetid);
  2478. SendClientMessage(playerid, RED, string);
  2479. }
  2480. }
  2481. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2482. return 1;
  2483. }
  2484.  
  2485. if(strcmp(cmd, "/unjail", true) == 0) // Unjails a player
  2486. {
  2487. if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  2488. {
  2489. tmp = strtok(cmdtext, idx);
  2490. if(!strlen(tmp))
  2491. {
  2492. SendClientMessage(playerid, ORANGE, "USAGE: /unjail [playername/id]");
  2493. return 1;
  2494. }
  2495.  
  2496. new targetid = ReturnUser(tmp);
  2497. if(targetid != INVALID_PLAYER_ID)
  2498. {
  2499. if(AccountInfo[giveplayerid][Jail] == 1)
  2500. {
  2501. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2502. GetPlayerName(playerid, sendername, sizeof(sendername));
  2503. format(string, sizeof(string), "Administrator %s wypuscil %s ",sendername, giveplayername);
  2504. SendClientMessageToAll(ORANGE,string);
  2505. AccountInfo[targetid][Jail] = 0;
  2506. OnPlayerUnjailed(targetid);
  2507. }
  2508. else SendClientMessage(playerid, RED, "Player is not jailed!");
  2509. }
  2510. else
  2511. {
  2512. format(string, sizeof(string), "%d is not an active player.", targetid);
  2513. SendClientMessage(playerid, RED, string);
  2514. }
  2515. }
  2516. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2517. return 1;
  2518. }
  2519. /*
  2520. if(strcmp(cmd, "/gotoveh", true) == 0) // Teleports to a vehicle's position
  2521. {
  2522. tmp = strtok(cmdtext, idx);
  2523. if(!strlen(tmp))
  2524. {
  2525. SendClientMessage(playerid, ORANGE, "USAGE: /gotoveh [vehicleid]");
  2526. return 1;
  2527. }
  2528. new car = strval(tmp);
  2529. if (AccountInfo[playerid][AdminLevel] >= 3)
  2530. {
  2531. new Float:vx,Float:vy,Float:vz;
  2532. GetVehiclePos(car,vx,vy,vz);
  2533. if (GetPlayerState(playerid) == 2)
  2534. SetVehiclePos(GetPlayerVehicleID(playerid),vx,vy+2,vz);
  2535. else
  2536. SetPlayerPos(playerid,vx,vy,vz+1);
  2537. SetPlayerInterior(playerid,0);
  2538. format(string,256,"You have teleported to vehicle id %d(%s)",car, VehNames[GetVehicleModel(car)-400]);
  2539. SendClientMessage(playerid,GREEN,string);
  2540. }
  2541. else SendClientMessage(playerid,RED,"You're not an admin with the required level");
  2542. return 1;
  2543. }*/
  2544. if(!strcmp(cmdtext, "/aclearchat", true)) // Clears the chatbox for everyone
  2545. {
  2546. if(AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
  2547. {
  2548. for(new chat = 0; chat <= 50; chat++) SendClientMessageToAll(GREEN, " ");
  2549. GetPlayerName(playerid, sendername, 20);
  2550. format(string, 256, "Administrator/Moderator %s wyczysciyl czat", sendername);
  2551. SendClientMessageToAll(ORANGE, string);
  2552. return 1;
  2553. }
  2554. else SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  2555. return 1;
  2556. }
  2557. if(strcmp(cmd, "/hide", true) == 0) // Hides you from the admin list
  2558. {
  2559. if (AccountInfo[playerid][AdminLevel] >= 4)
  2560. {
  2561. Hide[playerid] = 1;
  2562. SendClientMessage(playerid,GREEN," You're now hidden from the admin list ");
  2563. }
  2564. return 1;
  2565. }
  2566. if(strcmp(cmd, "/unhide", true) == 0)
  2567. {
  2568. if (AccountInfo[playerid][AdminLevel] >= 4) // Unhides you from the admin list
  2569. {
  2570. if (Hide[playerid] != 1) return SendClientMessage(playerid,RED,"You're not hidden in the admin list!");
  2571. Hide[playerid] = 0;
  2572. SendClientMessage(playerid,GREEN," You're now visible in the admin list ");
  2573. }
  2574. return 1;
  2575. }
  2576. /*
  2577. if(strcmp(cmd, "/virtual", true) == 0) // Sets the player's virtual world
  2578. {
  2579. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 2)
  2580. {
  2581. tmp = strtok(cmdtext, idx);
  2582. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (0-255)]");
  2583. new targetid = ReturnUser(tmp);
  2584. tmp = strtok(cmdtext, idx);
  2585. new v = strval(tmp);
  2586. if (targetid != INVALID_PLAYER_ID)
  2587. {
  2588. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (0-255)]");
  2589. SetPlayerVirtualWorld(targetid,v);
  2590. GetPlayerName(playerid, sendername, sizeof(sendername));
  2591. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2592. format(string,sizeof(string),"|- Administrator %s has changed %s's Virtual World. [World: %d] -|",sendername,giveplayername,v);
  2593. SendClientMessageToAdmins(ADMIN_RED,string,1);
  2594. }
  2595. else SendClientMessage(playerid, RED, "Player is not active.");
  2596. }
  2597. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2598. return 1;
  2599. }
  2600. */
  2601. if(strcmp(cmd,"/odliczanie", true) == 0) // Starts a count down
  2602. {
  2603. tmp = strtok(cmdtext, idx);
  2604. new count = strval(tmp);
  2605. if (!strlen(tmp)) count = 5;
  2606. if (AccountInfo[playerid][AdminLevel] < 3) return SendClientMessage(playerid,RED,"You're not an admin");
  2607. if (Count > 0) return SendClientMessage(playerid, RED, "Countdown is already in progress.");
  2608. GetPlayerName(playerid, sendername, sizeof(sendername));
  2609. format(string,sizeof(string)," Administrator/Moderator %s odpalil odliczanie od %d", sendername, count);
  2610. SendClientMessageToAll(GREEN, string);
  2611. Count = count;
  2612. CountDown();
  2613. return 1;
  2614. }
  2615.  
  2616. if(strcmp(cmd, "/view", true) == 0) // Spectates a player
  2617. {
  2618. if (AccountInfo[playerid][AdminLevel] < 5) return SendClientMessage(playerid,RED,"You're not an admin !");
  2619. tmp = strtok(cmdtext, idx);
  2620. if(!strlen(tmp))
  2621. {
  2622. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  2623. SendClientMessage(playerid, ORANGE, "USAGE: /view [playerid]");
  2624. SendClientMessage(playerid, ORANGE, "FUNCTION: Will spectate a player.");
  2625. SendClientMessage(playerid, ORANGE, "HELP: /view off to stop spectating");
  2626. SendClientMessage(playerid, ORANGE, "|__________________________________|");
  2627. return 1;
  2628. }
  2629. new targetid = ReturnUser(tmp);
  2630. if (giveplayerid != INVALID_PLAYER_ID)
  2631. {
  2632. if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
  2633. TogglePlayerSpectating(playerid, 1);
  2634. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(targetid));
  2635. SetPlayerInterior(playerid,GetPlayerInterior(targetid));
  2636. if (IsPlayerInAnyVehicle(targetid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
  2637. else PlayerSpectatePlayer(playerid, targetid);
  2638. SendClientMessage(playerid, ORANGE, "HELP: '/view off' to stop spectating");
  2639. }
  2640. else if(strcmp(tmp, "off", true) == 0)
  2641. {
  2642. TogglePlayerSpectating(playerid, 0);
  2643. SetPlayerVirtualWorld(playerid,0);
  2644. }
  2645. else
  2646. {
  2647. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2648. SendClientMessage(playerid, RED, string);
  2649. }
  2650. return 1;
  2651. }
  2652.  
  2653. if(strcmp(cmd, "/apm", true) == 0) // Blocks PMs
  2654. {
  2655. if (AccountInfo[playerid][AdminLevel] >= 5)
  2656. {
  2657. if (PMBlock[playerid] == true)
  2658. {
  2659. PMBlock[playerid] = false;
  2660. SendClientMessage(playerid, GREEN, " Private messages BLOCKED ");
  2661. return 1;
  2662. }
  2663. if (PMBlock[playerid] == false)
  2664. {
  2665. PMBlock[playerid] = true;
  2666. SendClientMessage(playerid, GREEN, " Private messages UNBLOCKED ");
  2667. return 1;
  2668. }
  2669. }
  2670. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  2671. }
  2672. /*
  2673. if(!strcmp(cmd, "/seifocalypse", true)) // Launches explosion(s) in front of the player(it follow the previous explosion so it goes straight) as many times has he wants
  2674. {
  2675. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2676. {
  2677. tmp = strtok(cmdtext, idx);
  2678. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /seifocalypse [explosions]");
  2679. new Float:X,Float:Y,Float:Z,Float:A;
  2680. GetPlayerPos(playerid, X,Y,Z);
  2681. GetPlayerFacingAngle(playerid, A);
  2682. Nuke[playerid] = 1;
  2683. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, strval(tmp), X, Y, Z, A);
  2684. }
  2685. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  2686. return 1;
  2687. }
  2688.  
  2689. if(!strcmp(cmd, "/missile", true)) // Spawns a missile 50 Z higher than player's and drops it to the ground, toggling a huge explosion
  2690. {
  2691. if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
  2692. {
  2693. if (IsValidObject(Missile[playerid])) return SendClientMessage(playerid, RED, "You already dropped a missile that's currently in progress of exploding");
  2694. new Float:X,Float:Y,Float:Z;
  2695. GetPlayerPos(playerid, X,Y,Z);
  2696. Missile[playerid] = CreateObject(3786, X, Y, Z+50, 357.6293, 272.3375, 6.8755);
  2697. MoveObject(Missile[playerid], X, Y, Z, 20.0);
  2698. }
  2699. else return SendClientMessage(playerid, RED, "You're not a lead admin!");
  2700. return 1;
  2701. }
  2702.  
  2703. if (!strcmp(cmd, "/push", true)) // Pushes a player back. Player gets pushed back in motions
  2704. {
  2705. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  2706. {
  2707. tmp = strtok(cmdtext, idx);
  2708. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /push [playername/id]");
  2709. new targetid = ReturnUser(tmp);
  2710. if (targetid != INVALID_PLAYER_ID)
  2711. {
  2712. new Float:X, Float:Y, Float:Z;
  2713. GetPlayerVelocity(targetid, X, Y, Z);
  2714. SetPlayerVelocity(targetid, X, Y-20, Z);
  2715. GetPlayerName(playerid, sendername, sizeof(sendername));
  2716. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2717. format(string,sizeof(string),"|- Administrator %s has pushed %s -|", sendername, giveplayername);
  2718. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2719. }
  2720. else SendClientMessage(playerid, RED, "Player is not active.");
  2721. }
  2722. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2723. return 1;
  2724. }
  2725.  
  2726. if (!strcmp(cmd, "/setgravity", true)) // Changes gravity
  2727. {
  2728. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2729. {
  2730. tmp = strtok(cmdtext, idx);
  2731. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /pussetgravity [gravity float]");
  2732. new Float:gravity = floatstr(tmp);
  2733. SetGravity(gravity);
  2734. GetPlayerName(playerid, sendername, sizeof(sendername));
  2735. format(string,sizeof(string),"|- Administrator %s has changed gravity [ Gravity: %.4f ] -|", sendername, gravity);
  2736. SendClientMessageToAll(ADMIN_RED, string);
  2737. }
  2738. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2739. return 1;
  2740. }
  2741. */
  2742. if (!strcmp(cmd, "/settime", true)) // Changes time
  2743. {
  2744. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2745. {
  2746. tmp = strtok(cmdtext, idx);
  2747. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /settime [time(0-23)]");
  2748. new time = strval(tmp);
  2749. if (time < 0 || time > 23) return SendClientMessage(playerid, RED, "Time can only be from 0 to 23!");
  2750. SetWorldTime(time);
  2751. GetPlayerName(playerid, sendername, sizeof(sendername));
  2752. format(string,sizeof(string)," Administrator %s zmienil czas na %d ", sendername, time);
  2753. SendClientMessageToAll(ADMIN_RED, string);
  2754. }
  2755. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2756. return 1;
  2757. }
  2758.  
  2759. if (!strcmp(cmd, "/setweather", true)) // Changes time
  2760. {
  2761. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2762. {
  2763. tmp = strtok(cmdtext, idx);
  2764. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setweather [weather id]");
  2765. new weather = strval(tmp);
  2766. SetWeather(weather);
  2767. GetPlayerName(playerid, sendername, sizeof(sendername));
  2768. format(string,sizeof(string)," Administrator %s zmienil pogode na : %d ", sendername, weather);
  2769. SendClientMessageToAdmins(ADMIN_RED, string, 1);
  2770. }
  2771. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2772. return 1;
  2773. }
  2774.  
  2775. if (!strcmp(cmd, "/setskin", true)) // Sets a player's skin
  2776. {
  2777. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  2778. {
  2779. tmp = strtok(cmdtext, idx);
  2780. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setskin [playername/id] [skinid]");
  2781. new targetid = ReturnUser(tmp);
  2782. if (targetid != INVALID_PLAYER_ID)
  2783. {
  2784. tmp = strtok(cmdtext, idx);
  2785. new skinid = strval(tmp);
  2786. if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /setskin [playername/id] [SKINID]");
  2787. if (IsInvalidSkin(skinid)) return SendClientMessage(playerid, RED, "Invalid skin ID!");
  2788. SetPlayerSkin(targetid, skinid);
  2789. GetPlayerName(playerid, sendername, sizeof(sendername));
  2790. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2791. format(string,sizeof(string)," Administrator %s zmienil skina dla %s ", sendername, giveplayername);
  2792. SendClientMessageToAdmins(ORANGE, string, 1);
  2793. }
  2794. else SendClientMessage(playerid, RED, "Player is not active.");
  2795. }
  2796. else SendClientMessage(playerid, RED, "You're not an admin.");
  2797. return 1;
  2798. }
  2799.  
  2800. /* if (!strcmp(cmd, "/delveh", true)) // Deletes a vehicle
  2801. {
  2802. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 4)
  2803. {
  2804. tmp = strtok(cmdtext, idx);
  2805. if(!strlen(tmp))
  2806. {
  2807. if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, ORANGE, "USAGE: /delveh [vehicle id]");
  2808. PlayerDelVeh[playerid] = GetPlayerVehicleID(playerid);
  2809. ShowPlayerDialog(playerid, DIALOG_TYPE_DELVEH, DIALOG_STYLE_MSGBOX, "You are about to delete the vehicle you are currently in...", "Are you sure?", "Yes, delete", "No");
  2810. return 1;
  2811. }
  2812. new vehicleid = strval(tmp);
  2813. PlayerDelVeh[playerid] = vehicleid;
  2814. ShowPlayerDialog(playerid, DIALOG_TYPE_DELVEH, DIALOG_STYLE_MSGBOX, "You are about to delete a vehicle...", "Are you sure?", "Yes, delete", "No");
  2815. }
  2816. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2817. return 1;
  2818. }
  2819. */
  2820. /* if (!strcmp(cmd, "/delvehs", true)) // Deletes all spawned vehicles
  2821. {
  2822. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
  2823. {
  2824. ShowPlayerDialog(playerid, DIALOG_TYPE_DELVEHS, DIALOG_STYLE_MSGBOX, "You are about to delete ALL vehicles spawned by admins...", "Are you sure?", "Yes, delete", "No");
  2825. }
  2826. else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
  2827. return 1;
  2828. }
  2829. */
  2830. if (!strcmp(cmd, "/lockserver", true)) // Locks the server with a password(in-game, not the one built in SA-MP client)
  2831. {
  2832. if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 5)
  2833. {
  2834. tmp = bigstrtok(cmdtext, idx);
  2835. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /lockserver [password (SET TO - TO DISABLE]");
  2836. format(cmdtext, 128, "Locking server to password: '%s'", tmp);
  2837. format(servlock, sizeof servlock, "%s", tmp);
  2838. ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCK, DIALOG_STYLE_MSGBOX, cmdtext, "Do you wish to proceed?", "Yes", "No");
  2839. }
  2840. else SendClientMessage(playerid, RED, "You're not a lead admin.");
  2841. return 1;
  2842. }
  2843.  
  2844. if(strcmp(cmd, "/report", true) == 0) // Available for everyone: reports a player to the admins
  2845. {
  2846. tmp = strtok(cmdtext, idx);
  2847. if(!strlen(tmp))
  2848. {
  2849. SendClientMessage(playerid, ORANGE, "USAGE: /report [playername/id] [reason]");
  2850. SendClientMessage(playerid, ORANGE, "FUNCTION: Will report the specified player to the administrators(online).");
  2851. return 1;
  2852. }
  2853. new targetid = ReturnUser(tmp);
  2854. if(targetid != INVALID_PLAYER_ID)
  2855. {
  2856. GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
  2857. GetPlayerName(playerid, sendername, sizeof(sendername));
  2858. new reason[128];
  2859. reason = bigstrtok(cmdtext, idx);
  2860. if(!strlen(reason)) return SendClientMessage(playerid, ORANGE, "USAGE: /report [playerid] [reason]");
  2861. format(string, sizeof(string), "|- %s reported %s [ Reason: %s ]", sendername,giveplayername,reason);
  2862. SendClientMessageToAdmins(ADMIN_RED, string,1);
  2863. format(string, sizeof(string), "Your report on '%s' has been sent to the current online admins. Thank you.", giveplayername);
  2864. SendClientMessage(playerid, GREEN, string);
  2865. }
  2866.  
  2867. else if(giveplayerid == INVALID_PLAYER_ID)
  2868. {
  2869. format(string, sizeof(string), "%d is not an active player.", giveplayerid);
  2870. SendClientMessage(playerid, RED, string);
  2871. }
  2872. return 1;
  2873. }
  2874. if (strcmp(cmd, "/admins", true) == 0) // Admin list if they're online
  2875. {
  2876. new count = 0;
  2877. SendClientMessage(playerid, GREEN, "[Online Admins]");
  2878. SendClientMessage(playerid, GREEN, " ");
  2879. for(new i = 0; i < MAX_PLAYERS; i++)
  2880. {
  2881. if (IsPlayerConnected(i))
  2882. {
  2883. if(AccountInfo[i][AdminLevel] == 5 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
  2884. {
  2885. GetPlayerName(i, sendername, sizeof(sendername));
  2886. format(string, 128, "Head Admin [%i]%s",i,sendername);
  2887. SendClientMessage(playerid, BLUE, string);
  2888. count++;
  2889. }
  2890. else if(AccountInfo[i][AdminLevel] == 4 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
  2891. {
  2892. GetPlayerName(i, sendername, sizeof(sendername));
  2893. format(string, 128, "Admin [%i]%s",i,sendername);
  2894. SendClientMessage(playerid, LIGHTBLUE, string);
  2895. count++;
  2896. }
  2897. else if(AccountInfo[i][AdminLevel] == 3 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
  2898. {
  2899. GetPlayerName(i, sendername, sizeof(sendername));
  2900. format(string, 128, "Moderator [%i]%s",i,sendername);
  2901. SendClientMessage(playerid, GREEN, string);
  2902. count++;
  2903. }
  2904. }
  2905. }
  2906. if (count == 0) SendClientMessage(playerid,RED,"No admin online in the list");
  2907. return 1;
  2908. }
  2909.  
  2910. if (strcmp(cmd, "/register", true) == 0) // Registers an account
  2911. {
  2912. if(IsPlayerConnected(playerid))
  2913. {
  2914. if(AccountInfo[playerid][Logged] == 1)
  2915. {
  2916. SendClientMessage(playerid, RED, "You are already logged in.");
  2917. return 1;
  2918. }
  2919. GetPlayerName(playerid, sendername, sizeof(sendername));
  2920. format(string, sizeof(string), "/sAccounts/%s.seifadmin", sendername);
  2921. new File: hFile = fopen(string, io_read);
  2922. if (hFile)
  2923. {
  2924. SendClientMessage(playerid, RED, "That name is already taken. Please reconnect using a different username.");
  2925. fclose(hFile);
  2926. return 1;
  2927. }
  2928. new pass[150];
  2929. tmp = strtok(cmdtext, idx);
  2930. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /register [password]");
  2931. WP_Hash(pass, sizeof pass, tmp);
  2932. printf("register: %s", pass);
  2933. OnPlayerRegister(playerid, pass);
  2934. }
  2935. return 1;
  2936. }
  2937.  
  2938. if (strcmp(cmd, "/login", true) == 0) // Logins
  2939. {
  2940. if(AccountInfo[playerid][Logged] == 1) return SendClientMessage(playerid, RED, "You are already logged in.");
  2941. tmp = strtok(cmdtext, idx);
  2942. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /login [password]");
  2943. new plname[MAX_PLAYER_NAME];
  2944. GetPlayerName(playerid, plname, sizeof(plname));
  2945. format(string, sizeof(string), "/sAccounts/%s.seifadmin", plname);
  2946. if(!fexist(string)) return SendClientMessage(playerid, RED, "That account isn't registered! Please register: /register [password]");
  2947. new pass[150];
  2948. WP_Hash(pass, sizeof pass, tmp);
  2949. OnPlayerLogin(playerid, pass);
  2950. return 1;
  2951. }
  2952.  
  2953. if (!strcmp(cmd, "/changepassword", true)) // Changes your password
  2954. {
  2955. if (!AccountInfo[playerid][Logged]) return SendClientMessage(playerid, RED, "You're not logged in.");
  2956. if (AccountInfo[playerid][AdminLevel] >= 0)
  2957. {
  2958. new oldpass[128];
  2959. new pass[150];
  2960. oldpass = strtok(cmdtext, idx);
  2961. if(!strlen(oldpass)) return SendClientMessage(playerid, ORANGE, "USAGE: /changepassword [CURRENT PASSWORD] [new password]");
  2962. WP_Hash(pass, sizeof pass, oldpass);
  2963. if (strcmp(oldpass, AccountInfo[playerid][Password], true)) return SendClientMessage(playerid, RED, "Invalid password.");
  2964. tmp = strtok(cmdtext, idx);
  2965. if(!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /changepassword [current password] [NEW PASSWORD]");
  2966. format(oldpass, 128, "|- You've changed your password to '%s' -|", tmp);
  2967. SendClientMessage(playerid, LIGHTGREEN, oldpass);
  2968. WP_Hash(pass, sizeof pass, tmp);
  2969. strmid(AccountInfo[playerid][Password], pass, 0, strlen(pass), 150);
  2970. }
  2971. return 1;
  2972. }
  2973. return 0;
  2974. }
  2975.  
  2976. //------------------------------------------------------------------------------------------------------
  2977.  
  2978. public OnPlayerSpawn(playerid)
  2979. {
  2980. GivePlayerMoney(playerid, PocketMoney);
  2981. SetPlayerInterior(playerid,0);
  2982. SetPlayerRandomSpawn(playerid);
  2983. TogglePlayerClock(playerid,1);
  2984. return 1;
  2985. }
  2986.  
  2987. public SetPlayerRandomSpawn(playerid)
  2988. {
  2989. if (iSpawnSet[playerid] == 1)
  2990. {
  2991. new rand = random(sizeof(gCopPlayerSpawns));
  2992. SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
  2993. SetPlayerFacingAngle(playerid, 270.0);
  2994. }
  2995. else if (iSpawnSet[playerid] == 0)
  2996. {
  2997. new rand = random(sizeof(gRandomPlayerSpawns));
  2998. SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
  2999. }
  3000. return 1;
  3001. }
  3002.  
  3003. //------------------------------------------------------------------------------------------------------
  3004.  
  3005. public OnPlayerDeath(playerid, killerid, reason)
  3006. {
  3007. Drugs[playerid] = 0;
  3008. new playercash;
  3009. if(killerid == INVALID_PLAYER_ID) {
  3010. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  3011. ResetPlayerMoney(playerid);
  3012. } else {
  3013. SendDeathMessage(killerid,playerid,reason);
  3014. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  3015. playercash = GetPlayerMoney(playerid);
  3016. if (playercash > 0) {
  3017. GivePlayerMoney(killerid, playercash);
  3018. ResetPlayerMoney(playerid);
  3019. }
  3020. else
  3021. {
  3022. }
  3023. }
  3024. return 1;
  3025. }
  3026.  
  3027. public OnPlayerText(playerid, text[])
  3028. {
  3029. if (AccountInfo[playerid][Mute] == 1)
  3030. {
  3031. SendClientMessage(playerid, RED, "Zostales wyciszony!");
  3032. return 0;
  3033. }
  3034. return 1;
  3035. }
  3036.  
  3037. /* public OnPlayerDeath(playerid, killerid, reason)
  3038. { haxed by teh mike
  3039. new name[MAX_PLAYER_NAME];
  3040. new string[256];
  3041. new deathreason[20];
  3042. new playercash;
  3043. GetPlayerName(playerid, name, sizeof(name));
  3044. GetWeaponName(reason, deathreason, 20);
  3045. if (killerid == INVALID_PLAYER_ID) {
  3046. switch (reason) {
  3047. case WEAPON_DROWN:
  3048. {
  3049. format(string, sizeof(string), "*** %s drowned.)", name);
  3050. }
  3051. default:
  3052. {
  3053. if (strlen(deathreason) > 0) {
  3054. format(string, sizeof(string), "*** %s died. (%s)", name, deathreason);
  3055. } else {
  3056. format(string, sizeof(string), "*** %s died.", name);
  3057. }
  3058. }
  3059. }
  3060. }
  3061. else {
  3062. new killer[MAX_PLAYER_NAME];
  3063. GetPlayerName(killerid, killer, sizeof(killer));
  3064. if (strlen(deathreason) > 0) {
  3065. format(string, sizeof(string), "*** %s killed %s. (%s)", killer, name, deathreason);
  3066. } else {
  3067. format(string, sizeof(string), "*** %s killed %s.", killer, name);
  3068. }
  3069. }
  3070. SendClientMessageToAll(COLOR_RED, string);
  3071. {
  3072. playercash = GetPlayerMoney(playerid);
  3073. if (playercash > 0)
  3074. {
  3075. GivePlayerMoney(killerid, playercash);
  3076. ResetPlayerMoney(playerid);
  3077. }
  3078. else
  3079. {
  3080. }
  3081. }
  3082. return 1;
  3083. }*/
  3084.  
  3085. //------------------------------------------------------------------------------------------------------
  3086.  
  3087. public OnPlayerRequestClass(playerid, classid)
  3088. {
  3089. iSpawnSet[playerid] = 0;
  3090. SetupPlayerForClassSelection(playerid);
  3091. return 1;
  3092. }
  3093.  
  3094. public SetupPlayerForClassSelection(playerid)
  3095. {
  3096. SetPlayerInterior(playerid,14);
  3097. SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  3098. SetPlayerFacingAngle(playerid, 270.0);
  3099. SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  3100. SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  3101. }
  3102.  
  3103. public GameModeExitFunc()
  3104. {
  3105. GameModeExit();
  3106. }
  3107.  
  3108. public OnGameModeInit()
  3109. {
  3110. SetGameModeText("Polski [DM]");
  3111. UsePlayerPedAnims ();
  3112. ShowPlayerMarkers(1);
  3113. ShowNameTags(1);
  3114. EnableStuntBonusForAll(0);
  3115.  
  3116. // Player Class's
  3117. AddPlayerClass(0,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3118. AddPlayerClass(266,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3119. AddPlayerClass(267,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3120. AddPlayerClass(268,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3121. AddPlayerClass(269,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3122. AddPlayerClass(270,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3123. AddPlayerClass(271,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3124. AddPlayerClass(272,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3125.  
  3126. AddPlayerClass(280,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3127. AddPlayerClass(281,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3128. AddPlayerClass(282,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  3129. AddPlayerClass(283,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3130. AddPlayerClass(284,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3131. AddPlayerClass(285,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3132. AddPlayerClass(286,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3133. AddPlayerClass(287,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3134.  
  3135. AddPlayerClass(254,1958.3783,1343.1572,15.3746,0.0,0,0,24,300,-1,-1);
  3136. AddPlayerClass(255,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3137. AddPlayerClass(256,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3138. AddPlayerClass(257,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3139. AddPlayerClass(258,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3140. AddPlayerClass(259,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3141. AddPlayerClass(260,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3142. AddPlayerClass(261,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3143. AddPlayerClass(262,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3144. AddPlayerClass(263,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3145. AddPlayerClass(264,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3146. AddPlayerClass(274,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3147. AddPlayerClass(275,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3148. AddPlayerClass(276,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3149.  
  3150. AddPlayerClass(1,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3151. AddPlayerClass(2,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3152. AddPlayerClass(290,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3153. AddPlayerClass(291,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3154. AddPlayerClass(292,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3155. AddPlayerClass(293,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3156. AddPlayerClass(294,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3157. AddPlayerClass(295,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3158. AddPlayerClass(296,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3159. AddPlayerClass(297,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3160. AddPlayerClass(298,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3161. AddPlayerClass(299,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3162.  
  3163. AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3164. AddPlayerClass(278,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3165. AddPlayerClass(279,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3166. AddPlayerClass(288,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3167. AddPlayerClass(47,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3168. AddPlayerClass(48,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3169. AddPlayerClass(49,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3170. AddPlayerClass(50,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3171. AddPlayerClass(51,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3172. AddPlayerClass(52,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3173. AddPlayerClass(53,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3174. AddPlayerClass(54,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3175. AddPlayerClass(55,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3176. AddPlayerClass(56,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3177. AddPlayerClass(57,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3178. AddPlayerClass(58,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3179. AddPlayerClass(59,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3180. AddPlayerClass(60,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3181. AddPlayerClass(61,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3182. AddPlayerClass(62,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3183. AddPlayerClass(63,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3184. AddPlayerClass(64,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3185. AddPlayerClass(66,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3186. AddPlayerClass(67,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3187. AddPlayerClass(68,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3188. AddPlayerClass(69,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3189. AddPlayerClass(70,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3190. AddPlayerClass(71,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3191. AddPlayerClass(72,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3192. AddPlayerClass(73,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3193. AddPlayerClass(75,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3194. AddPlayerClass(76,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3195. AddPlayerClass(78,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3196. AddPlayerClass(79,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3197. AddPlayerClass(80,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3198. AddPlayerClass(81,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3199. AddPlayerClass(82,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3200. AddPlayerClass(83,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3201. AddPlayerClass(84,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3202. AddPlayerClass(85,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3203. AddPlayerClass(87,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3204. AddPlayerClass(88,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3205. AddPlayerClass(89,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3206. AddPlayerClass(91,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3207. AddPlayerClass(92,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3208. AddPlayerClass(93,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3209. AddPlayerClass(95,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3210. AddPlayerClass(96,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3211. AddPlayerClass(97,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3212. AddPlayerClass(98,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3213. AddPlayerClass(99,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3214. AddPlayerClass(100,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3215. AddPlayerClass(101,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3216. AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3217. AddPlayerClass(103,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3218. AddPlayerClass(104,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3219. AddPlayerClass(105,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3220. AddPlayerClass(106,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3221. AddPlayerClass(107,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3222. AddPlayerClass(108,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3223. AddPlayerClass(109,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3224. AddPlayerClass(110,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3225. AddPlayerClass(111,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3226. AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3227. AddPlayerClass(113,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3228. AddPlayerClass(114,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3229. AddPlayerClass(115,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3230. AddPlayerClass(116,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3231. AddPlayerClass(117,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3232. AddPlayerClass(118,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3233. AddPlayerClass(120,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3234. AddPlayerClass(121,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3235. AddPlayerClass(122,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3236. AddPlayerClass(123,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3237. AddPlayerClass(124,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3238. AddPlayerClass(125,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3239. AddPlayerClass(126,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3240. AddPlayerClass(127,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3241. AddPlayerClass(128,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3242. AddPlayerClass(129,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3243. AddPlayerClass(131,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3244. AddPlayerClass(133,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3245. AddPlayerClass(134,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3246. AddPlayerClass(135,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3247. AddPlayerClass(136,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3248. AddPlayerClass(137,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3249. AddPlayerClass(138,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3250. AddPlayerClass(139,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3251. AddPlayerClass(140,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3252. AddPlayerClass(141,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3253. AddPlayerClass(142,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3254. AddPlayerClass(143,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3255. AddPlayerClass(144,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3256. AddPlayerClass(145,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3257. AddPlayerClass(146,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3258. AddPlayerClass(147,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3259. AddPlayerClass(148,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3260. AddPlayerClass(150,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3261. AddPlayerClass(151,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3262. AddPlayerClass(152,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3263. AddPlayerClass(153,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3264. AddPlayerClass(154,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3265. AddPlayerClass(155,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3266. AddPlayerClass(156,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3267. AddPlayerClass(157,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3268. AddPlayerClass(158,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3269. AddPlayerClass(159,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3270. AddPlayerClass(160,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3271. AddPlayerClass(161,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3272. AddPlayerClass(162,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3273. AddPlayerClass(163,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3274. AddPlayerClass(164,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3275. AddPlayerClass(165,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3276. AddPlayerClass(166,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3277. AddPlayerClass(167,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3278. AddPlayerClass(168,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3279. AddPlayerClass(169,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3280. AddPlayerClass(170,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3281. AddPlayerClass(171,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3282. AddPlayerClass(172,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3283. AddPlayerClass(173,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3284. AddPlayerClass(174,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3285. AddPlayerClass(175,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3286. AddPlayerClass(176,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3287. AddPlayerClass(177,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3288. AddPlayerClass(178,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3289. AddPlayerClass(179,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3290. AddPlayerClass(180,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3291. AddPlayerClass(181,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3292. AddPlayerClass(182,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3293. AddPlayerClass(183,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3294. AddPlayerClass(184,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3295. AddPlayerClass(185,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3296. AddPlayerClass(186,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3297. AddPlayerClass(187,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3298. AddPlayerClass(188,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3299. AddPlayerClass(189,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3300. AddPlayerClass(190,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3301. AddPlayerClass(191,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3302. AddPlayerClass(192,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3303. AddPlayerClass(193,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3304. AddPlayerClass(194,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3305. AddPlayerClass(195,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3306. AddPlayerClass(196,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3307. AddPlayerClass(197,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3308. AddPlayerClass(198,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3309. AddPlayerClass(199,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3310. AddPlayerClass(200,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3311. AddPlayerClass(201,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3312. AddPlayerClass(202,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3313. AddPlayerClass(203,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3314. AddPlayerClass(204,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3315. AddPlayerClass(205,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3316. AddPlayerClass(206,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3317. AddPlayerClass(207,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3318. AddPlayerClass(209,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3319. AddPlayerClass(210,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3320. AddPlayerClass(211,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3321. AddPlayerClass(212,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3322. AddPlayerClass(213,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3323. AddPlayerClass(214,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3324. AddPlayerClass(215,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3325. AddPlayerClass(216,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3326. AddPlayerClass(217,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3327. AddPlayerClass(218,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3328. AddPlayerClass(219,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3329. AddPlayerClass(220,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3330. AddPlayerClass(221,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3331. AddPlayerClass(222,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3332. AddPlayerClass(223,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3333. AddPlayerClass(224,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3334. AddPlayerClass(225,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3335. AddPlayerClass(226,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3336. AddPlayerClass(227,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3337. AddPlayerClass(228,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3338. AddPlayerClass(229,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3339. AddPlayerClass(230,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3340. AddPlayerClass(231,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3341. AddPlayerClass(232,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3342. AddPlayerClass(233,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3343. AddPlayerClass(234,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3344. AddPlayerClass(235,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3345. AddPlayerClass(236,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3346. AddPlayerClass(237,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3347. AddPlayerClass(238,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3348. AddPlayerClass(239,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3349. AddPlayerClass(240,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3350. AddPlayerClass(241,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3351. AddPlayerClass(242,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3352. AddPlayerClass(243,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3353. AddPlayerClass(244,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3354. AddPlayerClass(245,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3355. AddPlayerClass(246,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3356. AddPlayerClass(247,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3357. AddPlayerClass(248,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3358. AddPlayerClass(249,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3359. AddPlayerClass(250,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3360. AddPlayerClass(251,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3361. AddPlayerClass(253,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
  3362.  
  3363. // Car Spawns
  3364. new randa = random(sizeof(RandCars));
  3365. randa = random(sizeof(RandCars));carselect[0] = RandCars[randa][0];
  3366. randa = random(sizeof(RandCars));carselect[1] = RandCars[randa][0];
  3367. randa = random(sizeof(RandCars));carselect[2] = RandCars[randa][0];
  3368. randa = random(sizeof(RandCars));carselect[3] = RandCars[randa][0];
  3369. randa = random(sizeof(RandCars));carselect[4] = RandCars[randa][0];
  3370. randa = random(sizeof(RandCars));carselect[5] = RandCars[randa][0];
  3371. randa = random(sizeof(RandCars));carselect[6] = RandCars[randa][0];
  3372. randa = random(sizeof(RandCars));carselect[7] = RandCars[randa][0];
  3373. randa = random(sizeof(RandCars));carselect[8] = RandCars[randa][0];
  3374. randa = random(sizeof(RandCars));carselect[9] = RandCars[randa][0];
  3375. randa = random(sizeof(RandCars));carselect[10] = RandCars[randa][0];
  3376. randa = random(sizeof(RandCars));carselect[11] = RandCars[randa][0];
  3377. randa = random(sizeof(RandCars));carselect[12] = RandCars[randa][0];
  3378. randa = random(sizeof(RandCars));carselect[13] = RandCars[randa][0];
  3379. for(new i = 0; i < sizeof(CarSpawns); i++)
  3380. // for(new i = 0; i < 165; i++)
  3381. {
  3382. AddCar(i);
  3383. }
  3384. return 1;
  3385. }
  3386.  
  3387.  
  3388.  
  3389. public SendPlayerFormattedText(playerid, const str[], define)
  3390. {
  3391. new tmpbuf[256];
  3392. format(tmpbuf, sizeof(tmpbuf), str, define);
  3393. SendClientMessage(playerid, 0xFF004040, tmpbuf);
  3394. }
  3395.  
  3396. public SendAllFormattedText(playerid, const str[], define)
  3397. {
  3398. new tmpbuf[256];
  3399. format(tmpbuf, sizeof(tmpbuf), str, define);
  3400. SendClientMessageToAll(0xFFFF00AA, tmpbuf);
  3401. }
  3402. /*
  3403. strtok(const string[], &index)
  3404. {
  3405. new length = strlen(string);
  3406. while ((index < length) && (string[index] <= ' '))
  3407. {
  3408. index++;
  3409. }
  3410.  
  3411. new offset = index;
  3412. new result[20];
  3413. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  3414. {
  3415. result[index - offset] = string[index];
  3416. index++;
  3417. }
  3418. result[index - offset] = EOS;
  3419. return result;
  3420. }
  3421. */
  3422.  
  3423. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  3424. {
  3425. if (SuperPunch[playerid] == 1)
  3426. {
  3427. if (GetPlayerState(playerid) != 2)
  3428. {
  3429. if (newkeys & KEY_FIRE && Drugs[playerid] == 0)
  3430. {
  3431. new Float:X,Float:Y,Float:Z,Float:Health;
  3432. GetPlayerHealth(playerid,Health);
  3433. if (GetPlayerWeapon(playerid) == 0)
  3434. {
  3435. GetPlayerPos(playerid,X,Y,Z);
  3436. CreateExplosion(X,Y,Z,7,7.0);
  3437. SetPlayerHealth(playerid,Health);
  3438. }
  3439. }
  3440. else if (newkeys & KEY_FIRE && Drugs[playerid] == 1)
  3441. {
  3442. new Float:X,Float:Y,Float:Z;
  3443. if (GetPlayerWeapon(playerid) == 0)
  3444. {
  3445. SetPlayerHealth(playerid,999999999);
  3446. GetPlayerPos(playerid,X,Y,Z);
  3447. CreateExplosion(X,Y,Z,7,7.0);
  3448. SetPlayerHealth(playerid,999999999);
  3449. }
  3450. }
  3451. }
  3452. }
  3453. }
  3454.  
  3455. OnPlayerJailed(playerid)
  3456. {
  3457. SetPlayerInterior(playerid, 6);
  3458. SetPlayerPos(playerid, 264.3700,77.5700,1001.0391);
  3459. SetPlayerFacingAngle(playerid, 272.6900);
  3460. TogglePlayerControllable(playerid, 0);
  3461. return 1;
  3462. }
  3463.  
  3464. OnPlayerUnjailed(playerid)
  3465. {
  3466. SetPlayerInterior(playerid, 6);
  3467. SetPlayerPos(playerid, 266.9272,78.6098,1001.0391);
  3468. SetPlayerFacingAngle(playerid, 266.9169);
  3469. TogglePlayerControllable(playerid, 1);
  3470. return 1;
  3471. }
  3472.  
  3473. public CountDown()
  3474. {
  3475. if (Count > 0)
  3476. {
  3477. new str[5];
  3478. format(str, sizeof str, "~w~%d", Count);
  3479. GameTextForAll(str,2500,3);
  3480. Count--;
  3481. SetTimer("CountDown",1000,0);
  3482. }
  3483. else
  3484. {
  3485. GameTextForAll("~g~~h~Go ~w~!!",2500,3);
  3486. Count = 999;
  3487. }
  3488. return 1;
  3489. }
  3490.  
  3491. forward OnPlayerPrivmsg(playerid, receiverid, text[]); public OnPlayerPrivmsg(playerid, receiverid, text[])
  3492. {
  3493. if (PMBlock[receiverid] == true) return SendClientMessage(playerid, RED, "That admin has blocked private messages");
  3494.  
  3495. new string[128], name[MAX_PLAYER_NAME];
  3496. GetPlayerName(playerid, name, sizeof name);
  3497. format(string, sizeof string, "[PM]From %s: %s", name, text);
  3498. SendClientMessage(receiverid, LIMEGREEN, string);
  3499. GetPlayerName(receiverid, name, sizeof name);
  3500. format(string, sizeof string, "[PM]Sent to %s: %s", name, text);
  3501. SendClientMessage(playerid, LIMEGREEN, string);
  3502. return 1;
  3503. }
  3504.  
  3505. forward NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A);
  3506. public NukeBlast(playerid, times, Float:X,Float:Y,Float:Z,Float:A)
  3507. {
  3508. if (Nuke[playerid] == times+1) return 1;
  3509. //printf("Nukeblast %d",Nuke[playerid]);
  3510. new Float:x,Float:y;
  3511. x = X + ((10*Nuke[playerid]) * floatsin(-A+5, degrees));
  3512. y = Y + ((10*Nuke[playerid]) * floatcos(-A+5, degrees));
  3513. CreateExplosion(x, y, Z, 3, 3.0);
  3514. Nuke[playerid]++;
  3515. SetTimerEx("NukeBlast", 200, 0, "ddffff",playerid, times, X, Y, Z, A);
  3516. return 1;
  3517. }
  3518.  
  3519. public OnObjectMoved(objectid)
  3520. {
  3521. for(new i; i < MAX_PLAYERS; i++) if (objectid == Missile[i])
  3522. {
  3523. new Float:X,Float:Y,Float:Z,Float:x,Float:y,Float:z;
  3524. GetObjectPos(objectid, X, Y, Z);
  3525. GetObjectPos(objectid, x, y, z);
  3526. DestroyObject(objectid);
  3527. CreateExplosion(X, Y, Z, 7, 5);
  3528. //front
  3529. X += (5.0 * floatsin(0, degrees));
  3530. Y += (5.0 * floatcos(0, degrees));
  3531. CreateExplosion(X, Y, Z, 7, 5);
  3532. X += (3.0 * floatsin(0+45, degrees));
  3533. Y += (3.0 * floatcos(0+45, degrees));
  3534. CreateExplosion(X, Y, Z, 7, 5);
  3535. X += (3.0 * floatsin(0-45, degrees));
  3536. Y += (3.0 * floatcos(0-45, degrees));
  3537. CreateExplosion(X, Y, Z, 7, 5);
  3538. //right-left
  3539. X += (5.0 * floatcos(0, degrees));
  3540. Y += (5.0 * floatsin(0, degrees));
  3541. CreateExplosion(X, Y, Z, 7, 5);
  3542. //back
  3543. X -= (5.0 * floatcos(0, degrees));
  3544. Y -= (5.0 * floatsin(0, degrees));
  3545. CreateExplosion(X, Y, Z, 7, 5);
  3546. X -= (5.0 * floatsin(0, degrees));
  3547. Y -= (5.0 * floatcos(0, degrees));
  3548. CreateExplosion(X, Y, Z, 7, 5);
  3549. X -= (3.0 * floatsin(0+45, degrees));
  3550. Y -= (3.0 * floatcos(0+45, degrees));
  3551. CreateExplosion(X, Y, Z, 7, 5);
  3552. X -= (3.0 * floatsin(0-45, degrees));
  3553. Y -= (3.0 * floatcos(0-45, degrees));
  3554. CreateExplosion(X, Y, Z, 7, 5);
  3555. SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, 3);
  3556. break;
  3557. }
  3558. }
  3559.  
  3560. forward MissileExplosion(Float:X, Float:Y, Float:Z, times);
  3561. public MissileExplosion(Float:X, Float:Y, Float:Z, times)
  3562. {
  3563. new Float:x = X;
  3564. new Float:y = Y;
  3565. new Float:z = Z;
  3566. if (times == 3)
  3567. {
  3568. //front
  3569. X += (10.0 * floatsin(0, degrees));
  3570. Y += (10.0 * floatcos(0, degrees));
  3571. CreateExplosion(X, Y, Z, 7, 5);
  3572. X += (6.0 * floatsin(0+45, degrees));
  3573. Y += (6.0 * floatcos(0+45, degrees));
  3574. CreateExplosion(X, Y, Z, 7, 5);
  3575. X += (6.0 * floatsin(0-45, degrees));
  3576. Y += (6.0 * floatcos(0-45, degrees));
  3577. CreateExplosion(X, Y, Z, 7, 5);
  3578. //right-left
  3579. X += (10.0 * floatcos(0, degrees));
  3580. Y += (10.0 * floatsin(0, degrees));
  3581. CreateExplosion(X, Y, Z, 7, 5);
  3582. //back
  3583. X -= (10.0 * floatcos(0, degrees));
  3584. Y -= (10.0 * floatsin(0, degrees));
  3585. CreateExplosion(X, Y, Z, 7, 5);
  3586. X -= (10.0 * floatsin(0, degrees));
  3587. Y -= (10.0 * floatcos(0, degrees));
  3588. CreateExplosion(X, Y, Z, 7, 5);
  3589. X -= (6.0 * floatsin(0+45, degrees));
  3590. Y -= (6.0 * floatcos(0+45, degrees));
  3591. CreateExplosion(X, Y, Z, 7, 5);
  3592. X -= (6.0 * floatsin(0-45, degrees));
  3593. Y -= (6.0 * floatcos(0-45, degrees));
  3594. CreateExplosion(X, Y, Z, 7, 5);
  3595. }
  3596. else if (times == 2)
  3597. {
  3598. //front
  3599. X += (15.0 * floatsin(0, degrees));
  3600. Y += (15.0 * floatcos(0, degrees));
  3601. CreateExplosion(X, Y, Z, 7, 5);
  3602. X += (9.0 * floatsin(0+45, degrees));
  3603. Y += (9.0 * floatcos(0+45, degrees));
  3604. CreateExplosion(X, Y, Z, 7, 5);
  3605. X += (9.0 * floatsin(0-45, degrees));
  3606. Y += (9.0 * floatcos(0-45, degrees));
  3607. CreateExplosion(X, Y, Z, 7, 5);
  3608. //right-left
  3609. X += (15.0 * floatcos(0, degrees));
  3610. Y += (15.0 * floatsin(0, degrees));
  3611. CreateExplosion(X, Y, Z, 7, 5);
  3612. //back
  3613. X -= (15.0 * floatcos(0, degrees));
  3614. Y -= (15.0 * floatsin(0, degrees));
  3615. CreateExplosion(X, Y, Z, 7, 5);
  3616. X -= (15.0 * floatsin(0, degrees));
  3617. Y -= (15.0 * floatcos(0, degrees));
  3618. CreateExplosion(X, Y, Z, 7, 5);
  3619. X -= (9.0 * floatsin(0+45, degrees));
  3620. Y -= (9.0 * floatcos(0+45, degrees));
  3621. CreateExplosion(X, Y, Z, 7, 5);
  3622. X -= (9.0 * floatsin(0-45, degrees));
  3623. Y -= (9.0 * floatcos(0-45, degrees));
  3624. CreateExplosion(X, Y, Z, 7, 5);
  3625. }
  3626. else if (times == 1)
  3627. {
  3628. //front
  3629. X += (20.0 * floatsin(0, degrees));
  3630. Y += (20.0 * floatcos(0, degrees));
  3631. CreateExplosion(X, Y, Z, 7, 5);
  3632. X += (12.0 * floatsin(0+45, degrees));
  3633. Y += (12.0 * floatcos(0+45, degrees));
  3634. CreateExplosion(X, Y, Z, 7, 5);
  3635. X += (12.0 * floatsin(0-45, degrees));
  3636. Y += (12.0 * floatcos(0-45, degrees));
  3637. CreateExplosion(X, Y, Z, 7, 5);
  3638. //right-left
  3639. X += (20.0 * floatcos(0, degrees));
  3640. Y += (20.0 * floatsin(0, degrees));
  3641. CreateExplosion(X, Y, Z, 7, 5);
  3642. //back
  3643. X -= (20.0 * floatcos(0, degrees));
  3644. Y -= (20.0 * floatsin(0, degrees));
  3645. CreateExplosion(X, Y, Z, 7, 5);
  3646. X -= (20.0 * floatsin(0, degrees));
  3647. Y -= (20.0 * floatcos(0, degrees));
  3648. CreateExplosion(X, Y, Z, 7, 5);
  3649. X -= (12.0 * floatsin(0+45, degrees));
  3650. Y -= (12.0 * floatcos(0+45, degrees));
  3651. CreateExplosion(X, Y, Z, 7, 5);
  3652. X -= (12.0 * floatsin(0-45, degrees));
  3653. Y -= (12.0 * floatcos(0-45, degrees));
  3654. CreateExplosion(X, Y, Z, 7, 5);
  3655. }
  3656.  
  3657. if (times > 0) SetTimerEx("MissileExplosion", 700, 0, "fffd", x, y, z, times-1);
  3658. }
  3659.  
  3660. forward PushPlayer(playerid, distance, zup);
  3661. public PushPlayer(playerid, distance, zup)
  3662. {
  3663. new Float:X,Float:Y,Float:Z,Float:A;
  3664. GetPlayerPos(playerid, X, Y, Z);
  3665. GetPlayerFacingAngle(playerid, A);
  3666. if (zup == 1) SetPlayerPos(playerid, X, Y, Z+5);
  3667. GetPlayerPos(playerid, X, Y, Z);
  3668. X -= (2.0 * floatsin(-A, degrees));
  3669. Y -= (2.0 * floatcos(-A, degrees));
  3670. SetPlayerPos(playerid, X, Y, Z);
  3671. if (distance > 0) SetTimerEx("PushPlayer", 100, 0, "ddd", playerid, distance-1, 0);
  3672. }
  3673.  
  3674. stock GetVehicleModelIDFromName(vehname[])
  3675. {
  3676. for(new i = 0; i < 211; i++)
  3677. {
  3678. if (strfind(VehNames[i], vehname, true) != -1) return i + 400;
  3679. }
  3680. return -1;
  3681. }
  3682.  
  3683. stock GetWeaponModelIDFromName(weapname[])
  3684. {
  3685. for(new i = 0; i < 48; i++)
  3686. {
  3687. if (i == 19 || i == 20 || i == 21) continue;
  3688. if (strfind(WeapNames[i], weapname, true) != -1) return i;
  3689. }
  3690. return -1;
  3691. }
  3692.  
  3693. stock bigstrtok(const string[], &idx)
  3694. {
  3695. new length = strlen(string);
  3696. while ((idx < length) && (string[idx] <= ' '))
  3697. {
  3698. idx++;
  3699. }
  3700. new offset = idx;
  3701. new result[128];
  3702. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  3703. {
  3704. result[idx - offset] = string[idx];
  3705. idx++;
  3706. }
  3707. result[idx - offset] = EOS;
  3708. return result;
  3709. }
  3710.  
  3711. stock IsInvalidSkin(skinid)
  3712. {
  3713. #define MAX_BAD_SKINS 14
  3714. new badSkins[MAX_BAD_SKINS] =
  3715. {
  3716. 3, 4, 5, 6, 8, 42, 65, 74, 86,
  3717. 119, 149, 208, 273, 289
  3718. };
  3719.  
  3720. for (new i = 0; i < MAX_BAD_SKINS; i++)
  3721. {
  3722. if (skinid == badSkins[i] || skinid < 0 || skinid >= 300) return true;
  3723. }
  3724.  
  3725. return false;
  3726. }
  3727.  
  3728. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  3729. {
  3730. // new sendername[MAX_PLAYER_NAME];
  3731.  
  3732. /* if (dialogid == DIALOG_TYPE_DELVEH)
  3733. {
  3734. if (response)
  3735. {
  3736. if (PlayerDelVeh[playerid] == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED, "Error deleting vehicle(invalid id)");
  3737.  
  3738. GetPlayerName(playerid, sendername, sizeof(sendername));
  3739. format(inputtext, 128,"|- Administrator %s has deleted a vehicle [ Vehicle: %d - Model: %s ] -|", sendername, PlayerDelVeh[playerid], VehNames[GetVehicleModel(PlayerDelVeh[playerid])-400]);
  3740. SendClientMessageToAdmins(ADMIN_RED, inputtext, 1);
  3741. DestroyVehicle(PlayerDelVeh[playerid]);
  3742. SpawnedVehicle[PlayerDelVeh[playerid]] = false;
  3743. }
  3744. }
  3745. if (dialogid == DIALOG_TYPE_DELVEHS)
  3746. {
  3747. if (response)
  3748. {
  3749. new count;
  3750. for(new v; v < MAX_VEHICLES; v++)
  3751. {
  3752. if (SpawnedVehicle[v] == true) DestroyVehicle(v), SpawnedVehicle[v] = false, count++;
  3753. }
  3754. GetPlayerName(playerid, sendername, sizeof(sendername));
  3755. format(inputtext, 128,"|- Administrator %s has deleted ALL spawned vehicles [ Total: %d ] -|", sendername, count);
  3756. SendClientMessageToAdmins(ADMIN_RED, inputtext, 1);
  3757. }
  3758. }*/
  3759. if (dialogid == DIALOG_TYPE_SERVLOCK)
  3760. {
  3761. if (response)
  3762. {
  3763. format(ServerLockPass, sizeof ServerLockPass, "%s", servlock);
  3764. if (!strcmp(servlock, "-", true)) SendClientMessage(playerid, LIGHTGREEN, "* Server unlocked");
  3765. else
  3766. {
  3767. format(servlock, sizeof servlock, "Server locked to password: %s. Password is case sensitive!", ServerLockPass);
  3768. SendClientMessage(playerid, GREEN, servlock);
  3769. }
  3770. }
  3771. }
  3772. if (dialogid == DIALOG_TYPE_SERVLOCKPASS)
  3773. {
  3774. if (response)
  3775. {
  3776. if (!strcmp(ServerLockPass, inputtext) && !(!strlen(inputtext))) SendClientMessage(playerid, LIGHTGREEN, "|- Correct password, you have been granted access to the server -|");
  3777. else
  3778. {
  3779. SendClientMessage(playerid, RED, "|- Invalid server password, try again or cancel -|");
  3780. ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCKPASS, DIALOG_STYLE_INPUT, "Server is currently locked.", "Enter the password to access it:", "Enter", "Cancel");
  3781. }
  3782. }
  3783. else
  3784. {
  3785. SendClientMessage(playerid, RED, "You have no business here, then.");
  3786. Kick(playerid);
  3787. }
  3788. }
  3789. return 1;
  3790. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement