Guest User

Zombie Mod 2 Unfinshed

a guest
Jan 7th, 2011
2,472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 85.16 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <sscanf2>
  4. #include <zcmd>
  5. #include <foreach>
  6.  
  7. //Helpful >:)
  8. #define SetPlayerHoldingObject(%1,%2,%3,%4,%5,%6,%7,%8,%9) SetPlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1,%2,%3,%4,%5,%6,%7,%8,%9)
  9. #define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1)
  10. #define IsPlayerHoldingObject(%1) IsPlayerAttachedObjectSlotUsed(%1,MAX_PLAYER_ATTACHED_OBJECTS-1)
  11.  
  12. //Some useful things
  13. //==============================================================================
  14. #define MAX_WARNINGS 3
  15. #define MAX_RANKS 21
  16. #define USE_FLOGIN
  17. #define ZOMBIE 1 // Zombie
  18. #define HUNTER 2 // Zombie
  19. #define CHARGER 3 // Zombie
  20. #define HUMAN 4 // Human
  21. #define MEDIC 5 // Human
  22. #define ARMY 6 // Human
  23. //==============================================================================
  24.  
  25. //Color defines
  26. #define blue 0x375FFFFF
  27. #define red 0xFF0000AA
  28. #define green 0x33FF33AA
  29. #define yellow 0xFFFF00AA
  30. #define grey 0xC0C0C0AA
  31. #define blue1 0x2641FEAA
  32. #define lightblue 0x33CCFFAA
  33. #define orange 0xFF9900AA
  34. #define black 0x2C2727AA
  35. #define pink 0xFF66FFAA
  36. #define purple 0xcc55ccff
  37. #define white 0xFFFFFFAA
  38. #define green1 0x33AA33AA
  39. #define brown 0xA52A2AAA
  40. #define gold 0xFFDC00FF
  41. #define lime 0x37FF00FF
  42.  
  43. // Teams
  44. #define TEAM_ZOMBIE 0 // Zombie
  45. #define TEAM_HUNTER 1 // Zombie
  46. #define TEAM_CHARGER 2 // Zombie
  47. #define TEAM_HUMAN 3 // Human
  48. #define TEAM_MEDIC 4 // Human
  49. #define TEAM_ARMY 5 // Human
  50.  
  51. // Weapons
  52. #define AK 30 // ak47
  53. #define DEAGLE 24 // Deagle
  54. #define TEC9 32 // TEC9
  55. #define M4 31 // M4
  56. #define SMG 28 // MICRO SMG
  57. #define NOWEAPON 0 // UNARMED
  58. #define KNIFE 4 // KNIFE
  59. #define CHAINSAW 9 // CHAINSAW
  60. #define SMG2 29 // SMG 2
  61. #define PISTOL 22 // 9mm
  62. #define SPISTOL 23 // silence 9MM
  63. #define SHOTGUN 25 // SHOTGUN
  64. #define SSHOTGUN 26 // Sawnoff SHOTGUN
  65.  
  66. //Skins
  67. #define SKIN_C 137 // Charger
  68. #define SKIN_H 230 // hunter
  69. #define SKIN_Z 162 // Regular Zombie
  70.  
  71. //Colors
  72. #define COLOR_YELLOW 0xFFFF00AA
  73. #define COLOR_WHITE 0xFFFFFFAA
  74. #define COLOR_BLUE 0x0000BBAA
  75. #define COLOR_LIGHTBLUE 0x33CCFFAA
  76. #define COLOR_ORANGE 0xFF9900AA
  77. #define COLOR_RED 0xAA3333AA
  78. #define COLOR_GREEN 0x33AA33AA
  79. #define Z_COLOR 0xFB0000FF
  80. #define H_COLOR 0x0000BBAA
  81.  
  82. // Defines
  83. #define WEAPON_TYPE_NONE (0)
  84. #define WEAPON_TYPE_HEAVY (1)
  85. #define WEAPON_TYPE_LIGHT (2)
  86. #define WEAPON_TYPE_MELEE (3)
  87. #define TIMER 150000
  88. #define COLOR_GOLD 0xF6C861AA
  89. #define TimeLimit 360000
  90. #pragma tabsize 0
  91. #define RELEASED(%0) \
  92. (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  93. #define PRESSED(%0) \
  94. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  95.  
  96. //Forwards
  97. forward InfectedRandom();
  98. forward D1(playerid);
  99. forward D2(playerid);
  100. forward D3(playerid);
  101. forward DS(playerid);
  102. forward rMessage();
  103. forward NoZombieWeapons(playerid);
  104. forward Unfreeze(playerid);
  105. forward TurningInfected(playerid);
  106. forward Float:GetDistanceBetweenPlayers(p1,p2);
  107. forward GetClosestPlayer(p1);
  108.  
  109. //Dialogs
  110. #define Dialog_Weaps 61 // Trader weapon shop
  111.  
  112. //Varaibles
  113. new OldWeapon[MAX_PLAYERS];
  114. new HoldingWeapon[MAX_PLAYERS];
  115. new Text:HealthBar[MAX_PLAYERS];
  116. new InfectedT[MAX_PLAYERS];
  117. new rMessageList[][] =
  118. {
  119. "[Tip] Welcome to Frag gamers Zombie-Mod v3.0.",
  120. "[Tip] Warning: Military(army) people get extra 10 hp.",
  121. "[Tip] Visit our forums www.fraggamers.netii.net.",
  122. "[Tip] WARNING! Hunter Zombies jump high",
  123. "[Tip] This gamemode is based on Zombie VS Humans Fun game type.",
  124. "[Tip] Any further questions as a admin or type /help."
  125. };
  126. new rCheckList[sizeof(rMessageList)];
  127. new gTeam[MAX_PLAYERS];
  128.  
  129. //PlayerInfo
  130. enum PlayerData
  131. {
  132. Logged,
  133. Registered,
  134. Level,
  135. Froze,
  136. Cash,
  137. Score,
  138. Colour,
  139. God,
  140. GodCar,
  141. Warnings,
  142. Kills,
  143. Deaths,
  144. InDuel,
  145. Duty,
  146. pRank,
  147. Privileges,
  148. isHuman,
  149. isZombie,
  150. PlayerY,
  151. };
  152. new PlayerInfo[MAX_PLAYERS][PlayerData];
  153.  
  154. //Private Messages
  155. enum PM_Data
  156. {
  157. LastMSG,
  158. NoPM,
  159. };
  160. new PrivMSG[MAX_PLAYERS][PM_Data];
  161.  
  162. //Countdown
  163. new CountDown = -1;
  164.  
  165. //others
  166. new bool:swimming[MAX_PLAYERS];
  167. new SpectatedPlayer[MAX_PLAYERS];
  168. new bool:IsPlayerSpectating[MAX_PLAYERS];
  169.  
  170. public OnFilterScriptInit()
  171. {
  172. print("\n--------------------------------------");
  173. print(" Admin System");
  174. print("--------------------------------------\n");
  175. for(new i = 0; i < MAX_PLAYERS; i++)
  176. {
  177. if(IsPlayerConnected(i))
  178. {
  179. PrivMSG[i][LastMSG] = INVALID_PLAYER_ID;
  180. PrivMSG[i][NoPM] = 1;
  181. }
  182. }
  183.  
  184. //FilterScriptInit Timers
  185. SetTimer("FAdminUpdate", 500, true);
  186. return 1;
  187. }
  188.  
  189. public OnFilterScriptExit()
  190. {
  191. for(new i = 0; i < MAX_PLAYERS; i++)
  192. {
  193. if(IsPlayerConnected(i))
  194. {
  195. PrivMSG[i][LastMSG] = INVALID_PLAYER_ID;
  196. PrivMSG[i][NoPM] = 1;
  197. }
  198. }
  199. for(new i = 0; i < MAX_PLAYERS; i++)
  200. {
  201. PlayerInfo[i][Logged] = 0;
  202. PlayerInfo[i][Registered] = 0;
  203. PlayerInfo[i][Level] = 0;
  204. PlayerInfo[i][Froze] = 0;
  205. PlayerInfo[i][Cash] = 0;
  206. PlayerInfo[i][Score] = 0;
  207. PlayerInfo[i][Colour] = 0;
  208. PlayerInfo[i][God] = 0;
  209. PlayerInfo[i][GodCar] = 0;
  210. PlayerInfo[i][Warnings] = 0;
  211. PlayerInfo[i][Kills] = 0;
  212. PlayerInfo[i][Deaths] = 0;
  213. PlayerInfo[i][InDuel] = 0;
  214. PlayerInfo[i][Duty] = 0;
  215. PlayerInfo[i][pRank] = 0;
  216. PlayerInfo[i][Privileges] = 0;
  217. }
  218. return 1;
  219. }
  220.  
  221. //
  222.  
  223. main()
  224. {
  225. print("\n****************************************");
  226. print(" Zombie-Mod - Kitten & willsuckformoney");
  227. print("([--------------------------------------])\n");
  228. }
  229.  
  230. public OnGameModeInit()
  231. {
  232. SetGameModeText(" Zombie-Mod ");
  233. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  234. //AddPlayerClass(162, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  235. SetTimer("rMessage", TIMER, true);
  236. SetTimer("NoZombieWeapons",1000,true);
  237. SetTimer("PayRanks",600000,true);
  238. SetNameTagDrawDistance(5);
  239. SetTeamCount(2);
  240. ShowNameTags(1);
  241. ShowPlayerMarkers(0);
  242. UsePlayerPedAnims();
  243. AllowInteriorWeapons(1);
  244. DisableInteriorEnterExits();
  245. SetWorldTime(0);
  246. for(new i; i<MAX_PLAYERS; i++)
  247. {
  248. if(IsPlayerConnected(i))
  249. {
  250. OnPlayerConnect(i);
  251. }
  252. }
  253. return 1;
  254. }
  255. public OnGameModeExit()
  256. {
  257. for(new i=0;i<MAX_PLAYERS;i++)
  258. if(IsPlayerConnected(i))
  259. StopPlayerHoldingObject(i);
  260. for(new i=0;i<MAX_PLAYERS;i++)
  261. if(IsPlayerConnected(i))
  262. StopPlayerHoldingObject(i);
  263. for(new i; i<MAX_PLAYERS; i++)
  264. {
  265. if(IsPlayerConnected(i))
  266. {
  267. TextDrawDestroy(HealthBar[i]);
  268. }
  269. }
  270. return 1;
  271. }
  272.  
  273. public OnPlayerRequestClass(playerid, classid)
  274. {
  275. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  276. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  277. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  278. return 1;
  279. }
  280.  
  281. //
  282.  
  283. public OnPlayerConnect(playerid)
  284. {
  285. #if defined USE_FLOGIN
  286. pInf(playerid);
  287. new n[MAX_PLAYER_NAME], file[256];
  288. GetPlayerName(playerid,n,sizeof(n));
  289. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  290.  
  291. if (!dini_Exists(file)) {
  292. //ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome, This Server is Using FAdmin Created By FrosTiC. Please Register Here.", "Register", "Leave");
  293. SendClientMessage(playerid,yellow,"You Are Not Registered, Please /register So Your Stats Will Save");
  294. }
  295. if(fexist(file)) {
  296. //ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome Back, This Name is Registered, Type in Your Password Below", "Login", "Leave");
  297. PlayerInfo[playerid][Registered] = 1;
  298. SendClientMessage(playerid,yellow,"You Are Registered, Please /login To Login");
  299. }
  300. SetTimerEx("SavePlayer",180000,true,"i",playerid);
  301. #endif
  302.  
  303. HealthBar[playerid] = TextDrawCreate(549.000000,52.000000,"..........");
  304. TextDrawAlignment(HealthBar[playerid],1);
  305. TextDrawBackgroundColor(HealthBar[playerid],0x00ff00ff);
  306. TextDrawFont(HealthBar[playerid],3);
  307. TextDrawLetterSize(HealthBar[playerid],0.569999,2.549999);
  308. TextDrawColor(HealthBar[playerid],0x00ff0033);
  309. TextDrawSetOutline(HealthBar[playerid],1);
  310. TextDrawSetProportional(HealthBar[playerid],1);
  311. TextDrawSetShadow(HealthBar[playerid],1);
  312. SetPVarInt(playerid,"Alive",0);
  313. return 1;
  314. }
  315.  
  316. public OnPlayerDisconnect(playerid, reason)
  317. {
  318. new n[MAX_PLAYER_NAME], str[128];
  319. TextDrawDestroy(HealthBar[playerid]);
  320. #if defined USE_FLOGIN
  321. new file[256];
  322. GetPlayerName(playerid,n,sizeof(n));
  323. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  324. dini_IntSet(file,"Logged",0);
  325. if(PlayerInfo[playerid][Froze] == 1) return dini_IntSet(file,"Froze",1);
  326. #endif
  327.  
  328. switch (reason) {
  329. case 0: format(str, sizeof(str), "** %s (%d) has left the server (Timeout)", n, playerid);
  330. case 1: format(str, sizeof(str), "** %s (%d) has left the server (Leaving)", n, playerid);
  331. case 2: format(str, sizeof(str), "** %s (%d) has left the server (Kicked)", n, playerid);
  332. }
  333. SendClientMessageToAll(grey, str);
  334.  
  335. SetPVarInt(playerid,"Alive",0);
  336. return 1;
  337. }
  338.  
  339. public OnPlayerDeath(playerid, killerid, reason)
  340. {
  341. SetPVarInt(playerid,"Alive",0);
  342. PlayerInfo[killerid][Kills]++;
  343. PlayerInfo[playerid][Deaths]--;
  344. SendDeathMessage(killerid, playerid, reason);
  345. SetPlayerScore(killerid,GetPlayerScore(killerid)+2);
  346. GivePlayerMoney(killerid, 15000);
  347. GameTextForPlayer(killerid, "~w~1+~n~~g~+$15000!!",6000,4);
  348. TogglePlayerSpectating(playerid, 1);
  349. PlayerSpectatePlayer(playerid, killerid);
  350. SetTimerEx("D1", 0, false,"d",playerid);
  351. TextDrawHideForPlayer(playerid,HealthBar[playerid]);
  352. if(PlayerInfo[playerid][Kills] == 25) return PlayerInfo[playerid][pRank] = 2;
  353. if(PlayerInfo[playerid][Kills] == 75) return PlayerInfo[playerid][pRank] = 3;
  354. if(PlayerInfo[playerid][Kills] == 150) return PlayerInfo[playerid][pRank] = 4;
  355. if(PlayerInfo[playerid][Kills] == 250) return PlayerInfo[playerid][pRank] = 5;
  356. if(PlayerInfo[playerid][Kills] == 400) return PlayerInfo[playerid][pRank] = 6;
  357. if(PlayerInfo[playerid][Kills] == 600) return PlayerInfo[playerid][pRank] = 7;
  358. if(PlayerInfo[playerid][Kills] == 750) return PlayerInfo[playerid][pRank] = 8;
  359. if(PlayerInfo[playerid][Kills] == 1000) return PlayerInfo[playerid][pRank] = 9;
  360. if(PlayerInfo[playerid][Kills] == 1300) return PlayerInfo[playerid][pRank] = 10;
  361. if(PlayerInfo[playerid][Kills] == 1650) return PlayerInfo[playerid][pRank] = 11;
  362. if(PlayerInfo[playerid][Kills] == 2050) return PlayerInfo[playerid][pRank] = 12;
  363. if(PlayerInfo[playerid][Kills] == 2500) return PlayerInfo[playerid][pRank] = 13;
  364. if(PlayerInfo[playerid][Kills] == 3000) return PlayerInfo[playerid][pRank] = 14;
  365. if(PlayerInfo[playerid][Kills] == 3550) return PlayerInfo[playerid][pRank] = 15;
  366. if(PlayerInfo[playerid][Kills] == 4200) return PlayerInfo[playerid][pRank] = 16;
  367. if(PlayerInfo[playerid][Kills] == 4950) return PlayerInfo[playerid][pRank] = 17;
  368. if(PlayerInfo[playerid][Kills] == 5700) return PlayerInfo[playerid][pRank] = 18;
  369. if(PlayerInfo[playerid][Kills] == 6500) return PlayerInfo[playerid][pRank] = 19;
  370. if(PlayerInfo[playerid][Kills] == 7550) return PlayerInfo[playerid][pRank] = 20;
  371. if(PlayerInfo[playerid][Kills] == 9000) return PlayerInfo[playerid][pRank] = 21;
  372. return 1;
  373. }
  374.  
  375. public OnPlayerSpawn(playerid)
  376. {
  377. SetPVarInt(playerid,"Alive",1);
  378. TextDrawSetString(HealthBar[playerid],"..........");
  379. TextDrawShowForPlayer(playerid,HealthBar[playerid]);
  380. if(PlayerInfo[playerid][isHuman] == 1) return SetPlayerHealth(playerid,100);
  381. if(PlayerInfo[playerid][pRank] == 1)
  382. {
  383. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,60);
  384. GivePlayerWeapon(playerid,SPISTOL,150);
  385. }
  386. else if(PlayerInfo[playerid][pRank] == 2)
  387. {
  388. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,65);
  389. GivePlayerWeapon(playerid,SPISTOL,200);
  390. }
  391. else if(PlayerInfo[playerid][pRank] == 3)
  392. {
  393. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,70);
  394. GivePlayerWeapon(playerid,SPISTOL,250);
  395. }
  396. else if(PlayerInfo[playerid][pRank] == 4)
  397. {
  398. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,75);
  399. GivePlayerWeapon(playerid,SPISTOL,300);
  400. }
  401. else if(PlayerInfo[playerid][pRank] == 5)
  402. {
  403. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,80);
  404. GivePlayerWeapon(playerid,PISTOL,150);
  405. SetPlayerSkillLevel(playerid,0,1);
  406. }
  407. else if(PlayerInfo[playerid][pRank] == 6)
  408. {
  409. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,85);
  410. GivePlayerWeapon(playerid,PISTOL,200);
  411. SetPlayerSkillLevel(playerid,0,1);
  412. }
  413. else if(PlayerInfo[playerid][pRank] == 7)
  414. {
  415. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,90);
  416. GivePlayerWeapon(playerid,PISTOL,250);
  417. SetPlayerSkillLevel(playerid,0,1);
  418. }
  419. else if(PlayerInfo[playerid][pRank] == 8)
  420. {
  421. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,95);
  422. GivePlayerWeapon(playerid,PISTOL,300);
  423. SetPlayerSkillLevel(playerid,0,1);
  424. }
  425. else if(PlayerInfo[playerid][pRank] == 9)
  426. {
  427. if(PlayerInfo[playerid][isZombie] == 1) return SetPlayerHealth(playerid,100);
  428. GivePlayerWeapon(playerid,PISTOL,350);
  429. SetPlayerSkillLevel(playerid,0,1);
  430. }
  431. else if(PlayerInfo[playerid][pRank] == 10)
  432. {
  433. if(PlayerInfo[playerid][isZombie] == 1)
  434. {
  435. SetPlayerHealth(playerid,100);
  436. SetPlayerArmour(playerid,5);
  437. }
  438. GivePlayerWeapon(playerid,SHOTGUN,150);
  439. SetPlayerSkillLevel(playerid,3,5);
  440. }
  441. else if(PlayerInfo[playerid][pRank] == 11)
  442. {
  443. if(PlayerInfo[playerid][isZombie] == 1)
  444. {
  445. SetPlayerHealth(playerid,100);
  446. SetPlayerArmour(playerid,5);
  447. }
  448. GivePlayerWeapon(playerid,SHOTGUN,150);
  449. SetPlayerSkillLevel(playerid,3,5);
  450. }
  451. else if(PlayerInfo[playerid][pRank] == 12)
  452. {
  453. if(PlayerInfo[playerid][isZombie] == 1)
  454. {
  455. SetPlayerHealth(playerid,100);
  456. SetPlayerArmour(playerid,10);
  457. }
  458. GivePlayerWeapon(playerid,SHOTGUN,200);
  459. SetPlayerSkillLevel(playerid,3,5);
  460. }
  461. else if(PlayerInfo[playerid][pRank] == 13)
  462. {
  463. if(PlayerInfo[playerid][isZombie] == 1)
  464. {
  465. SetPlayerHealth(playerid,100);
  466. SetPlayerArmour(playerid,15);
  467. }
  468. GivePlayerWeapon(playerid,SHOTGUN,250);
  469. SetPlayerSkillLevel(playerid,3,5);
  470. }
  471. else if(PlayerInfo[playerid][pRank] == 14)
  472. {
  473. if(PlayerInfo[playerid][isZombie] == 1)
  474. {
  475. SetPlayerHealth(playerid,100);
  476. SetPlayerArmour(playerid,20);
  477. }
  478. GivePlayerWeapon(playerid,SHOTGUN,300);
  479. SetPlayerSkillLevel(playerid,3,5);
  480. }
  481. else if(PlayerInfo[playerid][pRank] == 15)
  482. {
  483. if(PlayerInfo[playerid][isZombie] == 1)
  484. {
  485. SetPlayerHealth(playerid,100);
  486. SetPlayerArmour(playerid,25);
  487. }
  488. GivePlayerWeapon(playerid,SHOTGUN,350);
  489. SetPlayerSkillLevel(playerid,3,5);
  490. }
  491. else if(PlayerInfo[playerid][pRank] == 16)
  492. {
  493. if(PlayerInfo[playerid][isZombie] == 1)
  494. {
  495. SetPlayerHealth(playerid,100);
  496. SetPlayerArmour(playerid,30);
  497. }
  498. GivePlayerWeapon(playerid,DEAGLE,150);
  499. SetPlayerSkillLevel(playerid,2,5);
  500. }
  501. else if(PlayerInfo[playerid][pRank] == 17)
  502. {
  503. if(PlayerInfo[playerid][isZombie] == 1)
  504. {
  505. SetPlayerHealth(playerid,100);
  506. SetPlayerArmour(playerid,35);
  507. }
  508. GivePlayerWeapon(playerid,DEAGLE,200);
  509. SetPlayerSkillLevel(playerid,2,5);
  510. }
  511. else if(PlayerInfo[playerid][pRank] == 18)
  512. {
  513. if(PlayerInfo[playerid][isZombie] == 1)
  514. {
  515. SetPlayerHealth(playerid,100);
  516. SetPlayerArmour(playerid,40);
  517. }
  518. GivePlayerWeapon(playerid,DEAGLE,250);
  519. SetPlayerSkillLevel(playerid,2,5);
  520. }
  521. else if(PlayerInfo[playerid][pRank] == 19)
  522. {
  523. if(PlayerInfo[playerid][isZombie] == 1)
  524. {
  525. SetPlayerHealth(playerid,100);
  526. SetPlayerArmour(playerid,45);
  527. }
  528. GivePlayerWeapon(playerid,DEAGLE,300);
  529. SetPlayerSkillLevel(playerid,2,5);
  530. }
  531. else if(PlayerInfo[playerid][pRank] == 20)
  532. {
  533. if(PlayerInfo[playerid][isZombie] == 1)
  534. {
  535. SetPlayerHealth(playerid,100);
  536. SetPlayerArmour(playerid,50);
  537. GivePlayerWeapon(playerid,4,1);
  538. }
  539. GivePlayerWeapon(playerid,DEAGLE,350);
  540. SetPlayerSkillLevel(playerid,2,5);
  541. }
  542. else if(PlayerInfo[playerid][pRank] == 21)
  543. {
  544. if(PlayerInfo[playerid][isZombie] == 1)
  545. {
  546. SetPlayerHealth(playerid,100);
  547. SetPlayerArmour(playerid,100);
  548. GivePlayerWeapon(playerid,4,1);
  549. }
  550. GivePlayerWeapon(playerid,AK,500);
  551. GivePlayerWeapon(playerid,DEAGLE,500);
  552. GivePlayerWeapon(playerid,M4,500);
  553. GivePlayerWeapon(playerid,KNIFE,500);
  554. GivePlayerWeapon(playerid,CHAINSAW,500);
  555. GivePlayerWeapon(playerid,SMG2,500);
  556. GivePlayerWeapon(playerid,PISTOL,500);
  557. GivePlayerWeapon(playerid,SSHOTGUN,500);
  558. SetPlayerArmour(playerid,10.5);
  559. }
  560. return 1;
  561. }
  562.  
  563. public OnPlayerText(playerid, text[])
  564. {
  565. new senderName[MAX_PLAYER_NAME];
  566. new pstring[256];
  567. GetPlayerName(playerid, senderName, sizeof(senderName));
  568. format(pstring, sizeof(pstring),"[ID:%d]:%s", playerid, text);
  569. SendPlayerMessageToAll(white, pstring);
  570.  
  571. if(text[1] == '/' && text[2] == 'q') {
  572. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  573. format(string,sizeof(string),"%s has attempted to make a /q joke (%s)",string, text); SendAdminMessage(blue, string);
  574. return 0;
  575. }
  576. if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
  577. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  578. format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]); SendAdminMessage(gold, string);
  579. return 0;
  580. }
  581.  
  582. if(strfind(text, "~", true) != -1 || !text[0]) return 0;
  583.  
  584. SetPVarInt(playerid,"textspam",GetPVarInt(playerid,"textspam")+1);
  585. SetTimerEx("clearspam",5000,false,"d",playerid);
  586. if(GetPVarInt(playerid,"textspam") == 5) {
  587. new string[128], tname[MAX_PLAYER_NAME];
  588. GetPlayerName(playerid,tname,sizeof(tname));
  589. format(string,sizeof(string),"F-Anti: %s (%d) has been Kicked for Excess Flood (Text Spam)", tname,playerid);
  590. SendClientMessageToAll(gold,string);
  591. CallRemoteFunction("KickIncrease","d",playerid);
  592. Kick(playerid);
  593. }
  594. else if(GetPVarInt(playerid,"textspam") == 4) {
  595. SendClientMessage(playerid,red,"stop spamming or you will be kicked! (wait 5 seconds)");
  596. return 0;
  597. }
  598. return 1;
  599. }
  600.  
  601. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  602. {//Controls for Spectate - Numpad4 - Previous || NumPAD 6 - Next
  603. if(newkeys == KEY_ANALOG_RIGHT && IsPlayerSpectating[playerid]) {
  604. SpectatePrevious(playerid);
  605. }
  606. if(newkeys == KEY_ANALOG_LEFT && IsPlayerSpectating[playerid]) {
  607. SpectateNext(playerid);
  608. }
  609.  
  610. if(gTeam[playerid] != TEAM_HUNTER)
  611. {
  612. if(newkeys == KEY_JUMP)
  613. {
  614. new Float:X1 , Float:Y1 , Float:Z1 ;
  615. GetPlayerVelocity ( playerid, X1, Y1, Z1 );
  616. SetPlayerVelocity ( playerid, X1, Y1, Z1 + 10.5 );
  617. }
  618. }
  619.  
  620. if(newkeys & KEY_WALK)
  621. {
  622. if(gTeam[playerid] == TEAM_ZOMBIE || TEAM_CHARGER || TEAM_HUNTER)
  623. {
  624. if(GetPlayerWeapon(playerid) == 4 || GetPlayerWeapon(playerid) == 9)
  625. {
  626. new victimid = GetClosestPlayer(playerid);
  627. foreach(Player, i)
  628. {
  629. if(i != playerid)
  630. {
  631. if(gTeam[i] == TEAM_HUMAN || gTeam[i] == TEAM_MEDIC || gTeam[i] == TEAM_ARMY)
  632. {
  633. new Float:X,Float:Y,Float:Z;
  634. GetPlayerPos(i, X,Y,Z);
  635. if(IsPlayerAimingAt(playerid, X,Y,Z,1))
  636. {
  637. printf("Working");
  638. new Float:health;
  639. GetPlayerHealth(victimid, health);
  640. SetPlayerHealth(victimid, health - 35.0);
  641. }
  642. }
  643. }
  644. }
  645. }
  646. }
  647. }
  648. return 1;
  649. }
  650.  
  651. public OnPlayerUpdate(playerid)
  652. {
  653. if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
  654. {
  655. new weaponid=GetPlayerWeapon(playerid),oldweapontype=GetWeaponType(OldWeapon[playerid]);
  656. new weapontype=GetWeaponType(weaponid);
  657. if(HoldingWeapon[playerid]==weaponid) return StopPlayerHoldingObject(playerid);
  658. if(OldWeapon[playerid]!=weaponid)
  659. {
  660. new modelid=GetWeaponModel(OldWeapon[playerid]);
  661. if(modelid!=0 && oldweapontype!=WEAPON_TYPE_NONE && oldweapontype!=weapontype)
  662. {
  663. HoldingWeapon[playerid]=OldWeapon[playerid];
  664. switch(oldweapontype)
  665. {
  666. case WEAPON_TYPE_LIGHT:
  667. SetPlayerHoldingObject(playerid, modelid, 8,0.0,-0.1,0.15, -100.0, 0.0, 0.0);
  668. case WEAPON_TYPE_MELEE:
  669. SetPlayerHoldingObject(playerid, modelid, 7,0.0,0.0,-0.18, 100.0, 45.0, 0.0);
  670. case WEAPON_TYPE_HEAVY:
  671. SetPlayerHoldingObject(playerid, modelid, 1, 0.2,-0.125,-0.1,0.0,25.0,180.0);
  672. }
  673. }
  674.  
  675. }
  676. if(oldweapontype!=weapontype)
  677. OldWeapon[playerid]=weaponid;
  678. }
  679.  
  680. new Float:Health;
  681. GetPlayerHealth(playerid,Health);
  682. if(Health >= 90)
  683. {
  684. TextDrawSetString(HealthBar[playerid],"..........");
  685. return 1;
  686. }
  687. if(Health >= 80)
  688. {
  689. TextDrawSetString(HealthBar[playerid],".........");
  690. return 1;
  691. }
  692. if(Health >= 70)
  693. {
  694. TextDrawSetString(HealthBar[playerid],"........");
  695. return 1;
  696. }
  697. if(Health >= 60)
  698. {
  699. TextDrawSetString(HealthBar[playerid],".......");
  700. return 1;
  701. }
  702. if(Health >= 50)
  703. {
  704. TextDrawSetString(HealthBar[playerid],"......");
  705. return 1;
  706. }
  707. if(Health >= 40)
  708. {
  709. TextDrawSetString(HealthBar[playerid],".....");
  710. return 1;
  711. }
  712. if(Health >= 30)
  713. {
  714. TextDrawSetString(HealthBar[playerid],"....");
  715. return 1;
  716. }
  717. if(Health >= 20)
  718. {
  719. TextDrawSetString(HealthBar[playerid],"...");
  720. return 1;
  721. }
  722. if(Health >= 10)
  723. {
  724. TextDrawSetString(HealthBar[playerid],"..");
  725. return 1;
  726. }
  727. if(Health > 0)
  728. {
  729. TextDrawSetString(HealthBar[playerid],".");
  730. return 1;
  731. }
  732. return 1;
  733. }
  734.  
  735. public OnPlayerStateChange(playerid, newstate, oldstate)
  736. {
  737. if(oldstate==PLAYER_STATE_ONFOOT)
  738. {
  739. StopPlayerHoldingObject(playerid);
  740. OldWeapon[playerid]=0;
  741. HoldingWeapon[playerid]=0;
  742. }
  743.  
  744. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) {
  745. for(new i=0; i<MAX_PLAYERS; i++) {
  746. if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid) {
  747. new str[128];
  748. PlayerSpectateVehicle(i, GetPlayerVehicleID(SpectatedPlayer[i]));
  749. format(str, 128, "Spectating type changed, %s entered a vehicle.", GetName(playerid));
  750. SendClientMessage(i, pink, str);
  751. }
  752. }
  753. }
  754. if(newstate == PLAYER_STATE_ONFOOT) {
  755. for(new i=0; i<MAX_PLAYERS; i++) {
  756. if(IsPlayerConnected(i) && IsPlayerSpectating[i] && SpectatedPlayer[i] == playerid) {
  757. new str[128];
  758. PlayerSpectatePlayer(i, SpectatedPlayer[i]);
  759. format(str, 128, "Spectating type changed, %s left the vehicle.", GetName(playerid));
  760. SendClientMessage(i, pink, str);
  761. }
  762. }
  763. }
  764. return 1;
  765. }
  766.  
  767. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  768. {
  769. #if defined USE_FLOGIN
  770. if(dialogid == 1) {
  771. new file[256],n[MAX_PLAYER_NAME],string[128],tmp3[100], skin;
  772. GetPlayerName(playerid,n,MAX_PLAYER_NAME);
  773. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  774. skin = GetPlayerSkin(playerid);
  775. if(!response) return SendClientMessage(playerid,yellow,"/register If You Ever Decide That You Want To Register");
  776. if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome, This Server is Using FAdmin Created By FrosTiC. Please Register Here.", "Register", "Leave");
  777. dini_Create(file);
  778. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  779. dini_Set(file,"Password",inputtext); dini_IntSet(file,"Registered",1);
  780. dini_IntSet(file,"Logged",0); dini_IntSet(file,"Level",0);
  781. dini_IntSet(file,"Cash",0); dini_IntSet(file,"Score",0);
  782. dini_IntSet(file,"Froze",0); dini_IntSet(file,"Banned",0);
  783. dini_IntSet(file,"Kills",0); dini_IntSet(file,"Deaths",0);
  784. dini_IntSet(file,"Skin",skin); dini_IntSet(file,"Rank",0);
  785. PlayerInfo[playerid][Registered] = 1;
  786. format(string, 128, "Congratulations, You Have Registered With Nickname %s With Password %s", n, inputtext);
  787. SendClientMessage(playerid,yellow,string);
  788. }
  789. if (dialogid == 2) {
  790. new file[256],n[MAX_PLAYER_NAME];
  791. GetPlayerName(playerid,n,MAX_PLAYER_NAME);
  792. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  793. if(!response) return SendClientMessage(playerid,yellow,"/login If You Ever Decide That You Want To Login");
  794. if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome Back, This Name is Registered, Type in Your Password Below", "Login", "Leave");
  795. new pass[256];
  796. pass = dini_Get(file,"Password");
  797. if(strcmp(inputtext,pass,false) != 0) {
  798. SendClientMessage(playerid,yellow,"Wrong Password!");
  799. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome Back, This Name is Registered, Type in Your Password Below", "Login", "Leave");
  800. } else {
  801. LoginPlayer(playerid);
  802. SendClientMessage(playerid,yellow,"You Have Logged In and Your Stats Has Been Loaded");
  803. }
  804. }
  805. #endif
  806. if(dialogid==Dialog_Weaps)
  807. {
  808. if(response)
  809. {
  810. if(listitem==0)
  811. {
  812. if(GetPlayerMoney(playerid) < 2500)
  813. {
  814. SendClientMessage(playerid,COLOR_RED, "The Uzi costs $2500.You haven't enough money!");
  815. }
  816. GivePlayerMoney(playerid, 2500);
  817. SendClientMessage(playerid, COLOR_GREEN, "You bought Uzi!");
  818. GivePlayerWeapon(playerid, 28, 150);
  819. }
  820. if(listitem==1)
  821. {
  822. if(GetPlayerMoney(playerid) < 10000)
  823. {
  824. SendClientMessage(playerid,COLOR_RED, "The Ak47 costs $1800.You haven't enough money!");
  825. }
  826. GivePlayerMoney(playerid, -10000);
  827. SendClientMessage(playerid, COLOR_GREEN, "You bought Ak47!");
  828. GivePlayerWeapon(playerid, 30, 150);
  829.  
  830. }
  831. if(listitem==2)
  832. {
  833. if(GetPlayerMoney(playerid) < 20000)
  834. {
  835. SendClientMessage(playerid,COLOR_RED, "The Sawn-Off costs $20000.You haven't enough money!");
  836.  
  837. }
  838. GivePlayerMoney(playerid, -20000);
  839. SendClientMessage(playerid, COLOR_GREEN, "You bought Sawn-Off!");
  840. GivePlayerWeapon(playerid, 26, 150);
  841. }
  842. if(listitem==3)
  843. {
  844. if(GetPlayerMoney(playerid) < 3500)
  845. {
  846. SendClientMessage(playerid,COLOR_RED, "The Tec9 costs $3500.You haven't enough money!");
  847. }
  848. GivePlayerMoney(playerid, -3500);
  849. SendClientMessage(playerid, COLOR_GREEN, "You bought Tec9!");
  850. GivePlayerWeapon(playerid, 32, 150);
  851. }
  852. if(listitem==4)
  853. {
  854. if(GetPlayerMoney(playerid) < 20999)
  855. {
  856. SendClientMessage(playerid,COLOR_RED, "The SMG costs $20999.You haven't enough money!");
  857. }
  858. GivePlayerMoney(playerid, -20999);
  859. SendClientMessage(playerid, COLOR_GREEN, "You bought SMG!");
  860. GivePlayerWeapon(playerid, 29, 150);
  861. }
  862. if(listitem==5)
  863. {
  864. if(GetPlayerMoney(playerid) < 25000)
  865. {
  866. SendClientMessage(playerid,COLOR_RED, "The Combat Shotgun costs $34500.You haven't enough money!");
  867. }
  868. GivePlayerMoney(playerid, -25000);
  869. SendClientMessage(playerid, COLOR_GREEN, "You bought Combat Shotgun!");
  870. GivePlayerWeapon(playerid, 27, 150);
  871. }
  872. if(listitem==6)
  873. {
  874. if(GetPlayerMoney(playerid) < 1500000)
  875. {
  876. SendClientMessage(playerid,COLOR_RED,"The Rocket Launcher costs $150000!You haven't enough money!");
  877. }
  878. GivePlayerMoney(playerid,-1500000);
  879. SendClientMessage(playerid,COLOR_GREEN,"You bought Rocket Launcher!");
  880. GivePlayerWeapon(playerid,35,15);
  881. }
  882. if(listitem==7)
  883. {
  884.  
  885. if(GetPlayerMoney(playerid) < 2000)
  886. {
  887. SendClientMessage(playerid,COLOR_RED,"You don't have enough money for heal yourself!");
  888. }
  889. GivePlayerMoney(playerid,-2000);
  890. SetPlayerHealth(playerid,100);
  891. SetPlayerArmour(playerid,100);
  892. }
  893. }
  894. }
  895. return 1;
  896. }
  897. /*==============================================================================
  898. =============================Timers/Extras======================================
  899. ================================================================================*/
  900. stock pName(playerid)
  901. {
  902. new aname[MAX_PLAYER_NAME];
  903. GetPlayerName(playerid, aname, sizeof(aname));
  904. return aname;
  905. }
  906.  
  907. stock IsNumeric(string[])
  908. {
  909. for (new i = 0, j = strlen(string); i < j; i++)
  910. {
  911. if (string[i] > '9' || string[i] < '0') return 0;
  912. }
  913. return 1;
  914. }
  915.  
  916. stock GetWeaponIDFromName(WeaponName[])
  917. {
  918. if(strfind("molotov",WeaponName,true)!=-1) return 18;
  919. for(new i = 0; i <= 46; i++)
  920. {
  921. switch(i)
  922. {
  923. case 0,19,20,21,44,45: continue;
  924. default:
  925. {
  926. new name[32]; GetWeaponName(i,name,32);
  927. if(strfind(name,WeaponName,true) != -1) return i;
  928. }
  929. }
  930. }
  931. return -1;
  932. }
  933.  
  934. stock IsValidWeapon(weaponid)
  935. {
  936. if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  937. return 0;
  938. }
  939.  
  940. stock IsValidSkin(SkinID)
  941. {
  942. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  943. else return false;
  944. }
  945.  
  946. stock SendERROR(playerid, error)
  947. {
  948. if(error == 1) return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  949. if(error == 2) return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  950. if(error == 3) return SendClientMessage(playerid,red,"ERROR: Player is not connected or is highest level admin");
  951. if(error == 4) return SendClientMessage(playerid,red,"ERROR: You are not in a vehicle");
  952. if(error == 5) return SendClientMessage(playerid,red,"ERROR: Player not Logged In");
  953. if(error == 6) return SendClientMessage(playerid,red,"ERROR: You are not logged in");
  954. if(error == 7) return SendClientMessage(playerid,red,"ERROR: Player is Not Alive (Dead or Hasn't Spawned)");
  955. return 1;
  956. }
  957.  
  958. #if defined USE_FLOGIN
  959. stock pInf(playerid)
  960. {
  961. PlayerInfo[playerid][Froze] = 0; PlayerInfo[playerid][Duty] = 0;
  962. PlayerInfo[playerid][Logged] = 0; PlayerInfo[playerid][Registered] = 0;
  963. PlayerInfo[playerid][Level] = 0; PlayerInfo[playerid][Cash] = 0;
  964. PlayerInfo[playerid][Score] = 0; PlayerInfo[playerid][God] = 0;
  965. PlayerInfo[playerid][GodCar] = 0; PlayerInfo[playerid][Warnings] = 0;
  966. PlayerInfo[playerid][Kills] = 0; PlayerInfo[playerid][Deaths] = 0;
  967. PlayerInfo[playerid][InDuel] = 0; PlayerInfo[playerid][pRank] = 1;
  968. PlayerInfo[playerid][Privileges] = 0; PlayerInfo[playerid][isHuman] = 0;
  969. PlayerInfo[playerid][isZombie] = 0; PlayerInfo[playerid][PlayerY] = 0;
  970.  
  971. PrivMSG[playerid][LastMSG] = INVALID_PLAYER_ID;
  972. PrivMSG[playerid][NoPM] = 1;
  973. return 1;
  974. }
  975. #endif
  976.  
  977. stock SendAdminMessage(color,const string[])
  978. {
  979. for(new i = 0; i < MAX_PLAYERS; i++)
  980. {
  981. if(IsPlayerConnected(i) == 1) if(PlayerInfo[i][Level] >= 1) SendClientMessage(i, color, string);
  982. }
  983. return 1;
  984. }
  985.  
  986. stock FAmmo(playerid)
  987. {
  988. new slot, weap, ammo;
  989. for (slot = 0; slot < 14; slot++)
  990. {
  991. GetPlayerWeaponData(playerid, slot, weap, ammo);
  992. if(IsValidWeapon(weap))
  993. {
  994. GivePlayerWeapon(playerid, weap, 99999);
  995. }
  996. }
  997. return 1;
  998. }
  999.  
  1000. stock IsPlayerOnFoot(playerid)
  1001. {
  1002. if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) return 1;
  1003. return 0;
  1004. }
  1005.  
  1006. stock IsPlayerAlive(playerid)
  1007. {
  1008. if(GetPVarInt(playerid, "Alive") == 1) return 1;
  1009. return 0;
  1010. }
  1011.  
  1012. stock IsPlayerSwimming(playerid)
  1013. {
  1014. if(swimming[playerid]) return 1;
  1015. return 0;
  1016. }
  1017.  
  1018. stock GetName(i)
  1019. {
  1020. new name[24];
  1021. GetPlayerName(i, name, 24);
  1022. return name;
  1023. }
  1024.  
  1025. stock PlayerType(Type)
  1026. {
  1027. if(Type < 1 || Type > 6) return false;
  1028. if(Type == 1)
  1029. {
  1030. PlayerInfo[playerid][PlayerY] = ZOMBIE;
  1031. PlayerInfo[playerid][isZombie] = true;
  1032. PlayerInfo[playerid][isHuman] = false;
  1033. }
  1034. else if(Type == 2)
  1035. {
  1036. PlayerInfo[playerid][PlayerY] = HUNTER;
  1037. PlayerInfo[playerid][isZombie] = true;
  1038. PlayerInfo[playerid][isHuman] = false;
  1039. }
  1040. else if(Type == 3)
  1041. {
  1042. PlayerInfo[playerid][PlayerY] = CHARGER;
  1043. PlayerInfo[playerid][isZombie] = true;
  1044. PlayerInfo[playerid][isHuman] = false;
  1045. }
  1046. else if(Type == 4)
  1047. {
  1048. PlayerInfo[playerid][PlayerY] = HUMAN;
  1049. PlayerInfo[playerid][isHuman] = true;
  1050. PlayerInfo[playerid][isZombie] = false;
  1051. }
  1052. else if(Type == 5)
  1053. {
  1054. PlayerInfo[playerid][PlayerY] = MEDIC;
  1055. PlayerInfo[playerid][isHuman] = true;
  1056. PlayerInfo[playerid][isZombie] = false;
  1057. }
  1058. else if(Type == 6)
  1059. {
  1060. PlayerInfo[playerid][PlayerY] = ARMY;
  1061. PlayerInfo[playerid][isHuman] = true;
  1062. PlayerInfo[playerid][isZombie] = false;
  1063. }
  1064. return 1;
  1065. }
  1066.  
  1067. stock Zombie(playerid)
  1068. {
  1069. ResetPlayerWeapons(playerid);
  1070. SetPlayerTeam(playerid,0);
  1071. SetPlayerColor(playerid,Z_COLOR);
  1072. SetPlayerHealth(playerid,50);
  1073. SetPlayerWeather(playerid,32);
  1074. SetPlayerTime(playerid,24,0);
  1075. GameTextForPlayer(playerid,"~r~Eat~n~~w~THE~n~~p~HUMANS~n~~w~BRAINS",6000,4);
  1076. GivePlayerWeapon(playerid,KNIFE,500);
  1077. new zskin = random(3);
  1078. switch(zskin)
  1079. {
  1080. case 0:{SetPlayerSkin(playerid,SKIN_H); SetPlayerTeam(playerid,0); SendClientMessage(playerid,COLOR_GREEN,"Zombie Class: Hunter Powers: Jump height");}
  1081. case 1:{SetPlayerSkin(playerid,SKIN_Z); SetPlayerTeam(playerid,0); SendClientMessage(playerid,COLOR_GREEN,"Zombie Class: Regular Zombie Powers: none");}
  1082. case 2:{SetPlayerSkin(playerid,SKIN_C); SetPlayerTeam(playerid,0); SendClientMessage(playerid,COLOR_GREEN,"Zombie Class: Charger Powers: none");}
  1083. }
  1084. new RandomZWep = random(4);
  1085. switch(RandomZWep)
  1086. {
  1087. case 0: GivePlayerWeapon(playerid,KNIFE,1);
  1088. case 1: GivePlayerWeapon(playerid,CHAINSAW,1);
  1089. case 2: GivePlayerWeapon(playerid,CHAINSAW,1); // added this so it doesnt only give knife
  1090. case 3: GivePlayerWeapon(playerid,KNIFE,1); // added this so is doesnt only give knife
  1091. }
  1092. SendClientMessage(playerid,COLOR_RED,"--------INFECTION---------------------------------");
  1093. SendClientMessage(playerid,COLOR_WHITE,"--------------------------------------------------");
  1094. SendClientMessage(playerid,COLOR_WHITE,"--------------------------------------------------");
  1095. SendClientMessage(playerid,COLOR_WHITE,"USE LEFT ALT TO MAKE HUMANS LOSE HP 35 HP Per hit");
  1096. SendClientMessage(playerid,COLOR_WHITE,"--------------------------------------------------");
  1097. SendClientMessage(playerid,COLOR_WHITE,"---------------------------------------------------");
  1098. }
  1099.  
  1100. stock Human(playerid)
  1101. {
  1102. ResetPlayerWeapons(playerid);
  1103. SetPlayerTeam(playerid,1);
  1104. SetPlayerColor(playerid,H_COLOR);
  1105. SetPlayerHealth( playerid , 110 );
  1106. SetPlayerWeather(playerid,32);
  1107. GameTextForPlayer(playerid,"~r~GO~n~~w~SAVE~n~~p~THE~n~~w~WORLD",6000,4);
  1108. new RandomSkinNClass = random(8);
  1109. switch(RandomSkinNClass)
  1110. {
  1111. case 0:{SetPlayerSkin(playerid,275); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Medic Power: Heal humans "); }
  1112. case 1:{SetPlayerSkin(playerid,274); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Medic Power: Heal humans "); }
  1113. case 2:{SetPlayerSkin(playerid,2); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Human Power: None "); }
  1114. case 3:{SetPlayerSkin(playerid,252); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Human Power: None "); }
  1115. case 4:{SetPlayerSkin(playerid,104); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Human Power: None "); }
  1116. case 5:{SetPlayerSkin(playerid,93); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Human Power: None ");}
  1117. case 6:{SetPlayerSkin(playerid,287); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Military (army) Power: Extra HP +10 hp"); SetPlayerHealth(playerid,110); }
  1118. case 7:{SetPlayerSkin(playerid,285); SetPlayerTeam(playerid,3); SendClientMessage(playerid,COLOR_GREEN,"Human Class: Military (army) Power: Extra HP +10 hp"); SetPlayerHealth(playerid,110); }
  1119. }
  1120. }
  1121.  
  1122. stock TurningInfected(playerid)
  1123. {
  1124. foreach(Player,i)
  1125. {
  1126. Zombie(i);
  1127. KillTimer(InfectedT[i]);
  1128. }
  1129. return 1;
  1130. }
  1131.  
  1132. stock Float:GetDistanceBetweenPlayers(p1,p2)
  1133. {
  1134. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  1135. if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
  1136. {
  1137. return -1.00;
  1138. }
  1139. GetPlayerPos(p1,x1,y1,z1);
  1140. GetPlayerPos(p2,x2,y2,z2);
  1141. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  1142. }
  1143.  
  1144. stock GetClosestPlayer(p1)
  1145. {
  1146. new x,Float:dis,Float:dis2,player;
  1147. player = -1;
  1148. dis = 99999.99;
  1149. for (x=0;x<MAX_PLAYERS;x++)
  1150. {
  1151. if(IsPlayerConnected(x))
  1152. {
  1153. if(x != p1)
  1154. {
  1155. dis2 = GetDistanceBetweenPlayers(x,p1);
  1156. if(dis2 < dis && dis2 != -1.00)
  1157. {
  1158. dis = dis2;
  1159. player = x;
  1160. }
  1161. }
  1162. }
  1163. }
  1164. return player;
  1165. }
  1166.  
  1167. stock IsPlayerBehindPlayer(playerid, targetid, Float:Offset)
  1168. {
  1169.  
  1170. new
  1171. Float:pa,
  1172. Float:ta;
  1173.  
  1174. if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0;
  1175.  
  1176. GetPlayerFacingAngle(playerid, pa);
  1177. GetPlayerFacingAngle(targetid, ta);
  1178.  
  1179. if(AngleInRangeOfAngle(pa, ta, dOffset) && IsPlayerFacingPlayer(playerid, targetid, dOffset)) return true;
  1180.  
  1181. return false;
  1182.  
  1183. }
  1184.  
  1185. Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ, Float:FrX, Float:FrY, Float:FrZ)
  1186. {
  1187.  
  1188. new Float:TGTDistance;
  1189.  
  1190. TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));
  1191.  
  1192. new Float:tmpX, Float:tmpY, Float:tmpZ;
  1193.  
  1194. tmpX = FrX * TGTDistance + CamX;
  1195. tmpY = FrY * TGTDistance + CamY;
  1196. tmpZ = FrZ * TGTDistance + CamZ;
  1197.  
  1198. return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
  1199. }
  1200.  
  1201. stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
  1202. {
  1203. new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
  1204. GetPlayerCameraPos(playerid, cx, cy, cz);
  1205. GetPlayerCameraFrontVector(playerid, fx, fy, fz);
  1206. return (radius >= DistanceCameraTargetToLocation(cx, cy, cz, x, y, z, fx, fy, fz));
  1207. }
  1208. /*==============================================================================
  1209. =============================CallBacks<-->======================================
  1210. ================================================================================*/
  1211.  
  1212. forward GodUpdate(playerid);
  1213. public GodUpdate(playerid)
  1214. {
  1215. if(PlayerInfo[playerid][God] == 1) {
  1216. SetPlayerHealth(playerid,100000);
  1217. }
  1218. if(PlayerInfo[playerid][GodCar] == 1) {
  1219. new Veh = GetPlayerVehicleID(playerid);
  1220. RepairVehicle(Veh);
  1221. }
  1222. return 1;
  1223. }
  1224.  
  1225. forward countdown();
  1226. public countdown()
  1227. {
  1228. if(CountDown==6) GameTextForAll("~b~~h~~h~Starting...",1000,6);
  1229.  
  1230. CountDown--;
  1231. if(CountDown==0)
  1232. {
  1233. GameTextForAll("~g~~h~~h~GO!",1000,6);
  1234. CountDown = -1;
  1235. for(new i = 0; i < MAX_PLAYERS; i++) {
  1236. TogglePlayerControllable(i,true);
  1237. PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  1238. }
  1239. return 0;
  1240. }
  1241. else
  1242. {
  1243. new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
  1244. for(new i = 0; i < MAX_PLAYERS; i++) {
  1245. PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  1246. }
  1247. GameTextForAll(text,1000,6);
  1248. }
  1249.  
  1250. SetTimer("countdown",1000,0);
  1251. return 0;
  1252. }
  1253.  
  1254. forward clearspam(playerid);
  1255. public clearspam(playerid)
  1256. {
  1257. SetPVarInt(playerid,"textspam",0);
  1258. }
  1259.  
  1260. #if defined USE_FLOGIN
  1261. LoginPlayer(playerid)
  1262. {
  1263. new file[256], n[MAX_PLAYER_NAME]; GetPlayerName(playerid,n,sizeof(n)); format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1264. PlayerInfo[playerid][Logged] = 1;
  1265. PlayerInfo[playerid][Level] = dini_Int(file,"Level");
  1266. PlayerInfo[playerid][Froze] = dini_Int(file,"Froze");
  1267. PlayerInfo[playerid][Colour] = dini_Int(file,"Colour");
  1268. PlayerInfo[playerid][Kills] = dini_Int(file,"Kills");
  1269. PlayerInfo[playerid][Deaths] = dini_Int(file,"Deaths");
  1270. PlayerInfo[playerid][pRank] = dini_Int(file,"Rank");
  1271. ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dini_Int(file,"Cash") );
  1272. SetPlayerScore(playerid, dini_Int(file,"Score") );
  1273. }
  1274.  
  1275. forward SavePlayer(playerid);
  1276. public SavePlayer(playerid)
  1277. {
  1278. new file[256], n[MAX_PLAYER_NAME], level, cash, score, color; level = PlayerInfo[playerid][Level], cash = GetPlayerMoney(playerid), score = GetPlayerScore(playerid), color = GetPlayerColor(playerid);
  1279. new kills = PlayerInfo[playerid][Kills], deaths = PlayerInfo[playerid][Deaths];
  1280. GetPlayerName(playerid,n,sizeof(n)); format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1281. dini_IntSet(file,"Level",level); dini_IntSet(file,"Cash",cash);
  1282. dini_IntSet(file,"Score",score); dini_IntSet(file,"Colour",color);
  1283. dini_IntSet(file,"Kills",kills); dini_IntSet(file,"Deaths",deaths);
  1284. dini_IntSet(file,"Rank",PlayerInfo[playerid][pRank]);
  1285. }
  1286. #endif
  1287.  
  1288. forward Freeze(id);
  1289. public Freeze(id)
  1290. {
  1291. new n[MAX_PLAYER_NAME]; GetPlayerName(id,n,sizeof(n));
  1292. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1293. if(PlayerInfo[id][Froze] == 1) {
  1294. TogglePlayerControllable(id, 1);
  1295. SendClientMessage(id,lightblue,"You been auto unfrozed.");
  1296. PlayerInfo[id][Froze] = 0;
  1297. dini_IntSet(file,"Froze",0);
  1298. }
  1299. return 1;
  1300. }
  1301.  
  1302. forward FAdminUpdate(playerid);
  1303. public FAdminUpdate(playerid)
  1304. {
  1305. if(GetPlayerAnimationIndex(playerid)) {
  1306. new animlib[32];
  1307. new animname[32];
  1308. GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
  1309. if(strcmp(animlib, "SWIM", true) == 0 && !swimming[playerid]) {
  1310. swimming[playerid] = true;
  1311. } else if(strcmp(animlib, "SWIM", true) != 0 && swimming[playerid] && strfind(animname, "jump", true) == -1) {
  1312. swimming[playerid] = false;
  1313. }
  1314. } else if(swimming[playerid]) {
  1315. swimming[playerid] = false;
  1316. }
  1317. return 1;
  1318. }
  1319.  
  1320. forward SpectateOn(playerid);
  1321. public SpectateOn(playerid)
  1322. {
  1323. TogglePlayerSpectating(playerid, 1);
  1324. for(new i=0; i<MAX_PLAYERS; i++) {
  1325. if(!IsPlayerConnected(i)) continue;
  1326. SpectatedPlayer[playerid] = i;
  1327. PlayerSpectatePlayer(playerid, i);
  1328. }
  1329. IsPlayerSpectating[playerid] = true;
  1330. new str[128];
  1331. format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
  1332. SendClientMessage(playerid, pink, str);
  1333. format(str,128,"~w~~n~~n~%s ~g~Money - $%d ~b~score - %d ~n~~w~Spectation - ~g~on",GetName(SpectatedPlayer[playerid]),GetPlayerMoney(SpectatedPlayer[playerid]),GetPlayerScore(SpectatedPlayer[playerid]));
  1334. GameTextForPlayer(playerid,str,10000,3);
  1335. }
  1336.  
  1337. forward SpectateOff(playerid);
  1338. public SpectateOff(playerid)
  1339. {
  1340. TogglePlayerSpectating(playerid, 0);
  1341. SpectatedPlayer[playerid] = 0;
  1342. IsPlayerSpectating[playerid] = false;
  1343. SendClientMessage(playerid, pink, "You stopped spectating.");
  1344. }
  1345.  
  1346. forward SpectateNext(playerid);
  1347. public SpectateNext(playerid)
  1348. {
  1349. SpectatedPlayer[playerid]++;
  1350. for(new i=SpectatedPlayer[playerid]; i<MAX_PLAYERS; i++) {
  1351. if(!IsPlayerConnected(i)) continue;
  1352. if(IsPlayerInAnyVehicle(i)) {
  1353. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
  1354. } else {
  1355. PlayerSpectatePlayer(playerid, i);
  1356. }
  1357. SpectatedPlayer[playerid] = i;
  1358. break;
  1359. }
  1360. new str[128];
  1361. format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
  1362. SendClientMessage(playerid, pink, str);
  1363. }
  1364.  
  1365. forward SpectatePrevious(playerid);
  1366. public SpectatePrevious(playerid)
  1367. {
  1368. SpectatedPlayer[playerid]--;
  1369. for(new i=SpectatedPlayer[playerid]; i>-1; i--) {
  1370. if(!IsPlayerConnected(i)) continue;
  1371. if(IsPlayerInAnyVehicle(i)) {
  1372. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
  1373. } else {
  1374. PlayerSpectatePlayer(playerid, i);
  1375. }
  1376. SpectatedPlayer[playerid] = i;
  1377. break;
  1378. }
  1379. new str[128];
  1380. format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
  1381. SendClientMessage(playerid, pink, str);
  1382. }
  1383.  
  1384. forward PayRanks(playerid);
  1385. public PayRanks(playerid)
  1386. {
  1387. new pMoney = GetPlayerMoney(playerid);
  1388. if(PlayerInfo[playerid][pRank] >= 1)
  1389. {
  1390. GivePlayerMoney(playerid,pMoney+5000);
  1391. }
  1392. if(PlayerInfo[playerid][pRank] >= 5)
  1393. {
  1394. GivePlayerMoney(playerid,pMoney+7500);
  1395. }
  1396. if(PlayerInfo[playerid][pRank] >= 10)
  1397. {
  1398. GivePlayerMoney(playerid,pMoney+10000);
  1399. }
  1400. if(PlayerInfo[playerid][pRank] >= 15)
  1401. {
  1402. GivePlayerMoney(playerid,pMoney+15000);
  1403. }
  1404. if(PlayerInfo[playerid][pRank] == 20)
  1405. {
  1406. GivePlayerMoney(playerid,pMoney+20000);
  1407. }
  1408. if(PlayerInfo[playerid][pRank] == 21)
  1409. {
  1410. GivePlayerMoney(playerid,pMoney+25000);
  1411. }
  1412. return 1;
  1413. }
  1414.  
  1415. public rMessage()
  1416. {
  1417. new rNumber, Check = 0;
  1418. do{
  1419. for(new i=0; i<sizeof(rCheckList); i++)
  1420. if(rCheckList[i] != 0)
  1421. Check++;
  1422. if(Check == sizeof(rCheckList))
  1423. for(new i=0; i<sizeof(rCheckList); i++)
  1424. rCheckList[i] = 0;
  1425. rNumber = random(sizeof(rMessageList));
  1426. }while(rCheckList[rNumber]);
  1427. SendClientMessageToAll(COLOR_YELLOW, rMessageList[rNumber]);
  1428. rCheckList[rNumber] = 1;
  1429. }
  1430.  
  1431. public NoZombieWeapons(playerid)
  1432. {
  1433. if(gTeam[playerid] == TEAM_ZOMBIE)
  1434. {
  1435. switch (GetPlayerWeapon(playerid))
  1436. {
  1437. case 1,2,3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46:
  1438. {
  1439. ResetPlayerWeapons(playerid);
  1440. GivePlayerWeapon(playerid, KNIFE, 600);
  1441. }
  1442. }
  1443. }
  1444. return 1;
  1445. }
  1446.  
  1447. public InfectedRandom()
  1448. {
  1449. foreach(Player, i)
  1450. {
  1451. new Random = Iter_Random(Player);
  1452. Zombie(Random);
  1453. }
  1454. }
  1455.  
  1456. public Unfreeze(playerid)
  1457. {
  1458. GameTextForPlayer(playerid,"~r~ Loading ~w~~n~Zombie Settings",6000,4);
  1459. TogglePlayerControllable(playerid,0);
  1460. TogglePlayerControllable(playerid,1);
  1461. return 1;
  1462. }
  1463.  
  1464. // Z-RO who killed me
  1465. public D1(playerid)
  1466. {
  1467. GameTextForPlayer(playerid,"~r~3",1000,4);
  1468. SetTimerEx("D2", 1000, false,"d",playerid);
  1469. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  1470. }
  1471.  
  1472. public D2(playerid)
  1473. {
  1474. GameTextForPlayer(playerid,"~y~2",1000,4);
  1475. SetTimerEx("D3", 1000, false,"d",playerid);
  1476. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  1477. }
  1478.  
  1479. public D3(playerid)
  1480. {
  1481. GameTextForPlayer(playerid,"~g~1",1000,4);
  1482. SetTimerEx("DS", 1000, false,"d",playerid);
  1483. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  1484. }
  1485.  
  1486. public DS(playerid)
  1487. {
  1488. TogglePlayerSpectating(playerid, 0);
  1489. SpawnPlayer(playerid);
  1490. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1491. }
  1492.  
  1493. GetWeaponType(weaponid)
  1494. {
  1495. switch(weaponid)
  1496. {
  1497. case 22,23,24,26,28,32:
  1498. return WEAPON_TYPE_LIGHT;
  1499.  
  1500. case 3,4,16,17,18,39,10,11,12,13,14,40,41:
  1501. return WEAPON_TYPE_MELEE;
  1502.  
  1503. case 2,5,6,7,8,9,25,27,29,30,31,33,34,35,36,37,38:
  1504. return WEAPON_TYPE_HEAVY;
  1505. }
  1506. return WEAPON_TYPE_NONE;
  1507. }
  1508.  
  1509. stock GetWeaponModel(weaponid)
  1510. {
  1511. switch(weaponid)
  1512. {
  1513. case 1:
  1514. return 331;
  1515.  
  1516. case 2..8:
  1517. return weaponid+331;
  1518.  
  1519. case 9:
  1520. return 341;
  1521.  
  1522. case 10..15:
  1523. return weaponid+311;
  1524.  
  1525. case 16..18:
  1526. return weaponid+326;
  1527.  
  1528. case 22..29:
  1529. return weaponid+324;
  1530.  
  1531. case 30,31:
  1532. return weaponid+325;
  1533.  
  1534. case 32:
  1535. return 372;
  1536.  
  1537. case 33..45:
  1538. return weaponid+324;
  1539.  
  1540. case 46:
  1541. return 371;
  1542. }
  1543. return 0;
  1544. }
  1545.  
  1546. //Commands - Zcmd - Zeex
  1547. CMD:kill(playerid,params[])
  1548. {
  1549. SetPlayerHealth(playerid,0);
  1550. SendClientMessage(playerid,COLOR_YELLOW,"You have killed yourself.");
  1551. return 1;
  1552. }
  1553.  
  1554. CMD:setrank(playerid,params[])
  1555. {
  1556. if(PlayerInfo[playerid][Logged] == 1)
  1557. {
  1558. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
  1559. {
  1560. new rank,id,file[256],n[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index,str[128];
  1561. tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp),rank = strval(tmp2);
  1562. GetPlayerName(id,n,MAX_PLAYER_NAME); format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1563.  
  1564. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /setrank <ID> <Level>");
  1565. if(IsPlayerConnected(id))
  1566. {
  1567. if(rank > 20 || rank < 0) return SendClientMessage(playerid,red,"Invalid Level");
  1568. if(rank > 0) { format(str,sizeof(str),"~b~~h~~h~Gained ~g~Admin Level ~w~~n~Level (%d)",rank); GameTextForPlayer(id,str,5000, 3); }
  1569. if(rank == 0) { format(str,sizeof(str),"~r~~H~~h~Lost Admin ~w~~n~Level (%d)",rank); GameTextForPlayer(id,str,5000,3); }
  1570. if(rank == PlayerInfo[id][Level]) return SendClientMessage(playerid,red,"Player Already this Level");
  1571. PlayerInfo[id][pRank] = rank;
  1572. dini_IntSet(file,"Rank",rank);
  1573. } else return SendERROR(playerid, 3);
  1574. } else return SendERROR(playerid, 1);
  1575. } else return SendERROR(playerid, 5);
  1576. return 1;
  1577. }
  1578.  
  1579. CMD:fcmds(playerid,params[])
  1580. {
  1581. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  1582. SendClientMessage(playerid,lightblue,"/goto /get /slap /giveweapon /setcash /cetcolour /god /godcar /warn /countdown");
  1583. SendClientMessage(playerid,lightblue,"/aweapons /akill /skick /sban /duel /fammo /fix /announce /spec /specoff");
  1584. SendClientMessage(playerid,lightblue,"/pm /m /reply /r /nopm /fcmds");
  1585. SendClientMessage(playerid,lightblue,"/register /login /setlevel /kick /ban /freeze /unfreeze /testcmds /explode");
  1586. } else return SendERROR(playerid, 1);
  1587. return 1;
  1588. }
  1589.  
  1590. #if defined USE_FLOGIN
  1591. CMD:register(playerid,params[])
  1592. {
  1593. new file[256],n[MAX_PLAYER_NAME];
  1594. GetPlayerName(playerid,n,MAX_PLAYER_NAME);
  1595. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1596. if(dini_Exists(file)) return SendClientMessage(playerid,yellow,"You are already registered!");
  1597. if(PlayerInfo[playerid][Registered] == 1) return SendClientMessage(playerid,yellow,"You are already registered!");
  1598. if(PlayerInfo[playerid][Logged] == 1) return SendClientMessage(playerid,yellow,"You are already registered, and logged in!");
  1599. if(!dini_Exists(file)) {
  1600. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome, This Server is Using FAdmin Created By FrosTiC. Please Register Here.", "Register", "Leave");
  1601. }
  1602. return 1;
  1603. }
  1604. //==============================================================================
  1605. CMD:login(playerid,params[])
  1606. {
  1607. new file[256],n[MAX_PLAYER_NAME];
  1608. GetPlayerName(playerid,n,MAX_PLAYER_NAME);
  1609. format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1610. if(!dini_Exists(file)) return SendClientMessage(playerid,yellow,"You are not registered! Please /register");
  1611. if(PlayerInfo[playerid][Logged] == 1) return SendClientMessage(playerid,yellow,"You are already logged in!");
  1612. if(PlayerInfo[playerid][Registered] == 0) return SendClientMessage(playerid,yellow,"You are not registered! Please /register");
  1613. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "F-Admin Register/Login", "Welcome Back, This Name is Registered, Type in Your Password Below", "Login", "Leave");
  1614. return 1;
  1615. }
  1616.  
  1617. #endif
  1618. /*==============================================================================
  1619. =============================ADMIN COMMANDS=====================================
  1620. ================================================================================*/
  1621. CMD:setlevel(playerid,params[])
  1622. {
  1623. if(PlayerInfo[playerid][Logged] == 1) {
  1624. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  1625. new level,id,file[256],n[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index,str[128];
  1626. tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp),level = strval(tmp2);
  1627. GetPlayerName(id,n,MAX_PLAYER_NAME); format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1628.  
  1629. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /setlevel <ID> <Level>");
  1630. if(IsPlayerConnected(id)) {
  1631. if(level > 8 || level < 0) return SendClientMessage(playerid,red,"Invalid Level");
  1632. if(level > 0) { format(str,sizeof(str),"~b~~h~~h~Gained ~g~Admin Level ~w~~n~Level (%d)",level); GameTextForPlayer(id,str,5000, 3); }
  1633. if(level == 0) { format(str,sizeof(str),"~r~~H~~h~Lost Admin ~w~~n~Level (%d)",level); GameTextForPlayer(id,str,5000,3); }
  1634. if(level == PlayerInfo[id][Level]) return SendClientMessage(playerid,red,"Player Already this Level");
  1635. PlayerInfo[id][Level] = level;
  1636. dini_IntSet(file,"Level",level);
  1637. } else return SendERROR(playerid, 3);
  1638. } else return SendERROR(playerid, 1);
  1639. } else return SendERROR(playerid, 5);
  1640. return 1;
  1641. }
  1642.  
  1643. CMD:kick(playerid,params[])
  1644. {
  1645. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1646. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1647. tmp = strtok(params,Index), tmp2 = strtok(params,Index); id = strval(tmp); GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1648. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /kick <ID> <reason>");
  1649. if(IsPlayerConnected(id)) {
  1650. if(!strlen(tmp2)) {
  1651. format(str,sizeof(str),"%s has been kicked by %s [no reason given]",n,on); SendClientMessageToAll(purple,str);
  1652. Kick(id);
  1653. } else {
  1654. format(str,sizeof(str),"%s has been kicked by %s [reason: %s]",n,on,params[2]); SendClientMessageToAll(purple,str);
  1655. Kick(id);
  1656. }
  1657. } else return SendERROR(playerid, 3);
  1658. } else return SendERROR(playerid, 1);
  1659. return 1;
  1660. }
  1661.  
  1662. CMD:ban(playerid,params[])
  1663. {
  1664. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  1665. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1666. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1667. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1668. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /ban <ID> <reason>");
  1669. if(IsPlayerConnected(id)) {
  1670. if(!strlen(tmp2)) {
  1671. SendClientMessage(playerid,red,"You Must have a reason!");
  1672. } else {
  1673. format(str,sizeof(str),"%s has been banned by %s [reason: %s]",n,on,params[2]); SendClientMessageToAll(purple,str);
  1674. format(str,sizeof(str),"~w~You have been ~r~banned ~w~by ~b~%s",n,on); GameTextForPlayer(playerid,str,5000,3);
  1675. BanEx(id, str);
  1676. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Banned",1);
  1677. }
  1678. } else return SendERROR(playerid, 3);
  1679. } else return SendERROR(playerid, 1);
  1680. return 1;
  1681. }
  1682.  
  1683. CMD:freeze(playerid,params[])
  1684. {
  1685. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1686. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1687. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1688. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1689. if(PlayerInfo[id][Froze] == 1) return SendClientMessage(playerid,red,"Player is already frozen");
  1690. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /freeze <ID> <reason>");
  1691. if(IsPlayerConnected(id)) {
  1692. if(!strlen(tmp2)) {
  1693. format(str,sizeof(str),"%s has been frozen by %s [no reason given] ",n,on); SendClientMessageToAll(purple,str);
  1694. SendClientMessage(id,lightblue,"You been Frozen, If not unfrozen in 1 minute, you will be auto unfroze.");
  1695. TogglePlayerControllable(id, 0);
  1696. PlayerInfo[id][Froze] = 1;
  1697. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Froze",1);
  1698. SetTimerEx("Freeze",60000,false,"d",id);
  1699. } else {
  1700. format(str,sizeof(str),"%s has been frozen by %s [reason: %s] ",n,on,params[2]); SendClientMessageToAll(purple,str);
  1701. SendClientMessage(id,lightblue,"You been Frozen, If not unfrozen in 1 minute, you will be auto unfrozen.");
  1702. TogglePlayerControllable(id, 0);
  1703. PlayerInfo[id][Froze] = 1;
  1704. SetTimerEx("Freeze",60000,false,"d",id);
  1705. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Froze",1);
  1706. }
  1707. } else return SendERROR(playerid, 3);
  1708. } else return SendERROR(playerid, 1);
  1709. return 1;
  1710. }
  1711.  
  1712. CMD:unfreeze(playerid,params[])
  1713. {
  1714. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1715. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], Index, str[128];
  1716. tmp = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1717. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1718. if(PlayerInfo[id][Froze] == 0) return SendClientMessage(playerid,red,"Player isnt frozen");
  1719. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /unfreeze <ID>");
  1720. if(IsPlayerConnected(id)) {
  1721. dini_IntSet(file,"Froze",0);
  1722. format(str,sizeof(str),"%s has been unfrozed by %s",n,on); SendClientMessageToAll(purple,str);
  1723. TogglePlayerControllable(id,1);
  1724. PlayerInfo[id][Froze] = 0;
  1725. } else return SendERROR(playerid, 3);
  1726. } else return SendERROR(playerid, 1);
  1727. return 1;
  1728. }
  1729.  
  1730. CMD:testcmds(playerid,params[])
  1731. {
  1732. SendClientMessage(playerid,green,"");
  1733. return 1;
  1734. }
  1735.  
  1736. CMD:explode(playerid,params[])
  1737. {
  1738. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1739. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1740. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1741. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /explode <ID> <reason>");
  1742. if(IsPlayerConnected(id)) {
  1743. new Float:burnx, Float:burny, Float:burnz; GetPlayerPos(id,burnx, burny, burnz);
  1744. if(!strlen(tmp2)) {
  1745. format(str,sizeof(str),"%s has exploded %s [no reason given] ",on,n); SendClientMessageToAll(purple,str);
  1746. CreateExplosion(burnx, burny , burnz, 7,10.0);
  1747. CreateExplosion(burnx, burny-3, burnz, 7,10.0);
  1748. } else {
  1749. format(str,sizeof(str),"%s has exploded %s [reason: %s] ",on,n, params[2]); SendClientMessageToAll(purple,str);
  1750. CreateExplosion(burnx, burny , burnz, 7,10.0);
  1751. CreateExplosion(burnx, burny-3, burnz, 7,10.0);
  1752. }
  1753. } else return SendERROR(playerid, 3);
  1754. } else return SendERROR(playerid, 1);
  1755. return 1;
  1756. }
  1757.  
  1758. CMD:goto(playerid,params[])
  1759. {
  1760. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  1761. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], Index, str[128];
  1762. tmp = strtok(params,Index), id = strval(tmp);
  1763. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1764. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /goto <ID>");
  1765. if(IsPlayerConnected(id)) {
  1766. new Float:x,Float:y,Float:z, pInt, vworld, veh; GetPlayerPos(id,x,y,z);
  1767. pInt = GetPlayerInterior(id), vworld = GetPlayerVirtualWorld(id), veh = GetPlayerVehicleID(id);
  1768.  
  1769. format(str,sizeof(str),"%s has teleported to you",on); SendClientMessage(id,purple,str);
  1770. format(str,sizeof(str),"You have teleported to %s",n); SendClientMessage(playerid,purple,str);
  1771. SetPlayerPos(playerid,x,y,z); SetPlayerVirtualWorld(playerid, vworld); SetPlayerInterior(playerid,pInt);
  1772. if(IsPlayerInAnyVehicle(playerid)) return SetVehiclePos(veh,x,y+6,z); PutPlayerInVehicle(id,veh,1);
  1773. } else return SendERROR(playerid, 3);
  1774. } else return SendERROR(playerid, 1);
  1775. return 1;
  1776. }
  1777.  
  1778. CMD:get(playerid,params[])
  1779. {
  1780. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  1781. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], Index, str[128];
  1782. tmp = strtok(params,Index), id = strval(tmp);
  1783. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1784. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /get <ID>");
  1785. if(IsPlayerConnected(id)) {
  1786. new Float:x,Float:y,Float:z, pInt, vworld, veh; GetPlayerPos(playerid,x,y,z);
  1787. pInt = GetPlayerInterior(playerid), vworld = GetPlayerVirtualWorld(playerid), veh = GetPlayerVehicleID(playerid);
  1788.  
  1789. format(str,sizeof(str),"%s has teleported you",on); SendClientMessage(id,purple,str);
  1790. format(str,sizeof(str),"You have teleported %s",n); SendClientMessage(playerid,purple,str);
  1791. SetPlayerPos(id,x+3,y,z); SetPlayerVirtualWorld(id, vworld); SetPlayerInterior(id,pInt);
  1792. if(IsPlayerInAnyVehicle(id)) return SetVehiclePos(veh,x,y+6,z); PutPlayerInVehicle(playerid,veh,1);
  1793. } else return SendERROR(playerid, 3);
  1794. } else return SendERROR(playerid, 1);
  1795. return 1;
  1796. }
  1797.  
  1798. CMD:slap(playerid,params[])
  1799. {
  1800. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1801. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1802. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp);
  1803. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1804. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /slap <ID> <reason>");
  1805. if(IsPlayerConnected(id)) {
  1806. new Float:x,Float:y,Float:z; GetPlayerPos(id,x,y,z);
  1807. if(!strlen(tmp2)) {
  1808. format(str,sizeof(str),"You have been slapped by admin %s ",on); SendClientMessage(id,purple,str);
  1809. format(str,sizeof(str),"%s has been slapped by admin %s ",n, on); SendClientMessageToAll(purple,str);
  1810. SetPlayerPos(id,x,y,z+25); PlayerPlaySound(id,1190,0.0,0.0,0.0);
  1811. } else {
  1812. format(str,sizeof(str),"%s has been slapped by %s [reason: %s] ",n, on, params[2]); SendClientMessageToAll(purple,str);
  1813. format(str,sizeof(str),"You have slapped %s [reason: %s] ",n,params[2]); SendClientMessage(playerid,purple,str);
  1814. format(str,sizeof(str),"You have been slapped by %s [reason: %s] ",on,params[2]); SendClientMessage(id,purple,str);
  1815. SetPlayerPos(id,x,y,z+25); PlayerPlaySound(id,1190,0.0,0.0,0.0);
  1816. }
  1817. } else return SendERROR(playerid, 3);
  1818. } else return SendERROR(playerid, 1);
  1819. return 1;
  1820. }
  1821.  
  1822. CMD:giveweapon(playerid,params[]) {
  1823. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  1824. new tmp[256], tmp2[256], tmp3[256], n[MAX_PLAYER_NAME], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1825. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /giveweapon [playerid] [weapon id/weapon name] [ammo]");
  1826. new id = strval(tmp), weap, ammo, WeapName[32], string[128]; GetPlayerName(id,n,sizeof(n));
  1827. if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3);
  1828. if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2);
  1829. if(IsPlayerConnected(id)) {
  1830. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  1831. GetWeaponName(weap,WeapName,32);
  1832. format(string, sizeof(string), "You have given \"%s\" a %s (%d) with %d rounds of ammo", n, WeapName, weap, ammo); SendClientMessage(playerid,blue,string);
  1833. if(id != playerid) { format(string,sizeof(string),"Administrator \"%s\" has given you a %s (%d) with %d rounds of ammo", playerid, WeapName, weap, ammo); SendClientMessage(id,blue,string); }
  1834. return GivePlayerWeapon(id, weap, ammo);
  1835. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1836. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1837. }
  1838.  
  1839. CMD:setcash(playerid,params[])
  1840. {
  1841. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1842. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], cash, Index, str[128];
  1843. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp), cash = strval(tmp2);
  1844. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1845. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1846. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /setcash <ID> <amount>");
  1847. if(IsPlayerConnected(id)) {
  1848. format(str,sizeof(str),"%s has set your cash to $%d",on,cash); SendClientMessage(id,purple,str);
  1849. format(str,sizeof(str),"You have set %s cash to $%d",n,cash); SendClientMessage(playerid,purple,str);
  1850. format(str,sizeof(str),"Your cash is now $%d",cash); SendClientMessage(id,purple,str);
  1851. ResetPlayerMoney(id); GivePlayerMoney(id,cash);
  1852. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Cash",cash);
  1853. } else return SendERROR(playerid, 3);
  1854. } else return SendERROR(playerid, 1);
  1855. return 1;
  1856. }
  1857.  
  1858. CMD:setcolour(playerid,params[]) {
  1859. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  1860. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128], Colours;
  1861. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp), Colours = strval(tmp2);
  1862. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1863. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  1864. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) {
  1865. SendClientMessage(playerid, red, "USAGE: /setcolour [playerid] [Colour]");
  1866. SendClientMessage(playerid, red, "Colours: 0 - black 1 - white 2 - red 3 - orange 4 - yellow 5 - green 6 - blue 7 - purple 8 - brown 9 - pink 10 - gold");
  1867. }
  1868. if(Colours > 10) return SendClientMessage(playerid,red,"Invalid Number");
  1869. if(IsPlayerConnected(id)) {
  1870. switch (Colours)
  1871. {
  1872. case 0: { SetPlayerColor(id,black); }
  1873. case 1: { SetPlayerColor(id,white); }
  1874. case 2: { SetPlayerColor(id,red); }
  1875. case 3: { SetPlayerColor(id,orange); }
  1876. case 4: { SetPlayerColor(id,yellow); }
  1877. case 5: { SetPlayerColor(id,green1); }
  1878. case 6: { SetPlayerColor(id,blue); }
  1879. case 7: { SetPlayerColor(id,purple); }
  1880. case 8: { SetPlayerColor(id,brown); }
  1881. case 9: { SetPlayerColor(id,pink); }
  1882. case 10: { SetPlayerColor(id,gold); }
  1883. }
  1884. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Colour",Colours);
  1885. format(str,sizeof(str),"You have set %s's colour to %s", n, Colours); SendClientMessage(playerid,purple,str);
  1886. format(str, sizeof(str), "%s has set your colour to %s", on, Colours); SendClientMessage(playerid,purple,str);
  1887. } else return SendERROR(playerid, 3);
  1888. } else return SendERROR(playerid, 1);
  1889. return 1;
  1890. }
  1891.  
  1892. CMD:god(playerid,params[])
  1893. {
  1894. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1895. if(PlayerInfo[playerid][God] == 1) {
  1896. SetPlayerHealth(playerid,100);
  1897. SendClientMessage(playerid,lightblue,"GodMode Off");
  1898. GivePlayerWeapon(playerid,35,0);
  1899. PlayerInfo[playerid][God] = 0;
  1900. } else {
  1901. SetPlayerHealth(playerid,100000);
  1902. SendClientMessage(playerid,lightblue,"GodMode On");
  1903. GivePlayerWeapon(playerid,35,100);
  1904. PlayerInfo[playerid][God] = 1;
  1905. SetTimerEx("GodUpdate",10,true,"i",playerid);
  1906. }
  1907. } else return SendERROR(playerid,1);
  1908. return 1;
  1909. }
  1910.  
  1911. CMD:godcar(playerid,params[])
  1912. {
  1913. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1914. if(IsPlayerInAnyVehicle(playerid)) {
  1915. new veh = GetPlayerVehicleID(playerid);
  1916. if(PlayerInfo[playerid][GodCar] == 0) {
  1917. SetVehicleHealth(veh,40000);
  1918. PlayerInfo[playerid][GodCar] = 1;
  1919. SendClientMessage(playerid,lightblue,"GodCar On");
  1920. SetTimerEx("GodUpdate",10,true,"i",playerid);
  1921. } else {
  1922. SetVehicleHealth(veh,1000);
  1923. PlayerInfo[playerid][GodCar] = 0;
  1924. SendClientMessage(playerid,lightblue,"GodCar Off");
  1925. }
  1926. } else return SendERROR(playerid, 4);
  1927. } else return SendERROR(playerid, 1);
  1928. return 1;
  1929. }
  1930.  
  1931. CMD:warn(playerid,params[]) {
  1932. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1933. new tmp[256], tmp2[256], aName[MAX_PLAYER_NAME], admin[MAX_PLAYER_NAME], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1934. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid,red,"USAGE: /warn [playerid] [reason]");
  1935. new warnedid = strval(tmp), str[128]; GetPlayerName(warnedid,aName,sizeof(aName)); GetPlayerName(playerid,admin,sizeof(admin));
  1936. if(IsPlayerConnected(warnedid)) {
  1937. PlayerInfo[warnedid][Warnings]++;
  1938. if( PlayerInfo[warnedid][Warnings] == MAX_WARNINGS) {
  1939. format(str, sizeof (str), "%s has been kicked by %s (Reason: %s) (Warning: %d/%d)", aName, admin, params[1+strlen(tmp)], PlayerInfo[warnedid][Warnings], MAX_WARNINGS);
  1940. SendClientMessageToAll(purple, str);
  1941. Kick(warnedid);
  1942. PlayerInfo[warnedid][Warnings] = 0;
  1943. } else {
  1944. format(str, sizeof (str), "%s has given %s a warning (Reason: %s) (Warning: %d/%d)", admin, aName, params[1+strlen(tmp)], PlayerInfo[warnedid][Warnings], MAX_WARNINGS);
  1945. SendClientMessageToAll(purple, str);
  1946. }
  1947. } else return SendERROR(playerid, 3);
  1948. } else return SendERROR(playerid, 1);
  1949. return 1;
  1950. }
  1951.  
  1952. CMD:countdown(playerid,params[])
  1953. {
  1954. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1955. if(CountDown == -1) {
  1956. CountDown = 6;
  1957. SetTimer("countdown",1000,0);
  1958. } else return SendClientMessage(playerid,red,"ERROR: Countdown in progress");
  1959. } else return SendERROR(playerid, 1);
  1960. return 1;
  1961. }
  1962.  
  1963. CMD:aweapons(playerid,params[])
  1964. {
  1965. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1966. GivePlayerWeapon(playerid,9,1); GivePlayerWeapon(playerid,12,1);
  1967. GivePlayerWeapon(playerid,18,1000); GivePlayerWeapon(playerid,24,1000);
  1968. GivePlayerWeapon(playerid,26,1000); GivePlayerWeapon(playerid,28,1000);
  1969. GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000);
  1970. GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,41,1000);
  1971. GivePlayerWeapon(playerid,46,1); SendClientMessage(playerid,lightblue,"Enjoy your weapons");
  1972. } else return SendERROR(playerid, 1);
  1973. return 1;
  1974. }
  1975.  
  1976. CMD:akill(playerid,params[])
  1977. {
  1978. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1979. new id, n[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], Index, str[128];
  1980. tmp = strtok(params,Index), tmp2 = strtok(params,Index), id = strval(tmp);
  1981. GetPlayerName(id,n,sizeof(n)); GetPlayerName(playerid,on,sizeof(on));
  1982. if(!strlen(params)) return SendClientMessage(playerid,red,"/akill <playerid> <reason>");
  1983. if(IsPlayerConnected(id)) {
  1984. new Float:X,Float:Y,Float:Z; GetPlayerPos(id,X,Y,Z);
  1985. if(!strlen(tmp2)) {
  1986. format(str,sizeof(str),"%s has Admin Killed %s [no reason given]",on, n, params[2]); SendClientMessageToAll(purple,str);
  1987. CreateExplosion(X, Y , Z, 7,10.0);
  1988. CreateExplosion(X, Y-3, Z, 7,10.0);
  1989. } else {
  1990. format(str,sizeof(str),"%s has Admin Killed %s [reason: %s]",on, n, params[2]); SendClientMessageToAll(purple,str);
  1991. CreateExplosion(X, Y , Z, 7,10.0);
  1992. CreateExplosion(X, Y-3, Z, 7,10.0);
  1993. }
  1994. } else return SendERROR(playerid, 3);
  1995. } else return SendERROR(playerid, 1);
  1996. return 1;
  1997. }
  1998.  
  1999. CMD:skick(playerid,params[])
  2000. {
  2001. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2002. new id, n[MAX_PLAYER_NAME], tmp[256], Index, str[128];
  2003. tmp = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n));
  2004. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /skick <ID>");
  2005. if(IsPlayerConnected(id)) {
  2006. Kick(id);
  2007. format(str,sizeof(str),"You have Silent Kicked %s",n); SendClientMessage(playerid,purple,str);
  2008. } else return SendERROR(playerid, 3);
  2009. } else return SendERROR(playerid, 1);
  2010. return 1;
  2011. }
  2012.  
  2013. CMD:sban(playerid,params[])
  2014. {
  2015. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  2016. new id, n[MAX_PLAYER_NAME], tmp[256], Index, str[128];
  2017. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",n);
  2018. tmp = strtok(params,Index), id = strval(tmp); GetPlayerName(id,n,sizeof(n));
  2019. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /sban <ID>");
  2020. if(IsPlayerConnected(id)) {
  2021. Ban(id);
  2022. format(str,sizeof(str),"You have Silently Banned %s",n); SendClientMessage(playerid,purple,str);
  2023. if(dini_Exists(file) && PlayerInfo[id][Logged] == 1) dini_IntSet(file,"Banned",1);
  2024. } else return SendERROR(playerid, 3);
  2025. } else return SendERROR(playerid, 1);
  2026. return 1;
  2027. }
  2028.  
  2029. CMD:duel(playerid,params[])
  2030. {
  2031. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2032. new p1, p2, location, n1[MAX_PLAYER_NAME], n2[MAX_PLAYER_NAME], on[MAX_PLAYER_NAME], tmp[256], tmp2[256], tmp3[256], Index, str[128];
  2033. GetPlayerName(playerid,on,sizeof(on)); GetPlayerName(p1,n1,sizeof(n1)); GetPlayerName(p2,n2,sizeof(n2));
  2034. tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2035. p1 = strval(tmp), p2 = strval(tmp2);
  2036. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) {
  2037. SendClientMessage(playerid, red, "USAGE: /duel [pID 1] [pID 2] [location] (Locations: 1-5]");
  2038. return SendClientMessage(playerid, red, "If location isnt stated then players duel at their present location");
  2039. }
  2040. if(!strlen(tmp3)) location = 0; else location = strval(tmp3);
  2041. if(!IsPlayerAlive(p1) && IsPlayerAlive(p2)) return SendClientMessage(playerid,red,"ERROR: A Player may not be alive");
  2042. if(IsPlayerConnected(p1) && IsPlayerConnected(p2)) {
  2043. if(location == 1) {
  2044. SetPlayerPos(p1, 298.507934,-141.647048,1004.054748); SetPlayerPos(p2, 298.507934,-141.647048,1004.054748);
  2045. SetPlayerInterior(p1, 7); SetPlayerInterior(p2, 7); GivePlayerWeapon(p1,26,5000); GivePlayerWeapon(p1,29,5000);
  2046. GivePlayerWeapon(p1,30,5000); GivePlayerWeapon(p2,26,5000); GivePlayerWeapon(p2,29,5000); GivePlayerWeapon(p2,30,5000);
  2047. GameTextForPlayer(p1,"~r~~h~~h~Ammunation Range ~b~Duel", 2500,3); GameTextForPlayer(p2,"~r~~h~~h~Ammunation Range ~b~Duel", 2500,3);
  2048. } else if(location == 2) {
  2049. SetPlayerPos(p1,2215.454833,-1147.475585,1025.796875); SetPlayerPos(p2,2215.454833,-1147.475585,1025.796875);
  2050. SetPlayerInterior(p1,15); SetPlayerInterior(p2,15); GivePlayerWeapon(p1,30,5000); GivePlayerWeapon(p1,26,5000);
  2051. GivePlayerWeapon(p1,9,5000); GivePlayerWeapon(p1,34,5000); GivePlayerWeapon(p2,30,5000); GivePlayerWeapon(p2,26,5000);
  2052. GivePlayerWeapon(p2,9,5000); GivePlayerWeapon(p2,34,5000); GameTextForPlayer(p1,"~r~~h~~h~Jefferson Motel ~g~Duel", 2500, 3);
  2053. GameTextForPlayer(p2,"~r~~h~~h~Jefferson Motel ~g~Duel", 2500, 3);
  2054. } else if(location == 3) {
  2055. SetPlayerPos(p1,2496.049804,-1695.238159,1014.742187); SetPlayerPos(p2,2496.049804,-1695.238159,1014.742187);
  2056. SetPlayerInterior(p1,3); SetPlayerInterior(p2,3); GivePlayerWeapon(p1, 1,1); GivePlayerWeapon(p1,5,1);
  2057. GivePlayerWeapon(p1,22,5000); GivePlayerWeapon(p2, 1,1); GivePlayerWeapon(p2,5,1); GivePlayerWeapon(p2,22,5000);
  2058. GameTextForPlayer(p1,"~r~~h~~h~CJ's ~g~Death Duel",2500,3); GameTextForPlayer(p2,"~r~~h~~h~CJ's ~g~Death Duel",2500,3);
  2059. } else if(location == 4) {
  2060. SetPlayerPos(p1, 761.412963,1440.191650,1102.703125); SetPlayerPos(p2, 761.412963,1440.191650,1102.703125);
  2061. SetPlayerInterior(p1,6); SetPlayerInterior(p2,6); GivePlayerWeapon(p1,9,1); GivePlayerWeapon(p1,10,1);
  2062. GivePlayerWeapon(p2,9,1); GivePlayerWeapon(p2,10,1); GameTextForPlayer(p1,"~r~~h~~h~Fanny Batter's ~g~Duel House",2500,3);
  2063. GameTextForPlayer(p2,"~r~~h~~h~Fanny Batter's ~g~Duel House",2500,3);
  2064. } else if(location == 5) {
  2065. SetPlayerPos(p1, -1685.636474,1035.476196,45.210937); SetPlayerPos(p2, -1685.636474,1035.476196,45.210937);
  2066. SetPlayerInterior(p1, 0); SetPlayerInterior(p2, 0); GivePlayerWeapon(p1,16,5); GivePlayerWeapon(p1,25,3000);
  2067. GivePlayerWeapon(p1,28,3000); GivePlayerWeapon(p2,16,5); GivePlayerWeapon(p2,25,3000); GivePlayerWeapon(p2,28,3000);
  2068. GameTextForPlayer(p1,"~r~~h~~h~SF Bomb Shop ~g~Duel",2500,3); GameTextForPlayer(p2,"~r~~h~~h~SF Bomb Shop ~g~Duel",2500,3);
  2069. }
  2070. PlayerInfo[p1][InDuel] = 1; PlayerInfo[p2][InDuel] = 1;
  2071. TogglePlayerControllable(p1,0); TogglePlayerControllable(p2,0);
  2072. SetTimerEx("Duel",1000,0,"dd", p1, p2);
  2073. format(str,sizeof(str),"you have put %s and %s in a duel", n1, n2);
  2074. SendClientMessage(playerid,lime,str);
  2075. } else return SendERROR(playerid, 3);
  2076. } else return SendERROR(playerid, 1);
  2077. return 1;
  2078. }
  2079.  
  2080. CMD:fammo(playerid,params[])
  2081. {
  2082. if(PlayerInfo[playerid][Level] >= 3) {
  2083. FAmmo(playerid);
  2084. } else return SendERROR(playerid, 1);
  2085. return 1;
  2086. }
  2087.  
  2088. CMD:fix(playerid,params[])
  2089. {
  2090. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2091. if(IsPlayerInAnyVehicle(playerid)) {
  2092. new pVeh = GetPlayerVehicleID(playerid);
  2093. RepairVehicle(pVeh);
  2094. SendClientMessage(playerid,lightblue,"You have Repaired your car");
  2095. } else return SendERROR(playerid, 4);
  2096. } else return SendERROR(playerid, 1);
  2097. return 1;
  2098. }
  2099.  
  2100. CMD:announce(playerid,params[])
  2101. {
  2102. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2103. new str[128];
  2104. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /announce <text>");
  2105. format(str,sizeof(str),"~w~%s",params); GameTextForAll(str,4000,3);
  2106. } else return SendERROR(playerid, 1);
  2107. return 1;
  2108. }
  2109.  
  2110. CMD:spec(playerid,params[])
  2111. {
  2112. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2113. SpectateOn(playerid);
  2114. GameTextForPlayer(playerid,"~w~Spectate ~g~~h~~h~on",3000,3);
  2115. } else return SendERROR(playerid, 1);
  2116. return 1;
  2117. }
  2118.  
  2119. CMD:specoff(playerid,params[])
  2120. {
  2121. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2122. SpectateOff(playerid);
  2123. GameTextForPlayer(playerid,"~w~Spectate ~g~~h~~h~off",3000,3);
  2124. new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
  2125. SetPlayerPos(playerid,X,Y,Z+3);
  2126. } else return SendERROR(playerid, 1);
  2127. return 1;
  2128. }
  2129.  
  2130. CMD:ahideout(playerid,params[])
  2131. {
  2132. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2133. SetPlayerPos(playerid,2251.85,-1138.16,1050.63);
  2134. SetPlayerInterior(playerid,9);
  2135. SetPlayerVirtualWorld(playerid,10);
  2136. } else return SendERROR(playerid, 1);
  2137. return 1;
  2138. }
  2139.  
  2140. CMD:askin(playerid,params[])
  2141. {
  2142. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2143. new Float:X, Float:Y, Float:Z, skin, aName[MAX_PLAYER_NAME];
  2144. new file[256]; format(file,sizeof(file),"FAdmin/Users/%s.ini",aName);
  2145. GetPlayerPos(playerid,X,Y,Z); GetPlayerName(playerid,aName,sizeof(aName));
  2146. if(PlayerInfo[playerid][Duty] == 0) {
  2147. skin = GetPlayerSkin(playerid);
  2148. if(skin == IsValidSkin(skin)) return dini_IntSet(file,"Skin",skin);
  2149. PlayerInfo[playerid][God] = 1; PlayerInfo[playerid][Duty] = 1;
  2150. SetTimerEx("GodUpdate",100,true,"i",playerid);
  2151. SetPlayerSkin(playerid,295);
  2152. SendClientMessage(playerid,gold,"Admin ON DUTY");
  2153. } else {
  2154. PlayerInfo[playerid][God] = 0; PlayerInfo[playerid][Duty] = 0;
  2155. new GetSkin = dini_Int(file,"Skin");
  2156. SetPlayerSkin(playerid, GetSkin);
  2157. }
  2158. } else return SendERROR(playerid, 1);
  2159. return 1;
  2160. }
  2161. /*==============================================================================
  2162. ===============================Player Commands==================================
  2163. ================================================================================*/
  2164. CMD:pm(playerid,params[])
  2165. {
  2166. new target, text[128];
  2167. if(sscanf(params, "us[128]", target, text)) return SendClientMessage(playerid, red, "USAGE: /pm <playerid/name> <text>");
  2168. else if(PrivMSG[playerid][NoPM] == 0) return SendClientMessage(playerid, red, "You cannot send a PM if your PM's are off! /nopm to turn on");
  2169. else if(target == INVALID_PLAYER_ID) return SendERROR(playerid, 2);
  2170.  
  2171. new str[128];
  2172. format(str, sizeof(str), "PM Sent: %s (%d): %s", pName(target), target, text);
  2173. SendClientMessage(playerid, yellow, str);
  2174. format(str, sizeof(str), "PM Receive: %s (%d): %s", pName(playerid), playerid, text);
  2175. SendClientMessage(target, yellow, str);
  2176. SendClientMessage(target, lightblue, "For quick reply, use /r - /reply but faster");
  2177. PrivMSG[target][LastMSG] = playerid;
  2178. PlayerPlaySound(target, 1085, 0.0, 0.0, 0.0);
  2179. return 1;
  2180. }
  2181.  
  2182. CMD:m(playerid,params[])
  2183. {
  2184. cmd_pm(playerid, params);
  2185. }
  2186.  
  2187. CMD:reply(playerid, params[])
  2188. {
  2189. new text[128];
  2190. if(sscanf(params, "s[128]", text)) return SendClientMessage(playerid, red, "USAGE: /reply <text>");
  2191. else if(PrivMSG[playerid][LastMSG] == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Invalid Player");
  2192. else if(PrivMSG[playerid][NoPM] == 0) return SendClientMessage(playerid, red, "Player PM's has been disabled");
  2193.  
  2194. new str[128];
  2195. new target = PrivMSG[playerid][LastMSG];
  2196. format(str, sizeof(str), "PM Sent: %s (%d): %s", pName(target), target, text);
  2197. SendClientMessage(playerid, yellow, str);
  2198. format(str, sizeof(str), "PM From: %s (%d): %s", pName(playerid), playerid, text);
  2199. SendClientMessage(target, yellow, str);
  2200. PrivMSG[target][LastMSG] = playerid;
  2201. return 1;
  2202. }
  2203.  
  2204. CMD:r(playerid, params[])
  2205. {
  2206. cmd_reply(playerid, params);
  2207. }
  2208.  
  2209. CMD:nopm(playerid, params[])
  2210. {
  2211. switch(PrivMSG[playerid][NoPM])
  2212. {
  2213. case 0:
  2214. {
  2215. SendClientMessage(playerid, yellow, "You have enabled your PM's");
  2216. SendClientMessage(playerid, yellow, "You can /nopm again to disable your PM's");
  2217. PrivMSG[playerid][NoPM] = 1;
  2218. }
  2219. case 1:
  2220. {
  2221. SendClientMessage(playerid, yellow, "You have disabled your PM's");
  2222. SendClientMessage(playerid, yellow, "You can /nopm again to enable your PM's");
  2223. PrivMSG[playerid][NoPM] = 0;
  2224. }
  2225. }
  2226. return 1;
  2227. }
  2228.  
  2229. CMD:heal(playerid,params[])
  2230. {
  2231. new
  2232. id;
  2233. if(gTeam[playerid] == TEAM_MEDIC)
  2234. if (sscanf(params, "u", id)) SendClientMessage(playerid, 0xFF0000AA, "USAGE: /heal playerid OR /healme to heal yourself");
  2235. else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
  2236. else
  2237. {
  2238. SetPlayerHealth(id, 100.0);
  2239. SendClientMessage(id, 0x00FF00AA, "You have been healed");
  2240. SendClientMessage(playerid, 0x00FF00AA, "Player healed");
  2241. }
  2242. return 1;
  2243. }
  2244.  
  2245. CMD:healme(playerid,params[])
  2246. {
  2247. if(gTeam[playerid] == TEAM_MEDIC)
  2248. {
  2249. SetPlayerHealth(playerid,100);
  2250. }
  2251. return 1;
  2252. }
  2253.  
  2254. CMD:cmd(playerid,params[])
  2255. {
  2256. SendClientMessage(playerid,COLOR_BLUE,"---------COMMANDS---------");
  2257. SendClientMessage(playerid,COLOR_WHITE,"Current Commands in server more will be added soon");
  2258. SendClientMessage(playerid,COLOR_WHITE,"/credits, /help , /cmds , /rhuman , /rzombie , /heal");
  2259. SendClientMessage(playerid,COLOR_WHITE,"/kill , /rules");
  2260. return 1;
  2261. }
  2262.  
  2263. CMD:help(playerid,params[])
  2264. {
  2265. SendClientMessage(playerid,COLOR_BLUE,"---------HELP---------");
  2266. SendClientMessage(playerid,COLOR_WHITE,"This is a server Zombies VS Humans");
  2267. SendClientMessage(playerid,COLOR_WHITE,"Zombies knife humans to infect them");
  2268. SendClientMessage(playerid,COLOR_WHITE,"Zombie color is red human color is blue");
  2269. SendClientMessage(playerid,COLOR_WHITE,"Type /cmds for list of commands in server");
  2270. return 1;
  2271. }
  2272.  
  2273. CMD:credits(playerid,params[])
  2274. {
  2275. SendClientMessage(playerid,COLOR_BLUE,"---------CREDITS---------");
  2276. SendClientMessage(playerid,COLOR_WHITE,"Kitten and willsuckformoney for scripting gamemode");
  2277. SendClientMessage(playerid,COLOR_WHITE,"willsuckformoney for admin system");
  2278. SendClientMessage(playerid,COLOR_WHITE,"Double O Seven Junkbuster , Weapon holder thingy");
  2279. SendClientMessage(playerid,COLOR_WHITE,"If we Have missed you in credits dont say in server goto our forums");
  2280. return 1;
  2281. }
  2282.  
  2283. CMD:rhuman(playerid,params[])
  2284. {
  2285. SendClientMessage(playerid,COLOR_BLUE,"---------HUMAN RULES---------");
  2286. SendClientMessage(playerid,COLOR_WHITE,"1:Humans can not camp alot");
  2287. SendClientMessage(playerid,COLOR_WHITE,"2:Dont just get infected on purpose to infect ur buddys by you");
  2288. SendClientMessage(playerid,COLOR_WHITE,"MORE WILL COME SOON");
  2289. return 1;
  2290. }
  2291.  
  2292. CMD:rzombie(playerid,params[])
  2293. {
  2294. SendClientMessage(playerid,COLOR_BLUE,"---------ZOMBIE RULES---------");
  2295. SendClientMessage(playerid,COLOR_WHITE,"1: Zombies can not buy weapons");
  2296. SendClientMessage(playerid,COLOR_WHITE,"2: Zombies Can only use knife and chainsaw if admins see u with other weapons you will be banned");
  2297. return 1;
  2298. }
  2299.  
  2300. CMD:rules(playerid,params[])
  2301. {
  2302. SendClientMessage(playerid,COLOR_BLUE,"---------ZOMBIE-MOD RULES---------");
  2303. SendClientMessage(playerid,COLOR_WHITE,"For Zombie rules type /rzombie");
  2304. SendClientMessage(playerid,COLOR_WHITE,"For Human rules type /rhuman");
  2305. SendClientMessage(playerid,COLOR_WHITE,"Server Rules: 1: No hacking 2: No Flame Wars");
  2306. SendClientMessage(playerid,COLOR_WHITE,"Respect Others,Respect admins, Respect VIPS,Respect Players");
  2307. SendClientMessage(playerid,COLOR_WHITE,"NO SPAMMING AT ALL, Do not advertise your shitty servers here");
  2308. SendClientMessage(playerid,COLOR_WHITE,"That is for right now more will be added");
  2309. return 1;
  2310. }
  2311. //==============================================================================
  2312. //==============================================================================
  2313. strtok(const string[], &index)
  2314. {
  2315. new length = strlen(string);
  2316. while ((index < length) && (string[index] <= ' '))
  2317. {
  2318. index++;
  2319. }
  2320.  
  2321. new offset = index;
  2322. new result[20];
  2323. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  2324. {
  2325. result[index - offset] = string[index];
  2326. index++;
  2327. }
  2328. result[index - offset] = EOS;
  2329. return result;
  2330. }
Advertisement
Add Comment
Please, Sign In to add comment