Advertisement
Guest User

Untitled

a guest
Dec 11th, 2013
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 85.97 KB | None | 0 0
  1. /*
  2.  
  3. ...::: Grundgerüst :::...
  4. Created for Pro Gaming Arena Gaming Community
  5.  
  6. Created by: Kitten
  7. Created date: 11/2/12
  8. Created time: 12:11 AM
  9. Purpose: Freeroam
  10. Saving: MySQL
  11. Version: Beta Stage 1
  12. Website: www.pgagaming.net
  13.  
  14.  
  15. ...::: Editierung :::...
  16. Sinn der Editierung - Release
  17.  
  18. Editiert von: N0SKILL aka Countibounty
  19. Start der Editierung: 12.12.2013
  20. Uhrzeit der Editierung: 04:07 ( AM )
  21. Scriptart: Freeroam DM TDM
  22. Speicherart: MySQL
  23. Version: 1.0.0
  24. Website: Nicht vorhanden
  25.  
  26. */
  27.  
  28. #include <a_samp>
  29. #include <a_mysql>
  30. #include <zcmd>
  31. #include <foreach>
  32. #include <sscanf2>
  33. #include <YSI\y_ini>
  34.  
  35. #define function%0(%1) forward%0(%1);public%0(%1)
  36. #define chat "{FFFFFF}»" // Die Farbe die ihr für den Chat wollt. Standart: Weiß ( "{FFFFFF}»" )
  37. #define SKINS_INFECT 285,298,265,266,267,280,282,283,286,287 // Die Skins die für Zombies verfügbar sind
  38.  
  39. #define MAX_MAPTIME 420
  40. #define MAX_RESTART_TIME 1500
  41. #define MAX_MAPUPDATE_TIME 1000
  42. #define MAX_END_TIME 15000
  43. #define MAX_BALANCERUPDATE_TIME 3500
  44. #define MAX_MAP_FILES 8
  45.  
  46. // WICHTIG! Eure Daten
  47. #define Name "" // Euer Servername
  48. #define Version "v1.0.0" // Die Scriptversion
  49. #define ts3ip "" // Eure Teamspeak IP
  50. #define Web "" // Hier den Link zu eurem Forum bzw eurer Website eintragen
  51. // Eure MySQL Daten
  52. #define SQL_HOST ""
  53. #define SQL_USER ""
  54. #define SQL_PASS ""
  55. #define SQL_DB ""
  56.  
  57. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  58.  
  59. #define DIALOG_REGISTER 0
  60. #define DIALOG_LOGIN 1
  61. #define DIALOG_BANNED 2
  62. #define DIALOG_REWARD 3
  63. #define DIALOG_SHOP 4
  64. #define DIALOG_ADMINS 5
  65. #define DIALOG_VIPS 6
  66. #define DIALOG_WARN 7
  67. #define DIALOG_WEAPONS 8
  68. #define DIALOG_SKIN 9
  69. #define DIALOG_TOP 10
  70.  
  71. #define COLOR_ZOMBIE 0xAA333366
  72. #define COLOR_HUMAN 0x0000BB66
  73.  
  74. #define TEAM_ZOMBIE 0
  75. #define TEAM_HUMAN 1
  76.  
  77. #define ARMEDBODY_USE_HEAVY_WEAPON (true)
  78. static armedbody_pTick[MAX_PLAYERS];
  79.  
  80. new pName[24];
  81. new playersAliveCount;
  82. new oPlayers;
  83. new maptime;
  84. new mapvar;
  85. new balvar;
  86. new mapid;
  87. new LastMapStarted = -1;
  88. new ObjectMove[2];
  89. new Float:x222,Float:y222,Float:z222,Float:angle222;
  90.  
  91. new playedtimer[MAX_PLAYERS];
  92. new team[MAX_PLAYERS];
  93. new knifeAbility[MAX_PLAYERS];
  94. new PlayerShotPlayer[MAX_PLAYERS][MAX_PLAYERS];
  95.  
  96. new Text:ZMXLogo;
  97. new Text:ShowMoneyEarned[MAX_PLAYERS];
  98. new Text:PlayerStats[MAX_PLAYERS];
  99. new Text:AliveInfo;
  100. new Text:RoundStarted;
  101. new Text:RoundTime;
  102. new Text:ZombieWinGUI;
  103. new Text:ZombieWinText;
  104. new Text:HumanWinGUI;
  105. new Text:HumanWinText;
  106.  
  107. #define COL_WHITE "{FFFFFF}"
  108. #define COL_GREY "{C3C3C3}"
  109. #define COL_GREEN "{37DB45}"
  110. #define COL_RED "{F81414}"
  111. #define COL_YELLOW "{F3FF02}"
  112. #define COL_ORANGE "{F9B857}"
  113. #define COL_BLUE "{0049FF}"
  114. #define COL_PINK "{FF00EA}"
  115. #define COL_LIGHTBLUE "{00C0FF}"
  116. #define COL_LGREEN "{C9FFAB}"
  117.  
  118. enum playerinfo
  119. {
  120. pUsername[24],
  121. pPassword[128],
  122. pMoney,
  123. pAdminLevel,
  124. pVipLevel,
  125. pHour,
  126. pMin,
  127. pSec,
  128. pKills,
  129. pDeaths,
  130. pLogged,
  131. pWarnings,
  132. pPM,
  133. IsPlayerMuted
  134. };
  135. new pInfo[MAX_PLAYERS][playerinfo];
  136.  
  137. enum mapinfo
  138. {
  139. MapName[128],
  140. FSMapName[128],
  141. Float:HumanSpawnX,
  142. Float:HumanSpawnY,
  143. Float:HumanSpawnZ,
  144. Float:ZombieSpawnX,
  145. Float:ZombieSpawnY,
  146. Float:ZombieSpawnZ,
  147. Float:CPx,
  148. Float:CPy,
  149. Float:CPz,
  150. AllowWater,
  151. Interior,
  152. Weather,
  153. Time,
  154. CreatedBy[24],
  155. ObjectMoveID,
  156. ObjectMoveID2,
  157. Float:MoveUp,
  158. Float:MoveDown,
  159. Float:MoveX,
  160. Float:MoveY,
  161. Float:MoveRotX,
  162. Float:MoveRotY,
  163. Float:MoveRotZ,
  164. Float:MoveUp2,
  165. Float:MoveDown2,
  166. Float:MoveX2,
  167. Float:MoveY2,
  168. Float:MoveRotX2,
  169. Float:MoveRotY2,
  170. Float:MoveRotZ2,
  171. ZScore,
  172. HScore,
  173. IsStarted
  174. };
  175. new Map[mapinfo];
  176.  
  177. new randomMessages[][] =
  178. {
  179. ""chat""COL_LGREEN" Willkommen auf "Name" "Version", erstellt von "Creator" und editiert von "Editor"",
  180. ""chat""COL_LGREEN" Schau doch in unserem Forum vorbei! "Web"",
  181. ""chat""COL_LGREEN" Hacker und Regelbrecher meldet ihr bitte mit /report [playerid] [Grund]",
  182. ""chat""COL_LGREEN" Kommt auf unserem Teamspeak um euch mit euren Freundin zu unterhalten! "ts3ip"",
  183. ""chat""COL_LGREEN" Lest euch lieber nochmal die Regeln durch mit /rules"
  184. };
  185.  
  186. forward load_Map_basic(Mapid, name[], value[]);
  187.  
  188. main()
  189. {
  190. print("\n----------------------------------");
  191. print(" "Name" "Version" geladen");
  192. print(" Dieser Gamemode wurde von "Creator" erstellt und von "Editor" editiert!");
  193. print(" Bitte lasst diese Credits im Script drin um die Arbeit der Scripter zu würdigen");
  194. print(" Viel Spaß mit diesem Gamemode!");
  195. print("----------------------------------\n");
  196. }
  197.  
  198. function StartMap()
  199. {
  200. new str[128];
  201. foreach(Player,i)
  202. {
  203. SetCameraBehindPlayer(i);
  204. SetPlayerSkillLevel(i,WEAPONSKILL_PISTOL,1);
  205. ClearAnimations(i);
  206. HumanSetup(i);
  207. SpawnPlayer(i);
  208. TogglePlayerControllable(i,1);
  209. SetPlayerCheckpoint(i,Map[CPx],Map[CPy],Map[CPz],5.0);
  210. TextDrawShowForAll(RoundStarted);
  211. TextDrawHideForAll(ZombieWinGUI);
  212. TextDrawHideForAll(ZombieWinText);
  213. TextDrawHideForAll(HumanWinGUI);
  214. TextDrawHideForAll(HumanWinText);
  215. }
  216.  
  217. maptime = MAX_MAPTIME;
  218.  
  219. SetWeather(Map[Weather]);
  220. SetWorldTime(Map[Time]);
  221. ObjectMove[0] = CreateObject(Map[ObjectMoveID],Map[MoveX],Map[MoveY],Map[MoveDown],Map[MoveRotX],Map[MoveRotY],Map[MoveRotZ],1000.0);
  222. ObjectMove[1] = CreateObject(Map[ObjectMoveID2],Map[MoveX2],Map[MoveY2],Map[MoveDown2],Map[MoveRotX2],Map[MoveRotY2],Map[MoveRotZ2],1000.0);
  223. format(str,sizeof(str),""chat""COL_RED" Map %s created by "COL_WHITE"%s",Map[MapName],Map[CreatedBy]);
  224. SendClientMessageToAll(-1,str);
  225. SetTimer("RandomZombie",20000,false);
  226. mapvar = SetTimer("OnMapUpdate",MAX_MAPUPDATE_TIME,true);
  227. SetTimer("HideMessage2", 2500,false);
  228. return 1;
  229. }
  230.  
  231. function EndMap()
  232. {
  233. DestroyObject(ObjectMove[0]),DestroyObject(ObjectMove[1]);
  234. ClearObjects();
  235. DestroyAllVehicle();
  236. UnloadFilterScript(Map[FSMapName]);
  237. LoadMap(LoadNewMap());
  238. LoadFilterScript(Map[FSMapName]);
  239.  
  240. SetTimer("StartMap",MAX_RESTART_TIME,false);
  241. GameTextForAll("~n~~n~~n~~n~~n~~g~Loading~w~ next map",3500,5);
  242.  
  243. foreach(Player,i)
  244. {
  245. TogglePlayerControllable(i,0);
  246. DisablePlayerCheckpoint(i);
  247. }
  248. return 1;
  249. }
  250.  
  251. function OnMapUpdate()
  252. {
  253. maptime -= 1;
  254.  
  255. new str[64];
  256. format(str,sizeof(str),"%s",TimeConvert(maptime));
  257. TextDrawSetString(RoundTime,str);
  258.  
  259. if(maptime <= 0)
  260. {
  261. KillTimer(mapvar),KillTimer(balvar);
  262. CheckWinningTeam();
  263. }
  264. return 1;
  265. }
  266.  
  267. function OnMapBalance()
  268. {
  269. if(oPlayers >= 2)
  270. {
  271. if(GetTeamPlayersAlive(TEAM_HUMAN) == 0)
  272. {
  273. KillTimer(balvar);
  274. KillTimer(mapvar);
  275. CheckWinningTeam();
  276. foreach(Player,i)
  277. {
  278. if(team[i] == TEAM_ZOMBIE)
  279. {
  280. GiveMoney(i,850),PlayerPlaySound(i,5448,0,0,0),PlayerPlaySound(i,1184,0,0,0);
  281. }
  282. }
  283. }
  284.  
  285. if(GetTeamPlayersAlive(TEAM_ZOMBIE) == 0)
  286. {
  287. OneZombie();
  288. }
  289. }
  290. return 1;
  291. }
  292.  
  293. public OnGameModeInit()
  294. {
  295. SetGameModeText("ZombieMod "Version"");
  296. SendRconCommand("hostname "Name" "Version"");
  297. SendRconCommand("weburl "Web"");
  298.  
  299. AddPlayerClass(162, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  300.  
  301. CreateDefaultTextdraws();
  302.  
  303. AllowInteriorWeapons(1);
  304. DisableInteriorEnterExits();
  305. SetTeamCount(2);
  306. Map[IsStarted] = 0;
  307. mapid = 0;
  308. SetWorldTime(0);
  309. SetWeather(12);
  310. SetTimer("OnUpdatePlayer",1000,true);
  311. SetTimer("RandomMessages",59000,true);
  312. SetTimer("CheckVars",1500,true);
  313.  
  314. mysql_connect(SQL_HOST,SQL_USER,SQL_DB,SQL_PASS);
  315. mysql_debug(1);
  316. return 1;
  317. }
  318.  
  319.  
  320. function RandomMessages()
  321. {
  322. new randomMsg = random(sizeof(randomMessages));
  323. SendClientMessageToAll(-1, randomMessages[randomMsg]);
  324. }
  325.  
  326. function OnUpdatePlayer()
  327. {
  328. new str[128],str2[128];
  329. foreach(Player,i)
  330. {
  331. format(str,sizeof(str),"KILLS: %i~n~TODE: %i~n~GELD: $%i",pInfo[i][pKills],pInfo[i][pDeaths],pInfo[i][pMoney]);
  332. TextDrawSetString(PlayerStats[i],str);
  333. format(str2,sizeof(str2),""Web"~n~Menschen: %i~n~Zombies: %i",GetTeamPlayersAlive(TEAM_HUMAN),GetTeamPlayersAlive(TEAM_ZOMBIE));
  334. TextDrawSetString(AliveInfo,str2);
  335.  
  336. SetPlayerScore(i,pInfo[i][pKills]);
  337.  
  338. if(team[i] == TEAM_ZOMBIE)
  339. {
  340. switch (GetPlayerWeapon(i))
  341. {
  342. case 1,2,3,9,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:
  343. {
  344. ResetPlayerWeapons(i);
  345. GivePlayerWeapon(i, 4, 1);
  346. }
  347. }
  348. }
  349.  
  350. if(GetPlayerMoney(i) >= 1) return ResetPlayerMoney(i);
  351. if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)
  352. {
  353. new Admin[24] = "Konsole";
  354. new reason3[128] = "Jetpack";
  355. BanPlayer(i,reason3,Admin);
  356. }
  357.  
  358. new Float:armor;
  359. GetPlayerArmour(i,armor);
  360. if(armor > 1)
  361. {
  362. new Admin[24] = "Konsole";
  363. new reason3[128] = "Armour Hack";
  364. BanPlayer(i,reason3,Admin);
  365. }
  366.  
  367. if(IsPlayerInAnyVehicle(i))
  368. {
  369. if(pInfo[i][pAdminLevel] == 0)
  370. {
  371. Kick(i);
  372. }
  373. }
  374. }
  375. return 1;
  376. }
  377.  
  378. public OnGameModeExit()
  379. {
  380. mysql_close();
  381. TextDrawHideForAll(ZMXLogo);
  382. TextDrawDestroy(ZMXLogo);
  383. TextDrawHideForAll(RoundStarted);
  384. TextDrawDestroy(RoundStarted);
  385. TextDrawHideForAll(RoundTime);
  386. TextDrawDestroy(RoundTime);
  387. TextDrawHideForAll(AliveInfo);
  388. TextDrawDestroy(AliveInfo);
  389. TextDrawHideForAll(ZombieWinGUI);
  390. TextDrawDestroy(ZombieWinGUI);
  391. TextDrawHideForAll(ZombieWinText);
  392. TextDrawDestroy(ZombieWinText);
  393. TextDrawHideForAll(HumanWinGUI);
  394. TextDrawDestroy(HumanWinGUI);
  395. TextDrawHideForAll(HumanWinText);
  396. TextDrawDestroy(HumanWinText);
  397. for(new i; i < MAX_PLAYERS; i ++)
  398. {
  399. TextDrawHideForAll(PlayerStats[i]);
  400. TextDrawDestroy(PlayerStats[i]);
  401. TextDrawHideForAll(ShowMoneyEarned[i]);
  402. TextDrawDestroy(ShowMoneyEarned[i]);
  403. }
  404. return 1;
  405. }
  406.  
  407. public OnPlayerRequestClass(playerid, classid)
  408. {
  409. SetPlayerPos(playerid, 2372.0027,2243.0608,10.8203);
  410. SetPlayerFacingAngle(playerid,119.5071);
  411. SetPlayerCameraPos(playerid, 2365.5837,2238.2991,12.9480);
  412. SetPlayerCameraLookAt(playerid, 2372.0027,2243.0608,10.8203);
  413.  
  414. if(classid == 0)
  415. {
  416. team[playerid] = TEAM_ZOMBIE;
  417. }
  418. return 1;
  419. }
  420.  
  421. public OnPlayerRequestSpawn(playerid)
  422. {
  423. if(pInfo[playerid][pLogged] == 0)
  424. {
  425. GameTextForPlayer(playerid,"~r~UM ZU SPIELEN MUSST DU DICH EINLOGGEN",1000,4);
  426. new Query[300],string[128],pname[24],escpname[24];
  427. GetPlayerName(playerid,pname,24);
  428. mysql_real_escape_string(pname, escpname);
  429. format(Query, sizeof(Query), "SELECT * FROM `users` WHERE `Username` = '%s'", escpname);
  430. mysql_query(Query);
  431. mysql_store_result();
  432. if(mysql_num_rows() != 0)
  433. {
  434. if(pInfo[playerid][pLogged] == 0)
  435. {
  436. format(string,sizeof(string),""chat" Hallo %s, willkommen zurück auf "Name"\nBitte logge dich ein!",PlayerName(playerid));
  437. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_BLUE"Einloggen"COL_WHITE" Panel",string,"Login","Schließen");
  438. return 0;
  439. }
  440. }
  441. else
  442. {
  443. if(pInfo[playerid][pLogged] == 0)
  444. {
  445. format(string,sizeof(string),""chat" Hallo %s, willkommen auf "Name"\nBitte registriere dich zuerst!",PlayerName(playerid));
  446. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_RED"Registrieren"COL_WHITE" Panel",string,"Registrieren","Schließen");
  447. return 0;
  448. }
  449. }
  450. mysql_free_result();
  451. }
  452. return 1;
  453. }
  454.  
  455. public OnPlayerConnect(playerid)
  456. {
  457. oPlayers++;
  458. ResetVars(playerid);
  459. ClearChatPlayer(playerid);
  460. new Query[300],string[128],pname[24],escpname[24];
  461. GetPlayerName(playerid,pname,24);
  462. mysql_real_escape_string(pname, escpname);
  463. format(Query, sizeof(Query), "SELECT * FROM `users` WHERE `Username` = '%s'", escpname);
  464. mysql_query(Query);
  465. mysql_store_result();
  466. if(mysql_num_rows() != 0)
  467. {
  468. format(string,sizeof(string),""chat" Hallo %s, willkommen zurück auf "Name"\nBitte logge dich ein.",PlayerName(playerid));
  469. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_BLUE"Login"COL_WHITE" Panel",string,"Einloggen","Schließen");
  470. }
  471. else
  472. {
  473. format(string,sizeof(string),""chat" Hallo %s, willkommen auf "Name"\nBitte registriere dich.",PlayerName(playerid));
  474. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_RED"Registrieren"COL_WHITE" Panel",string,"Registrieren","Schließen");
  475. }
  476. mysql_free_result();
  477. return 1;
  478. }
  479.  
  480. public OnPlayerDisconnect(playerid, reason)
  481. {
  482. oPlayers--;
  483. if(pInfo[playerid][pLogged] == 1) { SaveStats(playerid); } else return 0;
  484. ResetVars(playerid);
  485. playersAliveCount--;
  486. if(oPlayers == 0) return SendRconCommand("mapname Loading"),KillTimer(mapvar),KillTimer(balvar),Map[IsStarted] = 0;
  487. return 1;
  488. }
  489.  
  490. public OnPlayerSpawn(playerid)
  491. {
  492. playersAliveCount++;
  493. CheckToStartMap();
  494. RemovePlayerAttachedObject(playerid,5);
  495. SetPlayerInterior(playerid,Map[Interior]);
  496. SetPlayerAttachedObject(playerid, 5, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4, 1.4);
  497.  
  498. if(team[playerid] == TEAM_ZOMBIE)
  499. {
  500. ZombieSetup(playerid);
  501. SetPlayerPos(playerid,Map[ZombieSpawnX],Map[ZombieSpawnY],Map[ZombieSpawnZ]);
  502. }
  503.  
  504. if(team[playerid] == TEAM_HUMAN)
  505. {
  506. HumanSetup(playerid);
  507. SetPlayerPos(playerid,Map[HumanSpawnX],Map[HumanSpawnY],Map[HumanSpawnZ]);
  508. }
  509. return 1;
  510. }
  511.  
  512. public OnPlayerDeath(playerid, killerid, reason)
  513. {
  514. SendDeathMessage(killerid, playerid, reason);
  515. playersAliveCount--;
  516.  
  517. pInfo[playerid][pDeaths]++;
  518. pInfo[killerid][pKills]++;
  519.  
  520. new earnedm = 350 + random(200);
  521. pInfo[killerid][pMoney] += earnedm;
  522. GiveMoney(killerid,earnedm);
  523.  
  524. if(team[playerid] == TEAM_HUMAN)
  525. {
  526. team[playerid] = TEAM_ZOMBIE;
  527. }
  528.  
  529. if(team[killerid] == TEAM_HUMAN) Map[HScore] += 2;
  530. if(team[killerid] == TEAM_ZOMBIE) Map[ZScore]++;
  531.  
  532. if(killerid != INVALID_PLAYER_ID)
  533. {
  534. if(!PlayerShotPlayer[killerid][playerid])
  535. {
  536. new Admin[24] = "Konsole";
  537. new reason3[128] = "Fake Kills";
  538. BanPlayer(playerid,reason3,Admin);
  539. }
  540. }
  541.  
  542. foreach(Player,i)
  543. {
  544. PlayerShotPlayer[i][playerid] = 0;
  545. }
  546. return 1;
  547. }
  548.  
  549. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  550. {
  551. PlayerShotPlayer[issuerid][playerid] = 1;
  552. if(team[issuerid] == TEAM_HUMAN)
  553. {
  554. if(team[playerid] == TEAM_ZOMBIE)
  555. {
  556. new Float:x,Float:y,Float:z,Float:angle;
  557. GetPlayerFacingAngle(playerid,Float:angle);
  558. GetPlayerVelocity(playerid,Float:x,Float:y,Float:z);
  559. SetPlayerVelocity(playerid,Float:x+0.2,Float:y+0.1,Float:z+0.1);
  560. SetPlayerFacingAngle(playerid,Float:angle);
  561. }
  562. }
  563. return 1;
  564. }
  565.  
  566. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  567. {
  568. if(PRESSED(KEY_FIRE))
  569. {
  570. switch(GetPlayerWeapon(playerid))
  571. {
  572. case 1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,23,26,28,32,35,36,37,38,39,40,41,42,43,44,45:
  573. {
  574. new reason[128];
  575. new Admin[24] = "Konsole";
  576. format(reason,sizeof(reason),"Waffen Hack %i",GetPlayerWeapon(playerid));
  577. BanPlayer(playerid,reason,Admin);
  578. }
  579. }
  580. }
  581.  
  582. if(PRESSED(KEY_FIRE))
  583. {
  584. if(maptime >= 1)
  585. {
  586. if(team[playerid] == TEAM_ZOMBIE)
  587. {
  588. if(GetPlayerWeapon(playerid) == 4)
  589. {
  590. if(gettime() - 6 < knifeAbility[playerid]) return GameTextForPlayer(playerid,"~w~Warte bevor du wieder infizieren kannst!",1000,5);
  591. {
  592. new Float:x,Float:y,Float:z,Float:Angle;
  593. GetPlayerPos(playerid,Float:x,Float:y,Float:z);
  594. GetPlayerFacingAngle(playerid,Float:Angle);
  595. foreach(Player,i)
  596. {
  597. switch(GetPlayerSkin(i))
  598. {
  599. case SKINS_INFECT:
  600. {
  601. if(GetDistanceBetweenPlayers(playerid,i) < 1.8)
  602. {
  603. GetClosestPlayer(i);
  604. GetPlayerPos(i,x222,y222,z222);
  605. GetPlayerFacingAngle(i,angle222);
  606. SendDeathMessage(playerid,i,4);
  607. SpawnPlayer(i);
  608. SetTimerEx("ZombieInfect", 800, false, "i", i);
  609. pInfo[i][pDeaths]++;
  610. pInfo[playerid][pKills] += 2;
  611. GiveMoney(playerid,350);
  612. Map[ZScore]++;
  613. knifeAbility[playerid] = gettime();
  614. }
  615. }
  616. }
  617. }
  618. }
  619. }
  620. }
  621. }
  622. else return SendClientMessage(playerid,-1,""chat""COL_RED" Du kannst nicht Infizieren wenn die Runde vorbei ist!");
  623. }
  624.  
  625. return 1;
  626. }
  627.  
  628. public OnPlayerText(playerid, text[])
  629. {
  630. if(pInfo[playerid][IsPlayerMuted] == 0)
  631. {
  632. if(pInfo[playerid][pLogged] == 1)
  633. {
  634. new stringbig[356];
  635.  
  636. format(stringbig,sizeof(stringbig),"(%d): %s",playerid, text);
  637. SendPlayerMessageToAll(playerid,stringbig);
  638.  
  639. if(strfind(text, ":", true) != -1) {
  640. new i_numcount, i_period, i_pos;
  641. while(text[i_pos]) {
  642. if('0' <= text[i_pos] <= '9') i_numcount ++;
  643. else if(text[i_pos] == '.') i_period ++;
  644. i_pos++;
  645. }
  646. if(i_numcount >= 8 && i_period >= 3) {
  647. new reason[128];
  648. new Admin[24] = "Konsole";
  649. format(reason,sizeof(reason),"Abwerbung %s",text);
  650. BanPlayer(playerid,reason,Admin);
  651. return 0;
  652. }
  653. }
  654. }
  655. }
  656. else return SendClientMessage(playerid,-1,""chat""COL_RED" Du bist gemuted!");
  657. return 0;
  658. }
  659.  
  660. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  661. {
  662. if(pInfo[playerid][pAdminLevel] >= 5)
  663. {
  664. SendClientMessage(playerid,-1,""chat" Willkommen!");
  665. }
  666. else
  667. {
  668. new Float:posxx[3];
  669. GetPlayerPos(playerid, posxx[0], posxx[1], posxx[2]);
  670. SetPlayerPos(playerid, posxx[0], posxx[1], posxx[2]+2);
  671. }
  672. return 1;
  673. }
  674.  
  675. public OnPlayerStateChange(playerid, newstate, oldstate)
  676. {
  677. return 1;
  678. }
  679.  
  680. public OnPlayerEnterCheckpoint(playerid)
  681. {
  682. if(team[playerid] == TEAM_HUMAN)
  683. {
  684. ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was willst du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen");
  685. }
  686. return 1;
  687. }
  688.  
  689. public OnPlayerLeaveCheckpoint(playerid)
  690. {
  691. return 1;
  692. }
  693.  
  694. public OnObjectMoved(objectid)
  695. {
  696. if(objectid == ObjectMove[0])
  697. {
  698. MoveObject(ObjectMove[0],Map[MoveX],Map[MoveY],Map[MoveDown],1.8,Map[MoveRotX],Map[MoveRotY],Map[MoveRotZ]);
  699. new Float:X, Float:Y, Float:Z;
  700. GetObjectPos(ObjectMove[0],X,Y,Z);
  701. if(Z == Map[MoveDown])
  702. {
  703. MoveObject(ObjectMove[0],Map[MoveX],Map[MoveY],Map[MoveUp],1.8,Map[MoveRotX],Map[MoveRotY],Map[MoveRotZ]);
  704. }
  705. }
  706.  
  707. if(objectid == ObjectMove[1])
  708. {
  709. MoveObject(ObjectMove[1],Map[MoveX2],Map[MoveY2],Map[MoveDown2],1.8,Map[MoveRotX2],Map[MoveRotY2],Map[MoveRotZ2]);
  710. new Float:X, Float:Y, Float:Z;
  711. GetObjectPos(ObjectMove[1],X,Y,Z);
  712. if(Z == Map[MoveDown2])
  713. {
  714. MoveObject(ObjectMove[1],Map[MoveX2],Map[MoveY2],Map[MoveUp2],1.8,Map[MoveRotX2],Map[MoveRotY2],Map[MoveRotZ2]);
  715. }
  716. }
  717. return 1;
  718. }
  719.  
  720. public OnPlayerObjectMoved(playerid, objectid)
  721. {
  722. return 1;
  723. }
  724.  
  725. public OnPlayerPickUpPickup(playerid, pickupid)
  726. {
  727. return 1;
  728. }
  729.  
  730. public OnVehicleMod(playerid, vehicleid, componentid)
  731. {
  732. new Admin[24] = "Konsole";
  733. new reason3[128] = "Getunte Auto's";
  734. BanPlayer(playerid,reason3,Admin);
  735. return 0;
  736. }
  737.  
  738. public OnPlayerUpdate(playerid)
  739. {
  740. if(GetTickCount() - armedbody_pTick[playerid] > 113){ //prefix check itter
  741. new
  742. weaponid[13],weaponammo[13],pArmedWeapon;
  743. pArmedWeapon = GetPlayerWeapon(playerid);
  744. GetPlayerWeaponData(playerid,1,weaponid[1],weaponammo[1]);
  745. GetPlayerWeaponData(playerid,2,weaponid[2],weaponammo[2]);
  746. GetPlayerWeaponData(playerid,4,weaponid[4],weaponammo[4]);
  747. GetPlayerWeaponData(playerid,5,weaponid[5],weaponammo[5]);
  748. #if ARMEDBODY_USE_HEAVY_WEAPON
  749. GetPlayerWeaponData(playerid,7,weaponid[7],weaponammo[7]);
  750. #endif
  751. if(weaponid[1] && weaponammo[1] > 0){
  752. if(pArmedWeapon != weaponid[1]){
  753. if(!IsPlayerAttachedObjectSlotUsed(playerid,0)){
  754. SetPlayerAttachedObject(playerid,0,GetWeaponModel(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  755. }
  756. }
  757. else {
  758. if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
  759. RemovePlayerAttachedObject(playerid,0);
  760. }
  761. }
  762. }
  763. else if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
  764. RemovePlayerAttachedObject(playerid,0);
  765. }
  766. if(weaponid[2] && weaponammo[2] > 0){
  767. if(pArmedWeapon != weaponid[2]){
  768. if(!IsPlayerAttachedObjectSlotUsed(playerid,1)){
  769. SetPlayerAttachedObject(playerid,1,GetWeaponModel(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  770. }
  771. }
  772. else {
  773. if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
  774. RemovePlayerAttachedObject(playerid,1);
  775. }
  776. }
  777. }
  778. else if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
  779. RemovePlayerAttachedObject(playerid,1);
  780. }
  781. if(weaponid[4] && weaponammo[4] > 0){
  782. if(pArmedWeapon != weaponid[4]){
  783. if(!IsPlayerAttachedObjectSlotUsed(playerid,2)){
  784. SetPlayerAttachedObject(playerid,2,GetWeaponModel(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  785. }
  786. }
  787. else {
  788. if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
  789. RemovePlayerAttachedObject(playerid,2);
  790. }
  791. }
  792. }
  793. else if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
  794. RemovePlayerAttachedObject(playerid,2);
  795. }
  796. if(weaponid[5] && weaponammo[5] > 0){
  797. if(pArmedWeapon != weaponid[5]){
  798. if(!IsPlayerAttachedObjectSlotUsed(playerid,3)){
  799. SetPlayerAttachedObject(playerid,3,GetWeaponModel(weaponid[5]),1, 0.200000, -0.119999, -0.059999, 0.000000, 206.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  800. }
  801. }
  802. else {
  803. if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
  804. RemovePlayerAttachedObject(playerid,3);
  805. }
  806. }
  807. }
  808. else if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
  809. RemovePlayerAttachedObject(playerid,3);
  810. }
  811. #if ARMEDBODY_USE_HEAVY_WEAPON
  812. if(weaponid[7] && weaponammo[7] > 0){
  813. if(pArmedWeapon != weaponid[7]){
  814. if(!IsPlayerAttachedObjectSlotUsed(playerid,4)){
  815. SetPlayerAttachedObject(playerid,4,GetWeaponModel(weaponid[7]),1,-0.100000, 0.000000, -0.100000, 84.399932, 112.000000, 10.000000, 1.099999, 1.000000, 1.000000);
  816. }
  817. }
  818. else {
  819. if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
  820. RemovePlayerAttachedObject(playerid,4);
  821. }
  822. }
  823. }
  824. else if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
  825. RemovePlayerAttachedObject(playerid,4);
  826. }
  827. #endif
  828. armedbody_pTick[playerid] = GetTickCount();
  829. }
  830.  
  831. new Float:hp;
  832. GetPlayerHealth(playerid,hp);
  833. if(hp <= 1.0) return SetPlayerHealth(playerid,-1.0);
  834.  
  835. if(Map[AllowWater] == 0)
  836. {
  837. if(IsPlayerInWater(playerid))
  838. {
  839. SetPlayerHealth(playerid,0.0);
  840. }
  841. }
  842. return 1;
  843. }
  844.  
  845. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  846. {
  847. switch(dialogid)
  848. {
  849. case 8741:
  850. {
  851. if(response)
  852. {
  853. SpawnPlayer(playerid);
  854. StopAudioStreamForPlayer(playerid);
  855. }
  856. }
  857.  
  858. case DIALOG_REGISTER:
  859. {
  860. if(response)
  861. {
  862. if(!strlen(inputtext) || strlen(inputtext) > 128)
  863. {
  864. new string[128];
  865. SendClientMessage(playerid, -1, ""chat" Dein Passwort muss zwischen 1-128 Zeichen haben!");
  866. format(string,sizeof(string),""chat" Hallo %s, willkommen auf "Name"\nBitte registrier dich.",PlayerName(playerid));
  867. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_RED"Registrieren"COL_WHITE" Panel",string,"Registrieren","Schließen");
  868. }
  869. else if(strlen(inputtext) > 0 && strlen(inputtext) < 128)
  870. {
  871. new escpass[100];
  872. mysql_real_escape_string(inputtext, escpass);
  873. MySQL_Register(playerid, escpass);
  874. }
  875. }
  876. if(!response)
  877. {
  878. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_MSGBOX,"Du wurdest gekickt",""chat" Du musst dich auf "Name" registrieren","Beenden","");
  879. Kick(playerid);
  880. }
  881. }
  882.  
  883. case DIALOG_LOGIN:
  884. {
  885. if(!response)
  886. {
  887. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_MSGBOX,"Du wurdest gekickt",""chat" Du musst dich auf "Name" einloggen","Beenden","");
  888. Kick(playerid);
  889. }
  890. if(response)
  891. {
  892. new query[200], pname[24], escapepass[100];
  893. GetPlayerName(playerid, pname, 24);
  894. mysql_real_escape_string(inputtext, escapepass);
  895. format(query, sizeof(query), "SELECT `Username` FROM users WHERE Username = '%s' AND password = SHA1('%s')", pname, escapepass);
  896. mysql_query(query);
  897. mysql_store_result();
  898.  
  899. new numrows = mysql_num_rows();
  900. if(numrows == 1) MySQL_Login(playerid);
  901.  
  902. if(!numrows)
  903. {
  904. new string[256];
  905. format(string,sizeof(string),""chat" Hallo %s, willkommen zurück auf "Name"\nBitte log dich ein.",PlayerName(playerid));
  906. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_BLUE"Einloggen"COL_WHITE" Panel",string,"Einloggen","Beenden");
  907. }
  908. mysql_free_result();
  909. }
  910. }
  911.  
  912. case DIALOG_SHOP:
  913. {
  914. if(response)
  915. {
  916. switch(listitem)
  917. {
  918. case 0:
  919. {
  920. new str[256];
  921. strcat(str,"$2500\tM4-Karabiner\n$2000\tAK-47\n$4000\tDesert Deagle\n$600\tMP5\n$800\tShotgun\n$3000\tCountry Rifle\n$3500\tSniper Rifle\n$4500\tCombat Shotgun\n");
  922. ShowPlayerDialog(playerid,DIALOG_WEAPONS,DIALOG_STYLE_LIST,"Was möchtest du kaufen?",str,"Kaufen","Beenden");
  923. }
  924.  
  925. case 1:
  926. {
  927. new str[256];
  928. strcat(str,"$200\tCatalina\n$50\tTenpenny\n$50\tPulaski\n$50\tHernandez\n$75\tLS Police\n$75\tLV Police\n$75\tSheriff\n$150\tSWAT\n$50\tFBI\n$100\tArmy");
  929. ShowPlayerDialog(playerid,DIALOG_SKIN,DIALOG_STYLE_LIST,"Welche Uniform darf's sein?",str,"Kaufen","Beenden");
  930. }
  931. }
  932. }
  933. }
  934.  
  935. case DIALOG_SKIN:
  936. {
  937. if(response)
  938. {
  939. switch(listitem)
  940. {
  941. case 0: if(pInfo[playerid][pMoney] >= 200) pInfo[playerid][pMoney] -= 200,SetPlayerSkin(playerid,298),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,200); }
  942. case 1: if(pInfo[playerid][pMoney] >= 50) pInfo[playerid][pMoney] -= 50,SetPlayerSkin(playerid,265),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,50); }
  943. case 2: if(pInfo[playerid][pMoney] >= 50) pInfo[playerid][pMoney] -= 50,SetPlayerSkin(playerid,266),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,50); }
  944. case 3: if(pInfo[playerid][pMoney] >= 50) pInfo[playerid][pMoney] -= 50,SetPlayerSkin(playerid,267),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,50); }
  945. case 4: if(pInfo[playerid][pMoney] >= 75) pInfo[playerid][pMoney] -= 75,SetPlayerSkin(playerid,280),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,75); }
  946. case 5: if(pInfo[playerid][pMoney] >= 75) pInfo[playerid][pMoney] -= 75,SetPlayerSkin(playerid,282),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,75); }
  947. case 6: if(pInfo[playerid][pMoney] >= 75) pInfo[playerid][pMoney] -= 75,SetPlayerSkin(playerid,283),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,75); }
  948. case 7: if(pInfo[playerid][pMoney] >= 150) pInfo[playerid][pMoney] -= 150,SetPlayerSkin(playerid,285),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,150); }
  949. case 8: if(pInfo[playerid][pMoney] >= 50) pInfo[playerid][pMoney] -= 50,SetPlayerSkin(playerid,286),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,50); }
  950. case 9: if(pInfo[playerid][pMoney] >= 100) pInfo[playerid][pMoney] -= 100,SetPlayerSkin(playerid,287),ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Waffen\nUniformen\n","Kaufen","Schließen"); else { SendMError(playerid,100); }
  951. }
  952. }
  953. }
  954.  
  955. case DIALOG_WEAPONS:
  956. {
  957. if(response)
  958. {
  959. switch(listitem)
  960. {
  961. case 0: if(pInfo[playerid][pMoney] >= 2500) pInfo[playerid][pMoney] -= 2500,GivePlayerWeapon(playerid,31,150); else { SendMError(playerid,2500); }
  962. case 1: if(pInfo[playerid][pMoney] >= 2000) pInfo[playerid][pMoney] -= 2000,GivePlayerWeapon(playerid,30,200); else { SendMError(playerid,2000); }
  963. case 2: if(pInfo[playerid][pMoney] >= 4000) pInfo[playerid][pMoney] -= 4000,GivePlayerWeapon(playerid,24,60); else { SendMError(playerid,4000); }
  964. case 3: if(pInfo[playerid][pMoney] >= 600) pInfo[playerid][pMoney] -= 600,GivePlayerWeapon(playerid,29,190); else { SendMError(playerid,600); }
  965. case 4: if(pInfo[playerid][pMoney] >= 800) pInfo[playerid][pMoney] -= 800,GivePlayerWeapon(playerid,25,25); else { SendMError(playerid,800); }
  966. case 5: if(pInfo[playerid][pMoney] >= 3000) pInfo[playerid][pMoney] -= 3000,GivePlayerWeapon(playerid,33,25); else { SendMError(playerid,3000); }
  967. case 6: if(pInfo[playerid][pMoney] >= 3500) pInfo[playerid][pMoney] -= 3500,GivePlayerWeapon(playerid,34,25); else { SendMError(playerid,3500); }
  968. case 7: if(pInfo[playerid][pMoney] >= 4500) pInfo[playerid][pMoney] -= 4500,GivePlayerWeapon(playerid,27,50); else { SendMError(playerid,4500); }
  969. }
  970. }
  971. }
  972. }
  973. return 1;
  974. }
  975.  
  976. CMD:top10(playerid, params[])
  977. {
  978. mysql_query("SELECT `Username`, `pKills` FROM `users` ORDER BY `pKills` DESC LIMIT 10");
  979. mysql_store_result();
  980.  
  981. new
  982. ID,
  983. output[800];
  984.  
  985. while(mysql_retrieve_row())
  986. {
  987. ID ++;
  988.  
  989. new
  990. username[24],
  991. scorevariable[80];
  992.  
  993. mysql_fetch_field_row(username, "Username");
  994. mysql_fetch_field_row(scorevariable, "pKills");
  995.  
  996. format(output, sizeof(output), "%s%d. %s %d Kills\n", output, ID, username, strval(scorevariable));
  997. }
  998. mysql_free_result();
  999.  
  1000. ShowPlayerDialog(playerid, DIALOG_TOP, DIALOG_STYLE_MSGBOX, "Top 10 Spieler", output, "OK", "");
  1001. return 1;
  1002. }
  1003.  
  1004. CMD:top20(playerid, params[])
  1005. {
  1006. mysql_query("SELECT `Username`, `pKills` FROM `users` ORDER BY `pKills` DESC LIMIT 20");
  1007. mysql_store_result();
  1008.  
  1009. new
  1010. ID,
  1011. output[800];
  1012.  
  1013. while(mysql_retrieve_row())
  1014. {
  1015. ID ++;
  1016.  
  1017. new
  1018. username[24],
  1019. scorevariable[80];
  1020.  
  1021. mysql_fetch_field_row(username, "Username");
  1022. mysql_fetch_field_row(scorevariable, "pKills");
  1023.  
  1024. format(output, sizeof(output), "%s%d. %s %d Kills\n", output, ID, username, strval(scorevariable));
  1025. }
  1026. mysql_free_result();
  1027.  
  1028. ShowPlayerDialog(playerid, DIALOG_TOP, DIALOG_STYLE_MSGBOX, "Top 20 Spieler", output, "OK", "");
  1029. return 1;
  1030. }
  1031.  
  1032. CMD:top30(playerid, params[])
  1033. {
  1034. mysql_query("SELECT `Username`, `pKills` FROM `users` ORDER BY `pKills` DESC LIMIT 30");
  1035. mysql_store_result();
  1036.  
  1037. new
  1038. ID,
  1039. output[900];
  1040.  
  1041. while(mysql_retrieve_row())
  1042. {
  1043. ID ++;
  1044.  
  1045. new
  1046. username[24],
  1047. scorevariable[100];
  1048.  
  1049. mysql_fetch_field_row(username, "Username");
  1050. mysql_fetch_field_row(scorevariable, "pKills");
  1051.  
  1052. format(output, sizeof(output), "%s%d. %s %d Kills\n", output, ID, username, strval(scorevariable));
  1053. }
  1054. mysql_free_result();
  1055.  
  1056. ShowPlayerDialog(playerid, DIALOG_TOP, DIALOG_STYLE_MSGBOX, "Top 30 Spieler", output, "OK", "");
  1057. return 1;
  1058. }
  1059.  
  1060. CMD:nextmap(playerid,params[])
  1061. {
  1062. if(pInfo[playerid][pLogged] == 1)
  1063. {
  1064. if(pInfo[playerid][pAdminLevel] >= 5)
  1065. {
  1066. new map,stringmap[256];
  1067. if(sscanf(params,"i", map)) return SendClientMessage(playerid,-1,""chat" /nextmap [mapid]");
  1068.  
  1069. format(stringmap,sizeof(stringmap),""chat""COL_LIGHTBLUE" %s %s hat die nächste Map auf %i gesetzt",GetAdminName(playerid),PlayerName(playerid),map);
  1070. SendClientMessageToAll(-1,stringmap);
  1071. mapid = map;
  1072. }
  1073. }
  1074. return 1;
  1075. }
  1076.  
  1077. CMD:skipmap(playerid)
  1078. {
  1079. if(pInfo[playerid][pLogged] == 1)
  1080. {
  1081. if(pInfo[playerid][pAdminLevel] >= 5)
  1082. {
  1083. maptime = 5;
  1084. }
  1085. }
  1086. return 1;
  1087. }
  1088.  
  1089. CMD:setzombie(playerid,params[])
  1090. {
  1091. if(pInfo[playerid][pAdminLevel] >= 3)
  1092. {
  1093. if(IsPlayerConnected(playerid))
  1094. {
  1095. new targetid,str[256];
  1096. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /setzombie [playerid]");
  1097. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Spieler ist nicht online");
  1098.  
  1099. ZombieSetup(targetid);
  1100. SpawnPlayer(targetid);
  1101. format(str,sizeof(str),""chat""COL_LGREEN" Ein Admin hat dich infiziert!");
  1102. SendClientMessage(targetid,-1,str);
  1103. format(str,sizeof(str),""chat""COL_LGREEN" Du hast %s(%i) infiziert!",PlayerName(targetid),targetid);
  1104. SendClientMessage(playerid,-1,str);
  1105. }
  1106. }
  1107. return 1;
  1108. }
  1109.  
  1110. CMD:sethuman(playerid,params[])
  1111. {
  1112. if(pInfo[playerid][pAdminLevel] >= 3)
  1113. {
  1114. if(IsPlayerConnected(playerid))
  1115. {
  1116. new targetid,str[256];
  1117. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /sethuman [playerid]");
  1118. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Spieler ist nicht online");
  1119.  
  1120. HumanSetup(targetid);
  1121. SpawnPlayer(targetid);
  1122. format(str,sizeof(str),""chat""COL_LGREEN" Ein Admin hat dich von der Infizierung geheilt!");
  1123. SendClientMessage(targetid,-1,str);
  1124. format(str,sizeof(str),""chat""COL_LGREEN" Du hast %s(%i) zum Menschen gemacht!",PlayerName(targetid),targetid);
  1125. SendClientMessage(playerid,-1,str);
  1126. }
  1127. }
  1128. return 1;
  1129. }
  1130.  
  1131. CMD:acmds(playerid,params[])
  1132. {
  1133. if(pInfo[playerid][pAdminLevel] >= 1)
  1134. {
  1135. new str[500];
  1136. strcat(str,""COL_WHITE"Level1 - /clearanim,/getid, /cc, /wslap, /a, /warn, /akill, /mute, /unmute, /kick\nLevel2 - /ban, /unban, /slap, /givemoney, /settime, /setweather, /get, /goto, /respawncars\n\
  1137. level3 - /ann2, /ip,/setzombie\nlevel4 - /ann, /getallzombies\nlevel5 - Private");
  1138. ShowPlayerDialog(playerid,6755,DIALOG_STYLE_MSGBOX,"Admin Command List!",str,"Schließen","");
  1139. }
  1140. else return SendClientMessage(playerid,-1,""chat""COL_RED" You are not in the staff team!");
  1141. return 1;
  1142. }
  1143.  
  1144. CMD:rules(playerid,params[])
  1145. {
  1146. new str[500];
  1147. strcat(str,""COL_RED"Bitte halte diese Regeln IMMER ein!"COL_WHITE"\n1. Flame nicht und provoziere nicht unnötig!\n2. Nutze keine Programme die dir Vorteile verschaffen!(z.B SAMPFox)\n3. Allgemein kein Cheaten!\n\
  1148. 4. Respektiere jeden Spieler!\n5. Kein Spawnkill!\n6. Spamme nicht den Chat voll!\n7. Melde jeden Cheater und Regelbrecher mit /report!\n8. Keine Bunnyhop!\n\
  1149. "COL_BLUE"Schaue Regelmäßig vorbei, die Regeln werden oft geupdatet!");
  1150. ShowPlayerDialog(playerid,6733,DIALOG_STYLE_MSGBOX,"Server Regeln",str,"Ich stimme zu","");
  1151. return 1;
  1152. }
  1153.  
  1154. CMD:cmds(playerid)
  1155. {
  1156. new str[380];
  1157. strcat(str,"/stats - Schaue dir deine Stats an\n/report - Reporte Regelbrecher und Cheater\n/admins - Sehe dir die Online Administratoren an\n/vips - Alle online V.I.P's\n\
  1158. /pm - Private Nachricht schicken\n/blockpm - Nachrichten blockieren\n/unblockpm - Nachrichten entblocken\n/sharemoney - Teile dein Geld!\n/ss or /savestats - Speichere deine Stats\n\
  1159. Top 10 or 20 or 30 - Show the top 10 - 20 - 30 players in the server with kills!\n");
  1160. ShowPlayerDialog(playerid,7312,DIALOG_STYLE_MSGBOX,"Server Kommandos",str,"Schließen","");
  1161. return 1;
  1162. }
  1163.  
  1164. CMD:commands(playerid) return cmd_cmds(playerid);
  1165. CMD:command(playerid) return cmd_cmds(playerid);
  1166. CMD:help(playerid) return cmd_cmds(playerid);
  1167.  
  1168. CMD:getallzombies(playerid)
  1169. {
  1170. if(pInfo[playerid][pAdminLevel] >= 4)
  1171. {
  1172. new Float:x22,Float:y22,Float:z22;
  1173. new str[128];
  1174. foreach(Player,i)
  1175. {
  1176. if(team[i] == TEAM_ZOMBIE)
  1177. {
  1178. GetPlayerPos(playerid,Float:x22,Float:y22,Float:z22);
  1179. SetPlayerPos(i,Float:x22,Float:y22,Float:z22+0.6);
  1180. format(str,sizeof(str),""chat""COL_LGREEN" Admin %s hat alle Zombies teleportiert!",PlayerName(playerid));
  1181. SendClientMessage(i,-1,str);
  1182. }
  1183. }
  1184. }
  1185. return 1;
  1186. }
  1187.  
  1188. CMD:stats(playerid, params[])
  1189. {
  1190. new id;
  1191. if(sscanf(params,"u",id)) return SendClientMessage(playerid, -1,""chat" /stats (id)");
  1192. new Float:kd = floatdiv(pInfo[id][pKills], pInfo[id][pDeaths]);
  1193.  
  1194. new str[300];
  1195. format(str,sizeof(str),""chat" Account Name %s\nKill Death Ratio %0.2f (KDR)\nSpielzeit: %i Stunden %i Minuten %i Sekunden\nGeld %i\nAdmin Level %i\nVIP %i\nWarnungen %i\nKill %i\nTode %i",
  1196. PlayerName(id),kd,pInfo[id][pHour],pInfo[id][pMin],pInfo[id][pSec],pInfo[id][pMoney],pInfo[id][pAdminLevel],pInfo[id][pVipLevel],pInfo[id][pWarnings],pInfo[id][pKills],pInfo[id][pDeaths]);
  1197.  
  1198. ShowPlayerDialog(playerid, 9111, DIALOG_STYLE_MSGBOX, "Stats", str, "Schließen","");
  1199. return 1;
  1200. }
  1201.  
  1202. CMD:report(playerid,params[])
  1203. {
  1204. new targetid,reason[105],reportstring[256];
  1205. if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /report [playerid] [Grund]");
  1206. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Spieler ist nicht online");
  1207.  
  1208. if(pInfo[playerid][IsPlayerMuted] == 0)
  1209. {
  1210. SendClientMessage(playerid,-1,""chat""COL_LGREEN" Dein Report wurde gesendet!");
  1211.  
  1212. format(reportstring,sizeof(reportstring), ""chat""COL_YELLOW" Admin %s(%d) hat %s(%d) reported!"COL_WHITE" [Grund: %s]", PlayerName(playerid),playerid,PlayerName(targetid),targetid,reason);
  1213. SendMessageToAllAdmins(reportstring,-1);
  1214. }
  1215. else {
  1216. SendClientMessage(playerid,-1,""chat""COL_RED" Du bist gemuted!");
  1217. }
  1218. return 1;
  1219. }
  1220.  
  1221. CMD:admins(playerid, params[])
  1222. {
  1223. if(pInfo[playerid][pHour] >= 4)
  1224. {
  1225. new adminstring[128];
  1226. if(IsPlayerConnected(playerid))
  1227. {
  1228. for (new i = 0; i < MAX_PLAYERS; i++)
  1229. {
  1230. if(IsPlayerConnected(i))
  1231. {
  1232. if(pInfo[i][pAdminLevel] > 0)
  1233. {
  1234. format(adminstring, sizeof(adminstring),"%s%s: %s\n", adminstring, GetAdminName(i), PlayerName(i));
  1235. }
  1236. }
  1237. }
  1238. ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",adminstring,"Schließen","");
  1239. }
  1240. else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Es sind keine Admins online");
  1241. }
  1242. else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Du musst 4 Stunden Spielzeit haben!");
  1243. return 1;
  1244. }
  1245.  
  1246. CMD:vips(playerid, params[])
  1247. {
  1248. if(pInfo[playerid][pHour] >= 1)
  1249. {
  1250. new adminstring[128];
  1251. if(IsPlayerConnected(playerid))
  1252. {
  1253. for (new i = 0; i < MAX_PLAYERS; i++)
  1254. {
  1255. if(IsPlayerConnected(i))
  1256. {
  1257. if(pInfo[i][pVipLevel] > 0)
  1258. {
  1259. format(adminstring, sizeof(adminstring),"%sLevel %d: %s\n", adminstring, pInfo[i][pVipLevel], PlayerName(i));
  1260. }
  1261. }
  1262. }
  1263. ShowPlayerDialog(playerid,DIALOG_VIPS,DIALOG_STYLE_MSGBOX,"Online V.I.Ps",adminstring,"Schließen","");
  1264. }
  1265. else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Keine VIP's online");
  1266. }
  1267. else return SendClientMessage(playerid,-1,""chat""COL_LGREEN" Du musst 1 Stunde Spielzeit haben!");
  1268. return 1;
  1269. }
  1270.  
  1271. CMD:ban(playerid,params[])
  1272. {
  1273. if(pInfo[playerid][pAdminLevel] >= 2)
  1274. {
  1275. if(IsPlayerConnected(playerid))
  1276. {
  1277. new targetid,reason[105],string[256];
  1278. if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /ban [playerid] [Grund]");
  1279. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline");
  1280.  
  1281. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s gebannt"COL_WHITE" [Grund: %s]",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
  1282. SendClientMessageToAll(-1,string);
  1283.  
  1284. BanPlayer(targetid,reason,PlayerName(playerid));
  1285. }
  1286. }
  1287. else {
  1288. SendClientMessage(playerid,-1,""chat""COL_RED" Das darfst du nicht!!");
  1289. }
  1290. return 1;
  1291. }
  1292.  
  1293. CMD:unban(playerid, params[])
  1294. {
  1295. if(pInfo[playerid][pLogged] == 1)
  1296. {
  1297. if(pInfo[playerid][pAdminLevel] >= 2)
  1298. {
  1299. new Query[200];
  1300. if (!strlen(params)) return SendClientMessage(playerid,-1,""chat" /unban [name]");
  1301. format(Query, sizeof(Query), "SELECT `Name` FROM `banlog` WHERE Name = '%s' AND pAccountLock = 1 LIMIT 1", escstring(params));
  1302. mysql_query(Query);
  1303. mysql_store_result();
  1304. if(!mysql_num_rows())
  1305. {
  1306. new string[200];
  1307. format(string, sizeof(string), ""chat" Niemand mit dem Namen %s ist gebannt!", params);
  1308. mysql_free_result();
  1309. return SendClientMessage(playerid,-1,string);
  1310. }
  1311. else if(mysql_num_rows() != 0)
  1312. {
  1313. format(Query, sizeof(Query), "UPDATE `banlog` SET `pAccountLock` = 0 WHERE Name = '%s'", escstring(params));
  1314. mysql_query(Query);
  1315. mysql_store_result();
  1316. new string[200];
  1317. format(string, sizeof(string), ""chat" %s wurde entbannt!", params);
  1318. SendClientMessage(playerid, 0x66FF33, string);
  1319. }
  1320. }
  1321. }
  1322. return 1;
  1323. }
  1324.  
  1325. CMD:getid(playerid,params[])
  1326. {
  1327. new found, string[128], playername[MAX_PLAYER_NAME];
  1328. if(pInfo[playerid][pAdminLevel] >= 1)
  1329. {
  1330. if(isnull(params)) return SendClientMessage(playerid, -1, ""chat" /getid [PartOfName] ");
  1331. format(string,sizeof(string),""chat" Gesucht nach: \"%s\"",params);
  1332. SendClientMessage(playerid, -1,string);
  1333. for(new i=0; i <= MAX_PLAYERS; i++)
  1334. {
  1335. if(IsPlayerConnected(i))
  1336. {
  1337. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  1338. new namelen = strlen(playername);
  1339. new bool:searched=false;
  1340. for(new pos=0; pos <= namelen; pos++)
  1341. {
  1342. if(searched != true)
  1343. {
  1344. if(strfind(playername,params,true) == pos)
  1345. {
  1346. found++;
  1347. format(string,sizeof(string),""chat" %d. %s (ID: %d)",found,playername,i);
  1348. SendClientMessage(playerid, -1 ,string);
  1349. searched = true;
  1350. }
  1351. }
  1352. }
  1353. }
  1354. }
  1355. if(found == 0)
  1356. SendClientMessage(playerid, -1, ""chat" Kein Spieler gefunden!");
  1357. }
  1358. else {
  1359. SendClientMessage(playerid,-1,""chat""COL_RED" Das darfst du nicht!");
  1360. }
  1361. return 1;
  1362. }
  1363.  
  1364. CMD:cc(playerid,params[])
  1365. {
  1366. if(pInfo[playerid][pAdminLevel] >= 1)
  1367. {
  1368. new reason[105], string[256];
  1369. if(sscanf(params, "s[105]", reason)) return SendClientMessage(playerid,-1,""chat" /clearchat [Grund]");
  1370.  
  1371. ClearChat();
  1372. format(string,sizeof(string), ""chat""COL_RED" %s %s hat den Chat geleert"COL_WHITE" [Grund: %s]",GetAdminName(playerid),PlayerName(playerid),reason);
  1373. SendClientMessageToAll(-1,string);
  1374. }
  1375. else {
  1376. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1377. }
  1378. return 1;
  1379. }
  1380.  
  1381. CMD:makeadmin(playerid,params[])
  1382. {
  1383. if(pInfo[playerid][pAdminLevel] >= 5)
  1384. {
  1385. new targetid,level,string[256];
  1386. if(sscanf(params, "ud", targetid, level)) return SendClientMessage(playerid,-1,""chat" /makeadmin [playerid] [level]");
  1387. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline!");
  1388. if(level < 0 || level > 5) return SendClientMessage(playerid,-1,""chat" Die Adminlevel gehen nur von 1-5");
  1389.  
  1390. pInfo[targetid][pAdminLevel] = level;
  1391.  
  1392. format(string, sizeof(string), ""chat""COL_RED" %s %s hat den Status %d dem Spieler %s zugeteilt",GetAdminName(playerid),PlayerName(playerid),level,PlayerName(targetid));
  1393. SendClientMessageToAll(-1,string);
  1394. }
  1395. else {
  1396. SendClientMessage(playerid,-1,""chat""COL_RED" Du hast keine Rechte dafür!");
  1397. }
  1398. return 1;
  1399. }
  1400.  
  1401. CMD:setvip(playerid,params[])
  1402. {
  1403. if(pInfo[playerid][pAdminLevel] >= 5)
  1404. {
  1405. new targetid,level,string[256];
  1406. if(sscanf(params, "ud", targetid, level)) return SendClientMessage(playerid,-1,""chat" /setvip [playerid] [level]");
  1407. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline!");
  1408. if(level < 0 || level > 4) return SendClientMessage(playerid,-1,""chat" Es gibt nur 4 VIP Level!");
  1409.  
  1410. pInfo[targetid][pVipLevel] = level;
  1411.  
  1412. format(string, sizeof(string), ""chat""COL_RED" %s %s hat den VIP Level %d an %s vergeben",GetAdminName(playerid),PlayerName(playerid),level,PlayerName(targetid));
  1413. SendClientMessageToAll(-1,string);
  1414. }
  1415. else {
  1416. SendClientMessage(playerid,-1,""chat""COL_RED" Dazu hast du keine Rechte!");
  1417. }
  1418. return 1;
  1419. }
  1420.  
  1421. CMD:slap(playerid,params[])
  1422. {
  1423. if(pInfo[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
  1424. {
  1425. new targetid;
  1426. // new targetid,string[256];
  1427. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /slap [playerid]");
  1428. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist noch online!");
  1429.  
  1430. new Float:posxx[3];
  1431. GetPlayerPos(targetid, posxx[0], posxx[1], posxx[2]);
  1432. SetPlayerPos(targetid, posxx[0], posxx[1], posxx[2]+40);
  1433.  
  1434. /* if(IsPlayerAdmin(playerid))
  1435. {
  1436. format(string, sizeof(string), ""chat""COL_RED" %s wurde geslappt!",PlayerName(targetid));
  1437. SendClientMessageToAll(-1,string);
  1438. }
  1439. else
  1440. {
  1441. format(string, sizeof(string), ""chat""COL_RED" %s %s has slapped %s",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid));
  1442. SendClientMessageToAll(-1,string);
  1443. }*/
  1444. }
  1445. else {
  1446. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1447. }
  1448. return 1;
  1449. }
  1450.  
  1451. CMD:wslap(playerid,params[])
  1452. {
  1453. if(pInfo[playerid][pAdminLevel] >= 1)
  1454. {
  1455. new targetid,string[256];
  1456. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /wslap [playerid]");
  1457. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist noch online!");
  1458.  
  1459. new Float:posxx[3];
  1460.  
  1461. GetPlayerPos(targetid, posxx[0], posxx[1], posxx[2]);
  1462. SetPlayerPos(targetid, posxx[0], posxx[1], posxx[2]+4);
  1463.  
  1464. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s geslappt und gewarnt!",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid));
  1465. SendClientMessageToAll(-1,string);
  1466. }
  1467. else {
  1468. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1469. }
  1470. return 1;
  1471. }
  1472.  
  1473. CMD:a(playerid,params[])
  1474. {
  1475. new adminstring[256];
  1476. if(pInfo[playerid][pAdminLevel] >= 1)
  1477. {
  1478. if(!strlen(params))
  1479. {
  1480. SendClientMessage(playerid, -1, ""chat" /a [message]");
  1481. return 1;
  1482. }
  1483. format(adminstring, sizeof(adminstring), ""COL_LIGHTBLUE"[AdmChat] %s %s[%d]: %s",GetAdminName(playerid),PlayerName(playerid), playerid, params);
  1484. SendMessageToAllAdmins(adminstring, -1);
  1485. }
  1486. else {
  1487. SendClientMessage(playerid,-1,""chat""COL_RED" Dazu hast du keine Rechte!");
  1488. }
  1489. return 1;
  1490. }
  1491.  
  1492. CMD:pm(playerid,params[])
  1493. {
  1494. new targetid,message[256],pmstring[256],string[128];
  1495.  
  1496. if(sscanf(params,"us[256]", targetid, message)) return SendClientMessage(playerid,-1,""chat" /pm [playerid] [message]");
  1497. if(pInfo[playerid][pLogged] == 1)
  1498. {
  1499. if(pInfo[targetid][pPM] == 0)
  1500. {
  1501. format(pmstring,sizeof(pmstring),""chat""COL_LIGHTBLUE" Nachricht von %s[%d]\nNachricht: %s",PlayerName(playerid),playerid,message);
  1502. SendClientMessage(targetid,-1,pmstring);
  1503. format(string,sizeof(string),""chat""COL_LIGHTBLUE" Nachricht an %s gesendet", PlayerName(targetid));
  1504. SendClientMessage(playerid,-1,string);
  1505. }
  1506. else {
  1507. SendClientMessage(playerid,-1,""chat""COL_RED" Der Spieler akzeptiert keine Privatnachrichten!");
  1508. }
  1509. }
  1510. return 1;
  1511. }
  1512.  
  1513. CMD:blockpm(playerid) return pInfo[playerid][pPM] = 1, SendClientMessage(playerid,-1,""chat""COL_LGREEN" Du hast deine Privatnachrichten blockiert!");
  1514. CMD:unblockpm(playerid) return pInfo[playerid][pPM] = 0, SendClientMessage(playerid,-1,""chat""COL_LGREEN" Dir kann wieder geschrieben werden!");
  1515.  
  1516. CMD:ann(playerid,params[])
  1517. {
  1518. if(pInfo[playerid][pAdminLevel] >= 4 || IsPlayerAdmin(playerid))
  1519. {
  1520. if(isnull(params)) return SendClientMessage(playerid, -1, ""chat" /ann [Text]");
  1521. GameTextForAll(params,5000,3);
  1522. }
  1523. else {
  1524. SendClientMessage(playerid,-1,""chat""COL_LGREEN" Das kannst du nicht!");
  1525. }
  1526. return 1;
  1527. }
  1528.  
  1529. CMD:ann2(playerid,params[])
  1530. {
  1531. if(pInfo[playerid][pAdminLevel] >= 3 || IsPlayerAdmin(playerid))
  1532. {
  1533. if(isnull(params)) return SendClientMessage(playerid, -1, ""chat" /ann2 [Text]");
  1534. SendClientMessageToAll(-1,params);
  1535. }
  1536. else {
  1537. SendClientMessage(playerid,-1,""chat""COL_LGREEN" Das kannst du nicht!");
  1538. }
  1539. return 1;
  1540. }
  1541.  
  1542. CMD:warn(playerid,params[])
  1543. {
  1544. if(pInfo[playerid][pAdminLevel] >= 1 || IsPlayerAdmin(playerid))
  1545. {
  1546. new targetid,reason[105],string[256];
  1547. if(sscanf(params, "us[105]", targetid, reason)) return SendClientMessage(playerid,-1,""chat" /warn [playerid] [Grund]");
  1548. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Spieler ist nicht online!");
  1549.  
  1550. new sentstring[128];
  1551.  
  1552. pInfo[targetid][pWarnings]++;
  1553.  
  1554. format(string,sizeof(string), "%s %s hat dich verwarnt!\nGrund: %s\nWarnnummer: %i",GetAdminName(playerid),PlayerName(playerid), reason, pInfo[targetid][pWarnings]);
  1555. ShowPlayerDialog(targetid,DIALOG_WARN,DIALOG_STYLE_MSGBOX,"Verwarnung",string,"Ich habe es verstanden.","");
  1556. format(sentstring,sizeof(sentstring), ""chat""COL_RED" %s %s hat %s verwarnt"COL_WHITE" Grund: %s (%i / 3)",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason,pInfo[targetid][pWarnings]);
  1557. SendClientMessageToAll(-1,sentstring);
  1558.  
  1559. if(pInfo[targetid][pWarnings] >= 3)
  1560. {
  1561. new Admin[24] = "Konsole";
  1562. new reason3[128] = "3 Verwarnungen";
  1563. format(string, sizeof(string), ""chat""COL_RED" %s wurde gebannt."COL_WHITE" [Warngrund: %s][Banngrund: Die 3 Warnings sind voll!]",PlayerName(targetid),reason);
  1564. SendClientMessageToAll(-1,string);
  1565. BanPlayer(playerid,reason3,Admin);
  1566. }
  1567. }
  1568. else {
  1569. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht.");
  1570. }
  1571. return 1;
  1572. }
  1573.  
  1574. CMD:givemoney(playerid,params[])
  1575. {
  1576. if(pInfo[playerid][pLogged] == 1)
  1577. {
  1578. if(pInfo[playerid][pAdminLevel] >= 4)
  1579. {
  1580. new targetid,givemoney,string[256];
  1581. if(sscanf(params, "ui", targetid, givemoney)) return SendClientMessage(playerid,-1,""chat" /givemoney [playerid] [amount]");
  1582. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1583.  
  1584. // if(givemoney < -6000 || givemoney > 10000) return SendClientMessage(playerid,-1,""chat" You can only give money between Negative 6000 - Positive 10000");
  1585. pInfo[targetid][pMoney] += givemoney;
  1586.  
  1587. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s %d Dollar gegeben",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),givemoney);
  1588. SendClientMessageToAll(-1,string);
  1589. }
  1590. else {
  1591. SendClientMessage(playerid,-1,""chat""COL_RED" Das darfst du nicht!");
  1592. }
  1593. }
  1594. else {
  1595. SendClientMessage(playerid,-1,""chat""COL_RED" Du bist nicht eingeloggt");
  1596. Kick(playerid);
  1597. }
  1598. return 1;
  1599. }
  1600.  
  1601. CMD:savestats(playerid)
  1602. {
  1603. if(pInfo[playerid][pLogged] == 1)
  1604. {
  1605. SaveStats(playerid);
  1606. SendClientMessage(playerid,-1,""chat" Statistiken gespeichert");
  1607. }
  1608. return 1;
  1609. }
  1610.  
  1611. CMD:ss(playerid) return cmd_savestats(playerid);
  1612.  
  1613. CMD:sharemoney(playerid,params[])
  1614. {
  1615. if(pInfo[playerid][pLogged] == 1)
  1616. {
  1617. if(pInfo[playerid][pHour] >= 1)
  1618. {
  1619. new targetid,givemoney,reason[105],stringmoney[256];
  1620. if(sscanf(params,"uis[105]", targetid,givemoney,reason)) return SendClientMessage(playerid,-1,""chat" /sharemoney [playerid] [amount] [Grund]");
  1621. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1622. if(targetid == playerid) return SendClientMessage(playerid,-1,""chat" Du kannst dir nicht selber Geld schenken!");
  1623. if (givemoney > 0 && pInfo[playerid][pMoney] >= givemoney)
  1624. {
  1625. pInfo[targetid][pMoney] += givemoney;
  1626. pInfo[playerid][pMoney] -= givemoney;
  1627. format(stringmoney,sizeof(stringmoney),""chat""COL_LGREEN" Der Spieler %s hat"COL_RED" %d Dollar"COL_LGREEN" an %s verschenkt. [Grund: %s]", PlayerName(playerid), givemoney, PlayerName(targetid), reason);
  1628. SendClientMessageToAll(-1,stringmoney);
  1629. }
  1630. else
  1631. {
  1632. SendClientMessage(playerid,-1,""chat" Du hast nicht genug Geld");
  1633. }
  1634. }
  1635. else
  1636. {
  1637. SendClientMessage(playerid,-1,""chat" Du musst mindestens 1 Stunde online Zeit haben");
  1638. }
  1639. }
  1640. return 1;
  1641. }
  1642.  
  1643. CMD:settime(playerid,params[])
  1644. {
  1645. if(pInfo[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
  1646. {
  1647. new time2,string[128];
  1648. if(sscanf(params, "i", time2)) return SendClientMessage(playerid,-1,""chat" /settime [time]");
  1649.  
  1650. SetWorldTime(time2);
  1651.  
  1652. if(IsPlayerAdmin(playerid))
  1653. {
  1654. format(string, sizeof(string), ""chat" Zeit auf %d gesetzt",time2);
  1655. SendClientMessageToAll(-1,string);
  1656. }
  1657. else
  1658. {
  1659. format(string, sizeof(string), ""chat""COL_RED" %s %s hat die Zeit auf %d Uhr gesetzt",GetAdminName(playerid),PlayerName(playerid),time2);
  1660. SendClientMessageToAll(-1,string);
  1661. }
  1662. }
  1663. else {
  1664. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1665. }
  1666. return 1;
  1667. }
  1668.  
  1669. CMD:setweather(playerid,params[])
  1670. {
  1671. if(pInfo[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
  1672. {
  1673. new weather,string[128];
  1674. if(sscanf(params, "i", weather)) return SendClientMessage(playerid,-1,""chat" /setweather [weather id]");
  1675.  
  1676. SetWeather(weather);
  1677.  
  1678. if(IsPlayerAdmin(playerid))
  1679. {
  1680. format(string, sizeof(string), ""chat""COL_RED" Wetter auf %d gesetzt.",weather);
  1681. SendClientMessageToAll(-1,string);
  1682. }
  1683. else
  1684. {
  1685. format(string, sizeof(string), ""chat""COL_RED" %s %s hat das Wetter auf %d gesetzt",GetAdminName(playerid),PlayerName(playerid),weather);
  1686. SendClientMessageToAll(-1,string);
  1687. }
  1688. }
  1689. else {
  1690. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1691. }
  1692. return 1;
  1693. }
  1694.  
  1695. CMD:ip(playerid, params[])
  1696. {
  1697. if(pInfo[playerid][pAdminLevel] >= 5)
  1698. {
  1699. new targetid,playerip[16],string[128];
  1700. if(sscanf(params, "u", targetid, playerip)) return SendClientMessage(playerid,-1,""chat" /ip [playerid]");
  1701. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1702.  
  1703. GetPlayerIp(targetid, playerip, sizeof(playerip));
  1704. format(string, sizeof(string), ""chat""COL_RED" IP von %s %s", PlayerName(targetid), playerip);
  1705. SendClientMessage(playerid, -1, string);
  1706. }
  1707. else {
  1708. SendClientMessage(playerid,-1,""chat""COL_RED" Das darfst du nicht!");
  1709. }
  1710. return 1;
  1711. }
  1712.  
  1713. CMD:akill(playerid,params[])
  1714. {
  1715. if(pInfo[playerid][pAdminLevel] >= 3)
  1716. {
  1717. new targetid,string[256];
  1718. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /akill [playerid]");
  1719. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1720.  
  1721. SetPlayerHealth(targetid,0.0);
  1722.  
  1723. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s getötet.",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid));
  1724. SendClientMessageToAll(-1,string);
  1725. }
  1726. else {
  1727. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1728. }
  1729. return 1;
  1730. }
  1731.  
  1732. CMD:nuke(playerid,params[])
  1733. {
  1734. if(pInfo[playerid][pAdminLevel] >= 5)
  1735. {
  1736. new targetid,string[256];
  1737. if(sscanf(params, "u", targetid)) SendClientMessage(playerid,-1,""chat" /nuke [playerid]");
  1738. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1739.  
  1740. new Float:x,Float:y,Float:z;
  1741. GetPlayerPos(targetid,Float:x,Float:y,Float:z);
  1742. CreateExplosion(Float:x,Float:y,Float:z,0,5.0);
  1743.  
  1744. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s in die Luft gejagt",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid));
  1745. SendClientMessageToAll(-1,string);
  1746. }
  1747. else {
  1748. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1749. }
  1750. return 1;
  1751. }
  1752.  
  1753. CMD:gethere(playerid,params[])
  1754. {
  1755. if(pInfo[playerid][pAdminLevel] >= 2)
  1756. {
  1757. new targetid;
  1758. if(sscanf(params, "u", targetid)) SendClientMessage(playerid,-1,""chat" /get [playerid]");
  1759. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1760.  
  1761. new Float:x, Float:y, Float:z;
  1762. GetPlayerPos(playerid, x, y, z);
  1763. SetPlayerPos(targetid, x+1, y+1, z);
  1764.  
  1765. if(IsPlayerInAnyVehicle(targetid))
  1766. {
  1767. SetVehiclePos(GetPlayerVehicleID(targetid),x,y,z);
  1768. }
  1769. }
  1770. else {
  1771. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1772. }
  1773. return 1;
  1774. }
  1775.  
  1776. CMD:goto(playerid,params[])
  1777. {
  1778. if(pInfo[playerid][pAdminLevel] >= 2)
  1779. {
  1780. new targetid;
  1781. if(sscanf(params, "u", targetid)) SendClientMessage(playerid,-1,""chat" /goto [playerid]");
  1782. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist nicht online");
  1783.  
  1784. new Float:x,Float:y,Float:z,inter;
  1785. GetPlayerPos(targetid,Float:x,Float:y,Float:z);
  1786. inter = GetPlayerInterior(targetid);
  1787. SetPlayerPosEx(playerid,Float:x,Float:y,Float:z,inter,0);
  1788. }
  1789. else {
  1790. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1791. }
  1792. return 1;
  1793. }
  1794.  
  1795. CMD:mute(playerid,params[])
  1796. {
  1797. if(pInfo[playerid][pAdminLevel] >= 1)
  1798. {
  1799. new targetid,reason[105],string[128];
  1800. if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /mute [playerid] [Grund]");
  1801. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline");
  1802.  
  1803. pInfo[targetid][IsPlayerMuted] = 1;
  1804.  
  1805. format(string,sizeof(string),""chat""COL_RED" %s %s hat %s gemuted [Grund: %s]", GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
  1806. SendMessageToAllAdmins(string,-1);
  1807.  
  1808. format(string,sizeof(string),""chat""COL_RED" %s %s hat dich gemuted [Grund %s]",GetAdminName(playerid), PlayerName(playerid),reason);
  1809. SendClientMessage(targetid,-1,string);
  1810. }
  1811. else {
  1812. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1813. }
  1814. return 1;
  1815. }
  1816.  
  1817. CMD:unmute(playerid,params[])
  1818. {
  1819. if(pInfo[playerid][pAdminLevel] >= 1)
  1820. {
  1821. new targetid,string[128];
  1822. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid,-1,""chat" /unmute [playerid]");
  1823. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline");
  1824.  
  1825. if(pInfo[targetid][IsPlayerMuted] == 1)
  1826. {
  1827. format(string,sizeof(string),""chat""COL_RED" %s %s hat dich entmuted",GetAdminName(playerid),PlayerName(playerid));
  1828. SendClientMessage(targetid,-1,string);
  1829. format(string,sizeof(string),""chat""COL_RED" Du hast %s entmuted",PlayerName(targetid));
  1830. SendClientMessage(playerid,-1,string);
  1831. pInfo[targetid][IsPlayerMuted] = 0;
  1832. }
  1833. else
  1834. {
  1835. SendClientMessage(playerid,-1,""chat""COL_RED" Der Spieler ist nicht gemuted");
  1836. }
  1837. }
  1838. else {
  1839. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!");
  1840. }
  1841. return 1;
  1842. }
  1843.  
  1844. CMD:kick(playerid,params[])
  1845. {
  1846. if(pInfo[playerid][pAdminLevel] >= 1)
  1847. {
  1848. new targetid,reason[105],string[256];
  1849. if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /kick [playerid] [Grund]");
  1850. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline");
  1851.  
  1852. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s gekickt"COL_WHITE" [Grund: %s]",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
  1853. SendClientMessageToAll(-1,string);
  1854.  
  1855. Kick(targetid);
  1856. }
  1857. else {
  1858. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht");
  1859. }
  1860. return 1;
  1861. }
  1862.  
  1863. CMD:clearanim(playerid,params[])
  1864. {
  1865. if(pInfo[playerid][pAdminLevel] >= 1)
  1866. {
  1867. new targetid,reason[105],string[256];
  1868. if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /clearanim [playerid] [Grund]");
  1869. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Der Spieler ist offline");
  1870.  
  1871. format(string, sizeof(string), ""chat""COL_RED" %s %s hat %s's Animation gecleart"COL_WHITE" [Grund: %s]",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
  1872. SendClientMessageToAll(-1,string);
  1873.  
  1874. ClearAnimations(targetid);
  1875. }
  1876. else {
  1877. SendClientMessage(playerid,-1,""chat""COL_RED" Das kannst du nicht!!");
  1878. }
  1879. return 1;
  1880. }
  1881.  
  1882. stock SendMError(playerid,money)
  1883. {
  1884. new string[128];
  1885. format(string,sizeof(string),""chat""COL_RED" Du brauchst mindestens $%i um die Waffe zu kaufen!",money);
  1886. SendClientMessage(playerid,-1,string);
  1887. return 1;
  1888. }
  1889.  
  1890. stock CreateDefaultTextdraws()
  1891. {
  1892. ZMXLogo = TextDrawCreate(543.000000, 429.000000, "Zombie Mod");
  1893. TextDrawBackgroundColor(ZMXLogo, 255);
  1894. TextDrawFont(ZMXLogo, 0);
  1895. TextDrawLetterSize(ZMXLogo, 0.529999, 1.200000);
  1896. TextDrawColor(ZMXLogo, 16711935);
  1897. TextDrawSetOutline(ZMXLogo, 0);
  1898. TextDrawSetProportional(ZMXLogo, 1);
  1899. TextDrawSetShadow(ZMXLogo, 1);
  1900. TextDrawUseBox(ZMXLogo, 1);
  1901. TextDrawBoxColor(ZMXLogo, 150);
  1902. TextDrawTextSize(ZMXLogo, 632.000000, 0.000000);
  1903.  
  1904. RoundStarted = TextDrawCreate(266.000000, 187.000000, "! RUNDE GESTARTET !");
  1905. TextDrawBackgroundColor(RoundStarted, 255);
  1906. TextDrawFont(RoundStarted, 1);
  1907. TextDrawLetterSize(RoundStarted, 0.620000, 2.900001);
  1908. TextDrawColor(RoundStarted, 5898495);
  1909. TextDrawSetOutline(RoundStarted, 0);
  1910. TextDrawSetProportional(RoundStarted, 1);
  1911. TextDrawSetShadow(RoundStarted, 1);
  1912. TextDrawUseBox(RoundStarted, 1);
  1913. TextDrawBoxColor(RoundStarted, 20560);
  1914. TextDrawTextSize(RoundStarted, 382.000000, 0.000000);
  1915.  
  1916. RoundTime = TextDrawCreate(292.000000, 10.000000, "6:00");
  1917. TextDrawBackgroundColor(RoundTime, 255);
  1918. TextDrawFont(RoundTime, 2);
  1919. TextDrawLetterSize(RoundTime, 0.260000, 1.000000);
  1920. TextDrawColor(RoundTime, -1);
  1921. TextDrawSetOutline(RoundTime, 0);
  1922. TextDrawSetProportional(RoundTime, 1);
  1923. TextDrawSetShadow(RoundTime, 1);
  1924. TextDrawUseBox(RoundTime, 1);
  1925. TextDrawBoxColor(RoundTime, 90);
  1926. TextDrawTextSize(RoundTime, 316.000000, 0.000000);
  1927.  
  1928. AliveInfo = TextDrawCreate(543.000000, 365.000000, ""Web"~n~Menschen: 0~n~Zombies: 0");
  1929. TextDrawBackgroundColor(AliveInfo, 255);
  1930. TextDrawFont(AliveInfo, 2);
  1931. TextDrawLetterSize(AliveInfo, 0.210000, 1.100000);
  1932. TextDrawColor(AliveInfo, 16711935);
  1933. TextDrawSetOutline(AliveInfo, 0);
  1934. TextDrawSetProportional(AliveInfo, 1);
  1935. TextDrawSetShadow(AliveInfo, 1);
  1936. TextDrawUseBox(AliveInfo, 1);
  1937. TextDrawBoxColor(AliveInfo, 120);
  1938. TextDrawTextSize(AliveInfo, 632.000000, 0.000000);
  1939.  
  1940. ZombieWinGUI = TextDrawCreate(0.000000, 1.000000, "~n~");
  1941. TextDrawBackgroundColor(ZombieWinGUI, 255);
  1942. TextDrawFont(ZombieWinGUI, 1);
  1943. TextDrawLetterSize(ZombieWinGUI, 0.500000, 50.000000);
  1944. TextDrawColor(ZombieWinGUI, -1);
  1945. TextDrawSetOutline(ZombieWinGUI, 0);
  1946. TextDrawSetProportional(ZombieWinGUI, 1);
  1947. TextDrawSetShadow(ZombieWinGUI, 1);
  1948. TextDrawUseBox(ZombieWinGUI, 1);
  1949. TextDrawBoxColor(ZombieWinGUI, 1342177405);
  1950. TextDrawTextSize(ZombieWinGUI, 640.000000, 60.000000);
  1951.  
  1952. ZombieWinText = TextDrawCreate(180.000000, 161.000000, " ZOMBIES GEWINNEN~n~TOTALE KILLS: 50");
  1953. TextDrawBackgroundColor(ZombieWinText, -16776961);
  1954. TextDrawFont(ZombieWinText, 2);
  1955. TextDrawLetterSize(ZombieWinText, 0.899999, 6.000000);
  1956. TextDrawColor(ZombieWinText, 16711935);
  1957. TextDrawSetOutline(ZombieWinText, 0);
  1958. TextDrawSetProportional(ZombieWinText, 1);
  1959. TextDrawSetShadow(ZombieWinText, 1);
  1960.  
  1961. HumanWinGUI = TextDrawCreate(0.000000, 1.000000, "~n~");
  1962. TextDrawBackgroundColor(HumanWinGUI, 255);
  1963. TextDrawFont(HumanWinGUI, 1);
  1964. TextDrawLetterSize(HumanWinGUI, 0.500000, 50.000000);
  1965. TextDrawColor(HumanWinGUI, -1);
  1966. TextDrawSetOutline(HumanWinGUI, 0);
  1967. TextDrawSetProportional(HumanWinGUI, 1);
  1968. TextDrawSetShadow(HumanWinGUI, 1);
  1969. TextDrawUseBox(HumanWinGUI, 1);
  1970. TextDrawBoxColor(HumanWinGUI, 20605);
  1971. TextDrawTextSize(HumanWinGUI, 640.000000, 60.000000);
  1972.  
  1973. HumanWinText = TextDrawCreate(175.000000, 162.000000, " MENSCHEN GEWINNEN~n~TOTALE KILLS: 50");
  1974. TextDrawBackgroundColor(HumanWinText, 16711935);
  1975. TextDrawFont(HumanWinText, 2);
  1976. TextDrawLetterSize(HumanWinText, 0.970000, 5.800000);
  1977. TextDrawColor(HumanWinText, 65535);
  1978. TextDrawSetOutline(HumanWinText, 0);
  1979. TextDrawSetProportional(HumanWinText, 1);
  1980. TextDrawSetShadow(HumanWinText, 1);
  1981.  
  1982. for(new i; i < MAX_PLAYERS; i ++)
  1983. {
  1984. PlayerStats[i] = TextDrawCreate(543.000000, 400.000000, "KILLS: 0~n~TODE: 0~n~GELD: $0");
  1985. TextDrawBackgroundColor(PlayerStats[i], 255);
  1986. TextDrawFont(PlayerStats[i], 2);
  1987. TextDrawLetterSize(PlayerStats[i], 0.260000, 0.899999);
  1988. TextDrawColor(PlayerStats[i], 16711935);
  1989. TextDrawSetOutline(PlayerStats[i], 0);
  1990. TextDrawSetProportional(PlayerStats[i], 1);
  1991. TextDrawSetShadow(PlayerStats[i], 1);
  1992. TextDrawUseBox(PlayerStats[i], 1);
  1993. TextDrawBoxColor(PlayerStats[i], 255);
  1994. TextDrawTextSize(PlayerStats[i], 632.000000, 230.000000);
  1995.  
  1996. ShowMoneyEarned[i] = TextDrawCreate(259.000000, 350.000000, "+$");
  1997. TextDrawBackgroundColor(ShowMoneyEarned[i], 16711935);
  1998. TextDrawFont(ShowMoneyEarned[i], 0);
  1999. TextDrawLetterSize(ShowMoneyEarned[i], 0.600000, 2.000000);
  2000. TextDrawColor(ShowMoneyEarned[i], 255);
  2001. TextDrawSetOutline(ShowMoneyEarned[i], 0);
  2002. TextDrawSetProportional(ShowMoneyEarned[i], 1);
  2003. TextDrawSetShadow(ShowMoneyEarned[i], 1);
  2004. }
  2005. return 1;
  2006. }
  2007.  
  2008. function TimeOnServer(playerid)
  2009. {
  2010. pInfo[playerid][pSec] ++;
  2011. if(pInfo[playerid][pSec] >= 60)
  2012. {
  2013. pInfo[playerid][pMin]++;
  2014. pInfo[playerid][pSec]=0;
  2015.  
  2016. }
  2017. if(pInfo[playerid][pMin] >= 60)
  2018. {
  2019. pInfo[playerid][pMin]=0;
  2020. pInfo[playerid][pHour]++;
  2021. SendClientMessage(playerid,-1,""chat""COL_LGREEN" Du hast $3500 bekommen weil du eine Stunde gespielt hast!");
  2022. pInfo[playerid][pMoney] += 3500;
  2023. }
  2024. return 1;
  2025. }
  2026.  
  2027.  
  2028. stock SaveStats(playerid)
  2029. {
  2030. new Query[850];
  2031. format(Query, sizeof(Query), "UPDATE `users` SET `pMoney` = '%d', `pAdminLevel` = '%d', `pVipLevel` = '%d', `pHour` = '%d', `pMin` = '%d', `pSec` = '%d', `pKills` = '%d', `pDeaths` = '%d' WHERE `Username` = '%s'",
  2032. pInfo[playerid][pMoney],
  2033. pInfo[playerid][pAdminLevel],
  2034. pInfo[playerid][pVipLevel],
  2035. pInfo[playerid][pHour],
  2036. pInfo[playerid][pMin],
  2037. pInfo[playerid][pSec],
  2038. pInfo[playerid][pKills],
  2039. pInfo[playerid][pDeaths],
  2040. PlayerName(playerid));
  2041. mysql_query(Query);
  2042. return 1;
  2043. }
  2044.  
  2045. stock CheckBan(playerid)
  2046. {
  2047. new Query[500],playerIP[16],timeBanned[256],largestringtwo[256],adminName[24],bannedName[24],reasonBanned[128];
  2048. GetPlayerIp(playerid, playerIP, sizeof(playerIP));
  2049. format(Query, sizeof(Query), "SELECT * FROM `banlog` WHERE ( `Name` = '%s' OR `pIPBanned` = '%s' ) AND `pAccountLock` = '1' LIMIT 1",PlayerName(playerid),playerIP);
  2050. mysql_query(Query);
  2051. mysql_store_result();
  2052. if(mysql_num_rows() != 0)
  2053. {
  2054. while(mysql_fetch_row(Query))
  2055. {
  2056. mysql_fetch_field_row(reasonBanned, "pBannedReason");
  2057. mysql_fetch_field_row(adminName, "pBannedBy");
  2058. mysql_fetch_field_row(timeBanned, "pTime");
  2059. mysql_fetch_field_row(playerIP, "pIPBanned");
  2060. mysql_fetch_field_row(bannedName, "Name");
  2061. }
  2062. format(largestringtwo, sizeof(largestringtwo), "Du bist von diesem Server gebannt. \r\nSpieler: %s \r\nIP: %s \r\nTime: %s \r\nAdmin: %s\r\nGrund: %s", bannedName, playerIP, timeBanned, adminName, reasonBanned);
  2063. ShowPlayerDialog(playerid, DIALOG_BANNED, DIALOG_STYLE_MSGBOX, "Du bist gebannt", largestringtwo, "Verlassen", "");
  2064. Kick(playerid);
  2065. printf("Username %s || IP %s is banned!",PlayerName(playerid),playerIP);
  2066. }
  2067. return 1;
  2068. }
  2069.  
  2070. stock BanPlayer(playerid,reason[],admin[])
  2071. {
  2072. new playerIP[16],Hour, Minute, Second, Year, Month, Day,timeBanned[200],bannedstring[256],Query[500];
  2073. GetPlayerIp(playerid, playerIP, sizeof(playerIP));
  2074.  
  2075. gettime(Hour, Minute, Second);
  2076. getdate(Year, Month, Day);
  2077. format(timeBanned, sizeof(timeBanned), "%02d:%02d:%02d on %02d/%02d/%d", Hour, Minute, Second, Day, Month, Year);
  2078. //format(Query, sizeof(Query), "UPDATE `users` SET `pBannedReason` = '%s', `pBannedBy` = '%s', `pIPBanned` = '%s', `pTime` = '%s', `pAccountLock` = '1' WHERE `Username` = '%s'", reason,admin,playerIP,timeBanned,PlayerName(playerid));
  2079. format(Query, sizeof(Query), "INSERT INTO `banlog` (`Name`, `pBannedReason`, `pBannedBy`, `pTime`, `pIPBanned`, `pAccountLock`) VALUES ('%s', '%s', '%s', '%s', '%s', 1)", PlayerName(playerid), reason, admin, timeBanned, playerIP);
  2080. mysql_query(Query);
  2081. mysql_free_result();
  2082. format(bannedstring,sizeof(bannedstring),"Du bist von diesem Server gebannt! \r\nSpieler: %s \r\nIP: %s \r\nZeit: %s \r\nAdmin: %s\r\nGrund: %s",PlayerName(playerid),playerIP,timeBanned,admin,reason);
  2083. ShowPlayerDialog(playerid,DIALOG_BANNED,DIALOG_STYLE_MSGBOX,"Du bist gebannt!",bannedstring,"Verlassen","");
  2084. Kick(playerid);
  2085. return 1;
  2086. }
  2087.  
  2088. stock MySQL_Register(playerid, passwordstring[])
  2089. {
  2090. new Query[500],IP[16];
  2091. GetPlayerIp(playerid, IP, sizeof(IP));
  2092.  
  2093. strcat(Query,"INSERT INTO `users` (`Username`,`Password`,`pMoney`,`pAdminLevel`,`pVipLevel`,`pHour`, `pMin`,`pSec`,`pKills`,`pDeaths`");
  2094. strcat(Query,",`pIP`) VALUES ('%s', sha1('%s'),0,0,0,0,0,0,0,0,'%s')");
  2095. format(Query,sizeof(Query),Query,PlayerName(playerid),passwordstring,IP);
  2096. mysql_query(Query);
  2097.  
  2098. pInfo[playerid][pMoney] += 5000;
  2099. ShowPlayerDialog(playerid,DIALOG_REWARD,DIALOG_STYLE_MSGBOX,"Welcome to "Name"",""COL_WHITE"Danke das du dich auf"COL_BLUE" "Name"registriert hast\n"COL_WHITE"In reward you've recieved"COL_BLUE" $5,000"COL_WHITE" ingame money!\nSince you are new we suggest once you spawn you check out"COL_BLUE" /cmds","Play","");
  2100.  
  2101. playedtimer[playerid] = SetTimerEx("TimeOnServer", 1000, 1, "i", playerid);
  2102. pInfo[playerid][pLogged] = 1;
  2103. CheckBan(playerid);
  2104. ClearChatPlayer(playerid);
  2105. TextDrawShowForPlayer(playerid, PlayerStats[playerid]);
  2106. TextDrawShowForPlayer(playerid, ZMXLogo);
  2107. TextDrawShowForPlayer(playerid, RoundTime);
  2108. TextDrawShowForPlayer(playerid, AliveInfo);
  2109. return 1;
  2110. }
  2111.  
  2112. stock MySQL_Login(playerid)
  2113. {
  2114. new Query[600];
  2115. format(Query, sizeof(Query), "SELECT * FROM `users` WHERE Username = '%s'", PlayerName(playerid));
  2116. mysql_query(Query);
  2117. mysql_store_result();
  2118. mysql_fetch_row_format(Query, "|");
  2119. //sscanf(Query, "e<p<|>s[24]s[128]iiiiii",pInfo[playerid]);
  2120.  
  2121. sscanf(Query, "p<|>s[24]s[128]iiiiiiii",pInfo[playerid][pUsername],pInfo[playerid][pPassword],pInfo[playerid][pMoney],pInfo[playerid][pAdminLevel],
  2122. pInfo[playerid][pVipLevel],pInfo[playerid][pHour],pInfo[playerid][pMin],pInfo[playerid][pSec],pInfo[playerid][pKills],pInfo[playerid][pDeaths]);
  2123. printf("%s",Query);
  2124. pInfo[playerid][pLogged] = 1;
  2125. mysql_free_result();
  2126. CheckBan(playerid);
  2127. playedtimer[playerid] = SetTimerEx("TimeOnServer", 1000, 1, "i", playerid);
  2128. ClearChatPlayer(playerid);
  2129. TextDrawShowForPlayer(playerid, PlayerStats[playerid]);
  2130. TextDrawShowForPlayer(playerid, ZMXLogo);
  2131. TextDrawShowForPlayer(playerid, RoundTime);
  2132. TextDrawShowForPlayer(playerid, AliveInfo);
  2133. new Float:kd = floatdiv(pInfo[playerid][pKills], pInfo[playerid][pDeaths]);
  2134. new str[300];
  2135. format(str,sizeof(str),""chat" Account Name %s\nKill Death Ratio %0.2f (KDR)\nSpielzeit %i Stunden %i Minuten %i Sekunden\nGeld %i\nAdmin Level %i\nVIP %i\nVerwarnungen %i\nKills %i\nTode %i",
  2136. PlayerName(playerid),kd,pInfo[playerid][pHour],pInfo[playerid][pMin],pInfo[playerid][pSec],pInfo[playerid][pMoney],pInfo[playerid][pAdminLevel],pInfo[playerid][pVipLevel],pInfo[playerid][pWarnings],pInfo[playerid][pKills],pInfo[playerid][pDeaths]);
  2137.  
  2138. ShowPlayerDialog(playerid, 8741, DIALOG_STYLE_MSGBOX, "Statistik", str, "Spielen","");
  2139. return 1;
  2140. }
  2141.  
  2142. stock ClearChat()
  2143. {
  2144. for(new a = 0; a < 20; a++) SendClientMessageToAll(-1, " ");
  2145. return 1;
  2146. }
  2147.  
  2148. stock ResetVars(playerid)
  2149. {
  2150. pInfo[playerid][pUsername] = 0;
  2151. pInfo[playerid][pPassword] = 0;
  2152. pInfo[playerid][pMoney] = 0;
  2153. pInfo[playerid][pAdminLevel] = 0;
  2154. pInfo[playerid][pVipLevel] = 0;
  2155. pInfo[playerid][pHour] = 0;
  2156. pInfo[playerid][pMin] = 0;
  2157. pInfo[playerid][pSec] = 0;
  2158. pInfo[playerid][pKills] = 0;
  2159. pInfo[playerid][pDeaths] = 0;
  2160. pInfo[playerid][pLogged] = 0;
  2161. pInfo[playerid][pWarnings] = 0;
  2162. pInfo[playerid][pPM] = 0;
  2163. pInfo[playerid][IsPlayerMuted] = 0;
  2164. KillTimer(playedtimer[playerid]);
  2165. knifeAbility[playerid] = 0;
  2166. RemovePlayerAttachedObject(playerid,5);
  2167. return 1;
  2168. }
  2169.  
  2170. stock PlayerName(playerid)
  2171. {
  2172. GetPlayerName(playerid, pName, 24);
  2173. return pName;
  2174. }
  2175.  
  2176. stock GetAdminName(playerid)
  2177. {
  2178. new adminname[128];
  2179. switch(pInfo[playerid][pAdminLevel])
  2180. {
  2181. case 0: adminname = "Kein Administrator";
  2182. case 1: adminname = "Supporter";
  2183. case 2: adminname = "Moderator";
  2184. case 3: adminname = "Super Moderator";
  2185. case 4: adminname = "Administrator";
  2186. case 5: adminname = "Projektleitung";
  2187. }
  2188. return adminname;
  2189. }
  2190.  
  2191. stock escstring(stri[])
  2192. {
  2193. new escstr[200];
  2194. mysql_real_escape_string(stri, escstr);
  2195. return escstr;
  2196. }
  2197.  
  2198. stock SendMessageToAllAdmins(message[], color)
  2199. {
  2200. foreach(Player, i)
  2201. {
  2202. if(pInfo[i][pAdminLevel] >= 1 || IsPlayerAdmin(i))
  2203. {
  2204. SendClientMessage(i, color, message);
  2205. }
  2206. }
  2207. return 1;
  2208. }
  2209.  
  2210. stock SetPlayerPosEx( playerid, Float: posx, Float: posy, Float: posz, interior, virtualworld )
  2211. {
  2212. if( GetPlayerState( playerid ) == 2 )
  2213. {
  2214. SetPlayerVirtualWorld( playerid, virtualworld );
  2215. SetVehicleVirtualWorld( GetPlayerVehicleID( playerid ), virtualworld );
  2216. LinkVehicleToInterior( GetPlayerVehicleID( playerid ), interior );
  2217. SetPlayerInterior( playerid, interior );
  2218. SetVehiclePos( GetPlayerVehicleID( playerid ), posx, posy, posz );
  2219. return 1;
  2220. }
  2221. else
  2222. {
  2223. SetPlayerVirtualWorld( playerid, virtualworld );
  2224. SetPlayerInterior( playerid, interior );
  2225. SetPlayerPos( playerid, posx, posy, posz );
  2226. return 1;
  2227. }
  2228. }
  2229.  
  2230. stock CheckWinningTeam()
  2231. {
  2232. new string[128];
  2233. if(Map[ZScore] > Map[HScore])
  2234. {
  2235. format(string,sizeof(string)," ZOMBIES GEWINNEN~n~TOTALE KILLS: %d",Map[ZScore]);
  2236. TextDrawSetString(ZombieWinText,string);
  2237. TextDrawShowForAll(ZombieWinGUI);
  2238. TextDrawShowForAll(ZombieWinText);
  2239. Map[ZScore] = 0;
  2240. Map[HScore] = 0;
  2241. SetTimer("EndMap",MAX_END_TIME,false);
  2242. }
  2243.  
  2244. else if(Map[ZScore] < Map[HScore])
  2245. {
  2246. format(string,sizeof(string)," MENSCHEN GEWINNEN~n~TOTALE KILLS: %d",Map[HScore]);
  2247. TextDrawSetString(HumanWinText,string);
  2248. TextDrawShowForAll(HumanWinGUI);
  2249. TextDrawShowForAll(HumanWinText);
  2250. Map[ZScore] = 0;
  2251. Map[HScore] = 0;
  2252. SetTimer("EndMap",MAX_END_TIME,false);
  2253. }
  2254.  
  2255. else if(Map[ZScore] == Map[HScore])
  2256. {
  2257. TextDrawSetString(HumanWinText,"TIE");
  2258. TextDrawShowForAll(HumanWinGUI);
  2259. TextDrawShowForAll(HumanWinText);
  2260. Map[ZScore] = 0;
  2261. Map[HScore] = 0;
  2262. SetTimer("EndMap",MAX_END_TIME,false);
  2263. }
  2264. return 1;
  2265. }
  2266.  
  2267. stock GetMapCount()
  2268. {
  2269. new mcount = 0, file[128];
  2270. for(new i = 0; i < MAX_MAP_FILES; i++)
  2271. {
  2272. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", i);
  2273. if(fexist(file))
  2274. {
  2275. mcount ++;
  2276. }
  2277. }
  2278. return mcount;
  2279. }
  2280.  
  2281. stock GetFreeMapID()
  2282. {
  2283. new file[32], id = 0;
  2284. for(new i = 0; i < MAX_MAP_FILES; i++)
  2285. {
  2286. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", i);
  2287. if(fexists(file)) continue;
  2288. id = i;
  2289. break;
  2290. }
  2291. return id;
  2292. }
  2293.  
  2294. stock NoMapCheck()
  2295. {
  2296. new tcount = 0, file[128];
  2297. for(new i = 0; i < MAX_MAP_FILES; i++)
  2298. {
  2299. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", i);
  2300. if(fexist(file))
  2301. {
  2302. tcount ++;
  2303. }
  2304. }
  2305. if(tcount == 0)
  2306. {
  2307. print("_____________________________________________________________");
  2308. print("WARNING: Der Server hat gemerkt das keine Maps geladen werden können!");
  2309. print("Der Server fährt in 25000/MS herunter.");
  2310. print("25 Sekunden bis zum Restart.");
  2311. print("_____________________________________________________________");
  2312. SetTimer("No_Maps", 25000, false);
  2313. return 1;
  2314. }
  2315. return 1;
  2316. }
  2317.  
  2318. function No_Maps() return SendRconCommand("exit");
  2319.  
  2320. public load_Map_basic(Mapid, name[], value[])
  2321. {
  2322. if(strcmp(name, "FSMapName", true) == 0)
  2323. {
  2324. strmid(Map[FSMapName], value, false, strlen(value), 128);
  2325. LoadFilterScript(Map[FSMapName]);
  2326. }
  2327.  
  2328. printf("[Debug] Name: %s - Value: %s", name, value);
  2329.  
  2330. if(strcmp(name, "MapName", true) == 0)
  2331. {
  2332. new mpname[50];
  2333. strmid(Map[MapName], value, false, strlen(value), 128);
  2334. format(mpname, sizeof(mpname), "mapname %s", Map[MapName]);
  2335. SendRconCommand(mpname);
  2336. }
  2337.  
  2338. if(strcmp(name, "HumanSpawnX", true) == 0) Map[HumanSpawnX] = floatstr(value);
  2339. if(strcmp(name, "HumanSpawnY", true) == 0) Map[HumanSpawnY] = floatstr(value);
  2340. if(strcmp(name, "HumanSpawnZ", true) == 0) Map[HumanSpawnZ] = floatstr(value);
  2341. if(strcmp(name, "ZombieSpawnX", true) == 0) Map[ZombieSpawnX] = floatstr(value);
  2342. if(strcmp(name, "ZombieSpawnY", true) == 0) Map[ZombieSpawnY] = floatstr(value);
  2343. if(strcmp(name, "ZombieSpawnZ", true) == 0) Map[ZombieSpawnZ] = floatstr(value);
  2344. if(strcmp(name, "Interior", true) == 0) Map[Interior] = strval(value);
  2345. if(strcmp(name, "CPx", true) == 0) Map[CPx] = floatstr(value);
  2346. if(strcmp(name, "CPy", true) == 0) Map[CPy] = floatstr(value);
  2347. if(strcmp(name, "CPz", true) == 0) Map[CPz] = floatstr(value);
  2348. if(strcmp(name, "AllowWater", true) == 0) Map[AllowWater] = strval(value);
  2349.  
  2350. if(strcmp(name, "Weather", true) == 0)
  2351. {
  2352. Map[Weather] = strval(value);
  2353. SetWeather(Map[Weather]);
  2354. }
  2355.  
  2356. if(strcmp(name, "Time", true) == 0)
  2357. {
  2358. Map[Time] = strval(value);
  2359. SetWorldTime(Map[Time]);
  2360. printf("Map ID %d's Information Has Been Loaded.", Mapid);
  2361. }
  2362.  
  2363. if(strcmp(name, "CreatedBy", true) == 0) strmid(Map[CreatedBy], value, false, strlen(value), 128);
  2364.  
  2365. if(strcmp(name, "ObjectMoveID", true) == 0) Map[ObjectMoveID] = strval(value);
  2366. if(strcmp(name, "ObjectMoveID2", true) == 0) Map[ObjectMoveID2] = strval(value);
  2367. if(strcmp(name, "MoveUp", true) == 0) Map[MoveUp] = floatstr(value);
  2368. if(strcmp(name, "MoveDown", true) == 0) Map[MoveDown] = floatstr(value);
  2369. if(strcmp(name, "MoveX", true) == 0) Map[MoveX] = floatstr(value);
  2370. if(strcmp(name, "MoveY", true) == 0) Map[MoveY] = floatstr(value);
  2371. if(strcmp(name, "MoveRotX", true) == 0) Map[MoveRotX] = floatstr(value);
  2372. if(strcmp(name, "MoveRotY", true) == 0) Map[MoveRotY] = floatstr(value);
  2373. if(strcmp(name, "MoveRotZ", true) == 0) Map[MoveRotZ] = floatstr(value);
  2374. if(strcmp(name, "MoveUp2", true) == 0) Map[MoveUp2] = floatstr(value);
  2375. if(strcmp(name, "MoveDown2", true) == 0) Map[MoveDown2] = floatstr(value);
  2376. if(strcmp(name, "MoveX2", true) == 0) Map[MoveX2] = floatstr(value);
  2377. if(strcmp(name, "MoveY2", true) == 0) Map[MoveY2] = floatstr(value);
  2378. if(strcmp(name, "MoveRotX2", true) == 0) Map[MoveRotX2] = floatstr(value);
  2379. if(strcmp(name, "MoveRotY2", true) == 0) Map[MoveRotY2] = floatstr(value);
  2380. if(strcmp(name, "MoveRotZ2", true) == 0) Map[MoveRotZ2] = floatstr(value);
  2381. return 1;
  2382. }
  2383.  
  2384. stock LoadMap(Mapid)
  2385. {
  2386. new Map_file[64];
  2387. format(Map_file, sizeof(Map_file), "/ZombieMod/Maps/%d.ini", Mapid);
  2388. if(fexist(Map_file))
  2389. {
  2390. printf("loading Map %s", Map_file);
  2391. INI_ParseFile(Map_file, "load_Map_%s", .bExtra = true, .extra = Mapid);
  2392. return 1;
  2393. }
  2394. return 0;
  2395. }
  2396.  
  2397. stock LoadNewMap()
  2398. {
  2399. new file[64];
  2400. mapid %= MAX_MAP_FILES;
  2401. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", mapid);
  2402. if(!fexist(file)) return printf("[NOTICE] File Bugged.");
  2403. LastMapStarted = mapid;
  2404. mapid++;
  2405. return mapid-1;
  2406. }
  2407.  
  2408. stock ClearObjects()
  2409. {
  2410. for(new i; i<MAX_OBJECTS; i++)
  2411. {
  2412. if(IsValidObject(i)) DestroyObject(i);
  2413. }
  2414. }
  2415.  
  2416. stock GetRandomMap()
  2417. {
  2418. new file[64];
  2419. new i = 0, count = 0, Maps[MAX_MAP_FILES], Mapid;
  2420. for( ; i != MAX_MAP_FILES; ++i)
  2421. {
  2422. if(LastMapStarted == i) continue;
  2423. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", i);
  2424. if(fexist(file))
  2425. {
  2426. Maps[count] = i;
  2427. count++;
  2428. }
  2429. }
  2430. if(count == 0)
  2431. {
  2432. return NoMapCheck();
  2433. }
  2434. Mapid = Maps[random(count)];
  2435.  
  2436. format(file, sizeof(file), "/ZombieMod/Maps/%d.ini", Mapid);
  2437. if(fexist(file))
  2438. {
  2439. LastMapStarted = Mapid;
  2440. return Mapid;
  2441. }
  2442. else return printf("[NOTICE] File Bugged.");
  2443. }
  2444.  
  2445. stock LoadFilterScript(filename[])
  2446. {
  2447. new string[128];
  2448. format(string, sizeof(string), "loadfs %s", filename);
  2449. SendRconCommand(string);
  2450. return 1;
  2451. }
  2452.  
  2453. stock UnloadFilterScript(filename[])
  2454. {
  2455. new string[128];
  2456. format(string, sizeof(string), "unloadfs %s", filename);
  2457. SendRconCommand(string);
  2458. return 1;
  2459. }
  2460.  
  2461. stock HumanSetup(playerid)
  2462. {
  2463. team[playerid] = TEAM_HUMAN;
  2464. ResetPlayerWeapons(playerid);
  2465. GivePlayerWeapon(playerid,22,60);
  2466. SetPlayerSkin(playerid,285);
  2467. SetPlayerTeam(playerid,TEAM_HUMAN);
  2468. SetPlayerHealth(playerid,100.0);
  2469. SetPlayerColor(playerid,COLOR_HUMAN);
  2470. SendClientMessage(playerid,-1,""chat" Du spielst auf "Name" erstellt von "Creator" und editiert von "Editor"");
  2471. return 1;
  2472. }
  2473.  
  2474. function ZombieInfect(playerid)
  2475. {
  2476. team[playerid] = TEAM_ZOMBIE;
  2477. TogglePlayerControllable(playerid,0);
  2478. ClearAnimations(playerid);
  2479. ResetPlayerWeapons(playerid);
  2480. GivePlayerWeapon(playerid,4,1);
  2481. SetPlayerSkin(playerid,162);
  2482. SetPlayerTeam(playerid,TEAM_ZOMBIE);
  2483. SetPlayerColor(playerid,COLOR_ZOMBIE);
  2484. TogglePlayerControllable(playerid,1);
  2485. SetPlayerPos(playerid,x222,y222,z222+0.5);
  2486. SetPlayerFacingAngle(playerid,angle222);
  2487. SendClientMessage(playerid,-1,""chat" Du spielst auf "Name" erstellt von "Creator" und editiert von "Editor"");
  2488.  
  2489. foreach(Player,i)
  2490. {
  2491. PlayerPlaySound(i,1132,0.0,0.0,0.0);
  2492. PlayerPlaySound(i,1184,0.0,0.0,0.0);
  2493. }
  2494. return 1;
  2495. }
  2496.  
  2497. stock ZombieSetup(playerid)
  2498. {
  2499. team[playerid] = TEAM_ZOMBIE;
  2500. TogglePlayerControllable(playerid,0);
  2501. ResetPlayerWeapons(playerid);
  2502. GivePlayerWeapon(playerid,4,1);
  2503. SetPlayerSkin(playerid,162);
  2504. SetPlayerTeam(playerid,TEAM_ZOMBIE);
  2505. SetPlayerColor(playerid,COLOR_ZOMBIE);
  2506. TogglePlayerControllable(playerid,1);
  2507. SendClientMessage(playerid,-1,""chat" Du spielst auf "Name" erstellt von "Creator" und editiert von "Editor"");
  2508. return 1;
  2509. }
  2510.  
  2511. function Float:GetDistanceBetweenPlayers(p1,p2)
  2512. {
  2513. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  2514. if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) {
  2515. return -1.00;
  2516. }
  2517. GetPlayerPos(p1,x1,y1,z1);
  2518. GetPlayerPos(p2,x2,y2,z2);
  2519. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  2520. }
  2521.  
  2522. function GetClosestPlayer(p1)
  2523. {
  2524. new x,Float:dis,Float:dis2,player;
  2525. player = -1;
  2526. dis = 99999.99;
  2527. for (x=0;x<MAX_PLAYERS;x++) {
  2528. if(IsPlayerConnected(x)) {
  2529. if(x != p1) {
  2530. dis2 = GetDistanceBetweenPlayers(x,p1);
  2531. if(dis2 < dis && dis2 != -1.00) {
  2532. dis = dis2;
  2533. player = x;
  2534. }
  2535. }
  2536. }
  2537. }
  2538. return player;
  2539. }
  2540.  
  2541. stock IsPlayerInWater(playerid)
  2542. {
  2543. new animlib[32],tmp[32];
  2544. GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,tmp,32);
  2545. if(!strcmp(animlib, "SWIM") && !IsPlayerInAnyVehicle(playerid) ) return true;
  2546. return false;
  2547. }
  2548.  
  2549. GetTeamPlayersAlive(teamid)
  2550. {
  2551. new count;
  2552. for(new i; i < playersAliveCount; i++)
  2553. {
  2554. if(IsPlayerConnected(i) && team[i] == teamid) count++;
  2555. }
  2556. return count;
  2557. }
  2558.  
  2559. function RandomZombie()
  2560. {
  2561. OneZombie();
  2562. balvar = SetTimer("OnMapBalance",MAX_BALANCERUPDATE_TIME,true);
  2563. return 1;
  2564. }
  2565.  
  2566. stock OneZombie()
  2567. {
  2568. new count = 0;
  2569. new Random = Iter_Random(Player);
  2570. foreach(Player, i)
  2571. {
  2572. if(team[i] == TEAM_HUMAN) count++;
  2573. if(count == Iter_Count(Player))
  2574. {
  2575. ZombieSetup(Random);
  2576. }
  2577. }
  2578. return 1;
  2579. }
  2580.  
  2581. stock DestroyAllVehicle()
  2582. {
  2583. for(new i=1;i<=MAX_VEHICLES;i++)
  2584. {
  2585. DestroyVehicle(i);
  2586. }
  2587. return 1;
  2588. }
  2589.  
  2590. stock CheckToStartMap()
  2591. {
  2592. if(Map[IsStarted] == 0)
  2593. {
  2594. LoadMap(LoadNewMap());
  2595. StartMap();
  2596. Map[IsStarted] = 1;
  2597. }
  2598. return 1;
  2599. }
  2600.  
  2601. stock ClearChatPlayer(playerid)
  2602. {
  2603. for(new a = 0; a < 20; a++) SendClientMessage(playerid,-1, " ");
  2604. return 1;
  2605. }
  2606.  
  2607. TimeConvert(time)
  2608. {
  2609. new minutes;
  2610. new seconds;
  2611. new string[128];
  2612. if(time > 59){
  2613. minutes = floatround(time/60);
  2614. seconds = floatround(time - minutes*60);
  2615. if(seconds>9)format(string,sizeof(string),"%d:%d",minutes,seconds);
  2616. else format(string,sizeof(string),"%d:0%d",minutes,seconds);
  2617. }
  2618. else{
  2619. seconds = floatround(time);
  2620. if(seconds>9)format(string,sizeof(string),"0:%d",seconds);
  2621. else format(string,sizeof(string),"0:0%d",seconds);
  2622. }
  2623. return string;
  2624. }
  2625.  
  2626. stock GiveMoney(playerid,money)
  2627. {
  2628. new str[64];
  2629. format(str,sizeof(str),"+$%i",money);
  2630. TextDrawSetString(ShowMoneyEarned[playerid],str);
  2631. pInfo[playerid][pMoney] += money;
  2632. TextDrawShowForPlayer(playerid, ShowMoneyEarned[playerid]);
  2633. SetTimerEx("HideMessage", 2000, 0, "i", playerid);
  2634. return 1;
  2635. }
  2636.  
  2637. function HideMessage(playerid)
  2638. {
  2639. TextDrawHideForPlayer(playerid, ShowMoneyEarned[playerid]);
  2640. }
  2641.  
  2642. function HideMessage2()
  2643. {
  2644. TextDrawHideForAll(RoundStarted);
  2645. MoveObject(ObjectMove[0],Map[MoveX],Map[MoveY],Map[MoveUp],1.8,Map[MoveRotX],Map[MoveRotY],Map[MoveRotZ]);
  2646. MoveObject(ObjectMove[1],Map[MoveX2],Map[MoveY2],Map[MoveUp2],1.8,Map[MoveRotX2],Map[MoveRotY2],Map[MoveRotZ2]);
  2647. }
  2648.  
  2649. stock GetWeaponSlot(weaponid)
  2650. {
  2651. new slot;
  2652. switch(weaponid)
  2653. {
  2654. case 0,1: slot = 0;
  2655. case 2 .. 9: slot = 1;
  2656. case 10 .. 15: slot = 10;
  2657. case 16 .. 18, 39: slot = 8;
  2658. case 22 .. 24: slot =2;
  2659. case 25 .. 27: slot = 3;
  2660. case 28, 29, 32: slot = 4;
  2661. case 30, 31: slot = 5;
  2662. case 33, 34: slot = 6;
  2663. case 35 .. 38: slot = 7;
  2664. case 40: slot = 12;
  2665. case 41 .. 43: slot = 9;
  2666. case 44 .. 46: slot = 11;
  2667. }
  2668. return slot;
  2669. }
  2670.  
  2671. stock GetWeaponModel(weaponid)
  2672. {
  2673. switch(weaponid)
  2674. {
  2675. case 1:
  2676. return 331;
  2677.  
  2678. case 2..8:
  2679. return weaponid+331;
  2680.  
  2681. case 9:
  2682. return 341;
  2683.  
  2684. case 10..15:
  2685. return weaponid+311;
  2686.  
  2687. case 16..18:
  2688. return weaponid+326;
  2689.  
  2690. case 22..29:
  2691. return weaponid+324;
  2692.  
  2693. case 30,31:
  2694. return weaponid+325;
  2695.  
  2696. case 32:
  2697. return 372;
  2698.  
  2699. case 33..45:
  2700. return weaponid+324;
  2701.  
  2702. case 46:
  2703. return 371;
  2704. }
  2705. return 0;
  2706. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement