Advertisement
Guest User

Real Deathmatch

a guest
Nov 19th, 2013
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 90.19 KB | None | 0 0
  1. /*
  2. Dieses Script wurde von Pr0x aus dem Breadfish-Forum geschrieben und wurde Offiziel Veröffentlicht und darf genutzt werden.
  3.  
  4. Ich hoffe ihr werdet aus dem Script vielleicht was machen oder auch nicht.
  5. - Bitte lasst die Credits drinne (Ist aber mich Pflicht)
  6.  
  7.  
  8. WICHITG: Das Script darf nicht weiterveröffentlicht oder verkauft werden.
  9.  
  10.  
  11. Viel Spaß mit dem Script - Pr0x (Link: http://forum.sa-mp.de/index.php?page=User&userID=25729)
  12.  
  13. */
  14.  
  15. // 2358 Zeilen //
  16.  
  17. #include <a_samp>
  18. #include <dini>
  19. #include <ocmd>
  20. #include <banfix> // @ Credits an Beavis >> Danke
  21.  
  22. #define NOTADMIN "** Dies ist ein Adminbefehl, sie haben nicht die benötigte Berächtigung."
  23.  
  24. #define FORUM "XXX.XXX-XXX.XX"
  25. #define TS "XX.XXX.XXX:XXXX"
  26. #define SERVERNAME "Real Deathmatch"
  27. #define SERVERTAG "rDM"
  28.  
  29.  
  30. #define BLAU 0x0087FFFF
  31. #define ROT 0xE10000FF
  32. #define GELB 0xFFE600FF
  33. #define WEIß 0xFEFEFEFF
  34. #define ERROR 0xC8C8C8FF
  35. #define GRUEN 0x00FF00FF
  36. #define COLOR_LIGHTRED 0xFF6347AA
  37. #define COLOR_ADMINMSG 0xFF00FFFF
  38. #define LIGHT_BLUE 0x33CCFFAA
  39.  
  40.  
  41. enum{
  42. DIALOG_REGISTER,
  43. DIALOG_LOGIN,
  44. DIALOG_STATS,
  45. DIALOG_ADMCOMMAND,
  46. DIALOG_COMMANDS,
  47. DIALOG_GMHINWEIS,
  48. DIALOG_GMTESTEND,
  49. DIALOG_MODUS
  50. }
  51.  
  52. forward werbungtimer();
  53. forward minute();
  54. forward AccountSave();
  55. forward SekundenTimer();
  56. forward SendAdminMessage(color,text[]);
  57. forward SendAdminMessageForLevel(level,color,text[]);
  58. forward ToTKTimer();
  59. forward Fps(playerid);
  60. forward MinutenTimer();
  61. forward HideDraw(playerid);
  62. forward SpielerUpdate(playerid);
  63. //forward ToTKTimerAll();
  64.  
  65. // ShowBox System
  66. new
  67. bool:tCreatet[MAX_PLAYERS],
  68. bool:tShow[MAX_PLAYERS],
  69. Text:tHeader[MAX_PLAYERS],
  70. Text:tInputf[MAX_PLAYERS],
  71. tTimer[MAX_PLAYERS];
  72.  
  73. new TotenKopf[MAX_PLAYERS];
  74. new pDrunkLevelLast[MAX_PLAYERS];
  75. new pFPS[MAX_PLAYERS];
  76. //new SpamCount[MAX_PLAYERS];
  77. new IsPlayerSpectating[MAX_PLAYERS] = 0;
  78. //new ChatSpamTime[MAX_PLAYERS][4];
  79. new muted[MAX_PLAYERS];
  80.  
  81. new Text:UhrzeitStundeMinute;
  82. new Text:DatumTagMonat;
  83. new Text:ModusDRAW;
  84. new Text:fpsDRAW;
  85. new Text:pingDRAW;
  86. new Text:ConDRAW;
  87.  
  88. main()
  89. {
  90. print("\n----------------------------------");
  91. print(" Deathmatch v0.0.1");
  92. print("----------------------------------\n");
  93. }
  94.  
  95.  
  96. public OnGameModeInit()
  97. {
  98. DisableInteriorEnterExits();
  99. EnableStuntBonusForAll(0);
  100. AntiDeAMX();
  101. UsePlayerPedAnims();
  102. ShowPlayerMarkers(0);
  103. SetGameModeText("Real DM 1.0");
  104.  
  105. SetTimer("werbungtimer",1000*60*15,true);
  106. SetTimer("minute",1000*60,true);
  107. SetTimer("AccountSave",1000*60*15,true);
  108. SetTimer("ToTKTimer",10000,true);
  109. SetTimer("SekundenTimer",1000,true);
  110. SetTimer("SpielerUpdate",550,true);
  111. SetTimer("MinutenTimer", 55000, true);
  112.  
  113.  
  114. UhrzeitStundeMinute = TextDrawCreate(554.000000, 28.000000, "00:00");
  115. TextDrawBackgroundColor(UhrzeitStundeMinute, 255);
  116. TextDrawFont(UhrzeitStundeMinute, 1);
  117. TextDrawLetterSize(UhrzeitStundeMinute, 0.460000, 1.300000);
  118. TextDrawColor(UhrzeitStundeMinute, -1);
  119. TextDrawSetOutline(UhrzeitStundeMinute, 1);
  120. TextDrawSetProportional(UhrzeitStundeMinute, 0);
  121.  
  122. DatumTagMonat = TextDrawCreate(545.000000, 18.000000, "00:00:0000");
  123. TextDrawBackgroundColor(DatumTagMonat, 255);
  124. TextDrawFont(DatumTagMonat, 1);
  125. TextDrawLetterSize(DatumTagMonat, 0.360000, 1.000000);
  126. TextDrawColor(DatumTagMonat, -1);
  127. TextDrawSetOutline(DatumTagMonat, 1);
  128. TextDrawSetProportional(DatumTagMonat, 1);
  129.  
  130. ModusDRAW = TextDrawCreate(25 ,435 , "/modus - um einen Modus zu weahlen!");
  131. TextDrawFont(ModusDRAW , 1);
  132. TextDrawLetterSize(ModusDRAW , 0.2, 1.2);
  133. TextDrawColor(ModusDRAW , 0xf0e4e4FF);
  134. TextDrawSetOutline(ModusDRAW , false);
  135. TextDrawSetProportional(ModusDRAW , true);
  136. TextDrawSetShadow(ModusDRAW , 1);
  137.  
  138. fpsDRAW = TextDrawCreate(548 ,58 , "FPS: 0"); // 562
  139. TextDrawFont(fpsDRAW , 1);
  140. TextDrawLetterSize(fpsDRAW , 0.2, 0.8);
  141. TextDrawColor(fpsDRAW , 0xf7ff00FF);
  142. TextDrawSetOutline(fpsDRAW , false);
  143. TextDrawSetProportional(fpsDRAW , true);
  144. TextDrawSetShadow(fpsDRAW , 1);
  145.  
  146. pingDRAW = TextDrawCreate(578 ,58 , "PING: 0"); //
  147. TextDrawFont(pingDRAW , 1);
  148. TextDrawLetterSize(pingDRAW , 0.2, 0.8);
  149. TextDrawColor(pingDRAW , 0xf7ff00FF);
  150. TextDrawSetOutline(pingDRAW , false);
  151. TextDrawSetProportional(pingDRAW , true);
  152. TextDrawSetShadow(pingDRAW , 1);
  153.  
  154. ConDRAW = TextDrawCreate(242,141,""#SERVERNAME"");
  155. TextDrawFont(ConDRAW,0);
  156. TextDrawColor(ConDRAW,0x00AFFF90);
  157. TextDrawAlignment(ConDRAW,0);
  158. TextDrawLetterSize(ConDRAW,0.999990,2.999990);
  159. TextDrawSetOutline(ConDRAW,1);
  160. TextDrawSetProportional(ConDRAW,1);
  161. TextDrawSetShadow(ConDRAW,1);
  162. return 1;
  163. }
  164.  
  165. public SpielerUpdate(playerid)
  166. {
  167. if(GetPVarInt(playerid,"loggedin")==0)return 1;
  168. new string[125],Float:armour,Spielerdatei[65],IP[25]; // Float:health
  169. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  170. GetPlayerIp(playerid,IP,sizeof(IP));
  171. //GetPlayerHealth(playerid,health);
  172. GetPlayerArmour(playerid,armour);
  173. if(GetPVarInt(playerid,"Adminlevel")==0)
  174. {
  175. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  176. {
  177. format(string, sizeof(string), "[IPBAN] %s (ID:%i) wurde permanent gebannt. Grund: Jet-Pack", SpielerName(playerid),playerid);
  178. SendClientMessageToAll(COLOR_LIGHTRED, string);
  179. ShowBox(playerid, "ANTICHEAT" ,"~r~Du wurdest gebannt.",3);
  180. format(string, sizeof(string),"banip %s",IP);
  181. SendRconCommand(string);
  182. dini_Set(Spielerdatei,"Sperrgrund","Jet-Pack");
  183. SetPVarInt(playerid,"Baned",1);
  184. TogglePlayerControllable(playerid,0);
  185. Kick(playerid);
  186. }
  187. if(GetPlayerMoney(playerid)>GetPVarInt(playerid,"Geld"))
  188. {
  189. format(string, sizeof(string), "[IPBAN] %s (ID:%i) wurde permanent vom System gebannt. Grund: Geld-Cheat", SpielerName(playerid),playerid);
  190. SendClientMessageToAll(COLOR_LIGHTRED, string);
  191. ShowBox(playerid, "ANTICHEAT" ,"~r~Du wurdest gebannt.",3);
  192. format(string, sizeof(string),"banip %s",IP);
  193. SendRconCommand(string);
  194. dini_Set(Spielerdatei,"Sperrgrund","Geld-Cheat");
  195. SetPVarInt(playerid,"Baned",1);
  196. TogglePlayerControllable(playerid,0);
  197. Kick(playerid);
  198. }
  199. /*if(health==100)
  200. {
  201. format(string, sizeof(string), "[IPBAN] %s (ID:%i) wurde permanent vom System gebannt. Grund: Health-Cheat", SpielerName(playerid),playerid);
  202. SendClientMessageToAll(COLOR_LIGHTRED, string);
  203. ShowBox(playerid, "ANTICHEAT" ,"~r~Du wurdest gebannt.",3);
  204. format(string, sizeof(string),"banip %s",IP);
  205. SendRconCommand(string);
  206. dini_Set(Spielerdatei,"Sperrgrund","Health-Cheat");
  207. SetPVarInt(playerid,"Baned",1);
  208. TogglePlayerControllable(playerid,0);
  209. Kick(playerid);
  210. }*/
  211. if(armour==100)
  212. {
  213. format(string, sizeof(string), "[IPBAN] %s (ID:%i) wurde permanent vom System gebannt. Grund: Armour-Cheat", SpielerName(playerid),playerid);
  214. SendClientMessageToAll(COLOR_LIGHTRED, string);
  215. ShowBox(playerid, "ANTICHEAT" ,"~r~Du wurdest gebannt.",3);
  216. format(string, sizeof(string),"banip %s",IP);
  217. SendRconCommand(string);
  218. dini_Set(Spielerdatei,"Sperrgrund","Armour-Cheat");
  219. SetPVarInt(playerid,"Baned",1);
  220. TogglePlayerControllable(playerid,0);
  221. Kick(playerid);
  222. }
  223. if(GetPlayerPing(playerid) >= 300)
  224. {
  225. if(GetPVarInt(playerid,"StartPING")==0)return 1;
  226. format(string,sizeof(string),"[KICK] %s (ID:%i) wurde wegen zu hohem Ping gekickt. [%i/300ms]",GetPlayerPing(playerid),playerid);
  227. SendClientMessageToAll(COLOR_LIGHTRED,string);
  228. ShowBox(playerid, "ANTICHEAT" ,"~r~Du wurdest gekickt.",3);
  229. TogglePlayerControllable(playerid,0);
  230. Kick(playerid);
  231. }
  232. }
  233. return 1;
  234. }
  235.  
  236. public SekundenTimer()
  237. {
  238. new string[125];
  239. new Tag,Monat,Jahr,Stunde,Minute,Sekunde;
  240. getdate(Jahr, Monat, Tag);
  241. gettime(Stunde, Minute, Sekunde);
  242. for(new i=0; i<MAX_PLAYERS; i++)
  243. {
  244. if(GetPVarInt(i,"loggedin")==0)return 1;
  245. //format(string, sizeof(string), "FPS: %d PING: %i",pFPS[i],GetPlayerPing(i)); // Über Kopf FPS & PING
  246. //SetPlayerChatBubble(i, string, GELB, 20.0, 1000);
  247. if(GetPVarInt(i,"MuteTime")>=1)
  248. {
  249. SetPVarInt(i,"MuteTime",GetPVarInt(i,"MuteTime")-1);
  250. }
  251. if(GetPVarInt(i,"TextSperre")>=1)
  252. {
  253. SetPVarInt(i,"TextSperre",GetPVarInt(i,"TextSperre")-1);
  254. }
  255. if(GetPlayerSkin(i)==0 || GetPlayerSkin(i)==1)
  256. {
  257. if(GetPVarInt(i,"AutoSkin")==0)
  258. {
  259. SendClientMessage(i,GELB,"SYSTEM: Skin wurde Automatisch geändert. (SkinID: 101)");
  260. SetPVarInt(i,"SkinFree",0);
  261. SetPlayerSkin(i,101);
  262. }
  263. else
  264. {
  265. switch(GetPVarInt(i,"AutoSkin"))
  266. {
  267. case 30:
  268. {
  269. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: 30 Sekunden)");
  270. SendClientMessage(i,GELB,string);
  271. }
  272. case 25:
  273. {
  274. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: 25 Sekunden)");
  275. SendClientMessage(i,GELB,string);
  276. }
  277. case 20:
  278. {
  279. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: 20 Sekunden)");
  280. SendClientMessage(i,GELB,string);
  281. }
  282. case 15:
  283. {
  284. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: 15 Sekunden)");
  285. SendClientMessage(i,GELB,string);
  286. }
  287. case 10:
  288. {
  289. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: 10 Sekunden)");
  290. SendClientMessage(i,GELB,string);
  291. }
  292. }
  293. if(GetPVarInt(i,"AutoSkin")<=9)
  294. {
  295. format(string,sizeof(string),"SYSTEM: Bitte ändere deinen Skin mit (/skin). (ZEIT: %i Sekunden)",GetPVarInt(i,"AutoSkin"));
  296. SendClientMessage(i,GELB,string);
  297. }
  298. SetPVarInt(i,"SkinFree",1);
  299. SetPVarInt(i,"AutoSkin",GetPVarInt(i,"AutoSkin")-1);
  300. }
  301. }
  302. SetPVarInt(i,"SpielSekunden",GetPVarInt(i,"SpielSekunden")+1);
  303. format(string,sizeof(string),"FPS: %i",pFPS[i]);
  304. TextDrawSetString(fpsDRAW,string);
  305. format(string,sizeof(string),"PING: %i",GetPlayerPing(i));
  306. TextDrawSetString(pingDRAW,string);
  307. }
  308. return 1;
  309. }
  310.  
  311. public MinutenTimer()
  312. {
  313. new TimeString[256],TimeString2[256];
  314. new Tag,Monat,Jahr,Stunde,Minute,Sekunde;
  315. getdate(Jahr, Monat, Tag);
  316. gettime(Stunde, Minute, Sekunde);
  317. if(Minute <= 9)
  318. {
  319. format(TimeString,25,"%d:0%d", Stunde, Minute);
  320. }
  321. else
  322. {
  323. format(TimeString,25,"%d:%d" ,Stunde, Minute);
  324. }
  325. if(Tag <= 9)
  326. {
  327. format(TimeString2,25,"0%d.%d.%d", Tag, Monat, Jahr);
  328. }
  329. else
  330. {
  331. format(TimeString2,25,"%d.%d.%d", Tag, Monat, Jahr);
  332. }
  333. TextDrawSetString(UhrzeitStundeMinute,TimeString);
  334. TextDrawShowForAll(UhrzeitStundeMinute);
  335. TextDrawSetString(DatumTagMonat,TimeString2);
  336. TextDrawShowForAll(DatumTagMonat);
  337. return 1;
  338. }
  339.  
  340. public HideDraw(playerid)
  341. {
  342. KillTimer(tTimer[playerid]);
  343. TextDrawHideForPlayer(playerid, tInputf[playerid]);
  344. TextDrawHideForPlayer(playerid, tHeader[playerid]);
  345. tShow[playerid] = false;
  346. return 1;
  347. }
  348.  
  349. public AccountSave()
  350. {
  351. SaveAllPlayerAccounts();
  352. return 1;
  353. }
  354.  
  355. public werbungtimer()
  356. {
  357. SendClientMessageToAll(ROT,"");
  358. SendClientMessageToAll(ROT,"");
  359. SendClientMessageToAll(ROT,"");
  360. SendClientMessageToAll(ROT,"|----------------------------------------| INFO |----------------------------------------|");
  361. SendClientMessageToAll(GELB," FORUM: "#FORUM" | TS³: "#TS"");
  362. SendClientMessageToAll(GELB,"");
  363. SendClientMessageToAll(GELB," Du suchst einen guten Reallife Server?");
  364. SendClientMessageToAll(GELB," - Teamspeak3: XXX.XXX.XXX:XXX | Server-IP: XXX.XX.XX.XX:XXXX");
  365. SendClientMessageToAll(ROT,"|----------------------------------------------------------------------------------------|");
  366. return 1;
  367. }
  368.  
  369.  
  370. public OnGameModeExit()
  371. {
  372. SaveAllPlayerAccounts();
  373. return 1;
  374. }
  375.  
  376. public OnPlayerRequestClass(playerid, classid)
  377. {
  378. new Spielerdatei[64],string[650];
  379. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  380. if(GetPVarInt(playerid,"Loggedin")==0)
  381. {
  382. if(dini_Exists(Spielerdatei))
  383. {
  384. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank gefunden,bitte gib dein Passwort ein:",SpielerName(playerid));
  385. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERTAG" / Login",string,"Login","Abbrechen");
  386. }
  387. else
  388. {
  389. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank nicht gefunden,bitte gib dein gewünschtes Passwort ein:",SpielerName(playerid));
  390. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,""#SERVERTAG" / Registration",string,"Bestätigen","Abbrechen");
  391. }
  392. }
  393. else
  394. {
  395. SetSpawnInfo(playerid,0,25,687.1827,-1275.7520,13.5567,91.2051,0,0,0,0,0,0);
  396. SpawnPlayer(playerid);
  397. }
  398. /*========================*/
  399. return 1;
  400. }
  401.  
  402. public OnPlayerConnect(playerid)
  403. {
  404. if(IsPlayerNPC(playerid))return 1;
  405. new Spielerdatei[64],string[650];
  406. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  407. if(dini_Exists(Spielerdatei))
  408. {
  409. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank gefunden,bitte gib dein Passwort ein:",SpielerName(playerid));
  410. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERTAG" / Login",string,"Login","Abbrechen");
  411. }
  412. else
  413. {
  414. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank nicht gefunden,bitte gib dein gewünschtes Passwort ein:",SpielerName(playerid));
  415. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,""#SERVERTAG" / Registration",string,"Bestätigen","Abbrechen");
  416. }
  417. format(string,sizeof(string),"%s hat den Server betreten.",SpielerName(playerid));
  418. SendClientMessageToAll(ERROR,string);
  419. TextDrawShowForPlayer(playerid,ConDRAW);
  420. SetPlayerColor(playerid,WEIß);
  421. //SetPlayerHealth(playerid,99.0);
  422. //SpamCount[playerid]=0;
  423. muted[playerid]=0;
  424. pDrunkLevelLast[playerid] = 0;
  425. pFPS[playerid] = 0;
  426. SetPVarInt(playerid,"KillStreak",0);
  427.  
  428. //RemoveBuildingForPlayer(playerid,955,0.0,0.0,0.0,3000.0); (Für anti Healhack system)
  429. //RemoveBuildingForPlayer(playerid,956,0.0,0.0,0.0,3000.0); (Für anti Healhack system)
  430. return 1;
  431. }
  432.  
  433. public OnPlayerDisconnect(playerid, reason)
  434. {
  435. new string[85];
  436. if(GetPVarInt(playerid,"loggedin")==1)
  437. {
  438. SpielerSpeichern(playerid);
  439. }
  440. switch(reason)
  441. {
  442. case 0: format(string,sizeof string,"%s hat den Server verlassen. (Crash/Time out)",SpielerName(playerid));
  443. case 1: format(string,sizeof string,"%s hat den Server verlassen. (Verlassen)",SpielerName(playerid));
  444. case 2: format(string,sizeof string,"%s hat den Server verlassen. (Gekickt/Gebannt)",SpielerName(playerid));
  445. }
  446. SendClientMessageToAll(ERROR,string);
  447. DestroyPickup(TotenKopf[playerid]);
  448. return 1;
  449. }
  450.  
  451. public OnPlayerSpawn(playerid)
  452. {
  453. if(GetPVarInt(playerid,"Loggedin")==0)
  454. {
  455. SendClientMessage(playerid,ERROR,"Du musst dich erst einloggen, bevor du spawnen kannst!");
  456. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  457. TogglePlayerControllable(playerid,0);
  458. Kick(playerid);
  459. }
  460. if(GetPVarInt(playerid,"Admindienst")==1)
  461. {
  462. SetPlayerColor(playerid,0xFF00F5FF);
  463. }
  464. else
  465. {
  466. SetPlayerColor(playerid,WEIß);
  467. }
  468. SetPlayerPos(playerid,687.1827,-1275.7520,13.5567);
  469. SetPlayerFacingAngle(playerid,91.2051);
  470. SetPlayerVirtualWorld(playerid,0);
  471. SetPlayerInterior(playerid,0);
  472. SetCameraBehindPlayer(playerid);
  473. SetPlayerSkin(playerid,GetPVarInt(playerid,"SkinID"));
  474. //GivePlayerWeapon(playerid,24,999);
  475. //SetPlayerHealth(playerid,99);
  476. TextDrawShowForPlayer(playerid,fpsDRAW);
  477. TextDrawShowForPlayer(playerid,pingDRAW);
  478. TextDrawShowForPlayer(playerid,ModusDRAW);
  479. SetPVarInt(playerid,"AutoSkin",30);
  480. return 1;
  481. }
  482.  
  483. public OnPlayerDeath(playerid, killerid, reason)
  484. {
  485. new string[165],Float:X,Float:Y,Float:Z;
  486. SendDeathMessage(killerid, playerid, reason);
  487. SetPVarInt(killerid,"Kills",GetPVarInt(killerid,"Kills")+1);
  488. SetPVarInt(playerid,"Tode",GetPVarInt(playerid,"Tode")+1);
  489. SetPVarInt(playerid,"Geld",GetPVarInt(playerid,"Geld")-500);
  490. GivePlayerMoney(playerid,-500);
  491. SetPVarInt(killerid,"Geld",GetPVarInt(killerid,"Geld")+1500);
  492. GivePlayerMoney(killerid,1500);
  493. GetPlayerPos(playerid,X,Y,Z);
  494. TotenKopf[playerid] = CreatePickup(1254, 1, X, Y, Z);
  495. if(GetPVarInt(killerid,"Premium")==1)
  496. {
  497. if(GetPlayerWantedLevel(killerid)==2)
  498. {
  499. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  500. format(string,sizeof(string),"~g~PREMIUM LEVEL UP!~n~~y~NEUES LEVEL: %i",GetPlayerScore(killerid));
  501. GameTextForPlayer(killerid,string, 2000, 5);
  502. ShowBox(killerid, "LEVELSYSTEM" ,"~g~Premium Level Up!", 3);
  503. SetPlayerWantedLevel(killerid,0);
  504. format(string,sizeof(string),"[PREM-LEVEL-UP] %s (ID:%i) [Neues Level: %i]",SpielerName(killerid),killerid,GetPlayerScore(killerid));
  505. SendAdminMessage(COLOR_ADMINMSG,string);
  506. }
  507. else
  508. {
  509. GameTextForPlayer(killerid,"~g~+1 KILL", 2000, 5);
  510. SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
  511. }
  512. }
  513. else
  514. {
  515. if(GetPlayerWantedLevel(killerid)==5)
  516. {
  517. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  518. format(string,sizeof(string),"~g~LEVEL UP!~n~~y~NEUES LEVEL: %i",GetPlayerScore(killerid));
  519. GameTextForPlayer(killerid,string, 2000, 5);
  520. ShowBox(killerid, "LEVELSYSTEM" ,"~g~Level Up!", 3);
  521. SetPlayerWantedLevel(killerid,0);
  522. format(string,sizeof(string),"[LEVEL-UP] %s (ID:%i) [Neues Level: %i]",SpielerName(killerid),killerid,GetPlayerScore(killerid));
  523. SendAdminMessage(COLOR_ADMINMSG,string);
  524. }
  525. else
  526. {
  527. GameTextForPlayer(killerid,"~g~+1 KILL", 2000, 5);
  528. SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
  529. }
  530. }
  531. format(string,sizeof(string),"~r~GEKILLT VON %s",SpielerName(killerid));
  532. GameTextForPlayer(playerid,string, 2000, 5);
  533. SetPVarInt(playerid,"KillStreak",0);
  534. SetPVarInt(killerid,"KillStreak",GetPVarInt(killerid,"KillStreak")+1);
  535. switch(GetPVarInt(killerid,"KillStreak"))
  536. {
  537. case 3:
  538. {
  539. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 3-er Killstreak! Er bekommt nun 120HP!",SpielerName(killerid));
  540. SendClientMessageToAll(0xD7F589FF,string);
  541. //ShowBox(killerid, "KILLSYSTEM" ,"3-er Killstreak erzielt.", 3);
  542. SetPlayerHealth(killerid,120);
  543. }
  544. case 6:
  545. {
  546. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 6-er Killstreak! Er bekommt nun 140HP!",SpielerName(killerid));
  547. SendClientMessageToAll(0xD7F589FF,string);
  548. //ShowBox(killerid, "KILLSYSTEM" ,"6-er Killstreak erzielt.", 3);
  549. SetPlayerHealth(killerid,140);
  550. }
  551. case 9:
  552. {
  553. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 9-er Killstreak! Er bekommt nun 160HP!",SpielerName(killerid));
  554. SendClientMessageToAll(0xD7F589FF,string);
  555. //ShowBox(killerid, "KILLSYSTEM" ,"9-er Killstreak erzielt.", 3);
  556. SetPlayerHealth(killerid,160);
  557. }
  558. case 12:
  559. {
  560. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 12-er Killstreak! Er bekommt nun 180HP!",SpielerName(killerid));
  561. SendClientMessageToAll(0xD7F589FF,string);
  562. //ShowBox(killerid, "KILLSYSTEM" ,"12-er Killstreak erzielt.", 3);
  563. SetPlayerHealth(killerid,180);
  564. }
  565. case 15:
  566. {
  567. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 15-er Killstreak! Er bekommt nun 200HP!",SpielerName(killerid));
  568. SendClientMessageToAll(0xD7F589FF,string);
  569. //ShowBox(killerid, "KILLSYSTEM" ,"15-er Killstreak erzielt.", 3);
  570. SetPlayerHealth(killerid,200);
  571. }
  572. case 18:
  573. {
  574. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 18-er Killstreak! Er bekommt nun 220HP!",SpielerName(killerid));
  575. SendClientMessageToAll(0xD7F589FF,string);
  576. //ShowBox(killerid, "KILLSYSTEM" ,"18-er Killstreak erzielt.", 3);
  577. SetPlayerHealth(killerid,220);
  578. }
  579. case 21:
  580. {
  581. format(string,sizeof(string),"[KILLSTREAK] %s hat einen 21-er Killstreak! Er bekommt nun 240HP!",SpielerName(killerid));
  582. SendClientMessageToAll(0xD7F589FF,string);
  583. //ShowBox(killerid, "KILLSYSTEM" ,"21-er Killstreak erzielt.", 3);
  584. SetPlayerHealth(killerid,240);
  585. }
  586. }
  587. return 1;
  588. }
  589.  
  590. public ToTKTimer()
  591. {
  592. for(new i=0; i<MAX_PLAYERS; i++)
  593. {
  594. DestroyPickup(TotenKopf[i]);
  595. }
  596. return 1;
  597. }
  598.  
  599. public OnVehicleSpawn(vehicleid)
  600. {
  601. return 1;
  602. }
  603.  
  604. public OnVehicleDeath(vehicleid, killerid)
  605. {
  606. return 1;
  607. }
  608.  
  609. public OnPlayerText(playerid, text[])
  610. {
  611. new string[185];
  612. /*if(GetPVarInt(playerid,"Adminlevel")==0)
  613. {
  614. AntiSpam(playerid);
  615. }*/
  616. if(GetPVarInt(playerid,"MuteTime")>=1)
  617. {
  618. SendClientMessage(playerid,GELB,"Du bist noch gemutet. (/mutetime).");
  619. }
  620. else if(GetPVarInt(playerid,"TextSperre")>=1)
  621. {
  622. format(string,sizeof(string),"Du kannst erst wieder in %i Sekunden schreiben.",GetPVarInt(playerid,"TextSperre"));
  623. SendClientMessage(playerid,ERROR,string);
  624. }
  625. else
  626. {
  627. if(GetPVarInt(playerid,"Adminlevel")==0)
  628. {
  629. format(string,sizeof(string),"(( %s %s sagt: %s ))",AdminText(playerid),SpielerName(playerid),text);
  630. SendClientMessageToAll(WEIß,string);
  631. SetPVarInt(playerid,"TextSperre",3);
  632. }
  633. else if(GetPVarInt(playerid,"Adminlevel")==1)
  634. {
  635. format(string,sizeof(string),"{0091FF}(({FAFAFA} %s %s sagt: %s {0091FF})){FAFAFA}",AdminText(playerid),SpielerName(playerid),text);
  636. SendClientMessageToAll(WEIß,string);
  637. }
  638. else if(GetPVarInt(playerid,"Adminlevel")==2)
  639. {
  640. format(string,sizeof(string),"{FF4600}(({FAFAFA} %s %s sagt: %s {FF4600})){FAFAFA}",AdminText(playerid),SpielerName(playerid),text);
  641. SendClientMessageToAll(WEIß,string);
  642. }
  643. }
  644. return 0;
  645. }
  646.  
  647. ocmd:id(playerid,params[])
  648. {
  649. new string[65],pID;
  650. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/id [SpielerName/ID]");
  651. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  652. format(string,sizeof(string),"ID: (%i) Name: %s FPS: %d Ping: %ims",pID,SpielerName(pID),pFPS[pID],GetPlayerPing(pID));
  653. SendClientMessage(playerid,ERROR,string);
  654. return 1;
  655. }
  656. ocmd:slep(playerid,params[])
  657. {
  658. new pID,string[85],Float:X,Float:Y,Float:Z;
  659. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/slep [SpielerName/ID]");
  660. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  661. GetPlayerPos(pID,Float:X,Float:Y,Float:Z);
  662. SetPlayerPos(pID,Float:X,Float:Y,Float:Z+6);
  663. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) geslept.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  664. SendAdminMessage(COLOR_ADMINMSG,string);
  665. ShowBox(playerid, "SLEP" ,"~g~Spieler wurde geslept.", 3);
  666. return 1;
  667. }
  668. ocmd:pn(playerid,params[])
  669. {
  670. new pID, reason[35],string[128];
  671. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/pn [SpielerName] [Text]");
  672. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  673. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst keine PN's an dich verschicken.");
  674. if(GetPVarInt(playerid,"TextSperre")>=1)
  675. {
  676. SendClientMessage(playerid,ERROR,"Bitte warte zwischen den PNs 5 Sekunden!");
  677. }
  678. else
  679. {
  680. format(string,sizeof(string),"(( PN von %s: %s ))",SpielerName(playerid),reason);
  681. SendClientMessage(pID,GRUEN,string);
  682. format(string,sizeof(string),"(( Gesendet an %s: %s ))",SpielerName(pID),reason);
  683. SendClientMessage(playerid,GELB,string);
  684. /*format(string,sizeof(string),"[PN] %s an %s: %s",SpielerName(playerid),SpielerName(pID),reason);
  685. SendAdminMessage(COLOR_ADMINMSG,string);*/
  686. ShowBox(playerid, "NACHRICHT" ,"~g~Nachricht verschickt.", 3);
  687. SetPVarInt(playerid,"TextSperre",5);
  688. }
  689. return 1;
  690. }
  691. ocmd:aw(playerid,params[])
  692. {
  693. new pID, reason[35],string[128];
  694. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  695. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/aw [SpielerName] [Text]");
  696. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  697. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst dir keine Nachricht schreiben.");
  698. format(string,sizeof(string),"(( %s %s: %s ))",AdminText(playerid),SpielerName(playerid),reason);
  699. SendClientMessage(pID,GELB,string);
  700. format(string,sizeof(string),"(( An %s: %s ))",SpielerName(pID),reason);
  701. SendClientMessage(playerid,GRUEN,string);
  702. ShowBox(playerid, "NACHRICHT" ,"~g~Nachricht verschickt.", 3);
  703. return 1;
  704. }
  705. ocmd:setlevel(playerid,params[])
  706. {
  707. new pID,string[128],Level;
  708. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  709. if(sscanf(params,"ui",pID,Level))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/setlevel [SpielerName] [Level]");
  710. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  711. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat %s (ID:%i) sein Level auf %i gesetzt.",SpielerName(playerid),playerid,SpielerName(pID),pID,Level);
  712. SendAdminMessage(COLOR_ADMINMSG,string);
  713. ShowBox(playerid, "LEVEL" ,"~g~Level wurde gesetzt.", 3);
  714. ShowBox(pID, "LEVEL" ,"~g~Level wurde gesetzt.", 3);
  715. SetPlayerScore(pID,Level);
  716. return 1;
  717. }
  718. ocmd:skin(playerid,params[])
  719. {
  720. new SkinID,string[85];
  721. if(sscanf(params,"i",SkinID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/skin [1-299]");
  722. if(SkinID<1||SkinID>299)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Skin nicht möglich. (1-299)");
  723. if(GetPVarInt(playerid,"SkinFree")==1)
  724. {
  725. format(string,sizeof(string),"Skin wurde zu SkinID: %i gesetzt. (0$)",SkinID);
  726. SendClientMessage(playerid,GELB,string);
  727. ShowBox(playerid, "SKINSYSTEM" ,"~g~Erfolgreich gesetzt.", 3);
  728. SetPVarInt(playerid,"SkinID",SkinID);
  729. SetPlayerSkin(playerid,SkinID);
  730. }
  731. else
  732. {
  733. format(string,sizeof(string),"Skin wurde zu SkinID: %i gesetzt. (4500$)",SkinID);
  734. SendClientMessage(playerid,GELB,string);
  735. ShowBox(playerid, "SKINSYSTEM" ,"~g~Erfolgreich gesetzt.", 3);
  736. SetPVarInt(playerid,"SkinID",SkinID);
  737. SetPlayerSkin(playerid,SkinID);
  738. }
  739. return 1;
  740. }
  741. ocmd:setskin(playerid,params[])
  742. {
  743. new SkinID,pID,string[125];
  744. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  745. if(sscanf(params,"ui",pID,SkinID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/setskin [SpielerName] [1-299]");
  746. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  747. if(SkinID<1||SkinID>299)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Skin nicht möglich. (1-299)");
  748. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) SkinID: %i zugeteilt.",SpielerName(playerid),playerid,SpielerName(pID),pID,SkinID);
  749. SendAdminMessage(COLOR_ADMINMSG,string);
  750. ShowBox(playerid, "SKINSYSTEM" ,"~g~Erfolgreich gesetzt.", 3);
  751. SetPVarInt(pID,"SkinID",SkinID);
  752. SetPlayerSkin(pID,SkinID);
  753. return 1;
  754. }
  755. ocmd:mute(playerid,params[])
  756. {
  757. new pID,Zeit,reason[35],string[125];
  758. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  759. if(sscanf(params,"uis",pID,Zeit,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/mute [SpielerName] [Zeit in Sekunden] [Grund]");
  760. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  761. format(string,sizeof(string),"[MUTE] %s (ID:%i) hat den Spieler %s (ID:%i) für %i Sekunden gemutet. Grund: %s",SpielerName(playerid),playerid,SpielerName(pID),pID,Zeit,reason);
  762. SendClientMessageToAll(COLOR_LIGHTRED,string);
  763. ShowBox(pID, "MUTE" ,"~r~Du wurdest gemutet.", 3);
  764. ShowBox(playerid, "MUTE" ,"~g~Spieler wurde gemutet.", 3);
  765. SetPVarInt(pID,"MuteTime",Zeit);
  766. return 1;
  767. }
  768. ocmd:getip(playerid,params[])
  769. {
  770. new pID,string[125],pIP[25];
  771. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  772. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/getip [SpielerName]");
  773. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  774. GetPlayerIp(pID, pIP, sizeof(pIP));
  775. format(string,sizeof(string),"AdmCMD: IP von %s (ID:%i): %s",SpielerName(pID),pID,pIP);
  776. SendClientMessage(playerid,GELB,string);
  777. ShowBox(playerid, "IPSYSTEM" ,"~g~IP-Adresse abgerufen.", 3);
  778. return 1;
  779. }
  780. ocmd:mutetime(playerid,parmas[])
  781. {
  782. new string[65];
  783. if(GetPVarInt(playerid,"MuteTime")==0)return SendClientMessage(playerid,GELB,"Du bist nicht gemutet.");
  784. format(string,sizeof(string),"~y~Du bist noch fuer ~r~%i ~y~Sekunden gemutet.",GetPVarInt(playerid,"MuteTime"));
  785. ShowBox(playerid, "MUTETIME" ,string, 3);
  786. return 1;
  787. }
  788. ocmd:unmute(playerid,params[])
  789. {
  790. new pID,string[125];
  791. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  792. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/unmute [SpielerName]");
  793. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  794. if(GetPVarInt(pID,"MuteTime")<=1)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht gemutet.");
  795. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) entmutet.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  796. SendAdminMessage(COLOR_ADMINMSG,string);
  797. ShowBox(pID, "MUTE" ,"~r~Du wurdest entmutet.", 3);
  798. ShowBox(playerid, "MUTE" ,"~g~Spieler wurde entmutet.", 3);
  799. SetPVarInt(pID,"MuteTime",0);
  800. return 1;
  801. }
  802. ocmd:givemoney(playerid,params[])
  803. {
  804. new Geld,pID,string[85];
  805. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  806. if(sscanf(params,"ui",pID,Geld))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/givemoney [SpielerName] [Geld]");
  807. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  808. format(string,sizeof(string),"AdmCMD: Du hast %s (ID:%i) %i$ gegeben.",SpielerName(pID),pID,Geld);
  809. SendClientMessage(playerid,GELB,string);
  810. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat dir %i$ gegeben.",SpielerName(playerid),playerid,Geld);
  811. SendClientMessage(pID,GELB,string);
  812. ShowBox(playerid, "GELD" ,"~g~Geld wurde gegeben.",3);
  813. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat %s (ID:%i) %i$ gegeben.",SpielerName(playerid),playerid,SpielerName(pID),pID,Geld);
  814. SendAdminMessage(COLOR_ADMINMSG,string);
  815. SetPVarInt(pID,"Geld",GetPVarInt(pID,"Geld")+Geld);
  816. GivePlayerMoney(pID,Geld);
  817. return 1;
  818. }
  819. ocmd:veh(playerid,params[])
  820. {
  821. new Float: X,Float: Y,Float: Z,vehID,Farbe1,Farbe2,string[125];
  822. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  823. if(sscanf(params,"iii",vehID,Farbe1,Farbe2))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/veh [VehicleID] [Farbe1] [Farbe2]");
  824. GetPlayerPos(playerid,X,Y,Z);
  825. CreateVehicle(vehID, X, Y+2, Z, 90, Farbe1, Farbe2, -1);
  826. format(string, sizeof(string), "AdmCMD: Du hast Fahrzeug ID: %i gespawnt.", vehID);
  827. SendClientMessage(playerid,GELB,string);
  828. ShowBox(playerid, "FAHRZEUG" ,"~g~Fahrzeug wurde erstellt.",3);
  829. format(string, sizeof(string),"AdmCMD: %s (ID:%i) hat sich ein Fahrzeug mit der ID: %i erstellt.",SpielerName(playerid),playerid,vehID);
  830. SendAdminMessage(COLOR_ADMINMSG,string);
  831. return 1;
  832. }
  833. ocmd:delveh(playerid,params[])
  834. {
  835. new vehID,string[75];
  836. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  837. if(sscanf(params,"i",vehID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/delveh [VehicleID]");
  838. format(string,sizeof(string),"AdmCMD: Du hast die FahrzeugID: %i vom Server gelöscht.",vehID);
  839. SendClientMessage(playerid,GELB,string);
  840. format(string, sizeof(string),"AdmCMD: %s (ID:%i) hat die FahrzeugID: %i vom Server gelöscht.",SpielerName(playerid),playerid,vehID);
  841. SendAdminMessage(COLOR_ADMINMSG,string);
  842. ShowBox(playerid, "FAHRZEUG" ,"~g~Fahrzeug wurde geloescht.",3);
  843. DestroyVehicle(vehID);
  844. return 1;
  845. }
  846. ocmd:givegun(playerid,params[])
  847. {
  848. new pID,GunID,Ammo,string[75];
  849. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  850. if(sscanf(params,"uii",pID,GunID,Ammo))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/givegun [SpielerName] [GunID] [Ammo]");
  851. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  852. format(string,sizeof(string),"AdmCMD: Du hast %s (ID:%i) die GunID: %i mit %i Munnition gegeben",SpielerName(pID),pID,GunID,Ammo);
  853. SendClientMessage(playerid,GELB,string);
  854. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat dir GunID: %i mit %i Munnition gegeben",SpielerName(playerid),playerid,GunID,Ammo);
  855. SendClientMessage(pID,GELB,string);
  856. ShowBox(playerid, "SYSTEM" ,"~g~Waffen wurden gegeben.",3);
  857. GivePlayerWeapon(pID,GunID,Ammo);
  858. return 1;
  859. }
  860. ocmd:takeguns(playerid,params[])
  861. {
  862. new pID,string[75];
  863. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  864. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/takeguns [SpielerName]");
  865. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  866. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat dir die Waffen entnommen.",SpielerName(playerid),playerid);
  867. SendClientMessage(pID,GELB,string);
  868. format(string,sizeof(string),"AdmCMD: Du hast %s (ID:%i) die Waffen entnommen.",SpielerName(pID),pID);
  869. SendClientMessage(playerid,GELB,string);
  870. ShowBox(playerid, "SYSTEM" ,"~g~Waffen wurden entnommen.",3);
  871. ResetPlayerWeapons(pID);
  872. return 1;
  873. }
  874. ocmd:sethp(playerid,params[])
  875. {
  876. new pID,Heal,string[125];
  877. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  878. if(sscanf(params,"ui",pID,Heal))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/sethp [SpielerName] [0-100]");
  879. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  880. if(Heal<0||Heal>99)return SendClientMessage(playerid,ROT,"Heal nur zwischen 0-99");
  881. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) sein Heal auf %i gesetzt.",SpielerName(playerid),playerid,SpielerName(pID),pID,Heal);
  882. SendAdminMessage(COLOR_ADMINMSG,string);
  883. ShowBox(playerid, "HEALTH" ,"~g~Leben wurde gesetzt.",3);
  884. SetPlayerHealth(pID,Heal);
  885. return 1;
  886. }
  887. /*ocmd:setarmour(playerid,params[])
  888. {
  889. new pID,Armor,string[125];
  890. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  891. if(sscanf(params,"ui",pID,Armor))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/setarmour [SpielerName] [0-100]");
  892. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  893. if(Armor<0||Armor>100)return SendClientMessage(playerid,ROT,"Armour nur zwischen 0-100");
  894. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) sein Armour auf %i gesetzt.",SpielerName(playerid),playerid,SpielerName(pID),pID,Armor);
  895. SendAdminMessage(COLOR_ADMINMSG,string);
  896. ShowBox(playerid, "ARMOUR" ,"~g~Armour wurde gesetzt.",3);
  897. SetPlayerArmour(pID,Armor);
  898. return 1;
  899. }*/
  900. ocmd:setadmin(playerid,params[])
  901. {
  902. new pID, rank,string[125];
  903. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  904. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/setadmin [SpielerName] [level]");
  905. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  906. if(rank>2)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben. (0= Kein Admin | 1=Admin | 2=ServerOwner)");
  907. SetPVarInt(pID,"Adminlevel",rank);
  908. SpielerSpeichern(pID);
  909. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) zu Adminlevel %i ernannt.",SpielerName(playerid),playerid,SpielerName(pID),pID,rank);
  910. SendAdminMessage(COLOR_ADMINMSG,string);
  911. ShowBox(playerid, "ADMINLEVEL" ,"~g~Adminlevel wurde gesetzt.",3);
  912. ShowBox(pID, "ADMINLEVEL" ,"~g~Adminlevel wurde gesetzt.",3);
  913. return 1;
  914. }
  915. ocmd:ban(playerid,params[])
  916. {
  917. new pID,reason[128],string[128],Spielerdatei[65];
  918. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  919. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/ban [SpielerName] [grund]");
  920. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(pID));
  921. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  922. format(string,sizeof(string),"[BAN] %s (ID:%i) wurde von %s (ID:%i) permanent vom Server gebannt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,reason);
  923. SendClientMessageToAll(COLOR_LIGHTRED,string);
  924. ShowBox(playerid, "BAN" ,"~g~Spieler wurde gebannt.",3);
  925. ShowBox(pID, "BAN" ,"~r~Du wurdest gebannt.",3);
  926. dini_Set(Spielerdatei,"Sperrgrund",reason);
  927. SetPVarInt(pID,"Baned",1);
  928. TogglePlayerControllable(pID,0);
  929. Kick(pID);
  930. return 1;
  931. }
  932. ocmd:tban(playerid,params[])
  933. {
  934. new pID,grund[64],str[165],dauer;
  935. new timestamp;
  936. timestamp = gettime();
  937. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  938. if(sscanf(params, "uis", pID, dauer, grund))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/tban [SpielerName] [Dauer(in Minuten)] [Grund]");
  939. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  940. format(str,sizeof(str),"[TIMEBAN] %s (ID:%i) wurde von %s (ID:%i) für %d Minuten gebannt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,dauer,grund);
  941. SendClientMessageToAll(COLOR_LIGHTRED,str);
  942. new sekunden = dauer * 60;
  943. timestamp += sekunden;
  944. ShowBox(playerid, "TIMEBAN" ,"~g~Spieler wurde gebannt.",3);
  945. ShowBox(pID, "TIMEBAN" ,"~r~Du wurdest gebannt.",3);
  946. SetPVarInt(playerid,"tban",timestamp);
  947. SetPVarInt(pID,"tbanCounts",GetPVarInt(pID,"tbanCounts")+1);
  948. Kick(playerid);
  949. return 1;
  950. }
  951. ocmd:warn(playerid,params[])
  952. {
  953. new pID,reason[128],Spielerdatei[65],string[128],IP[25];
  954. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  955. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/warn [SpielerName] [grund]");
  956. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(pID));
  957. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  958. format(string,sizeof(string),"AdmCMD: %s (ID:%i) wurde von %s (ID:%i) verwarnt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,reason);
  959. SendAdminMessage(COLOR_ADMINMSG,string);
  960. SetPVarInt(playerid,"Warns",GetPVarInt(playerid,"Warns")+1);
  961. format(string,sizeof(string),"[WARN] %s (ID:%i) hat sie verwarnt (%i/3). Grund: %s",SpielerName(playerid),playerid,GetPVarInt(playerid,"Warns"),reason);
  962. SendClientMessage(pID,COLOR_LIGHTRED,string);
  963. ShowBox(playerid, "WARN" ,"~g~Spieler wurde verwarnt.",3);
  964. ShowBox(pID, "WARN" ,"~r~Du wurdest verwarnt.",3);
  965. if(GetPVarInt(playerid,"Warns")>=3)
  966. {
  967. format(string,sizeof(string),"[IPBAN] %s (ID:%i) wurde von %s (ID:%i) permanent vom Server gebannt. Grund: (3/3 Warns)",SpielerName(pID),pID,SpielerName(playerid),playerid);
  968. SendClientMessageToAll(COLOR_LIGHTRED,string);
  969. ShowBox(playerid, "IPBAN" ,"~g~Spieler wurde gebannt.",3);
  970. ShowBox(pID, "IPBAN" ,"~r~Du wurdest gebannt.",3);
  971. dini_Set(Spielerdatei,"Sperrgrund","(3/3 Warns)");
  972. SetPVarInt(pID,"Baned",1);
  973. GetPlayerIp(pID,IP,sizeof(IP));
  974. format(string, sizeof(string),"banip %s",IP);
  975. SendRconCommand(string);
  976. TogglePlayerControllable(pID,0);
  977. Kick(pID);
  978. }
  979. return 1;
  980. }
  981. ocmd:delwarns(playerid,params[])
  982. {
  983. new pID,string[128];
  984. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  985. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/delwarns [SpielerName]");
  986. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  987. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat %s (ID:%i) Warns gelöscht.",SpielerName(pID),pID,SpielerName(playerid),playerid);
  988. SendAdminMessage(COLOR_ADMINMSG,string);
  989. ShowBox(playerid, "WARN" ,"~g~Warns wurden geloescht.",3);
  990. ShowBox(pID, "WARN" ,"~g~Warns wurden geloescht.",3);
  991. SetPVarInt(pID,"Warns",0);
  992. return 1;
  993. }
  994. ocmd:ipban(playerid,params[])
  995. {
  996. new pID,Spielerdatei[65],reason[128],string[128],IP[25];
  997. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  998. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/ipban [SpielerName] [grund]");
  999. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(pID));
  1000. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1001. format(string,sizeof(string),"[IPBAN] %s (ID:%i) wurde von %s (ID:%i) permanent vom Server gebannt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,reason);
  1002. SendClientMessageToAll(COLOR_LIGHTRED,string);
  1003. ShowBox(playerid, "IPBAN" ,"~g~Spieler wurde gebannt.",3);
  1004. ShowBox(pID, "IPBAN" ,"~r~Du wurdest gebannt.",3);
  1005. dini_Set(Spielerdatei,"Sperrgrund",reason);
  1006. SetPVarInt(pID,"Baned",1);
  1007. GetPlayerIp(pID,IP,sizeof(IP));
  1008. format(string, sizeof(string),"banip %s",IP);
  1009. SendRconCommand(string);
  1010. TogglePlayerControllable(pID,0);
  1011. Kick(pID);
  1012. return 1;
  1013. }
  1014. ocmd:a(playerid,params[])
  1015. {
  1016. new string[125],reason[50];
  1017. if(sscanf(params,"s",reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/a [Nachricht]");
  1018. if(GetPVarInt(playerid,"Adminlevel")==0)
  1019. {
  1020. if(GetPVarInt(playerid,"TextSperre")>=1)
  1021. {
  1022. SendClientMessage(playerid,ERROR,"Du musst noch 2 Sekunden warten für deine nächste Nachricht.");
  1023. }
  1024. else
  1025. {
  1026. format(string,sizeof(string),"Deine Nachricht: %s",reason);
  1027. SendClientMessage(playerid,BLAU,string);
  1028. format(string,sizeof(string),"*** (/a)dmin Report von %s [ID:%i] - Nachricht: %s",SpielerName(playerid),playerid,reason);
  1029. SendAdminMessage(ROT,string);
  1030. SetPVarInt(playerid,"TextSperre",2);
  1031. }
  1032. }
  1033. else
  1034. {
  1035. format(string,sizeof(string),"* %s [Admin %i]: %s",SpielerName(playerid),GetPVarInt(playerid,"Adminlevel"),reason); // [AdmCHAT] AdminText(playerid)
  1036. SendAdminMessage(BLAU,string);
  1037. }
  1038. return 1;
  1039. }
  1040. /*ocmd:ac(playerid,params[])
  1041. {
  1042. new string[125],reason[50];
  1043. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1044. if(sscanf(params,"s",reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/ac [Nachricht]");
  1045. format(string,sizeof(string),"[AdmCHAT] %s %s[%i]: %s ))",AdminText(playerid),SpielerName(playerid),playerid,reason);
  1046. SendAdminMessage(LIGHT_BLUE,string);
  1047. return 1;
  1048. }*/
  1049. ocmd:offlineban(playerid,params[])
  1050. {
  1051. new reason[45],string[125],Spielerdatei[65];
  1052. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1053. if(sscanf(params,"s",reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/offlineban [SpielerName]");
  1054. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",reason);
  1055. if(dini_Exists(Spielerdatei))
  1056. {
  1057. if(dini_Int(Spielerdatei,"Baned")==1)
  1058. {
  1059. SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist bereits gebannt.");
  1060. }
  1061. else
  1062. {
  1063. format(string,sizeof(string),"AdmCMD: %s wurde gebannt.",reason);
  1064. SendClientMessage(playerid,GRUEN,string);
  1065. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s gebannt. (OFFLINE)",SpielerName(playerid),playerid,reason);
  1066. SendAdminMessage(COLOR_ADMINMSG,string);
  1067. ShowBox(playerid, "OFFLINEBAN" ,"~g~Spieler wurde gebannt.",3);
  1068. dini_IntSet(Spielerdatei,"Baned",1);
  1069. }
  1070. }
  1071. else
  1072. {
  1073. SendClientMessage(playerid,ROT,"DATENBANK: Der Spieler wurde nicht gefunden.");
  1074. }
  1075. return 1;
  1076. }
  1077. ocmd:unban(playerid,params[])
  1078. {
  1079. new Spieler[45],string[125],Spielerdatei[65];
  1080. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1081. if(sscanf(params,"s",Spieler))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/unban [SpielerName]");
  1082. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Spieler);
  1083. if(dini_Exists(Spielerdatei))
  1084. {
  1085. if(dini_Int(Spielerdatei,"Baned")==0)
  1086. {
  1087. SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht gebannt.");
  1088. }
  1089. else
  1090. {
  1091. format(string,sizeof(string),"AdmCMD: %s wurde entbannt.",Spieler);
  1092. SendClientMessage(playerid,GRUEN,string);
  1093. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s entbannt. (Perm. Ban)",SpielerName(playerid),playerid,Spieler);
  1094. SendAdminMessage(COLOR_ADMINMSG,string);
  1095. ShowBox(playerid, "OFFLINEBAN" ,"~g~Spieler wurde entbannt.",3);
  1096. dini_IntSet(Spielerdatei,"Baned",0);
  1097. }
  1098. }
  1099. else
  1100. {
  1101. SendClientMessage(playerid,ROT,"[DATENBANK] {FAFAFA}Der Spieler wurde nicht gefunden.");
  1102. }
  1103. return 1;
  1104. }
  1105. ocmd:tunban(playerid,params[])
  1106. {
  1107. new Spieler[45],string[125],Spielerdatei[65];
  1108. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1109. if(sscanf(params,"s",Spieler))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/tunban [SpielerName]");
  1110. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Spieler);
  1111. if(dini_Exists(Spielerdatei))
  1112. {
  1113. if(dini_Int(Spielerdatei,"Baned")==1)
  1114. {
  1115. SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist permanent gebannt.");
  1116. }
  1117. if(dini_Int(Spielerdatei,"tban")==0)
  1118. {
  1119. SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht gebannt.");
  1120. }
  1121. else
  1122. {
  1123. format(string,sizeof(string),"AdmCMD: %s wurde entbannt.",Spieler);
  1124. SendClientMessage(playerid,GRUEN,string);
  1125. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s entbannt. (Timeban)",SpielerName(playerid),playerid,Spieler);
  1126. SendAdminMessage(COLOR_ADMINMSG,string);
  1127. ShowBox(playerid, "TIMEBAN" ,"~g~Spieler wurde entbannt.",3);
  1128. dini_IntSet(Spielerdatei,"tban",0);
  1129. }
  1130. }
  1131. else
  1132. {
  1133. SendClientMessage(playerid,ROT,"[DATENBANK] {FAFAFA}Der Spieler wurde nicht gefunden.");
  1134. }
  1135. return 1;
  1136. }
  1137.  
  1138. ocmd:tv(playerid,params[])
  1139. {
  1140. new pID,string[125];
  1141. new Status = GetPlayerState(pID);
  1142. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1143. if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/tv [SpielerName]");
  1144. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst dich nicht selbst Spectaten.");
  1145. if(IsPlayerSpectating[playerid]==1)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du bist derzeit im Spectating Modus.");
  1146. if(IsPlayerSpectating[pID]==1)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist im Spectating Modus.");
  1147. if(GetPlayerState(playerid) == 7 || GetPlayerState(playerid) == 8 || GetPlayerState(playerid) == 9)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du muss zuerst spawnen.");
  1148. if(Status == 1)
  1149. {
  1150. TogglePlayerSpectating(playerid,1);
  1151. PlayerSpectatePlayer(playerid,pID);
  1152. format(string,sizeof(string),"AdmCMD: %s (ID:%i) beobachtet nun %s (ID:%i).",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1153. SendAdminMessage(COLOR_ADMINMSG,string);
  1154. ShowBox(playerid, "SPECTATING" ,"~g~Modus aktiviert.",3);
  1155. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
  1156. SetPlayerInterior(playerid,GetPlayerInterior(pID));
  1157. IsPlayerSpectating[playerid] = 1;
  1158. }
  1159. if(Status == 2 || Status == 3)
  1160. {
  1161. TogglePlayerSpectating(playerid,1);
  1162. new VehID = GetPlayerVehicleID(pID);
  1163. PlayerSpectateVehicle(playerid,VehID);
  1164. format(string,sizeof(string),"AdmCMD: %s (ID:%i) beobachtet nun %s (ID:%i).",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1165. SendAdminMessage(COLOR_ADMINMSG,string);
  1166. ShowBox(playerid, "SPECTATING" ,"~g~Modus aktiviert.",3);
  1167. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
  1168. SetPlayerInterior(playerid,GetPlayerInterior(pID));
  1169. IsPlayerSpectating[playerid] = 1;
  1170. }
  1171. if(Status == 7 || Status == 8 || Status == 9)
  1172. {
  1173. SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist noch nicht gespawnt.");
  1174. }
  1175. if(Status == 4)
  1176. {
  1177. TogglePlayerSpectating(playerid,1);
  1178. PlayerSpectatePlayer(playerid,pID);
  1179. format(string,sizeof(string),"AdmCMD: %s (ID:%i) beobachtet nun %s (ID:%i).",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1180. SendAdminMessage(COLOR_ADMINMSG,string);
  1181. ShowBox(playerid, "SPECTATING" ,"~g~Modus aktiviert.",3);
  1182. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
  1183. SetPlayerInterior(playerid,GetPlayerInterior(pID));
  1184. IsPlayerSpectating[playerid] = 1;
  1185. }
  1186. if(Status == 5 || Status == 6)
  1187. {
  1188. TogglePlayerSpectating(playerid,1);
  1189. new VehID = GetPlayerVehicleID(pID);
  1190. PlayerSpectateVehicle(playerid,VehID);
  1191. format(string,sizeof(string),"AdmCMD: %s (ID:%i) beobachtet nun %s (ID:%i).",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1192. SendAdminMessage(COLOR_ADMINMSG,string);
  1193. ShowBox(playerid, "SPECTATING" ,"~g~Modus aktiviert.",3);
  1194. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
  1195. SetPlayerInterior(playerid,GetPlayerInterior(pID));
  1196. IsPlayerSpectating[playerid] = 1;
  1197. }
  1198. return 1;
  1199. }
  1200.  
  1201. ocmd:tvoff(playerid,params[])
  1202. {
  1203. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1204. if(IsPlayerSpectating[playerid]==0)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du Spectatest derzeit niemanden.");
  1205. SetPlayerVirtualWorld(playerid,0);
  1206. SetPlayerInterior(playerid,0);
  1207. ShowBox(playerid, "SPECTATING" ,"~g~Modus deaktiviert.",3);
  1208. IsPlayerSpectating[playerid] = 0;
  1209. TogglePlayerSpectating(playerid,0);
  1210. SpawnPlayer(playerid);
  1211. return 1;
  1212. }
  1213.  
  1214. ocmd:aduty(playerid,params[])
  1215. {
  1216. new string[125];
  1217. new Status = GetPlayerState(playerid);
  1218. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1219. if(GetPVarInt(playerid,"Admindienst")==0)
  1220. {
  1221. if(Status == 7 || Status == 8 || Status == 9)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du muss zuerst spawnen.");
  1222. ShowBox(playerid, "ADMINDIENST" ,"~g~Admindienst aktiviert.",3);
  1223. format(string,sizeof(string),"AdmCMD: %s (ID:%i) ist nun im Admindienst.",SpielerName(playerid),playerid);
  1224. SendAdminMessage(COLOR_ADMINMSG,string);
  1225. SetPlayerColor(playerid,0xFF00F5FF);
  1226. SetPlayerArmour(playerid,100.0);
  1227. SetPVarInt(playerid,"Admindienst",1);
  1228. }
  1229. else
  1230. {
  1231. ShowBox(playerid, "ADMINDIENST" ,"~g~Admindienst deaktiviert.",3);
  1232. format(string,sizeof(string),"AdmCMD: %s (ID:%i) ist nun nicht mehr im Admindienst.",SpielerName(playerid),playerid);
  1233. SendAdminMessage(COLOR_ADMINMSG,string);
  1234. SetPlayerColor(playerid,WEIß);
  1235. SetPlayerArmour(playerid,0);
  1236. SetPVarInt(playerid,"Admindienst",0);
  1237. }
  1238. return 1;
  1239. }
  1240.  
  1241. ocmd:kick(playerid,params[])
  1242. {
  1243. new pID, reason[35],string[128];
  1244. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1245. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/kick [SpielerName] [grund]");
  1246. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1247. format(string,sizeof(string),"[KICK] %s (ID:%i) wurde von %s (ID:%i) gekickt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,reason);
  1248. SendClientMessageToAll(COLOR_LIGHTRED,string);
  1249. ShowBox(playerid, "KICK" ,"~g~Spieler wurde gekickt.",3);
  1250. ShowBox(pID, "KICK" ,"~r~Du wurdest gekickt.",3);
  1251. SetPVarInt(pID,"KickCounts",GetPVarInt(pID,"KickCounts")+1);
  1252. TogglePlayerControllable(pID,0);
  1253. Kick(pID);
  1254. return 1;
  1255. }
  1256. ocmd:stats(playerid,params[])
  1257. {
  1258. new string[250],string1[250],string2[250],string3[650];
  1259. format(string,sizeof(string),"[[Account]]\n[Name: %s] [Level: %i] [Geld: %i$] [Warns: %i/3] [Adminlevel: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPVarInt(playerid,"Warns"),GetPVarInt(playerid,"Adminlevel"));
  1260. format(string1,sizeof(string1),"[[Weiteres]]\n[Kills: %i] [Tode: %i] [Spielsekunden: %i]",GetPVarInt(playerid,"Kills"),GetPVarInt(playerid,"Tode"),GetPVarInt(playerid,"SpielSekunden"));
  1261. format(string2,sizeof(string2),"Statistik von %s",SpielerName(playerid));
  1262. format(string3,sizeof(string3),"%s\n\n%s",string,string1);
  1263. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,string2,string3,"OK","");
  1264. return 1;
  1265. }
  1266. ocmd:goto(playerid,params[])
  1267. {
  1268. new string[125],pID,Float:X,Float:Y,Float:Z;
  1269. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1270. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/goto [SpielerName]");
  1271. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1272. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst dich nicht zu dir Teleportieren.");
  1273. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat sich zu dir teleportiert.",SpielerName(playerid),playerid);
  1274. SendClientMessage(pID,GELB,string);
  1275. format(string,sizeof(string),"AdmCMD: Du hast dich zu %s (ID:%i) teleportiert.",SpielerName(pID),pID);
  1276. SendClientMessage(playerid,GELB,string);
  1277. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat sich zu %s (ID:%i) teleportiert.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1278. SendAdminMessage(COLOR_ADMINMSG,string);
  1279. ShowBox(playerid, "TELEPORT" ,"~g~Zum Spieler geportet.",3);
  1280. GetPlayerPos(pID,Float:X,Float:Y,Float:Z);
  1281. SetPlayerPos(playerid,Float:X,Float:Y+2,Float:Z);
  1282. return 1;
  1283. }
  1284. ocmd:gotocar(playerid,params[])
  1285. {
  1286. new string[125],CarID,Float:X,Float:Y,Float:Z;
  1287. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1288. if(sscanf(params,"i",CarID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/gotocar [CarID]");
  1289. format(string,sizeof(string),"AdmCMD: Du hast dich zur CarID: %i teleportiert",CarID);
  1290. SendClientMessage(playerid,GELB,string);
  1291. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat sich zur CarID: %i teleportiert.",SpielerName(playerid),playerid,CarID);
  1292. SendAdminMessage(COLOR_ADMINMSG,string);
  1293. ShowBox(playerid, "TELEPORT" ,"~g~Zum Fahrzeug geportet.",3);
  1294. GetVehiclePos(CarID,Float:X,Float:Y,Float:Z);
  1295. SetPlayerPos(playerid,Float:X,Float:Y+2,Float:Z);
  1296. return 1;
  1297. }
  1298. ocmd:getherecar(playerid,params[])
  1299. {
  1300. new string[125],CarID,Float:X,Float:Y,Float:Z;
  1301. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1302. if(sscanf(params,"i",CarID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/getherecar [CarID]");
  1303. format(string,sizeof(string),"AdmCMD: Du hast die CarID: %i zu dir teleportiert",CarID);
  1304. SendClientMessage(playerid,GELB,string);
  1305. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat die CarID: %i zu sich teleportiert.",SpielerName(playerid),playerid,CarID);
  1306. SendAdminMessage(COLOR_ADMINMSG,string);
  1307. ShowBox(playerid, "TELEPORT" ,"~g~Fahrzeug zu sich geportet.",3);
  1308. GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
  1309. SetVehiclePos(CarID,Float:X,Float:Y+2,Float:Z);
  1310. return 1;
  1311. }
  1312. ocmd:gmtest(playerid,params[])
  1313. {
  1314. new string[125],pID;
  1315. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1316. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/gmtest [SpielerName]");
  1317. if(GetPlayerState(playerid) == 7 || GetPlayerState(playerid) == 8 || GetPlayerState(playerid) == 9)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du muss zuerst spawnen.");
  1318. if(GetPlayerState(pID) == 7 || GetPlayerState(pID) == 8 || GetPlayerState(pID) == 9)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler muss zuerst spawnen.");
  1319. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst keinen Godmodetest mit dir durchführen.");
  1320. format(string,sizeof(string),"AdmCMD: Du machst nun mit %s (ID:%i) einen Godmodetest,zum beenden (/gmende %i). (M4 erhalten)",SpielerName(pID),pID,pID);
  1321. SendClientMessage(playerid,GELB,string);
  1322. format(string,sizeof(string),"AdmCMD: %s (ID:%i) macht nun mit %s (ID:%i) einen Godmodetest.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1323. SendAdminMessage(COLOR_ADMINMSG,string);
  1324. ResetPlayerWeapons(playerid);
  1325. SetPlayerVirtualWorld(playerid,0);
  1326. SetPlayerInterior(playerid,0);
  1327. SetPlayerPos(playerid,2141.2385,-2283.4785,14.7765);
  1328. SetPlayerFacingAngle(playerid,137.8522);
  1329. SetCameraBehindPlayer(playerid);
  1330. GivePlayerWeapon(playerid,31,9999);
  1331. SetPlayerVirtualWorld(pID,0);
  1332. SetPlayerInterior(pID,0);
  1333. SetPlayerPos(pID,2135.9526,-2289.3599,14.7801);
  1334. SetPlayerFacingAngle(pID,138.1728);
  1335. SetCameraBehindPlayer(pID);
  1336. TogglePlayerControllable(pID,0);
  1337. ResetPlayerWeapons(pID);
  1338. SetPVarInt(pID,"GmTest",1);
  1339. ShowPlayerDialog(pID,DIALOG_GMHINWEIS,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / Godmodetest","Du wirst nun auf Godmode kontrolliert.\n\n(HINWEIS: Offline gehen/Screenhots machen/Deskflucht ist Verboten und führt zum Perm. Ban)","OK","");
  1340. return 1;
  1341. }
  1342. ocmd:gmende(playerid,params[])
  1343. {
  1344. new string[125],pID;
  1345. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1346. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/gmende [SpielerName]");
  1347. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst keinen Godmodetest mit dir abschließen.");
  1348. if(GetPVarInt(pID,"GmTest")==0)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler befindet sich nicht im Godmodetest.");
  1349. format(string,sizeof(string),"AdmCMD: Godmodetest mit %s (ID:%i) beendet.",SpielerName(pID),pID);
  1350. SendClientMessage(playerid,GELB,string);
  1351. SpawnPlayer(playerid);
  1352. SetPVarInt(pID,"GmTest",0);
  1353. TogglePlayerControllable(pID,0);
  1354. SpawnPlayer(pID);
  1355. ShowPlayerDialog(pID,DIALOG_GMTESTEND,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / Godmodetest","Der Godmodetest wurde abgeschlossen.","OK","");
  1356. return 1;
  1357. }
  1358. ocmd:gethere(playerid,params[])
  1359. {
  1360. new string[125],pID,Float:X,Float:Y,Float:Z;
  1361. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1362. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/gethere [SpielerName]");
  1363. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1364. if(pID==playerid)return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Du kannst dich nicht zu dir Teleportieren.");
  1365. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat dich zu sich teleportiert",SpielerName(playerid),playerid);
  1366. SendClientMessage(pID,GELB,string);
  1367. format(string,sizeof(string),"AdmCMD: Du hast %s (ID:%i) zu dir teleportiert.",SpielerName(pID),pID);
  1368. SendClientMessage(playerid,GELB,string);
  1369. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat %s (ID:%i) zu sich teleportiert.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1370. SendAdminMessage(COLOR_ADMINMSG,string);
  1371. ShowBox(playerid, "TELEPORT" ,"~g~Spieler zu sich geportet.",3);
  1372. GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
  1373. SetPlayerPos(pID,Float:X,Float:Y+2,Float:Z);
  1374. return 1;
  1375. }
  1376. ocmd:freeze(playerid,params[])
  1377. {
  1378. new pID,string[125];
  1379. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1380. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/freeze [SpielerName]");
  1381. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1382. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) gefreezt.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1383. SendAdminMessage(COLOR_ADMINMSG,string);
  1384. ShowBox(pID, "FREEZE" ,"~r~Du wurdest gefreezt.",3);
  1385. TogglePlayerControllable(pID,0);
  1386. return 1;
  1387. }
  1388. ocmd:unfreeze(playerid,params[])
  1389. {
  1390. new pID,string[125];
  1391. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1392. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/freeze [SpielerName]");
  1393. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1394. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) entfreezt.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1395. SendAdminMessage(COLOR_ADMINMSG,string);
  1396. ShowBox(pID, "FREEZE" ,"~r~Du wurdest entfreezt.",3);
  1397. TogglePlayerControllable(pID,1);
  1398. return 1;
  1399. }
  1400. ocmd:spawn(playerid,params[])
  1401. {
  1402. new pID,string[125];
  1403. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1404. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/spawn [SpielerName]");
  1405. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1406. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat den Spieler %s (ID:%i) respawnt.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1407. SendAdminMessage(COLOR_ADMINMSG,string);
  1408. ShowBox(pID, "RESPAWN" ,"~r~Du wurdest respawnt.",3);
  1409. SpawnPlayer(pID);
  1410. return 1;
  1411. }
  1412. ocmd:showstats(playerid,params[])
  1413. {
  1414. new pID,string[250],string1[250],string2[250],string3[650],string4[650];
  1415. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1416. if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/showstats [SpielerName]");
  1417. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
  1418. format(string,sizeof(string),"[[Account]]\n[Name: %s] [Level: %i] [Geld: %i$] [Warns: %i/3] [Adminlevel: %i]",SpielerName(pID),GetPlayerScore(pID),GetPlayerMoney(pID),GetPVarInt(pID,"Warns"),GetPVarInt(pID,"Adminlevel"));
  1419. format(string1,sizeof(string1),"\n[[Weiteres]]\n[Kills: %i] [Tode: %i] [Spielsekunden: %i]",GetPVarInt(pID,"Kills"),GetPVarInt(pID,"Tode"),GetPVarInt(pID,"SpielSekunden"));
  1420. format(string2,sizeof(string2),"\n[[Administratives]]\n[Kicks: %i] [Timebans: %i]",GetPVarInt(pID,"KickCounts"),GetPVarInt(pID,"tbanCounts"));
  1421. format(string3,sizeof(string3),"Statistik von %s",SpielerName(pID));
  1422. format(string4,sizeof(string4),"%s\n%s\n%s",string,string1,string2);
  1423. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,string3,string4,"OK","");
  1424. format(string,sizeof(string),"AdmCMD: %s (ID:%i) schaut sich die Stats von %s (ID:%i) an.",SpielerName(playerid),playerid,SpielerName(pID),pID);
  1425. SendAdminMessage(COLOR_ADMINMSG,string);
  1426. return 1;
  1427. }
  1428. ocmd:restart(playerid,params[])
  1429. {
  1430. if(isPlayerAnAdmin(playerid,2))
  1431. {
  1432. SaveAllPlayerAccounts();
  1433. SendRconCommand("gmx");
  1434. return 1;
  1435. }
  1436. else
  1437. {
  1438. SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1439. }
  1440. return 1;
  1441. }
  1442. ocmd:setweather(playerid,params[])
  1443. {
  1444. new weatherid,string[125];
  1445. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1446. if(sscanf(params,"i",weatherid))return SendClientMessage(playerid, ROT,"FEHLER: {FAFAFA}/setweather [WetterID]");
  1447. format(string,sizeof(string),"AdmCMD: Du hast das Wetter in die ID: %d geändert!",weatherid);
  1448. SendClientMessage(playerid,GELB,string);
  1449. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat das Wetter in die ID: %d geändert.",SpielerName(playerid),playerid,weatherid);
  1450. SendAdminMessage(COLOR_ADMINMSG,string);
  1451. ShowBox(playerid, "WETTERSYSTEM" ,"~r~Wetter gesetzt.",3);
  1452. SetWeather(weatherid);
  1453. return 1;
  1454. }
  1455. ocmd:saveall(playerid,params[])
  1456. {
  1457. new string[125];
  1458. if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1459. format(string,sizeof(string),"AdmCMD: Du hast alle Accounts gespeichert!");
  1460. SendClientMessage(playerid,GELB,string);
  1461. format(string,sizeof(string),"AdmCMD: %s (ID:%i) hat alle Accounts gespeichert.",SpielerName(playerid),playerid);
  1462. SendAdminMessage(COLOR_ADMINMSG,string);
  1463. SaveAllPlayerAccounts();
  1464. return 1;
  1465. }
  1466. ocmd:ahelp(playerid,params[]) // /setarmour ist draußen (Befehl deaktiviert)
  1467. {
  1468. if(GetPVarInt(playerid,"Adminlevel")>=1)
  1469. {
  1470. new string1[150],string2[150],string3[150],string4[150],stringEnd[650];
  1471. format(string1,sizeof(string1),"[BEFEHLE] /ban | /unban | /kick | /setadmin | /restart | /showstats | /offlineban | /tunban | /gmtest | /saveall");
  1472. format(string2,sizeof(string2),"[BEFEHLE] /sethp | /veh | /delveh | /givegun | /givemoney | /ipban | /tban | /tv | /tvoff | /aduty | /slep");
  1473. format(string3,sizeof(string3),"[BEFEHLE] /freeze | /unfreeze | /spawn | /setskin | /takeguns | /mute | /unmute | /warn | /setlevel");
  1474. format(string4,sizeof(string4),"[BEFEHLE] /goto | /gethere | /gotocar | /getherecar | /aw | /setweather | /getip | /delwarns | /gmende");
  1475. format(stringEnd,sizeof(stringEnd),"%s\n%s\n%s\n%s",string1,string2,string3,string4);
  1476. ShowPlayerDialog(playerid,DIALOG_ADMCOMMAND,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / Admsys",stringEnd,"Fertig","");
  1477. }
  1478. else
  1479. {
  1480. SendClientMessage(playerid,ERROR,""#NOTADMIN"");
  1481. }
  1482. return 1;
  1483. }
  1484.  
  1485. ocmd:modus(playerid,params[])
  1486. {
  1487. ShowPlayerDialog(playerid,DIALOG_MODUS,DIALOG_STYLE_LIST,""#SERVERTAG" / Modus","Suchen & Zerstören\nTeam Deathmatch\nCapture the Flag\nFrei für alle\nStunt Map","Auswählen","Abbrechen"); // \nSonstige Spiele
  1488. return 1;
  1489. }
  1490.  
  1491. ocmd:help(playerid,params[])
  1492. {
  1493. new string[150],string1[150],string2[150],stringEnd[350];
  1494. format(string,sizeof(string),"[BEFEHLE] /skin (Skin Wechseln) | /stats (Statistik aufrufen) | /pn (Nachricht schreiben)");
  1495. format(string1,sizeof(string1),"[BEFEHLE] /id (Spieler Information) | /a (Spieler Melden) | /modus (Modus wählen)");
  1496. format(string2,sizeof(string2),"[BEFEHLE] /mutetime (Mutezeit anzeigen)");
  1497. format(stringEnd,sizeof(stringEnd),"%s\n%s\n%s",string,string1,string2);
  1498. ShowPlayerDialog(playerid,DIALOG_COMMANDS,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / Helpsys",stringEnd,"Fertig","");
  1499. return 1;
  1500. }
  1501.  
  1502. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  1503. {
  1504. new string[125],sendername[MAX_PLAYER_NAME];
  1505. format(string, sizeof(string), "%f", amount);
  1506. new Damage = strval(string);
  1507. GetPlayerName(issuerid, sendername, sizeof(sendername)); // Er hat Geschossen
  1508. format(string, sizeof(string), "-%d HP - %s", Damage,sendername);
  1509. SetPlayerChatBubble(playerid, string, GRUEN, 80.0, 1000);
  1510. PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
  1511. if(GetPVarInt(playerid,"Admindienst")==1)
  1512. {
  1513. SetPlayerArmour(playerid,100.0);
  1514. }
  1515. if(GetPVarInt(playerid,"GmTest")==1)
  1516. {
  1517. SetPlayerHealth(playerid,100.0);
  1518. }
  1519. return 1;
  1520. }
  1521.  
  1522. public OnPlayerCommandText(playerid, cmdtext[])
  1523. {
  1524. new string[125];
  1525. format(string,sizeof(string),"SERVER: Der Befehl (%s) existiert nicht!",cmdtext);
  1526. SendClientMessage(playerid,ERROR,string);
  1527. return 1;
  1528. }
  1529.  
  1530. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1531. {
  1532. return 1;
  1533. }
  1534.  
  1535. public OnPlayerExitVehicle(playerid, vehicleid)
  1536. {
  1537. return 1;
  1538. }
  1539.  
  1540. public OnPlayerStateChange(playerid, newstate, oldstate)
  1541. {
  1542. return 1;
  1543. }
  1544.  
  1545. public OnPlayerEnterCheckpoint(playerid)
  1546. {
  1547. return 1;
  1548. }
  1549.  
  1550. public OnPlayerLeaveCheckpoint(playerid)
  1551. {
  1552. return 1;
  1553. }
  1554.  
  1555. public OnPlayerEnterRaceCheckpoint(playerid)
  1556. {
  1557. return 1;
  1558. }
  1559.  
  1560. public OnPlayerLeaveRaceCheckpoint(playerid)
  1561. {
  1562. return 1;
  1563. }
  1564.  
  1565. public OnRconCommand(cmd[])
  1566. {
  1567. return 1;
  1568. }
  1569.  
  1570. public OnPlayerRequestSpawn(playerid)
  1571. {
  1572. return 1;
  1573. }
  1574.  
  1575. public OnObjectMoved(objectid)
  1576. {
  1577. return 1;
  1578. }
  1579.  
  1580. public OnPlayerObjectMoved(playerid, objectid)
  1581. {
  1582. return 1;
  1583. }
  1584.  
  1585. public OnPlayerPickUpPickup(playerid, pickupid)
  1586. {
  1587. return 1;
  1588. }
  1589.  
  1590. public OnVehicleMod(playerid, vehicleid, componentid)
  1591. {
  1592. return 1;
  1593. }
  1594.  
  1595. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1596. {
  1597. return 1;
  1598. }
  1599.  
  1600. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1601. {
  1602. return 1;
  1603. }
  1604.  
  1605. public OnPlayerSelectedMenuRow(playerid, row)
  1606. {
  1607. return 1;
  1608. }
  1609.  
  1610. public OnPlayerExitedMenu(playerid)
  1611. {
  1612. return 1;
  1613. }
  1614.  
  1615. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1616. {
  1617. return 1;
  1618. }
  1619.  
  1620. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1621. {
  1622. return 1;
  1623. }
  1624.  
  1625. public OnRconLoginAttempt(ip[], password[], success)
  1626. {
  1627. return 1;
  1628. }
  1629.  
  1630. public OnPlayerUpdate(playerid)
  1631. {
  1632. if(GetPVarInt(playerid,"loggedin")==0)return 1;
  1633. new drunknew;
  1634. drunknew = GetPlayerDrunkLevel(playerid);
  1635. if (drunknew < 100)
  1636. {
  1637. SetPlayerDrunkLevel(playerid, 2000);
  1638. }
  1639. else
  1640. {
  1641. if (pDrunkLevelLast[playerid] != drunknew)
  1642. {
  1643. new wfps = pDrunkLevelLast[playerid] - drunknew;
  1644. if ((wfps > 0) && (wfps < 200))
  1645. pFPS[playerid] = wfps;
  1646. pDrunkLevelLast[playerid] = drunknew;
  1647. }
  1648.  
  1649. }
  1650. return 1;
  1651. }
  1652.  
  1653. public OnPlayerStreamIn(playerid, forplayerid)
  1654. {
  1655. return 1;
  1656. }
  1657.  
  1658. public OnPlayerStreamOut(playerid, forplayerid)
  1659. {
  1660. return 1;
  1661. }
  1662.  
  1663. public OnVehicleStreamIn(vehicleid, forplayerid)
  1664. {
  1665. return 1;
  1666. }
  1667.  
  1668. public OnVehicleStreamOut(vehicleid, forplayerid)
  1669. {
  1670. return 1;
  1671. }
  1672.  
  1673. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1674. {
  1675. new string[650];
  1676. if(dialogid==DIALOG_LOGIN)
  1677. {
  1678. if(response==0)
  1679. {
  1680. SendClientMessage(playerid,GELB,"- Deine Verbindung zum Server wird nun getrennt. Grund: Abbruch des Logins");
  1681. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  1682. TogglePlayerControllable(playerid,0);
  1683. Kick(playerid);
  1684. }
  1685. if(response==1)
  1686. {
  1687. if(!strlen(inputtext))
  1688. {
  1689. SendClientMessage(playerid,BLAU,"- Das Passwort wurde nicht korrekt eingegeben!");
  1690. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank gefunden,bitte gib dein Passwort ein:",SpielerName(playerid));
  1691. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERTAG" / Login",string,"Login","Abbrechen");
  1692. }
  1693. else
  1694. {
  1695. Login(playerid,inputtext);
  1696. }
  1697. }
  1698. return 1;
  1699. }
  1700.  
  1701. if(dialogid==DIALOG_MODUS)
  1702. {
  1703. if(listitem==0)
  1704. {
  1705. // Suchen & Zerstören
  1706. }
  1707. if(listitem==1)
  1708. {
  1709. // Team Deathmatch
  1710. }
  1711. if(listitem==2)
  1712. {
  1713. // Capture The Flag
  1714. }
  1715. if(listitem==3)
  1716. {
  1717. // Frei Für alle
  1718. }
  1719. if(listitem==4)
  1720. {
  1721. // Stunt Map
  1722. }
  1723. return 1;
  1724. }
  1725.  
  1726. if(dialogid==DIALOG_REGISTER)
  1727. {
  1728. if(response==0)
  1729. {
  1730. SendClientMessage(playerid,GELB,"- Deine Verbindung zum Server wird nun getrennt. Grund: Abbruch der Registrierung");
  1731. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  1732. TogglePlayerControllable(playerid,0);
  1733. Kick(playerid);
  1734. }
  1735. if(response==1)
  1736. {
  1737. if(strlen(inputtext)<=3)
  1738. {
  1739. SendClientMessage(playerid,BLAU,"- Das Passwort muss mindestens 3 Zeichen lang sein.");
  1740. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank nicht gefunden,bitte gib dein gewünschtes Passwort ein:",SpielerName(playerid));
  1741. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,""#SERVERTAG" / Registration",string,"Bestätigen","Abbrechen");
  1742. }
  1743. else
  1744. {
  1745. Register(playerid,inputtext);
  1746. }
  1747. }
  1748. return 1;
  1749. }
  1750. if(dialogid==DIALOG_GMHINWEIS)
  1751. {
  1752. if(GetPVarInt(playerid,"GmTest")==1)
  1753. {
  1754. if(response==0)
  1755. {
  1756. ShowPlayerDialog(playerid,DIALOG_GMHINWEIS,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / GM-Test","Du wirst nun auf Godmode kontrolliert.\n\n(HINWEIS: Offline gehen/Screenhots machen/Deskflucht ist Verboten und führt zu Perm. Ban)","OK","");
  1757. }
  1758. if(response==1)
  1759. {
  1760. ShowPlayerDialog(playerid,DIALOG_GMHINWEIS,DIALOG_STYLE_MSGBOX,""#SERVERTAG" / GM-Test","Du wirst nun auf Godmode kontrolliert.\n\n(HINWEIS: Offline gehen/Screenhots machen/Deskflucht ist Verboten und führt zu Perm. Ban)","OK","");
  1761. }
  1762. }
  1763. return 1;
  1764. }
  1765. return 1;
  1766. }
  1767.  
  1768. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1769. {
  1770. return 1;
  1771. }
  1772.  
  1773. stock SpielerName(playerid)
  1774. {
  1775. new name[MAX_PLAYER_NAME];
  1776. GetPlayerName(playerid,name,sizeof(name));
  1777. return name;
  1778. }
  1779.  
  1780. stock AdminText(playerid)
  1781. {
  1782. new Admin[65];
  1783. switch(GetPVarInt(playerid,"Adminlevel"))
  1784. {
  1785. case 0:{Admin="Spieler";}
  1786. case 1:{Admin="Admin";} // {FFAA00}Admin{FAFAFA}
  1787. case 2:{Admin="ServerOwner";} // {FF3C00}ServerOwner{FAFAFA}
  1788. }
  1789. return Admin;
  1790. }
  1791.  
  1792. /*stock AntiSpam(playerid)
  1793. {
  1794. SpamCount[playerid]++;
  1795. switch (SpamCount[playerid])
  1796. {
  1797. case 1:
  1798. {
  1799. ChatSpamTime[playerid][0]=gettime();
  1800. }
  1801. case 2:
  1802. {
  1803. if((gettime()-ChatSpamTime[playerid][0])<2)
  1804. {
  1805. SendClientMessage(playerid,WEIß,"Anti-Flood: Achtung! Unterlasse das Spammen, sonst wirst du automatisch gemutet. (Mindestens 2 Sekunden Abstand nach diesem Text)");
  1806. ChatSpamTime[playerid][1]=gettime();
  1807. }
  1808. else SpamCount[playerid]=0;
  1809. }
  1810. case 3:
  1811. {
  1812. if((gettime()-ChatSpamTime[playerid][1])<2)
  1813. {
  1814. SendClientMessage(playerid,WEIß,"Anti-Flood: Achtung! Unterlasse das Spammen, sonst wirst du automatisch gemutet. (Mindestens 2 Sekunden Abstand nach diesem Text)");
  1815. ChatSpamTime[playerid][2]=gettime();
  1816. }
  1817. else SpamCount[playerid]=0;
  1818. }
  1819. case 4:
  1820. {
  1821. if((gettime()-ChatSpamTime[playerid][2])<2)
  1822. {
  1823. SendClientMessage(playerid,WEIß,"Anti-Flood: Achtung! Unterlasse das Spammen, sonst wirst du automatisch gemutet. (Mindestens 2 Sekunden Abstand nach diesem Text)");
  1824. ChatSpamTime[playerid][3]=gettime();
  1825. }
  1826. else SpamCount[playerid]=0;
  1827. }
  1828. case 5..50:
  1829. {
  1830. new string[128],name[24];
  1831. GetPlayerName(playerid,name,sizeof(name));
  1832. if((gettime()-ChatSpamTime[playerid][3])<2)
  1833. {
  1834. format(string,sizeof(string),"AdmCMD: %s (ID:%i) wurde für 2 Minuten gemutet. Grund: Spam",name,playerid);
  1835. SendClientMessageToAll(COLOR_LIGHTRED,string);
  1836. //SendClientMessage(playerid,0xFF0000FF,"Du bist nun für 2 Minuten (120 Sekunden) gemutet. (/mutetime)");
  1837. SetPVarInt(playerid,"MuteTime",120);
  1838. }
  1839. }
  1840. }
  1841. return 1;
  1842. }*/
  1843.  
  1844. stock Register(playerid,key[])
  1845. {
  1846. new Spielerdatei[64],string[125],pIP[25];
  1847. GetPlayerIp(playerid, pIP, sizeof(pIP));
  1848. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  1849. dini_Create(Spielerdatei);
  1850. dini_Set(Spielerdatei,"Passwort",key);
  1851. SendClientMessage(playerid,ROT,"SERVER: {FAFAFA}Erfolgreich registriert.");
  1852. SetPlayerWantedLevel(playerid,0);
  1853. SetPVarInt(playerid,"SkinID",25);
  1854. SetPVarInt(playerid,"loggedin",1);
  1855. ShowBox(playerid, "SERVER" ,"~y~Willkommen.",3);
  1856. format(string,sizeof(string),"[REGISTRATION] %s hat sich mit der IP '%s' registriert.",SpielerName(playerid),pIP);
  1857. SendAdminMessage(LIGHT_BLUE,string);
  1858. dini_Set(Spielerdatei,"LastIP",pIP);
  1859. SetPlayerScore(playerid,1);
  1860. SpawnPlayer(playerid);
  1861. return 1;
  1862. }
  1863.  
  1864. stock SendAdminMessageForLevel(level,color,text[])
  1865. {
  1866. for(new i=0; i<MAX_PLAYERS; i++)
  1867. {
  1868. if(!IsPlayerConnected(i))continue;
  1869. if(!isPlayerAnAdmin(i,level))continue;
  1870. SendClientMessage(i,color,text);
  1871. }
  1872. return 1;
  1873. }
  1874.  
  1875. stock SendAdminMessage(color,text[])
  1876. {
  1877. for(new i=0; i<MAX_PLAYERS; i++)
  1878. {
  1879. if(!IsPlayerConnected(i))continue;
  1880. if(!isPlayerAnAdmin(i,1))continue;
  1881. SendClientMessage(i,color,text);
  1882. }
  1883. return 1;
  1884. }
  1885.  
  1886. stock Login(playerid,key[])
  1887. {
  1888. new Spielerdatei[64],string[650];
  1889. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  1890. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  1891. {
  1892. SpielerLaden(playerid);
  1893. return 1;
  1894. }
  1895. else
  1896. {
  1897. if(GetPVarInt(playerid,"WrongPW")==3)
  1898. {
  1899. SendClientMessage(playerid,GELB,"- Deine Verbindung zum Server wird nun getrennt. Grund: 3 mal falsches Passwort!");
  1900. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  1901. TogglePlayerControllable(playerid,0);
  1902. Kick(playerid);
  1903. }
  1904. else
  1905. {
  1906. SendClientMessage(playerid,BLAU,"- Das Passwort wurde nicht korrekt eingegeben!");
  1907. format(string,sizeof(string),"{FAFAFA}Account {00FF46}%s{FAFAFA} wurde in der Datenbank gefunden,bitte gib dein Passwort ein:",SpielerName(playerid));
  1908. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERTAG" / Login",string,"Login","Abbrechen");
  1909. SetPVarInt(playerid,"WrongPW",GetPVarInt(playerid,"WrongPW")+1);
  1910. }
  1911. return 1;
  1912. }
  1913. }
  1914.  
  1915. stock SpielerLaden(playerid)
  1916. {
  1917. new Spielerdatei[165],string[265],pIP[25],TimeString[256],TimeString2[256];
  1918. new Tag,Monat,Jahr,Stunde,Minute,Sekunde;
  1919. getdate(Jahr, Monat, Tag);
  1920. gettime(Stunde, Minute, Sekunde);
  1921. GetPlayerIp(playerid, pIP, sizeof(pIP));
  1922. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  1923. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  1924. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  1925. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  1926. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  1927. SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
  1928. SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
  1929. SetPVarInt(playerid,"SkinID",dini_Int(Spielerdatei,"SkinID"));
  1930. SetPVarInt(playerid,"MuteTime",dini_Int(Spielerdatei,"MuteTime"));
  1931. SetPVarInt(playerid,"SpielSekunden",dini_Int(Spielerdatei,"SpielSekunden"));
  1932. SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"WantedLevel"));
  1933. SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium"));
  1934. SetPVarInt(playerid,"KickCounts",dini_Int(Spielerdatei,"KickCounts"));
  1935. SetPVarInt(playerid,"Warns",dini_Int(Spielerdatei,"Warns"));
  1936. SetPVarInt(playerid,"tban",dini_Int(Spielerdatei,"tban"));
  1937. SetPVarInt(playerid,"tbanCounts",dini_Int(Spielerdatei,"tbanCounts"));
  1938. SetPVarInt(playerid,"Geld",dini_Int(Spielerdatei,"Geld"));
  1939. SetPVarInt(playerid,"loggedin",1);
  1940. if(GetPVarInt(playerid,"Baned")==1)
  1941. {
  1942. format(string,sizeof(string),"[GESPERRT] %s du bist vom Server gesperrt (Grund:%s),melde dich bei einem Administrator.",SpielerName(playerid),dini_Get(Spielerdatei,"Sperrgrund"));
  1943. SendClientMessage(playerid,COLOR_LIGHTRED,string);
  1944. TogglePlayerControllable(playerid,0);
  1945. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  1946. Kick(playerid);
  1947. }
  1948. else if(gettime() < GetPVarInt(playerid,"tban"))
  1949. {
  1950. new differenz = GetPVarInt(playerid,"tban") - gettime();
  1951. new minuten = differenz / 60;
  1952. format(string,sizeof(string),"[TIMEBAN] Du bist noch für %i Minuten gebannt (Grund:%s),du wirst nun gekickt.",minuten,dini_Get(Spielerdatei,"Sperrgrund"));
  1953. SendClientMessage(playerid,COLOR_LIGHTRED,string);
  1954. TogglePlayerControllable(playerid,0);
  1955. ShowBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
  1956. Kick(playerid);
  1957. }
  1958. else
  1959. {
  1960. SetPVarInt(playerid,"tban",0);
  1961. SetPVarInt(playerid,"loggedin",1);
  1962. TextDrawShowForPlayer(playerid, Text:UhrzeitStundeMinute);
  1963. TextDrawShowForPlayer(playerid, Text:DatumTagMonat);
  1964. ShowBox(playerid, "SERVER" ,"~y~Willkommen zurueck.",3);
  1965. format(string,sizeof(string),"SERVER:{FAFAFA} Du bist als %s eingeloggt.",AdminText(playerid));
  1966. SendClientMessage(playerid,ROT,string);
  1967. if(GetPVarInt(playerid,"Premium")==1)
  1968. {
  1969. SendClientMessage(playerid,ROT,"SERVER:{FAFAFA} Du bist Premium Mitglied.");
  1970. }
  1971. format(string,sizeof(string),"[LOGIN] %s hat sich mit der IP '%s' eingeloggt. [Level %i, Geld %i$]",SpielerName(playerid),pIP,GetPlayerScore(playerid),GetPlayerMoney(playerid));
  1972. SendAdminMessage(LIGHT_BLUE,string);
  1973. dini_Set(Spielerdatei,"LastIP",pIP);
  1974. if(Minute <= 9)
  1975. {
  1976. format(TimeString,25,"%d:0%d", Stunde, Minute);
  1977. }
  1978. else
  1979. {
  1980. format(TimeString,25,"%d:%d" ,Stunde, Minute);
  1981. }
  1982. if(Tag <= 9)
  1983. {
  1984. format(TimeString2,25,"0%d.%d.%d", Tag, Monat, Jahr);
  1985. }
  1986. else
  1987. {
  1988. format(TimeString2,25,"%d.%d.%d", Tag, Monat, Jahr);
  1989. }
  1990. TextDrawSetString(UhrzeitStundeMinute,TimeString);
  1991. TextDrawShowForAll(UhrzeitStundeMinute);
  1992. TextDrawSetString(DatumTagMonat,TimeString2);
  1993. TextDrawShowForAll(DatumTagMonat);
  1994. TextDrawHideForPlayer(playerid,ConDRAW);
  1995. dini_Set(Spielerdatei,"LastLogin",TimeString2);
  1996. dini_Set(Spielerdatei,"Uhrzeit",TimeString);
  1997. SpawnPlayer(playerid);
  1998. }
  1999. return 1;
  2000. }
  2001.  
  2002. stock SaveAllPlayerAccounts()
  2003. {
  2004. for(new playerid = 0; playerid < GetMaxPlayers(); playerid++)
  2005. {
  2006. if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
  2007. {
  2008. SpielerSpeichern(playerid);
  2009. SendAdminMessage(GELB,"[SYSTEM] Aktuelle Accounts wurden gespeichert!");
  2010. return 1;
  2011. }
  2012. }
  2013. return 1;
  2014. }
  2015.  
  2016. stock SpielerSpeichern(playerid)
  2017. {
  2018. if(GetPVarInt(playerid,"loggedin")==1)
  2019. {
  2020. new Spielerdatei[165],string[125];
  2021. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(playerid));
  2022. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  2023. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  2024. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  2025. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  2026. dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
  2027. dini_IntSet(Spielerdatei,"Kills",GetPVarInt(playerid,"Kills"));
  2028. dini_IntSet(Spielerdatei,"Tode",GetPVarInt(playerid,"Tode"));
  2029. dini_IntSet(Spielerdatei,"SkinID",GetPVarInt(playerid,"SkinID"));
  2030. dini_IntSet(Spielerdatei,"MuteTime",GetPVarInt(playerid,"MuteTime"));
  2031. dini_IntSet(Spielerdatei,"SpielSekunden",GetPVarInt(playerid,"SpielSekunden"));
  2032. dini_IntSet(Spielerdatei,"WantedLevel",GetPlayerWantedLevel(playerid));
  2033. dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
  2034. dini_IntSet(Spielerdatei,"KickCounts",GetPVarInt(playerid,"KickCounts"));
  2035. dini_IntSet(Spielerdatei,"Warns",GetPVarInt(playerid,"Warns"));
  2036. dini_IntSet(Spielerdatei,"tban",GetPVarInt(playerid,"tban"));
  2037. dini_IntSet(Spielerdatei,"tbanCounts",GetPVarInt(playerid,"tbanCounts"));
  2038. if(GetPVarInt(playerid,"Adminlevel")==1)
  2039. {
  2040. format(string,sizeof(string),"AdmCMD: %s (ID:%i) ist nun nicht mehr im Admindienst.",SpielerName(playerid),playerid);
  2041. SendAdminMessage(COLOR_ADMINMSG,string);
  2042. }
  2043. }
  2044. return 1;
  2045. }
  2046.  
  2047. stock isPlayerAnAdmin(playerid,rang)
  2048. {
  2049. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  2050. return 0;
  2051. }
  2052.  
  2053. stock ShowBox(playerid, Head[15], Input[], time)
  2054. {
  2055. if(!tCreatet[playerid]){
  2056. tInputf[playerid] = TextDrawCreate(505.000000, 271.000000, "");
  2057. TextDrawBackgroundColor(tInputf[playerid], 255);
  2058. TextDrawFont(tInputf[playerid], 2);
  2059. TextDrawLetterSize(tInputf[playerid], 0.230000, 1.300000);
  2060. TextDrawColor(tInputf[playerid], -1);
  2061. TextDrawSetOutline(tInputf[playerid], 0);
  2062. TextDrawSetProportional(tInputf[playerid], 1);
  2063. TextDrawSetShadow(tInputf[playerid], 0);
  2064. TextDrawUseBox(tInputf[playerid], 1);
  2065. TextDrawBoxColor(tInputf[playerid], 336860330);
  2066. TextDrawTextSize(tInputf[playerid], 601.000000, 45.000000);
  2067.  
  2068. tHeader[playerid] = TextDrawCreate(505.000000, 256.000000, "");
  2069. TextDrawBackgroundColor(tHeader[playerid], 255);
  2070. TextDrawFont(tHeader[playerid], 1);
  2071. TextDrawLetterSize(tHeader[playerid], 0.270000, 1.200000);
  2072. TextDrawColor(tHeader[playerid], -1);
  2073. TextDrawSetOutline(tHeader[playerid], 1);
  2074. TextDrawSetProportional(tHeader[playerid], 1);
  2075. TextDrawUseBox(tHeader[playerid], 1);
  2076. TextDrawBoxColor(tHeader[playerid], 170);
  2077. TextDrawTextSize(tHeader[playerid], 601.000000, 0.000000);
  2078.  
  2079. tCreatet[playerid] = true;
  2080.  
  2081. }else{
  2082.  
  2083. if(!tShow[playerid]){
  2084. PlayerPlaySound( playerid, 1052, 0.0, 0.0, 10.0);
  2085. TextDrawShowForPlayer(playerid, tInputf[playerid]);
  2086. TextDrawShowForPlayer(playerid, tHeader[playerid]);
  2087. TextDrawSetString(tHeader[playerid], Head);
  2088. TextDrawSetString(tInputf[playerid], Input);
  2089. tTimer[playerid] = SetTimerEx("HideDraw",time*1000,false,"i",playerid);
  2090. tShow[playerid] = true;
  2091. }
  2092. else
  2093. {
  2094.  
  2095. }
  2096. }
  2097. return 1;
  2098. }
  2099.  
  2100. AntiDeAMX()
  2101. {
  2102. new a[][] =
  2103. {
  2104. "Unarmed (Fist)",
  2105. "Brass K"
  2106. };
  2107. #pragma unused a
  2108. }
  2109.  
  2110. stock sscanf(sstring[], format[], {Float,_}:...)
  2111. {
  2112. #if defined isnull
  2113. if (isnull(sstring))
  2114. #else
  2115. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  2116. #endif
  2117. {
  2118. return format[0];
  2119. }
  2120. #pragma tabsize 4
  2121. new
  2122. formatPos = 0,
  2123. sstringPos = 0,
  2124. paramPos = 2,
  2125. paramCount = numargs(),
  2126. delim = ' ';
  2127. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  2128. {
  2129. sstringPos++;
  2130. }
  2131. while (paramPos < paramCount && sstring[sstringPos])
  2132. {
  2133. switch (format[formatPos++])
  2134. {
  2135. case '\0':
  2136. {
  2137. return 0;
  2138. }
  2139. case 'i', 'd':
  2140. {
  2141. new
  2142. neg = 1,
  2143. num = 0,
  2144. ch = sstring[sstringPos];
  2145. if (ch == '-')
  2146. {
  2147. neg = -1;
  2148. ch = sstring[++sstringPos];
  2149. }
  2150. do
  2151. {
  2152. sstringPos++;
  2153. if ('0' <= ch <= '9')
  2154. {
  2155. num = (num * 10) + (ch - '0');
  2156. }
  2157. else
  2158. {
  2159. return -1;
  2160. }
  2161. }
  2162. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  2163. setarg(paramPos, 0, num * neg);
  2164. }
  2165. case 'h', 'x':
  2166. {
  2167. new
  2168. num = 0,
  2169. ch = sstring[sstringPos];
  2170. do
  2171. {
  2172. sstringPos++;
  2173. switch (ch)
  2174. {
  2175. case 'x', 'X':
  2176. {
  2177. num = 0;
  2178. continue;
  2179. }
  2180. case '0' .. '9':
  2181. {
  2182. num = (num << 4) | (ch - '0');
  2183. }
  2184. case 'a' .. 'f':
  2185. {
  2186. num = (num << 4) | (ch - ('a' - 10));
  2187. }
  2188. case 'A' .. 'F':
  2189. {
  2190. num = (num << 4) | (ch - ('A' - 10));
  2191. }
  2192. default:
  2193. {
  2194. return -1;
  2195. }
  2196. }
  2197. }
  2198. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  2199. setarg(paramPos, 0, num);
  2200. }
  2201. case 'c':
  2202. {
  2203. setarg(paramPos, 0, sstring[sstringPos++]);
  2204. }
  2205. case 'f':
  2206. {
  2207.  
  2208. new changestr[16], changepos = 0, strpos = sstringPos;
  2209. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  2210. {
  2211. changestr[changepos++] = sstring[strpos++];
  2212. }
  2213. changestr[changepos] = '\0';
  2214. setarg(paramPos,0,_:floatstr(changestr));
  2215. }
  2216. case 'p':
  2217. {
  2218. delim = format[formatPos++];
  2219. continue;
  2220. }
  2221. case '\'':
  2222. {
  2223. new
  2224. end = formatPos - 1,
  2225. ch;
  2226. while ((ch = format[++end]) && ch != '\'') {}
  2227. if (!ch)
  2228. {
  2229. return -1;
  2230. }
  2231. format[end] = '\0';
  2232. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  2233. {
  2234. if (format[end + 1])
  2235. {
  2236. return -1;
  2237. }
  2238. return 0;
  2239. }
  2240. format[end] = '\'';
  2241. sstringPos = ch + (end - formatPos);
  2242. formatPos = end + 1;
  2243. }
  2244. case 'u':
  2245. {
  2246. new
  2247. end = sstringPos - 1,
  2248. id = 0,
  2249. bool:num = true,
  2250. ch;
  2251. while ((ch = sstring[++end]) && ch != delim)
  2252. {
  2253. if (num)
  2254. {
  2255. if ('0' <= ch <= '9')
  2256. {
  2257. id = (id * 10) + (ch - '0');
  2258. }
  2259. else
  2260. {
  2261. num = false;
  2262. }
  2263. }
  2264. }
  2265. if (num && IsPlayerConnected(id))
  2266. {
  2267. setarg(paramPos, 0, id);
  2268. }
  2269. else
  2270. {
  2271. #if !defined foreach
  2272. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2273. #define __SSCANF_FOREACH__
  2274. #endif
  2275. sstring[end] = '\0';
  2276. num = false;
  2277. new
  2278. name[MAX_PLAYER_NAME];
  2279. id = end - sstringPos;
  2280. foreach (Player, playerid)
  2281. {
  2282. GetPlayerName(playerid, name, sizeof (name));
  2283. if (!strcmp(name, sstring[sstringPos], true, id))
  2284. {
  2285. setarg(paramPos, 0, playerid);
  2286. num = true;
  2287. break;
  2288. }
  2289. }
  2290. if (!num)
  2291. {
  2292. setarg(paramPos, 0, INVALID_PLAYER_ID);
  2293. }
  2294. sstring[end] = ch;
  2295. #if defined __SSCANF_FOREACH__
  2296. #undef foreach
  2297. #undef __SSCANF_FOREACH__
  2298. #endif
  2299. }
  2300. sstringPos = end;
  2301. }
  2302. case 's', 'z':
  2303. {
  2304. new
  2305. i = 0,
  2306. ch;
  2307. if (format[formatPos])
  2308. {
  2309. while ((ch = sstring[sstringPos++]) && ch != delim)
  2310. {
  2311. setarg(paramPos, i++, ch);
  2312. }
  2313. if (!i)
  2314. {
  2315. return -1;
  2316. }
  2317. }
  2318. else
  2319. {
  2320. while ((ch = sstring[sstringPos++]))
  2321. {
  2322. setarg(paramPos, i++, ch);
  2323. }
  2324. }
  2325. sstringPos--;
  2326. setarg(paramPos, i, '\0');
  2327. }
  2328. default:
  2329. {
  2330. continue;
  2331. }
  2332. }
  2333. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  2334. {
  2335. sstringPos++;
  2336. }
  2337. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  2338. {
  2339. sstringPos++;
  2340. }
  2341. paramPos++;
  2342. }
  2343. do
  2344. {
  2345. if ((delim = format[formatPos++]) > ' ')
  2346. {
  2347. if (delim == '\'')
  2348. {
  2349. while ((delim = format[formatPos++]) && delim != '\'') {}
  2350. }
  2351. else if (delim != 'z')
  2352. {
  2353. return delim;
  2354. }
  2355. }
  2356. }
  2357. while (delim > ' ');
  2358. return 0;
  2359. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement