Advertisement
Guest User

Admin System v1.0 © by sgt.TannerHD

a guest
May 15th, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 63.64 KB | None | 0 0
  1. /*
  2.       #############################################
  3.      ###### Admin System v1.0 by sgt.TannerHD ######
  4.     #################################################
  5.  
  6.                 # Commands / Befehle #
  7.  
  8. # Supporter:            /a | /ta | /asay | /spawn | /slap | /kick | /onduty | /spec | /specoff | /repair | /freeze | /cc | /showstats | /gethere | /goto | /learn | /drosseln
  9. # Moderator:            /fix | /slay | /countdown | /announce(2) | /disarm | /setwanted
  10. # Super Moderator:      /boom | /setint | /gotopos | /car | /destroycar | /respawncars | /readcmds | /ban | /tban | /warn | /event
  11. # Admin:                /givescore | /setscore | /aweaps | /getip | /permban | /sethealth | /setarmour
  12. # Fulladmin:            /setadmin | /house | /giveweapon | /giveweaponall | /givecash | /setcash
  13.  
  14. # Rang 1 - Supporter  {00E000}
  15. # Rang 2 - Moderator  {00E000}
  16. # Rang 3 - Super Moderator  {0069FF}
  17. # Rang 4 - Admin  {0069FF}
  18. # Rang 5 - Fulladmin  {D30023}
  19.  
  20.  
  21. +++ readme!!! +++
  22.  
  23. MySQL Laden;
  24. PlayerData[playerid][Level] = mysql_GetInt("accounts", "Level", "Name", SpielerName(playerid));
  25. PlayerData[playerid][Warned] = mysql_GetInt("accounts", "Warned", "Name", SpielerName(playerid));
  26. PlayerData[playerid][Baned] = mysql_GetInt("accounts", "Baned", "Name", SpielerName(playerid));
  27.  
  28. Speichern;
  29. mysql_SetInt("accounts", "Level", PlayerData[playerid][Level], "Name", SpielerName(playerid));
  30. mysql_SetInt("accounts", "Baned", PlayerData[playerid][Baned], "Name", SpielerName(playerid));
  31. mysql_SetInt("accounts", "Warned", PlayerData[playerid][Warned], "Name", SpielerName(playerid));
  32.  
  33. +++ Bearbeitet werden muss : +++
  34. /ban                                (MySQL Speicherung)
  35. /tban                               (MySQL Speicherung)
  36. /permban                            (MySQL Speicherung)
  37. Banngrund:      mysql_SetString("accounts", "reason", grund, "Name", SpielerName(playerid));
  38.  
  39. /setadmin                           (MySQL Speicherung)
  40. /warn                               (MySQL Speicherung)
  41.  
  42. */
  43.  
  44. #include <a_samp>
  45. #include <ocmd>
  46. #include <sscanf>
  47.  
  48. // Farben
  49. #define cRed 0xFF0000A9
  50. #define cBlue 0x5E7AFFFF
  51. #define cYellow 0xF5FF0095
  52. #define cPurple 0x8C00FFFF
  53. #define cGreen 0x00FF289F
  54. #define cLightBlue 0x00A3FF5B
  55. #define cWhite 0xFFFFFFFF
  56. #define cGrey 0xAAAAAAFF
  57. #define cOrange 0xFFA400A9
  58.  
  59. forward Kicktimer(playerid);
  60. forward Bantimer(playerid);
  61. forward VehicleOccupied(vehicleid);
  62. forward CountDown(playerid);
  63.  
  64. enum ServerInfo
  65. {
  66.     Event,
  67.     Ask
  68. }
  69. new ServerData[ServerInfo];
  70.  
  71. enum SpielerInfo
  72. {
  73.     pName[MAX_PLAYER_NAME],
  74.     Visible,
  75.     userID,
  76.     Level,
  77.     Baned,
  78.     Duty,
  79.     Readcmds,
  80.     Warned,
  81.     bool:pCanSpawnVehicle,
  82.     pSpawnVehicle,
  83.     bool:pCanSpawnACar,
  84.     pSpawnACar
  85. }
  86. new PlayerData[MAX_PLAYERS][SpielerInfo];
  87.  
  88. new Frozen[MAX_PLAYERS];
  89. new Text3D:Admin[MAX_PLAYERS];
  90. new cd_f,cd_sec,cd_timer, CdStated = 0;
  91.  
  92. new VehicleNames[212][] = {
  93. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  94. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  95. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  96. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  97. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  98. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  99. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  100. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  101. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  102. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  103. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  104. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  105. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  106. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  107. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  108. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  109. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  110. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  111. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  112. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  113. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  114. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  115. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  116. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  117. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  118. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  119. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  120. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  121. {"Utility Trailer"}
  122. };
  123.  
  124.  
  125. // Dialoge
  126. #define ACMDS 1
  127. #define SUPPORT 2
  128. #define EVENT_ASK 3
  129. #define EVENT_ANT 4
  130. #define EVENT_PLAY 5
  131.  
  132. // Befehle //
  133.  
  134. /////////////////////////////////////////////////////////
  135. //////////////////////// %Admin% ////////////////////////
  136. /////////////////////////////////////////////////////////
  137.  
  138. /*
  139.  
  140. Rang 1 - Supporter  {00E000}
  141. Rang 2 - Moderator  {00E000}
  142. Rang 3 - Super Moderator  {0069FF}
  143. Rang 4 - Admin  {0069FF}
  144. Rang 5 - Fulladmin  {D30023}
  145.  
  146. */
  147.  
  148. new PRIVATE_Last_Money[MAX_PLAYERS];
  149.  
  150. stock SetPlayerMoney(playerid,howmuch)
  151. {
  152.   PRIVATE_Last_Money[playerid]=howmuch;
  153.   GivePlayerMoney(playerid,howmuch-GetPlayerMoney(playerid));
  154.   return 1;
  155. }
  156.  
  157. public OnPlayerConnect(playerid)
  158. {
  159.     PlayerData[playerid][Visible] = 0;
  160.     PlayerData[playerid][userID] = 0;
  161.     PlayerData[playerid][Level] = 0;
  162.     PlayerData[playerid][Baned] = 0;
  163.     PlayerData[playerid][Duty] = 0;
  164.     PlayerData[playerid][Readcmds] = 0;
  165.     PlayerData[playerid][Warned] = 0;
  166.     return 1;
  167. }
  168.  
  169. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  170. {
  171.     if(dialogid == EVENT_PLAY)
  172.     {
  173.         new string[250];
  174.         format(string, sizeof(string), "[Event] {FFFFFF}%s: %s", SpielerName(playerid), inputtext);
  175.         for(new i = 0; i<MAX_PLAYERS; i++)
  176.         {
  177.             if(PlayerData[i][Level] >= 1){
  178.                 SendClientMessage(i, cGreen, string);
  179.             }
  180.         }
  181.         return 1;
  182.     }
  183.     if(dialogid == EVENT_ASK)
  184.     {
  185.         if(response)
  186.         {
  187.             new ask[250];
  188.             format(ask, sizeof(ask), "Frage: {FFFFFF}%s", inputtext);
  189.             SendClientMessageToAll(cGreen, ask);
  190.             ServerData[Ask] = 1;
  191.             return 1;
  192.             //ShowPlayerDialog(playerid, EVENT_ASK, DIALOG_STYLE_INPUT,"Event","Stelle hier die Frage","Senden","Abbrechen");
  193.         }
  194.     }
  195.     if(dialogid == SUPPORT)
  196.     {
  197.             if(response)
  198.             {
  199.                 if(strlen(inputtext) == 0)
  200.                 {
  201.                     ShowPlayerDialog(playerid, SUPPORT,DIALOG_STYLE_INPUT,"Support","Stelle eine Frage an die Admins","Senden","Abbrechen");
  202.                     return 1;
  203.                 }
  204.                 else
  205.                 {
  206.                     new string[300];
  207.                     format(string, sizeof(string),"{00E000}[Support] [%d] {FFC700}%s{FFFFFF} hat eine Frage: {00E000}%s",playerid, SpielerName(playerid), inputtext);
  208.                     for(new i=0;i<MAX_PLAYERS;i++)
  209.                     if(PlayerData[i][Level] >= 1)
  210.                     {
  211.                         SendClientMessage(i, cWhite, string);
  212.                         SendClientMessage(playerid, cGrey, "Schicke eine Antwort. ~ Benutzung: /ta [ID] [Text]");
  213.                     }
  214.                     return 1;
  215.                 }
  216.             }
  217.             else
  218.             {
  219.                 return 1;
  220.             }
  221.     }
  222.     return 1;
  223. }
  224.  
  225. public OnPlayerDisconnect(playerid, reason)
  226. {
  227.     DestroyVehicle(PlayerData[playerid][pSpawnACar]);
  228.     return 1;
  229. }
  230.  
  231. ocmd:acmds(playerid, params[])
  232. {
  233.     cLog(playerid, "/acmds");
  234.     if(PlayerData[playerid][Level] >= 1)
  235.     {
  236.         new list1[400],list2[400], list3[400], all[700];
  237.         format(list1, sizeof(list1), "{00E000}Supporter:\n{B4B4B4}/a | /ta | /asay | /spawn | /slap | /kick | /onduty | /spec | /specoff | /repair | /freeze | /cc | /gethere | /goto\n\n");
  238.         format(list2, sizeof(list2), "{00E000}Moderator:\n{B4B4B4}/fix | /slay | /countdown | /announce(2) | /disarm | /setwanted | /visible\n\n{0069FF}Super Moderator:\n{B4B4B4}/boom | /setint | /gotopos | /car | /destroycar | /respawncars | /readcmds | /ban | /tban | /warn | /event\n\n");
  239.         format(list3, sizeof(list3), "{0069FF}Admin:\n{B4B4B4}/givescore | /setscore | /aweaps | /getip | /permban | /sethealth | /setarmour\n\n {D30023}Fulladmin:\n {B4B4B4}/setadmin | /giveweapon | /giveweaponall | /givecash | /setcash");
  240.         format(all, sizeof(all), "%s%s%s", list1, list2, list3);
  241.         ShowPlayerDialog(playerid, ACMDS, DIALOG_STYLE_MSGBOX,"{FF8200}Admin Commands", all, "Ok", "");
  242.         return 1;
  243.     }
  244.     return ErrorMessages(playerid, 1);
  245. }
  246.  
  247. ocmd:ta(playerid, params[])
  248. {
  249.     if(PlayerData[playerid][Level] >= 1)
  250.     {
  251.         new pID, antwort[200];
  252.         if(sscanf(params, "us", pID, antwort)) return SendClientMessage(playerid, cRed, "Benutzung: /ta [ID] [Text]");
  253.         {
  254.             format(antwort, sizeof(antwort),"[Support] Antwort: {FFFFFF}%s", antwort);
  255.             SendClientMessage(pID, cYellow, antwort);
  256.             for(new i = 0; i<MAX_PLAYERS; i++)
  257.             {
  258.                 if(PlayerData[i][Level] >= 1)
  259.                 {
  260.                     SendClientMessage(i, cYellow, antwort);
  261.                 }
  262.             }
  263.             return 1;
  264.         }
  265.     }
  266.     return ErrorMessages(playerid, 2);
  267. }
  268.  
  269. ocmd:visible(playerid, params[])
  270. {
  271.     if(PlayerData[playerid][Level] >= 2)
  272.     {
  273.         if(PlayerData[playerid][Visible] == 0)
  274.         {
  275.             PlayerData[playerid][Visible] = 1;
  276.             SendClientMessage(playerid, cGrey, "Unsichtbar!");
  277.             return 1;
  278.         }
  279.         else if(PlayerData[playerid][Visible] == 1)
  280.         {
  281.             PlayerData[playerid][Visible] = 0;
  282.             SendClientMessage(playerid, cGrey, "Wieder sichtbar!");
  283.             return 1;
  284.         }
  285.         return 1;
  286.     }
  287.     return ErrorMessages(playerid, 2);
  288. }
  289.  
  290. ocmd:asay(playerid, params[])
  291. {
  292.     if(PlayerData[playerid][Level] >= 1)
  293.     {
  294.         new says[250], say;
  295.         if(sscanf(params, "s", say)) return SendClientMessage(playerid, cRed, "Benutzung: /asay [Text]");
  296.         {
  297.             format(says, sizeof(says),"Admin: {FFFFFF}%s", say);
  298.             SendClientMessageToAll(0x0059FFC8, says);
  299.             return 1;
  300.         }
  301.     }
  302.     return 1;
  303. }
  304.  
  305. ocmd:event(playerid, params[])
  306. {
  307.     new command[50];
  308.     if(sscanf(params, "s", command))
  309.     {
  310.         SendClientMessage(playerid, cRed, "Benutzung: /event [Command]");
  311.         SendClientMessage(playerid, cBlue, "[Command] play | Admin: start, stop, ask, stopask");
  312.         return 1;
  313.     }
  314.     if(!strcmp(command, "play", true))
  315.     {
  316.         if(ServerData[Ask] == 1)
  317.         {
  318.             ShowPlayerDialog(playerid, EVENT_PLAY, DIALOG_STYLE_INPUT,"Event","Sende deine Antwort","Senden","Abbrechen");
  319.             return 1;
  320.         }
  321.         return SendClientMessage(playerid, cRed, "Fehler: Es wurde keine frage gestellt.");
  322.     }
  323.     if(!strcmp(command, "start", true))
  324.     {
  325.         if(PlayerData[playerid][Level] >= 3)
  326.         {
  327.             if(ServerData[Event] == 0)
  328.             {
  329.                 ServerData[Event] = 1;
  330.                 ServerData[Ask] = 0;
  331.                 SendClientMessageToAll(cWhite, "[Event] Ein Event wurde gestartet! Bentze '/event play' um auf eine Frage zu antworten!");
  332.                 return 1;
  333.             }
  334.             return SendClientMessage(playerid, cRed, "Fehler: Es läuft bereits ein Event.");
  335.         }
  336.         return ErrorMessages(playerid, 3);
  337.     }
  338.     if(!strcmp(command, "stop", true))
  339.     {
  340.         if(PlayerData[playerid][Level] >= 3)
  341.         {
  342.             if(ServerData[Event] == 1)
  343.             {
  344.                 ServerData[Event] = 0;
  345.                 ServerData[Ask] = 0;
  346.                 SendClientMessage(playerid, cWhite, "Event beendet.");
  347.                 return 1;
  348.             }
  349.             return SendClientMessage(playerid, cRed, "Fehler: Es läuft kein Event.");
  350.         }
  351.         return ErrorMessages(playerid, 3);
  352.     }
  353.     if(!strcmp(command, "ask", true))
  354.     {
  355.         if(PlayerData[playerid][Level] >= 3)
  356.         {
  357.             if(ServerData[Event] == 1)
  358.             {
  359.                 if(ServerData[Ask] == 0)
  360.                 {
  361.                     ShowPlayerDialog(playerid, EVENT_ASK, DIALOG_STYLE_INPUT,"Event","Stelle hier die Frage","Senden","Abbrechen");
  362.                     return 1;
  363.                 }
  364.                 return SendClientMessage(playerid, cRed, "Fehler: Es wurde eben erst eine frage gestellt.");
  365.             }
  366.             return 1;
  367.         }
  368.         return ErrorMessages(playerid, 3);
  369.     }
  370.     if(!strcmp(command, "stopask", true))
  371.     {
  372.         if(PlayerData[playerid][Level] >= 3)
  373.         {
  374.             if(ServerData[Ask] == 1)
  375.             {
  376.                 ServerData[Ask] = 0;
  377.                 SendClientMessageToAll(cWhite, "[Event] Stop!");
  378.                 return 1;
  379.             }
  380.             return SendClientMessage(playerid, cRed, "Fehler: Es wurde keine frage gestellt.");
  381.         }
  382.         return ErrorMessages(playerid, 3);
  383.     }
  384.     return 1;
  385. }
  386.  
  387. ocmd:givescore(playerid, params[])
  388. {
  389.     if(PlayerData[playerid][Level] >= 4)
  390.     {
  391.         new pID, menge, string[250], string2[250];
  392.         if(sscanf(params, "ui", pID, menge)) return SendClientMessage(playerid, cRed, "Benutzung: /givescore [ID] [Menge]");
  393.         {
  394.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  395.             {
  396.                 format(string, sizeof(string),"[Info] {AAAAAA}%s hat dir %d Score gegeben.",SpielerName(playerid), menge);
  397.                 format(string2, sizeof(string2),"[Info] {AAAAAA}Du hast %s %d Score gegeben.",SpielerName(pID), menge);
  398.                 SendClientMessage(pID, cBlue, string);
  399.                 SendClientMessage(playerid, cBlue, string2);
  400.                 SetPlayerScore(pID, GetPlayerScore(pID)+menge);
  401.                 return 1;
  402.             }
  403.             return ErrorMessages(playerid, 6);
  404.         }
  405.     }
  406.     return ErrorMessages(playerid, 4);
  407. }
  408.  
  409. ocmd:setscore(playerid, params[])
  410. {
  411.     if(PlayerData[playerid][Level] >= 4)
  412.     {
  413.         new pID, menge, string[250], string2[250];
  414.         if(sscanf(params, "ui", pID, menge)) return SendClientMessage(playerid, cRed, "Benutzung: /setscore [ID] [Menge]");
  415.         {
  416.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  417.             {
  418.                 format(string, sizeof(string),"[Info] {AAAAAA}%s hat dein Score auf %d gesetzt.",SpielerName(playerid), menge);
  419.                 format(string2, sizeof(string2),"[Info] {AAAAAA}Du hast %s's Score auf %d gesetzt.",SpielerName(pID), menge);
  420.                 SendClientMessage(pID, cBlue, string);
  421.                 SendClientMessage(playerid, cBlue, string2);
  422.                 SetPlayerScore(pID, menge);
  423.                 return 1;
  424.             }
  425.             return ErrorMessages(playerid, 6);
  426.         }
  427.     }
  428.     return ErrorMessages(playerid, 4);
  429. }
  430.  
  431. ocmd:givecash(playerid, params[])
  432. {
  433.     if(PlayerData[playerid][Level] >= 5)
  434.     {
  435.         new pID, money, string[250], string2[250];
  436.         if(sscanf(params, "ui", pID, money)) return SendClientMessage(playerid, cRed, "Benutzung: /givecash [ID] [Menge]");
  437.         {
  438.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  439.             {
  440.                 GivePlayerMoney(pID, money);
  441.                 format(string, sizeof(string), "[AdmCmd] {259CE6}%s {FFFFFF} hat {31F70A}%d${FFFFFF} auf dein Account übertragen.",SpielerName(playerid), money);
  442.                 format(string2, sizeof(string2), "[AdmCmd] {FFFFFF}Du hast {259CE6}%s {FFFFFF}{31F70A}%d${FFFFFF} übertragen.",SpielerName(pID), money);
  443.                 SendClientMessage(pID, cRed, string);
  444.                 SendClientMessage(playerid, cRed, string2);
  445.                 return 1;
  446.             }
  447.             return ErrorMessages(playerid, 6);
  448.         }
  449.     }
  450.     return ErrorMessages(playerid, 5);
  451. }
  452.  
  453. ocmd:setcash(playerid, params[])
  454. {
  455.     if(PlayerData[playerid][Level] >= 5)
  456.     {
  457.         new pID, money, string[250], string2[250];
  458.         if(sscanf(params, "ui", pID, money)) return SendClientMessage(playerid, cRed, "Benutzung: /setcash [ID] [Menge]");
  459.         {
  460.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  461.             {
  462.                 SetPlayerMoney(pID, money);
  463.                 format(string, sizeof(string), "[AdmCmd] {259CE6}%s {FFFFFF} hat dein Geld auf {31F70A}%d${FFFFFF} gesetzt.",SpielerName(playerid), money);
  464.                 format(string2, sizeof(string2), "[AdmCmd] {FFFFFF}Du hast {259CE6}%s's {FFFFFF}Geld auf {31F70A}%d${FFFFFF} gesetzt.",SpielerName(pID), money);
  465.                 SendClientMessage(pID, cRed, string);
  466.                 SendClientMessage(playerid, cRed, string2);
  467.                 return 1;
  468.             }
  469.             return ErrorMessages(playerid, 6);
  470.         }
  471.     }
  472.     return ErrorMessages(playerid, 5);
  473. }
  474.  
  475. ocmd:support(playerid, params[])
  476. {
  477.     ShowPlayerDialog(playerid, SUPPORT,DIALOG_STYLE_INPUT,"Support","Stelle eine Frage an die Admins","Senden","Abbrechen");
  478.     return 1;
  479. }
  480.  
  481. ocmd:sup(playerid, params[])
  482. {
  483.     ShowPlayerDialog(playerid, SUPPORT,DIALOG_STYLE_INPUT,"Support","Stelle eine Frage an die Admins","Senden","Abbrechen");
  484.     return 1;
  485. }
  486.  
  487. ocmd:fix(playerid, params[])
  488. {
  489.     if(PlayerData[playerid][Level] >= 2)
  490.     {
  491.         if(IsPlayerInAnyVehicle(playerid))
  492.         {
  493.             new Float:heal, string[250];
  494.             if(sscanf(params,"f",heal)) return SendClientMessage(playerid, cRed, "Benutzung: /fix [Health]");
  495.             {
  496.                 SetVehicleHealth(GetPlayerVehicleID(playerid), heal);
  497.                 format(string, sizeof(string),"[Info] {AAAAAA} Die Vehicle Health ist nun auf %f",heal);
  498.                 SendClientMessage(playerid, cBlue, string);
  499.                 return 1;
  500.             }
  501.         }
  502.         return 1;
  503.     }
  504.     return ErrorMessages(playerid, 2);
  505. }
  506.  
  507. ocmd:fly(playerid, params[])
  508. {
  509.     if(PlayerData[playerid][Level] >= 1)
  510.     {
  511.         new pID;
  512.         if(sscanf(params, "u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /fly [ID]");
  513.         {
  514.             if(IsPlayerConnected(pID))
  515.             {
  516.                 if(IsPlayerInAnyVehicle(pID))
  517.                 {
  518.                     new str[250];
  519.                     format(str, sizeof(str), "%s hat dich fliegen lassen!",SpielerName(playerid));
  520.                     new Float:Velocity[3];
  521.                     GetVehicleVelocity(GetPlayerVehicleID(pID), Velocity[0], Velocity[1], Velocity[2]);
  522.                     SetVehicleVelocity(GetPlayerVehicleID(pID), Velocity[0], Velocity[1], Velocity[2]+3.0);
  523.                     SendClientMessage(pID, cBlue, str);
  524.                     return 1;
  525.                 }
  526.                 else
  527.                 {
  528.                     new str[250];
  529.                     format(str, sizeof(str), "%s hat dich fliegen lassen!",SpielerName(playerid));
  530.                     SendClientMessage(pID, cBlue, str);
  531.                     SetPlayerVelocity(pID, 0.0, 0.0, 50.0);
  532.                     return 1;
  533.                 }
  534.             }
  535.             return ErrorMessages(playerid, 6);
  536.         }
  537.     }
  538.     return ErrorMessages(playerid, 1);
  539. }
  540.  
  541. ocmd:drosseln(playerid, params[])
  542. {
  543.     if(PlayerData[playerid][Level] >= 1)
  544.     {
  545.         new pID;
  546.         if(sscanf(params, "u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /drosseln [ID]");
  547.         {
  548.             if(IsPlayerConnected(pID) && IsPlayerInAnyVehicle(pID))
  549.             {
  550.                 new str[250];
  551.                 format(str, sizeof(str), "Dein Fahrzeug wurde von %s Gedrosselt",SpielerName(playerid));
  552.                 SetTimerEx("Spawn", 3000, false, "i", pID);
  553.                 TogglePlayerControllable(pID, 0);
  554.                 SetVehicleVelocity(GetPlayerVehicleID(pID), 0.0, 0.0, 0.0);
  555.                 SendClientMessage(pID, cBlue, str);
  556.                 return 1;
  557.             }
  558.             return ErrorMessages(playerid, 6);
  559.         }
  560.     }
  561.     return ErrorMessages(playerid, 1);
  562. }
  563.  
  564. ocmd:boom(playerid, params[])
  565. {
  566.     if(PlayerData[playerid][Level] >= 3)
  567.     {
  568.         new pID;
  569.         if(sscanf(params,"u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /boom [ID]");
  570.         {
  571.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  572.             {
  573.                     new Float:pX, Float:pY, Float:pZ;
  574.                     GetPlayerPos(pID, pX, pY, pZ);
  575.                     CreateExplosion(pX, pY, pZ, 6, 20.0);
  576.                     return 1;
  577.             }
  578.             else
  579.             {
  580.                 ErrorMessages(playerid, 6);
  581.                 return 1;
  582.             }
  583.         }
  584.     }
  585.     return ErrorMessages(playerid, 3);
  586. }
  587.  
  588. ocmd:setint(playerid, params[])
  589. {
  590.     if(PlayerData[playerid][Level] >= 3)
  591.     {
  592.         new pID, inter;
  593.         if(sscanf(params,"ui",pID, inter)) return SendClientMessage(playerid, cRed, "Benutzung: /setint [playerid]");
  594.         {
  595.             SetPlayerInterior(pID, inter);
  596.             return 1;
  597.         }
  598.     }
  599.     return ErrorMessages(playerid, 3);
  600. }
  601.  
  602. ocmd:gotopos(playerid, params[])
  603. {
  604.     if(PlayerData[playerid][Level] >= 3)
  605.     {
  606.         new Float:gX, Float:gY, Float:gZ;
  607.         if(sscanf(params,"fff", Float:gX, Float:gY, Float:gZ)) return SendClientMessage(playerid, cRed, "Benutzung: /gotopos [X] [Y] [Z]");
  608.         {
  609.             SetPlayerPos(playerid, Float:gX, Float:gY, Float:gZ);
  610.             SendClientMessage(playerid, cBlue, "Du wurdest zu deiner Position teleportiert.");
  611.             return 1;
  612.         }
  613.     }
  614.     return ErrorMessages(playerid, 3);
  615. }
  616.  
  617. ocmd:spawn(playerid, params[])
  618. {
  619.     if(PlayerData[playerid][Level] >= 1)
  620.     {
  621.         new pID;
  622.         if(sscanf(params, "u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /spawn [ID]");
  623.         {
  624.             if(IsPlayerConnected(pID))
  625.             {
  626.                 new string[250], str[250];
  627.                 format(string, sizeof(string), "Du hast %s Respawnt.", SpielerName(pID));
  628.                 format(str, sizeof(str), "Du wurdest von %s Respawnt.",SpielerName(playerid));
  629.                 SendClientMessage(playerid, cBlue, string);
  630.                 SendClientMessage(pID, cBlue, str);
  631.                 return SpawnPlayer(pID);
  632.             }
  633.             return ErrorMessages(playerid, 6);
  634.         }
  635.     }
  636.     return ErrorMessages(playerid, 1);
  637. }
  638.  
  639. ocmd:a(playerid, params[])
  640. {
  641.     if(PlayerData[playerid][Level] >= 1)
  642.     {
  643.         new string[250];
  644.         if(sscanf(params, "s", string)) return SendClientMessage(playerid, cRed, "Benutzung: /a [Text]");
  645.         {
  646.             format(string, sizeof(string), "[ID: %i] %s: %s", playerid, SpielerName(playerid), string);
  647.             for(new i = 0; i<MAX_PLAYERS; i++)
  648.             {
  649.                 if(PlayerData[i][Level] >= 1)
  650.                 {
  651.                     SendClientMessage(i, 0xFFE600A8, string);
  652.                 }
  653.             }
  654.             return 1;
  655.         }
  656.     }
  657.     return ErrorMessages(playerid, 1);
  658. }
  659.  
  660. ocmd:setwanted(playerid, params[])
  661. {
  662.     new pID, level;
  663.     if(PlayerData[playerid][Level] >= 2)
  664.     {
  665.         if(sscanf(params,"ui",pID, level))return SendClientMessage(playerid,cRed,"Benutzung: /setwanted [ID] [Level]");
  666.         {
  667.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  668.             {
  669.                 new name[50], name2[50], string[250], str[250];
  670.                 SetPlayerWantedLevel(pID, level);
  671.                 GetPlayerName(playerid, name, sizeof(name));
  672.                 GetPlayerName(pID, name2, sizeof(name2));
  673.                 format(str, sizeof(str),"{EB0000}[AdmCmd] {E6E6E6}Du hast {37FF00}%s's {E6E6E6}Wantedlevel auf {FFC800}%d {E6E6E6}gesetzt.", name2, level);
  674.                 format(string, sizeof(string),"{EB0000}[AdmCmd] {37FF00}%s {E6E6E6}hat dein Wantedlevel auf {FFC800}%d {E6E6E6}gesetzt.",name, level);
  675.                 SendClientMessage(playerid, cWhite, str);
  676.                 SendClientMessage(pID, cWhite, string);
  677.                 return 1;
  678.             }
  679.             return ErrorMessages(playerid, 6);
  680.         }
  681.     }
  682.     return ErrorMessages(playerid, 2);
  683. }
  684.  
  685. ocmd:cc(playerid, params[])
  686. {
  687.     if(PlayerData[playerid][Level] >= 1)
  688.     {
  689.         new name[50], string[250];
  690.         GetPlayerName(playerid, name, sizeof(name));
  691.         format(string, sizeof(string),"{FFA000}[AdmCmd] {FFFFFF}Der Chatverlauf wurde von {FFA000}%s {FFFFFF}gelöscht.", name);
  692.         for(new i; i<75; i++)
  693.         SendClientMessageToAll(cWhite, " ");
  694.         SendClientMessageToAll(cWhite, string);
  695.         return 1;
  696.     }
  697.     return ErrorMessages(playerid, 1);
  698. }
  699.  
  700. ocmd:aweaps(playerid, params[])
  701. {
  702.     cLog(playerid, "/aweaps");
  703.     if(PlayerData[playerid][Level] >= 4)
  704.     {
  705.         GivePlayerWeapon(playerid,31,1200);
  706.         GivePlayerWeapon(playerid,29,900);
  707.         GivePlayerWeapon(playerid,34,150);
  708.         GivePlayerWeapon(playerid,24,700);
  709.         return 1;
  710.     }
  711.     return ErrorMessages(playerid, 4);
  712. }
  713.  
  714. ocmd:giveweaponall(playerid,params[])
  715. {
  716.     if(PlayerData[playerid][Level] >= 5)
  717.     {
  718.         new weap, ammo;
  719.         if(sscanf(params,"ii", weap, ammo)) return SendClientMessage(playerid, cRed, "Benutzung: /giveweaponall [Weapon ID/Name] [Ammo]");
  720.         {
  721.             if(ammo <= 0 || ammo > 99999) ammo = 500;
  722.             {
  723.                 for(new i = 0; i < MAX_PLAYERS; i++)
  724.                 {
  725.                     GivePlayerWeapon(i, weap, ammo);
  726.                     new name[50], string[250];
  727.                     GetPlayerName(playerid, name, sizeof(name));
  728.                     format(string, sizeof(string),"[AdmCmd] %s hat allen Spielern eine Waffe (ID %d) mit %d Munition gegeben.",name, weap, ammo);
  729.                     SendClientMessage(i, cYellow, string);
  730.                     if(weap == 38)
  731.                     {
  732.                         SetPVarInt(i, "Minigun", 1);
  733.                     }
  734.                 }
  735.             }
  736.             return 1;
  737.         }
  738.     }
  739.     return ErrorMessages(playerid, 5);
  740. }
  741.  
  742. ocmd:giveweapon(playerid,params[])
  743. {
  744.     if(PlayerData[playerid][Level] >= 5)
  745.     {
  746.         new pID, weap, ammo;
  747.         if(sscanf(params,"uii",pID, weap, ammo)) return SendClientMessage(playerid, cRed, "Benutzung: /giveweapon [PlayerID] [Weapon ID/Name] [Ammo]");
  748.         {
  749.             if(ammo <= 0 || ammo > 99999) ammo = 500;
  750.             {
  751.                 if(!IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID) return ErrorMessages(playerid, 6);
  752.                 {
  753.                     GivePlayerWeapon(pID, weap, ammo);
  754.                     new name[50], name2[50], string[250];
  755.                     GetPlayerName(playerid, name, sizeof(name));
  756.                     GetPlayerName(pID, name2, sizeof(name2));
  757.                     format(string, sizeof(string),"[AdmCmd] Du hast %s eine Waffe (ID %d) mit %d Munition gegeben.",name2, weap, ammo);
  758.                     printf(string);
  759.                     SendClientMessage(playerid, cYellow, string);
  760.                     if(weap == 38)
  761.                     {
  762.                         SetPVarInt(pID, "Minigun", 1);
  763.                     }
  764.                     return 1;
  765.                 }
  766.             }
  767.         }
  768.     }
  769.     return ErrorMessages(playerid, 5);
  770. }
  771.  
  772. ocmd:freeze(playerid,params[])
  773. {
  774.     if(PlayerData[playerid][Level] >= 1)
  775.     {
  776.         new pID;
  777.         if(sscanf(params,"u",pID)) return SendClientMessage(playerid, cRed, "Benutzung: /freeze [PlayerID]");
  778.         {
  779.             if(!IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID) return ErrorMessages(playerid, 6);
  780.             {
  781.                 if(Frozen[pID] == 0)
  782.                 {
  783.                         new name[50], name2[50], string[250];
  784.                         GetPlayerName(playerid, name, sizeof(name));
  785.                         GetPlayerName(pID, name2, sizeof(name2));
  786.                         format(string, sizeof(string),"[AdmCmd] %s wurde von %s gefreezed.",name2, name);
  787.                         SendClientMessageToAll(cRed, string);
  788.                         TogglePlayerControllable(pID, 0);
  789.                         printf(string);
  790.                         Frozen[pID] = 1;
  791.                         return 1;
  792.                 }
  793.                 else
  794.                 {
  795.                         new name[50], name2[50], string[250];
  796.                         GetPlayerName(playerid, name, sizeof(name));
  797.                         GetPlayerName(pID, name2, sizeof(name2));
  798.                         format(string, sizeof(string),"[AdmCmd] %s wurde von %s unfreezed.",name2, name);
  799.                         SendClientMessageToAll(cRed, string);
  800.                         TogglePlayerControllable(pID, 1);
  801.                         printf(string);
  802.                         Frozen[pID] = 0;
  803.                         return 1;
  804.                 }
  805.             }
  806.         }
  807.     }
  808.     return ErrorMessages(playerid, 1);
  809. }
  810.  
  811. ocmd:warn(playerid,params[])
  812. {
  813.     if(PlayerData[playerid][Level] >= 3)
  814.     {
  815.         new pID, grund[200];
  816.         if(sscanf(params,"us",pID, grund)) return SendClientMessage(playerid, cRed, "Benutzung: /warn [PlayerID] [Grund]");
  817.         {
  818.             if(!IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID) return ErrorMessages(playerid, 6);
  819.             {
  820.                     if(PlayerData[pID][Warned] == 0)
  821.                     {
  822.                         PlayerData[pID][Warned] = 1;
  823.                         new name[50], name2[50], string[250];
  824.                         GetPlayerName(playerid, name, sizeof(name));
  825.                         GetPlayerName(pID, name2, sizeof(name2));
  826.                         format(string, sizeof(string),"[AdmCmd] %s hat von %s ein Warn bekommen. Grund: %s | Warns 1/3",name2, name, grund);
  827.                         SendClientMessageToAll(cRed, string);
  828.                         printf(string);
  829.                         return 1;
  830.                     }
  831.                     else if(PlayerData[pID][Warned] == 1)
  832.                     {
  833.                         PlayerData[pID][Warned] = 2;
  834.                         new name[50], name2[50], string[250];
  835.                         GetPlayerName(playerid, name, sizeof(name));
  836.                         GetPlayerName(pID, name2, sizeof(name2));
  837.                         format(string, sizeof(string),"[AdmCmd] %s hat von %s ein Warn bekommen. Grund: %s | Warns 2/3",name2, name, grund);
  838.                         SendClientMessageToAll(cRed, string);
  839.                         printf(string);
  840.                         return 1;
  841.                     }
  842.                     else if(PlayerData[pID][Warned] == 2)
  843.                     {
  844.                         PlayerData[pID][Warned] = 3;
  845.                         new name[50], name2[50], string[250];
  846.                         GetPlayerName(playerid, name, sizeof(name));
  847.                         GetPlayerName(pID, name2, sizeof(name2));
  848.                         format(string, sizeof(string),"[AdmCmd] %s wurde von %s Gebannt. Grund: %s | Warns 3/3",name2, name, grund);
  849.                         SendClientMessageToAll(cRed, string);
  850.                         SetTimerEx("Kicktimer", 50, false, "i", pID);
  851.                         PlayerData[pID][Baned] = 1;
  852.                         printf(string);
  853.                         return 1;
  854.                     }
  855.  
  856.             }
  857.         }
  858.     }
  859.     return ErrorMessages(playerid, 3);
  860. }
  861.  
  862. ocmd:announce2(playerid,params[])
  863. {
  864.     if(PlayerData[playerid][Level] >= 2)
  865.     {
  866.         new style, time, text[250];
  867.         if(sscanf(params,"iis", style, time, text)) return SendClientMessage(playerid, cRed, "Benutze: /announce2 [Style (0-6)] [Zeit(Millisekunden)] [Text]");
  868.         {
  869.             if(style == 2) return SendClientMessage(playerid, cRed, "Dieser Style ist nicht verfügbar");
  870.             {
  871.                 GameTextForAll(text, time, style);
  872.                 Log(playerid, "/announce2", text);
  873.                 return 1;
  874.             }
  875.         }
  876.     }
  877.     return ErrorMessages(playerid, 2);
  878. }
  879.  
  880. ocmd:repair(playerid, params[])
  881. {
  882.     if(PlayerData[playerid][Level] >= 1)
  883.     {
  884.         RepairVehicle(GetPlayerVehicleID(playerid));
  885.         cLog(playerid, "/announce2");
  886.         return 1;
  887.     }
  888.     return ErrorMessages(playerid, 1);
  889. }
  890.  
  891. ocmd:announce(playerid,params[])
  892. {
  893.     if(PlayerData[playerid][Level] >= 2)
  894.     {
  895.         new text[250];
  896.         if(sscanf(params,"s",text)) return SendClientMessage(playerid, cRed, "Benutze: /announce [Text]");
  897.         GameTextForAll(text,5000,5);
  898.         Log(playerid, "/announce", text);
  899.         return 1;
  900.     }
  901.     return ErrorMessages(playerid, 2);
  902. }
  903.  
  904. ocmd:countdown(playerid, params[])
  905. {
  906.         #pragma unused params
  907.         cLog(playerid, "/countdown");
  908.         if(PlayerData[playerid][Level] >= 2)
  909.         {
  910.             if(CdStated == 0)
  911.             {
  912.                 if(sscanf(params,"ii",cd_sec, cd_f)) return SendClientMessage(playerid, cRed, "Benutze: /countdown [Sekunden] [Freeze 1/0]");
  913.                 {
  914.                     if(cd_sec < 1 || cd_sec > 1000) return SendClientMessage(playerid,cWhite,"ERROR: Seconds zwischen 1-1000");
  915.                     {
  916.                         if(cd_f < 0 || cd_f > 1)
  917.                         return SendClientMessage(playerid,cRed,"ERROR: Benutze nur 0(Kein Freeze) und 1(Freeze)!");
  918.                         CdStated = 1;
  919.                         if(cd_f == 1)
  920.                         for(new i=0;i<MAX_PLAYERS;i++)
  921.                         {
  922.                             if(IsPlayerConnected(i))
  923.                             TogglePlayerControllable(i, 0);
  924.                             Frozen[i] = 1;
  925.                         }
  926.                         cd_timer = SetTimer("CountDown",1000,3);
  927.                         return 1;
  928.                     }
  929.                 }
  930.             }
  931.             else return SendClientMessage(playerid,cRed,"ERROR: Es läuft bereits ein Countdown!");
  932.         }
  933.         return ErrorMessages(playerid, 2);
  934. }
  935.  
  936. public CountDown(playerid)
  937. {
  938.     if(cd_sec == 0)
  939.     {
  940.         for(new i; i < MAX_PLAYERS; i++)
  941.         {
  942.             if(Frozen[i] == 1)
  943.             {
  944.                 TogglePlayerControllable(i, 1);
  945.             }
  946.         }
  947.         PlayerPlaySound(playerid, 1058, 0, 0, 0);
  948.         GameTextForAll("~r~Go!",1000,3);
  949.         TogglePlayerControllable(playerid, 1);
  950.         CdStated = 0;
  951.         KillTimer(cd_timer);
  952.     }
  953.     else
  954.     {
  955.         new string[256];
  956.         PlayerPlaySound(playerid, 1057, 0, 0, 0);
  957.         format(string,256,"~g~%d",cd_sec);
  958.         GameTextForAll(string,1000,3);
  959.     }
  960.     cd_sec = cd_sec-1;
  961.     return 1;
  962. }
  963.  
  964. ocmd:report(playerid, params[])
  965. {
  966.     new pID, grund[250];
  967.     if(sscanf(params,"us", pID, grund)) return SendClientMessage(playerid, cRed, "Benutzung: /report [ID] [Grund]");
  968.     {
  969.         if(!IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID) return ErrorMessages(playerid, 6);
  970.         {
  971.                 new string[250], name[50], name2[50];
  972.                 GetPlayerName(playerid, name, sizeof(name));
  973.                 GetPlayerName(pID, name2, sizeof(name2));
  974.                 format(string, sizeof(string),"{FF0000}[Report] {FFC700}%s{FFFFFF} hat {FFC700}%s {FFFFFF}gemeldet. Grund: {FF0000}%s",name, name2, grund);
  975.                 Log(playerid, "/report", name2);
  976.                 for(new i=0;i<MAX_PLAYERS;i++)
  977.                 if(PlayerData[i][Level] >= 1)
  978.                 SendClientMessage(i, cWhite, string);
  979.                 return 1;
  980.         }
  981.     }
  982. }
  983.  
  984. ocmd:setarmour(playerid, params[])
  985. {
  986.     if(PlayerData[playerid][Level] >= 4)
  987.     {
  988.         new Armour, pID;
  989.         if(sscanf(params,"ui",pID, Armour)) return SendClientMessage(playerid, cRed, "Benutze: /setarmour [ID] [Wert]");
  990.         {
  991.             if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  992.             {
  993.                 if(Armour > 100 || Armour < 0) return SendClientMessage(playerid, cRed, "Fehler: Ungültiger Wert.");
  994.                 {
  995.                     new name[20], string[200];
  996.                     GetPlayerName(pID, name, sizeof(name));
  997.                     format(string, sizeof(string),"{FF0000}[AdmCmd] {FFFFFF}Du hast {FFAA00}%s's{FFFFFF} Armour auf {1FFF00}%d {FFFFFF}gesetzt.", name, Armour);
  998.                     Log(playerid, "/setarmour", name);
  999.                     SendClientMessage(playerid, cWhite, string);
  1000.                     SetPVarInt(pID,"AAH", 1);
  1001.                     SetPlayerArmour(pID, Armour);
  1002.                     return 1;
  1003.                 }
  1004.             }
  1005.         }
  1006.     }
  1007.     return ErrorMessages(playerid, 4);
  1008. }
  1009.  
  1010. ocmd:sethealth(playerid, params[])
  1011. {
  1012.     if(PlayerData[playerid][Level] >= 4)
  1013.     {
  1014.         new Health, pID;
  1015.         if(sscanf(params,"ui",pID, Health)) return SendClientMessage(playerid, cRed, "Benutze: /sethealth [ID] [Wert]");
  1016.         {
  1017.             if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1018.             {
  1019.                 if(Health > 100 || Health < 0) return SendClientMessage(playerid, cRed, "Fehler: Ungültiger Wert.");
  1020.                 {
  1021.                     new name[20], string[200];
  1022.                     GetPlayerName(pID, name, sizeof(name));
  1023.                     format(string, sizeof(string),"{FF0000}[AdmCmd] {FFFFFF}Du hast {FFAA00}%s's{FFFFFF} Health auf {1FFF00}%d {FFFFFF}gesetzt.", name, Health);
  1024.                     SendClientMessage(playerid, cWhite, string);
  1025.                     Log(playerid, "/sethealth", name);
  1026.                     SetPlayerHealth(pID, Health);
  1027.                     return 1;
  1028.                 }
  1029.             }
  1030.         }
  1031.     }
  1032.     return ErrorMessages(playerid, 4);
  1033. }
  1034.  
  1035. ocmd:goto(playerid,params[])
  1036. {
  1037.     if(PlayerData[playerid][Level] >= 1)
  1038.     {
  1039.         new pID;
  1040.         if(sscanf(params,"u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /goto [ID]");
  1041.         {
  1042.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  1043.             {
  1044.                 if(!IsPlayerInAnyVehicle(playerid))
  1045.                 {
  1046.                     new Float:pX, Float:pY, Float:pZ;
  1047.                     new string[250], str[250];
  1048.                     GetPlayerPos(pID, pX, pY, pZ);
  1049.                     SetPlayerPos(playerid, pX+3, pY, pZ);
  1050.                     new world = GetPlayerVirtualWorld(pID);
  1051.                     new vid = GetPlayerVehicleID(pID);
  1052.                     SetPlayerVirtualWorld(playerid, world);
  1053.                     SetVehicleVirtualWorld(vid, world);
  1054.                     SetPlayerInterior(playerid, GetPlayerInterior(pID));
  1055.                     format(string, sizeof(string),"[AdmCmd] %s hat sich zu dir Teleportiert.", SpielerName(playerid));
  1056.                     format(str, sizeof(str),"[AdmCmd] Du hast dich zu %s Teleportiert.", SpielerName(pID));
  1057.                     SendClientMessage(playerid, cRed, str);
  1058.                     SendClientMessage(pID, cRed, string);
  1059.                     Log(playerid, "/goto", SpielerName(pID));
  1060.                     return 1;
  1061.                 }
  1062.                 else
  1063.                 {
  1064.                     new Float:pX, Float:pY, Float:pZ;
  1065.                     new string[250], str[250];
  1066.                     GetPlayerPos(pID, pX, pY, pZ);
  1067.                     SetPlayerPos(playerid, pX+3, pY, pZ);
  1068.                     new vid = GetPlayerVehicleID(playerid);
  1069.                     SetVehiclePos(vid, pX+3, pY, pZ);
  1070.                     PutPlayerInVehicle(playerid, vid, 0);
  1071.                     new world = GetPlayerVirtualWorld(pID);
  1072.                     SetPlayerVirtualWorld(playerid, world);
  1073.                     SetPlayerInterior(playerid, GetPlayerInterior(pID));
  1074.                     format(string, sizeof(string),"[AdmCmd] %s hat sich zu dir Teleportiert.", SpielerName(playerid));
  1075.                     format(str, sizeof(str),"[AdmCmd] Du hast dich zu %s Teleportiert.", SpielerName(pID));
  1076.                     SendClientMessage(playerid, cRed, str);
  1077.                     SendClientMessage(pID, cRed, string);
  1078.                     Log(playerid, "/goto", SpielerName(pID));
  1079.                     return 1;
  1080.                 }
  1081.             }
  1082.             else
  1083.             {
  1084.                 ErrorMessages(playerid, 6);
  1085.                 return 1;
  1086.             }
  1087.         }
  1088.     }
  1089.     return ErrorMessages(playerid, 1);
  1090. }
  1091.  
  1092. ocmd:gethere(playerid, params[])
  1093. {
  1094.     if(PlayerData[playerid][Level] >= 1)
  1095.     {
  1096.         new pID;
  1097.         if(sscanf(params,"u", pID)) return SendClientMessage(playerid, cRed, "Benutzung: /gethere [ID]");
  1098.         {
  1099.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  1100.             {
  1101.                 if(!IsPlayerInAnyVehicle(pID))
  1102.                 {
  1103.                     new Float:pX, Float:pY, Float:pZ;
  1104.                     new name[50], name2[50];
  1105.                     new string[250], str[250];
  1106.                     GetPlayerPos(playerid, pX, pY, pZ);
  1107.                     SetPlayerPos(pID, pX+3, pY, pZ);
  1108.                     GetPlayerName(playerid, name, sizeof(name));
  1109.                     GetPlayerName(pID, name2, sizeof(name2));
  1110.                     new world = GetPlayerVirtualWorld(playerid);
  1111.                     new vid = GetPlayerVehicleID(playerid);
  1112.                     SetPlayerVirtualWorld(playerid, world);
  1113.                     SetVehicleVirtualWorld(vid, world);
  1114.                     SetPlayerInterior(pID, GetPlayerInterior(playerid));
  1115.                     format(string, sizeof(string),"[AdmCmd] %s hat dich zu ihm Teleportiert.", name);
  1116.                     format(str, sizeof(str),"[AdmCmd] Du hast %s zu dir Teleportiert.", name2);
  1117.                     SendClientMessage(playerid, cRed, str);
  1118.                     SendClientMessage(pID, cRed, string);
  1119.                     Log(playerid, "/gethere", name2);
  1120.                     return 1;
  1121.                 }
  1122.                 else
  1123.                 {
  1124.                     new Float:pX, Float:pY, Float:pZ;
  1125.                     new name[50], name2[50];
  1126.                     new string[250], str[250];
  1127.                     GetPlayerPos(playerid, pX, pY, pZ);
  1128.                     SetPlayerPos(pID, pX+3, pY, pZ);
  1129.                     new vid = GetPlayerVehicleID(pID);
  1130.                     SetVehiclePos(vid, pX+3, pY, pZ);
  1131.                     PutPlayerInVehicle(pID, vid, 0);
  1132.                     GetPlayerName(playerid, name, sizeof(name));
  1133.                     GetPlayerName(pID, name2, sizeof(name2));
  1134.                     new world = GetPlayerVirtualWorld(playerid);
  1135.                     SetPlayerVirtualWorld(playerid, world);
  1136.                     SetPlayerInterior(pID, GetPlayerInterior(playerid));
  1137.                     format(string, sizeof(string),"[AdmCmd] %s hat dich zu ihm Teleportiert.", name);
  1138.                     format(str, sizeof(str),"[AdmCmd] Du hast %s zu dir Teleportiert.", name2);
  1139.                     SendClientMessage(playerid, cRed, str);
  1140.                     SendClientMessage(pID, cRed, string);
  1141.                     Log(playerid, "/gethere", name2);
  1142.                     return 1;
  1143.                 }
  1144.             }
  1145.             else
  1146.             {
  1147.                 ErrorMessages(playerid, 6);
  1148.                 return 1;
  1149.             }
  1150.         }
  1151.     }
  1152.     return ErrorMessages(playerid, 1);
  1153. }
  1154.  
  1155. ocmd:disarm(playerid,params[])
  1156. {
  1157.     if(PlayerData[playerid][Level] >= 2)
  1158.     {
  1159.         new pID, grund[200];
  1160.         if(sscanf(params,"us", pID, grund)) return SendClientMessage(playerid, cRed, "Benutzung: /disarm [ID] [Grund]");
  1161.         {
  1162.             if(!IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID) return ErrorMessages(playerid, 6);
  1163.             {
  1164.                 ResetPlayerWeapons(pID);
  1165.                 new name[50], name2[50], string[250];
  1166.                 GetPlayerName(playerid, name, sizeof(name));
  1167.                 GetPlayerName(pID, name2, sizeof(name2));
  1168.                 format(string, sizeof(string),"[AdmCmd] %s hat %s die Waffen abgenommen. Grund: %s", name, name2, grund);
  1169.                 SendClientMessageToAll(cRed, string);
  1170.                 Log(playerid, "/disarm", name2);
  1171.                 PlayerPlaySound(pID,1057,0.0,0.0,0.0);
  1172.                 return 1;
  1173.             }
  1174.         }
  1175.     }
  1176.     return ErrorMessages(playerid, 2);
  1177. }
  1178.  
  1179. ocmd:spec(playerid, params[])
  1180. {
  1181.     new pID;
  1182.     if(PlayerData[playerid][Level] >= 1)
  1183.     {
  1184.         if(sscanf(params,"u",pID))return SendClientMessage(playerid,cRed,"Benutzung: /spec [ID]");
  1185.         {
  1186.             if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
  1187.             {
  1188.                 if(!IsPlayerInAnyVehicle(pID))
  1189.                 {
  1190.                     TogglePlayerSpectating(playerid, 1);
  1191.                     PlayerSpectatePlayer(playerid, pID);
  1192.                     cLog(playerid, "/spec");
  1193.                     return 1;
  1194.                 }
  1195.                 else
  1196.                 {
  1197.                     new vid;
  1198.                     TogglePlayerSpectating(playerid, 1);
  1199.                     vid = GetPlayerVehicleID(pID);
  1200.                     PlayerSpectateVehicle(playerid, vid);
  1201.                     cLog(playerid, "/spec");
  1202.                 }
  1203.                 return 1;
  1204.             }
  1205.             return ErrorMessages(playerid, 6);
  1206.         }
  1207.     }
  1208.     return ErrorMessages(playerid, 1);
  1209. }
  1210.  
  1211. public VehicleOccupied(vehicleid)
  1212. {
  1213. for(new i=0;i<MAX_PLAYERS;i++)
  1214. {
  1215. if(IsPlayerInVehicle(i,vehicleid)) return 1;
  1216. }
  1217. return 0;
  1218. }
  1219.  
  1220. ocmd:respawncars(playerid,params[])
  1221. {
  1222.     #pragma unused params
  1223.     cLog(playerid, "/respawncars");
  1224.     if(PlayerData[playerid][Level] >= 3)
  1225.     {
  1226.         SendClientMessage(playerid, cGreen, "Du hast alle Fahrzeuge Respawned!");
  1227.         GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned!", 3000,3);
  1228.  
  1229.         for(new cars=0; cars<MAX_VEHICLES; cars++)
  1230.         {
  1231.             if(!VehicleOccupied(cars))
  1232.             {
  1233.                 SetVehicleToRespawn(cars);
  1234.             }
  1235.         }
  1236.         return 1;
  1237.     }
  1238.     else return ErrorMessages(playerid, 3);
  1239. }
  1240.  
  1241. /////////////////////////////////////
  1242.  
  1243. ocmd:specoff(playerid, params[])
  1244. {
  1245.     if(PlayerData[playerid][Level] >= 1)
  1246.     {
  1247.         TogglePlayerSpectating(playerid, 0);
  1248.         cLog(playerid, "/specoff");
  1249.         return 1;
  1250.     }
  1251.     return ErrorMessages(playerid, 1);
  1252. }
  1253.  
  1254. ocmd:destroycar(playerid, params[])
  1255. {
  1256.         if(PlayerData[playerid][pCanSpawnACar])
  1257.         {
  1258.             SendClientMessage(playerid, cBlue, "Dein Fahrzeug Fahrzeug wurde gelöscht.");
  1259.             DestroyVehicle(PlayerData[playerid][pSpawnACar]);
  1260.             return 1;
  1261.         }
  1262.         return SendClientMessage(playerid, cRed, "Du hast kein Fahrzeug gespawnt!");
  1263. }
  1264.  
  1265. ocmd:readcmds(playerid, params[])
  1266. {
  1267.     cLog(playerid, "/readcmds");
  1268.     if(PlayerData[playerid][Level] >= 3)
  1269.     {
  1270.         if(PlayerData[playerid][Readcmds] == 0)
  1271.         {
  1272.             SendClientMessage(playerid, cGrey, "Du hast 'ReadCmds' eingestellt!");
  1273.             PlayerData[playerid][Readcmds] = 1;
  1274.             return 1;
  1275.         }
  1276.         else
  1277.         {
  1278.             SendClientMessage(playerid, cGrey, "Du hast 'ReadCmds' ausgestellt!");
  1279.             PlayerData[playerid][Readcmds] = 0;
  1280.             return 1;
  1281.         }
  1282.     }
  1283.     return ErrorMessages(playerid, 3);
  1284. }
  1285.  
  1286. ocmd:slap(playerid,params[])
  1287. {
  1288.     cLog(playerid, "/slap");
  1289.     if(PlayerData[playerid][Level] >= 1)
  1290.     {
  1291.                 new player1;
  1292.                 new string[128];
  1293.                 new playername[MAX_PLAYER_NAME];
  1294.                 new adminname [MAX_PLAYER_NAME];
  1295.                 if(sscanf(params,"u",player1))return SendClientMessage(playerid,cRed,"Benutzung: /slap [ID]");
  1296.  
  1297.                 if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  1298.                 {
  1299.                     GetPlayerName(player1, playername, sizeof(playername));
  1300.                     GetPlayerName(playerid, adminname, sizeof(adminname));
  1301.                     new Float:x, Float:y, Float:z;
  1302.                     GetPlayerPos(player1,x,y,z);
  1303.                     SetPlayerPos(player1,x,y,z+15);
  1304.                     PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
  1305.                     PlayerPlaySound(player1,1190,0.0,0.0,0.0);
  1306.  
  1307.                     format(string,sizeof(string),"Du wurdest von %s geslapped",adminname);
  1308.                     SendClientMessage(player1,cRed,string);
  1309.                     format(string,sizeof(string),"Du hast %s geslapped",playername);
  1310.                     return SendClientMessage(playerid,cLightBlue,string);
  1311.  
  1312.                 }
  1313.                 else return SendClientMessage(playerid, cRed, "Fehler: Spieler ist nicht Connected!");
  1314.     }
  1315.     else return ErrorMessages(playerid, 1);
  1316. }
  1317.  
  1318. ocmd:slay(playerid,params[])
  1319. {
  1320.         if(PlayerData[playerid][Level] >= 1)
  1321.         {
  1322.             if(!strlen(params)) return SendClientMessage(playerid, cRed, "Benutze: /slay [PlayerID]");
  1323.             new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  1324.             player1 = strval(params);
  1325.  
  1326.             if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  1327.             {
  1328.                 if(PlayerData[player1][Level] == 5)
  1329.                 return SendClientMessage(playerid, cRed, "ERROR: Du kannst kein Fulladmin Slayen!");
  1330.                 GetPlayerName(player1, playername, sizeof(playername));
  1331.                 GetPlayerName(playerid, adminname, sizeof(adminname));
  1332.                 format(string,sizeof(string),"Administrator %s hat dich geslayed!",adminname);
  1333.                 SendClientMessage(player1,cRed,string);
  1334.                 format(string,sizeof(string),"Du hast %s geslayed!",playername);
  1335.                 Log(playerid, "/akill", playername);
  1336.                 SendClientMessage(playerid,cOrange,string);
  1337.                 SetPlayerHealth(player1,0.0);
  1338.                 return 1;
  1339.             }
  1340.             else return SendClientMessage(playerid, cRed, "ERROR: Spieler ist nicht Connected!");
  1341.         }
  1342.         return ErrorMessages(playerid, 1);
  1343. }
  1344.  
  1345. ocmd:tban(playerid,params[])
  1346. {
  1347.     if(PlayerData[playerid][Level] >= 3)
  1348.     {
  1349.         new pID, time, grund[128];
  1350.         if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,cRed,"/tban [ID] [Minuten] [Grund]");
  1351.         {
  1352.             if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1353.             {
  1354.                 if(time>0&&time<1000)
  1355.                 {
  1356.                     new string[128];
  1357.                     format(string,sizeof(string),"AdmCdm: %s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
  1358.                     SendClientMessageToAll(cRed,string);
  1359.                     SendClientMessage(pID, cWhite, "Solltest du zu unrecht Gebannt worden sein, drücke F8");
  1360.                     SendClientMessage(pID, cWhite, "und poste einen Entbannantrag im Forum unter:");
  1361.                     SendClientMessage(pID, cWhite, "www.German-Streetfun.de");
  1362.                     printf(string);
  1363.  
  1364.                     new timestamp;
  1365.                     timestamp = gettime();
  1366.                     new sekunden = time * 60;
  1367.                     timestamp += sekunden;
  1368.                     //mysql_SetInt("accounts", "Timeban", timestamp, "Name", PlayerData[playerid][pName]);
  1369.                     //mysql_SetString("accounts", "reason", grund, "Name", SpielerName(playerid));
  1370.                     SetTimerEx("Kicktimer", 50, false, "i", pID);
  1371.                 }
  1372.             }
  1373.             return 1;
  1374.         }
  1375.     }
  1376.     return ErrorMessages(playerid, 3);
  1377. }
  1378.  
  1379. ocmd:onduty(playerid,params[])
  1380. {
  1381.     #pragma unused params
  1382.     cLog(playerid, "/onduty");
  1383.     if(PlayerData[playerid][Level] >= 1)
  1384.     {
  1385.         if(PlayerData[playerid][Duty] == 0)
  1386.         {
  1387.             new name[MAX_PLAYER_NAME], string[50+MAX_PLAYER_NAME];
  1388.             GetPlayerName(playerid,name,sizeof(name));
  1389.  
  1390.             new Float:X, Float:Y, Float:Z;
  1391.             GetPlayerPos( playerid, X, Y, Z );
  1392.  
  1393.             Admin[playerid] = Create3DTextLabel("* Admin on Duty *\n* DM Verboten! *", 0xC800FFFF ,30.0,40.0,50.0,40.0,0);
  1394.             Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.5);
  1395.  
  1396.             format(string, sizeof(string), "[AdmCmd] Admin %s ist nun Admin-OnDuty.",name);
  1397.             SendClientMessageToAll(cGreen, string);
  1398.             SetPlayerColor(playerid, 0xC800FFFF);
  1399.             PlayerData[playerid][Duty] = 1;
  1400.             return 1;
  1401.         }
  1402.         else
  1403.         {
  1404.             new name[MAX_PLAYER_NAME], string[50+MAX_PLAYER_NAME];
  1405.             GetPlayerName(playerid,name,sizeof(name));
  1406.  
  1407.             format(string, sizeof(string), "[AdmCmd] Admin %s ist nun nicht mehr Admin-OnDuty.",name);
  1408.             SendClientMessageToAll(cGreen, string);
  1409.  
  1410.             Delete3DTextLabel(Admin[playerid]);
  1411.             SetPlayerColor(playerid, 0xFFFFFFFF);
  1412.  
  1413.             PlayerData[playerid][Duty] = 0;
  1414.             return 1;
  1415.         }
  1416.     }
  1417.     ErrorMessages(playerid, 1);
  1418.     return 1;
  1419. }
  1420.  
  1421. ocmd:setadmin(playerid,params[])
  1422. {
  1423.     cLog(playerid, "/setadmin");
  1424.     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {D30023}Fulladmin+");
  1425.     {
  1426.         new pID, rank;
  1427.         if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,cRed,"/setadmin [ID] [Level]");
  1428.         if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1429.         {
  1430.             if(rank<0||rank>5)return SendClientMessage(playerid,cRed,"Fehler: Ungültiger Rang!");
  1431.             //mysql_SetInt("accounts", "Level", rank, "Name", PlayerData[playerid][pName]);
  1432.             PlayerData[pID][Level] = rank;
  1433.             SpielerSpeichern(pID);
  1434.             new string[250], name[50];
  1435.             GetPlayerName(playerid, name, sizeof(name));
  1436.             format(string, sizeof (string), "[AdmCmd] Du wurdest von Fulladmin %s auf Admin-Level %d gesetzt.",name, rank);
  1437.             SendClientMessage(pID, cRed, string);
  1438.             return 1;
  1439.         }
  1440.     }
  1441. }
  1442.  
  1443. ocmd:getip(playerid, params[])
  1444. {
  1445.     if(PlayerData[playerid][Level] >= 4)
  1446.     {
  1447.         new pID;
  1448.         if(sscanf(params,"u",pID))return SendClientMessage(playerid,cOrange,"Benutzung: /getip [ID]");
  1449.         {
  1450.             if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1451.             {
  1452.                 new str[250], Pip[16];
  1453.                 GetPlayerIp(pID, Pip, 16);
  1454.                 format(str,sizeof(str),"[%s] IP: %s",SpielerName(pID), Pip);
  1455.                 SendClientMessage(playerid, 0xF5FF0073, str);
  1456.                 return 1;
  1457.             }
  1458.         }
  1459.     }
  1460.     return ErrorMessages(playerid, 4);
  1461. }
  1462.  
  1463. ocmd:ban(playerid,params[])
  1464. {
  1465.     if(PlayerData[playerid][Level] >= 3)
  1466.     {
  1467.         new pID, reason[128],string[128];
  1468.         if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,cRed,"Benutzung: /ban [ID] [Grund]");
  1469.         if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1470.         {
  1471.             format(string,sizeof(string),"[AdmCmd] %s wurde von %s Gebannt. | Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1472.             SendClientMessageToAll(cRed,string);
  1473.             SendClientMessage(pID, cWhite, "Solltest du zu unrecht Gebannt worden sein, drücke F8");
  1474.             SendClientMessage(pID, cWhite, "und poste einen Entbannantrag im Forum unter:");
  1475.             SendClientMessage(pID, cWhite, "www.German-Streetfun.de");
  1476.             for(new i = 0; i < MAX_PLAYERS; i++)
  1477.             {
  1478.                 if(IsPlayerConnected(i))
  1479.                 {
  1480.                     if(PlayerData[i][Level] >= 1)
  1481.                     {
  1482.                         new str[250], Pip[16];
  1483.                         GetPlayerIp(pID, Pip, 16);
  1484.                         format(str,sizeof(str),"[%s] IP: %s",SpielerName(pID), Pip);
  1485.                         SendClientMessage(i, 0xF5FF0073, str);
  1486.                     }
  1487.                 }
  1488.             }
  1489.             printf(string);
  1490.             //mysql_SetInt("accounts", "Baned", 1, "Name", SpielerName(playerid));
  1491.             //mysql_SetString("accounts", "reason", reason, "Name", SpielerName(playerid));
  1492.             PlayerData[pID][Baned] = 1;
  1493.             SpielerSpeichern(pID);
  1494.             SetTimerEx("Kicktimer", 50, false, "i", pID);
  1495.             return 1;
  1496.         }
  1497.     }
  1498.     return ErrorMessages(playerid, 3);
  1499. }
  1500.  
  1501. ocmd:permban(playerid,params[])
  1502. {
  1503.     if(PlayerData[playerid][Level] >= 4)
  1504.     {
  1505.         new pID, reason[128],string[128];
  1506.         if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,cRed,"Benutzung: /permban [ID] [Grund]");
  1507.         if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1508.         {
  1509.             format(string,sizeof(string),"[AdmCmd] %s wurde von %s Permanent Gebannt. | Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1510.             SendClientMessageToAll(cRed,string);
  1511.             SendClientMessage(pID, cWhite, "Solltest du zu unrecht Gebannt worden sein, drücke F8");
  1512.             SendClientMessage(pID, cWhite, "und poste einen Entbannantrag im Forum unter:");
  1513.             SendClientMessage(pID, cWhite, "www.German-Streetfun.de");
  1514.             for(new i = 0; i < MAX_PLAYERS; i++)
  1515.             {
  1516.                 if(IsPlayerConnected(i))
  1517.                 {
  1518.                     if(PlayerData[i][Level] >= 1)
  1519.                     {
  1520.                         new str[250], Pip[16];
  1521.                         GetPlayerIp(pID, Pip, 16);
  1522.                         format(str,sizeof(str),"[%s] IP: %s",SpielerName(pID), Pip);
  1523.                         SendClientMessage(i, 0xF5FF0073, str);
  1524.                     }
  1525.                 }
  1526.             }
  1527.             printf(string);
  1528.             PlayerData[pID][Baned] = 1;
  1529.             //mysql_SetString("accounts", "reason", reason, "Name", SpielerName(playerid));
  1530.             SetTimerEx("Bantimer", 50, false, "i", pID);
  1531.             return 1;
  1532.         }
  1533.     }
  1534.     return ErrorMessages(playerid, 4);
  1535. }
  1536.  
  1537. public Bantimer(playerid)
  1538. {
  1539.     Ban(playerid);
  1540. }
  1541.  
  1542. ocmd:kick(playerid,params[])
  1543. {
  1544.     if(PlayerData[playerid][Level] >= 1)
  1545.     {
  1546.         new pID, reason[128],string[128];
  1547.         if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,cRed,"/kick [ID] [Grund]");
  1548.         if(!IsPlayerConnected(pID)) return ErrorMessages(playerid, 6);
  1549.         format(string,sizeof(string),"[AdmCmd] %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1550.         SendClientMessageToAll(cRed,string);
  1551.         printf(string);
  1552.         SetTimerEx("Kicktimer", 50, false, "i", pID);
  1553.         return 1;
  1554.     } else return ErrorMessages(playerid, 1);
  1555. }
  1556.  
  1557. public Kicktimer(playerid)
  1558. {
  1559.     Kick(playerid);
  1560. }
  1561.  
  1562. stock ErrorMessages(playerid, errorID)
  1563. {
  1564. if(errorID == 1)  return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {00E000}Supporter.");
  1565. if(errorID == 2)  return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {00E000}Moderator.");
  1566. if(errorID == 3)  return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {0069FF}Super Moderator.");
  1567. if(errorID == 4)  return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {0069FF}Admin.");
  1568. if(errorID == 5)  return SendClientMessage(playerid,cWhite,"Fehler: Das geht erst ab dem Rang {D30023}Fulladmin.");
  1569. if(errorID == 6)  return SendClientMessage(playerid,cWhite,"Fehler: Spieler ist nicht Connected.");
  1570.  
  1571. return 1;
  1572. }
  1573.  
  1574. public OnPlayerCommandText(playerid, cmdtext[])
  1575. {
  1576.     new cmd[200], idx;
  1577.     cmd = strtok(cmdtext, idx);
  1578.  
  1579.     new logstring[250];
  1580.     format(logstring, sizeof(logstring), "** [%s] Command: %s **", SpielerName(playerid) ,cmdtext);
  1581.     printf("** [%s] Command: %s **", SpielerName(playerid) ,cmdtext);
  1582.     for(new i = 0; i < MAX_PLAYERS; i++)
  1583.     {
  1584.         if(IsPlayerConnected(i))
  1585.         {
  1586.             if(PlayerData[i][Readcmds] == 1)
  1587.             {
  1588.                 if(PlayerData[i][Level] >= 1/* && (i != playerid)*/)
  1589.                 {
  1590.                     SendClientMessage(i, cGrey, logstring);
  1591.                 }
  1592.             }
  1593.         }
  1594.     }
  1595.     if(strcmp(cmd, "/car", true, 10) == 0)
  1596.     {
  1597.         cLog(playerid, "/car");
  1598.         if(PlayerData[playerid][Level] >= 3)
  1599.         {
  1600.             PlayerData[playerid][pCanSpawnACar] = true;
  1601.             if(PlayerData[playerid][pCanSpawnACar])
  1602.             {
  1603.                 new String[200];
  1604.                 new tmp[256];
  1605.                 new Float:x, Float:y, Float:z;
  1606.  
  1607.                 tmp = strtok(cmdtext, idx);
  1608.                 if(!strlen(tmp)) return SendClientMessage(playerid, cRed, "Benutzung: /car [Name]");
  1609.  
  1610.                 new vehicle = GetVehicleModelIDFromName(tmp);
  1611.  
  1612.                 if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, cRed, "ERROR: Fahrzeug wurde nicht gefunden!");
  1613.  
  1614.                 new Float:a;
  1615.                 GetPlayerFacingAngle(playerid, a);
  1616.                 GetPlayerPos(playerid, x, y, z);
  1617.  
  1618.                 if(IsPlayerInAnyVehicle(playerid) == 1)
  1619.                 {
  1620.                     GetXYInFrontOfPlayer(playerid, x, y, 8);
  1621.                 }
  1622.                 else
  1623.                 {
  1624.                     GetXYInFrontOfPlayer(playerid, x, y, 5);
  1625.                 }
  1626.                 DestroyVehicle(PlayerData[playerid][pSpawnACar]);
  1627.                 PlayerData[playerid][pSpawnACar] = CreateVehicle(vehicle, x, y, z, a+90, -1, -1, 600);
  1628.                 LinkVehicleToInterior(PlayerData[playerid][pSpawnACar], GetPlayerInterior(playerid));
  1629.                 SetVehicleVirtualWorld(PlayerData[playerid][pSpawnACar], GetPlayerVirtualWorld(playerid));
  1630.                 SetVehicleNumberPlate(PlayerData[playerid][pSpawnACar], ">> ADMIN <<");
  1631.  
  1632.                 format(String, sizeof(String), "Du hast dir einen %s gespawnt. {FAFAFA}Benutze /destroycar um das Fahrzeug zu löschen.", VehicleNames[vehicle - 400]);
  1633.                 SendClientMessage(playerid, cGreen, String);
  1634.                 return 1;
  1635.             }
  1636.         }
  1637.         return ErrorMessages(playerid, 3);
  1638.     }
  1639.     if(strcmp(cmdtext,"/admins",true)==0)
  1640.     {
  1641.         SendClientMessage(playerid, cOrange, "| - Online Admins - |");
  1642.         new string[128], name[MAX_PLAYER_NAME];
  1643.         for(new i=0; i<MAX_PLAYERS; i++)
  1644.         {
  1645.             if(IsPlayerConnected(i) && PlayerData[i][Level] >= 1)
  1646.             {
  1647.                 new Admlevel = PlayerData[i][Level];
  1648.                 if(Admlevel == 1)
  1649.                 {
  1650.                     if(PlayerData[i][Duty] == 1)
  1651.                     {
  1652.                         GetPlayerName(i,name, sizeof(name));
  1653.                         format(string, sizeof(string),"Supporter {FFFFFF}%s (Onduty)",name);
  1654.                         SendClientMessage(playerid, 0x00FF0093, string);
  1655.                     }
  1656.                     else
  1657.                     {
  1658.                         GetPlayerName(i,name, sizeof(name));
  1659.                         format(string, sizeof(string),"Supporter {FFFFFF}%s",name);
  1660.                         SendClientMessage(playerid, 0x00FF0093, string);
  1661.                     }
  1662.                 }
  1663.                 if(Admlevel == 2)
  1664.                 {
  1665.                     if(PlayerData[i][Duty] == 1)
  1666.                     {
  1667.                         GetPlayerName(i,name, sizeof(name));
  1668.                         format(string, sizeof(string),"Moderator {FFFFFF}%s (Onduty)",name);
  1669.                         SendClientMessage(playerid, 0x00FF0093, string);
  1670.                     }
  1671.                     else
  1672.                     {
  1673.                         GetPlayerName(i,name, sizeof(name));
  1674.                         format(string, sizeof(string),"Moderator {FFFFFF}%s",name);
  1675.                         SendClientMessage(playerid, 0x00FF0093, string);
  1676.                     }
  1677.                 }
  1678.                 if(Admlevel == 3)
  1679.                 {
  1680.                     if(PlayerData[i][Duty] == 1)
  1681.                     {
  1682.                         GetPlayerName(i,name, sizeof(name));
  1683.                         format(string, sizeof(string),"Super Moderator {FFFFFF}%s (Onduty)",name);
  1684.                         SendClientMessage(playerid, 0x0076FF93, string);
  1685.                     }
  1686.                     else
  1687.                     {
  1688.                         GetPlayerName(i,name, sizeof(name));
  1689.                         format(string, sizeof(string),"Super Moderator {FFFFFF}%s",name);
  1690.                         SendClientMessage(playerid, 0x0076FF93, string);
  1691.                     }
  1692.                 }
  1693.                 if(Admlevel == 4)
  1694.                 {
  1695.                     if(PlayerData[i][Duty] == 1)
  1696.                     {
  1697.                         GetPlayerName(i,name, sizeof(name));
  1698.                         format(string, sizeof(string),"Admin {FFFFFF}%s (Onduty)",name);
  1699.                         SendClientMessage(playerid, 0x0076FF93, string);
  1700.                     }
  1701.                     else
  1702.                     {
  1703.                         GetPlayerName(i,name, sizeof(name));
  1704.                         format(string, sizeof(string),"Admin {FFFFFF}%s",name);
  1705.                         SendClientMessage(playerid, 0x0076FF93, string);
  1706.                     }
  1707.                 }
  1708.                 if(Admlevel == 5)
  1709.                 {
  1710.                     if(PlayerData[i][Duty] == 1)
  1711.                     {
  1712.                         GetPlayerName(i,name, sizeof(name));
  1713.                         format(string, sizeof(string),"Fulladmin {FFFFFF}%s (Onduty)",name);
  1714.                         SendClientMessage(playerid, 0xFF00009D, string);
  1715.                     }
  1716.                     else
  1717.                     {
  1718.                         GetPlayerName(i,name, sizeof(name));
  1719.                         format(string, sizeof(string),"Fulladmin {FFFFFF}%s",name);
  1720.                         SendClientMessage(playerid, 0xFF00009D, string);
  1721.                     }
  1722.                 }
  1723.             }
  1724.  
  1725.         }
  1726.         return 1;
  1727.     }
  1728.     new wcommand[192];
  1729.     format(wcommand, sizeof(wcommand), "Der Befehl {FF8E26}[%s] {AAAAAA}existiert nicht!",cmdtext);
  1730.     return SendClientMessage(playerid,0xAAAAAAFF,wcommand);
  1731. }
  1732.  
  1733. stock GetXYInFrontOfPlayer(playerid, &Float:x2, &Float:y2, Float:distance)
  1734. {
  1735.         new Float:a;
  1736.  
  1737.         GetPlayerPos(playerid, x2, y2, a);
  1738.         GetPlayerFacingAngle(playerid, a);
  1739.  
  1740.         if(GetPlayerVehicleID(playerid))
  1741.         {
  1742.                 GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  1743.         }
  1744.  
  1745.         x2 += (distance * floatsin(-a, degrees));
  1746.         y2 += (distance * floatcos(-a, degrees));
  1747. }
  1748.  
  1749. GetVehicleModelIDFromName(vname[])
  1750. {
  1751.     for(new i = 0; i < 211; i++)
  1752.     {
  1753.     if ( strfind(VehicleNames[i], vname, true) != -1 )
  1754.     return i + 400;
  1755.     }
  1756.     return -1;
  1757. }
  1758.  
  1759. strtok(const string[], &index)
  1760. {
  1761.         new length = strlen(string);
  1762.         while ((index < length) && (string[index] <= ' '))
  1763.         {
  1764.                 index++;
  1765.         }
  1766.  
  1767.         new offset = index;
  1768.         new result[20];
  1769.         while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1770.         {
  1771.                 result[index - offset] = string[index];
  1772.                 index++;
  1773.         }
  1774.         result[index - offset] = EOS;
  1775.         return result;
  1776. }
  1777.  
  1778. stock SpielerName(playerid)
  1779. {
  1780.     new name[MAX_PLAYER_NAME];
  1781.     GetPlayerName(playerid,name,sizeof(name));
  1782.     return name;
  1783. }
  1784.  
  1785. stock Log(playerid, befehl[], text[])
  1786. {
  1787.     new name[24];
  1788.     GetPlayerName(playerid, name, sizeof(name));
  1789.     printf("** Spieler: %s | Command: %s %s **", name, befehl, text);
  1790.     return 1;
  1791. }
  1792.  
  1793. stock cLog(playerid, befehl[])
  1794. {
  1795.     new name[24];
  1796.     GetPlayerName(playerid, name, sizeof(name));
  1797.     printf("** Spieler: %s | Command: %s **", name, befehl);
  1798.     return 1;
  1799. }
  1800.  
  1801. stock LoadPlayer(playerid)
  1802. {
  1803.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1804.     {
  1805.         /*GetPlayerName(playerid, PlayerData[playerid][pName], MAX_PLAYER_NAME);
  1806.         PlayerData[playerid][Level] = mysql_GetInt("accounts", "Level", "Name", SpielerName(playerid));
  1807.         GivePlayerMoney(playerid, mysql_GetInt("accounts", "Geld", "Name", SpielerName(playerid)));
  1808.         SetPVarInt(playerid, "Kills",mysql_GetInt("accounts", "Kills", "Name", SpielerName(playerid)));
  1809.         SetPVarInt(playerid, "Deaths",mysql_GetInt("accounts", "Tode", "Name", SpielerName(playerid)));
  1810.         PlayerData[playerid][Warned] = mysql_GetInt("accounts", "Warned", "Name", SpielerName(playerid));
  1811.         PlayerData[playerid][Baned] = mysql_GetInt("accounts", "Baned", "Name", SpielerName(playerid));
  1812.         SendClientMessage(playerid,WEISS," ");
  1813.         SendClientMessage(playerid,WEISS," ");
  1814.         SendClientMessage(playerid,WEISS," ");
  1815.         SendClientMessage(playerid,WEISS," ");
  1816.         SendClientMessage(playerid,WEISS," ");
  1817.         SendClientMessage(playerid,WEISS," ");
  1818.         SendClientMessage(playerid,WEISS," ");
  1819.         SendClientMessage(playerid,WEISS," ");
  1820.         SendClientMessage(playerid,WEISS," ");
  1821.         SendClientMessage(playerid,WEISS," ");
  1822.         SendClientMessage(playerid,0x00FF32A6,"Dein Account wurde geladen... du wurdest erfolgreich Eingeloggt.");*/
  1823.         return 1;
  1824.     }
  1825.     return 1;
  1826. }
  1827.  
  1828. stock SpielerSpeichern(playerid)
  1829. {
  1830.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1831.     {
  1832.         /*if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
  1833.         {
  1834.             GetPlayerName(playerid, PlayerData[playerid][pName], MAX_PLAYER_NAME);
  1835.             mysql_SetInt("accounts", "Level", PlayerData[playerid][Level], "Name", SpielerName(playerid));
  1836.             mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerName(playerid));
  1837.             mysql_SetInt("accounts", "Kills", GetPVarInt(playerid, "Kills"), "Name", SpielerName(playerid));
  1838.             mysql_SetInt("accounts", "Tode", GetPVarInt(playerid, "Deaths"), "Name", SpielerName(playerid));
  1839.             mysql_SetInt("accounts", "Car", PlayerData[playerid][Car], "Name", SpielerName(playerid));
  1840.             mysql_SetInt("accounts", "Vip", PlayerData[playerid][Vip], "Name", SpielerName(playerid));
  1841.             mysql_SetInt("accounts", "Baned", PlayerData[playerid][Baned], "Name", SpielerName(playerid));
  1842.             mysql_SetInt("accounts", "Warned", PlayerData[playerid][Warned], "Name", SpielerName(playerid));
  1843.             mysql_SetInt("accounts", "Score", GetPlayerScore(playerid), "Name", SpielerName(playerid));
  1844.             mysql_SetInt("accounts", "Sekunden", GetPVarInt(playerid, "Sekunden"), "Name", SpielerName(playerid));
  1845.             mysql_SetInt("accounts", "Minuten", GetPVarInt(playerid, "Minuten"), "Name", SpielerName(playerid));
  1846.             mysql_SetInt("accounts", "Stunden", GetPVarInt(playerid, "Stunden"), "Name", SpielerName(playerid));
  1847.             mysql_SetInt("accounts", "SpawnChange", PlayerData[playerid][SpawnChange], "Name", SpielerName(playerid));
  1848.             new console[200];
  1849.             format(console, sizeof(console), "Account %s wurde gespeichert.", PlayerData[playerid][pName]);
  1850.             print(console);
  1851.             return 1;
  1852.         }*/
  1853.     }
  1854.     return 1;
  1855. }
  1856.  
  1857. /*public OnRconLoginAttempt(ip[], password[], success)
  1858. {
  1859.     if(!success) //If the password was incorrect
  1860.     {
  1861.         printf("FAILED RCON LOGIN BY %s (IP %s) USING PASSWORD %s",ip, password);
  1862.         new string[160];
  1863.         format(string, sizeof(string), "Achtung: [IP: %s] Fehlgeschlagener versuch sich als RCON Admin Einzuloggen!",ip);
  1864.         for(new i=0; i<MAX_PLAYERS; i++)
  1865.         if(IsPlayerConnected(i))
  1866.         {
  1867.             if(PlayerData[i][Level] >= 2)
  1868.             {
  1869.                 SendClientMessage(i, cRed, string);
  1870.             }
  1871.         }
  1872.     }
  1873.     return 1;
  1874. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement