// Das Script zu verkaufen oder weiterzugeben ist untersagt, Zuwiderhandlungen werden Strafrechtlich verfolgt // © by Kinq' 2013 - Alle Rechte vorbehalten! #define FILTERSCRIPT #include #include #include #if defined FILTERSCRIPT #define ROT 0xFF0A00FF #define BLAU 0x0037FFFF #define GELB 0xFFFA00FF #define Freeze TogglePlayerControllable #define DIALOG_ADMIN 0 // Die Ziffer an euer Script anpassen! forward KickTimer(pID); forward BanTimer(pID); public OnFilterScriptInit() { print("Das Script zu verkaufen oder weiterzugeben ist untersagt, Zuwiderhandlungen werden Strafrechtlich verfolgt."); print("Adminsystem Version 1.00 by Kinq' erfolgreich geladen!"); print("-------------------© by Kinq' 2013 - Alle Rechte vorbehalten"); return 1; } public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print(""); print("----------------------------------\n"); } #endif public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid,ROT,"Dieser Server benutzt das Adminsystem Version 1.00 von Kinq'."); return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_ADMIN) { if(response) { if(listitem == 0) { new string1[256]; format(string1,sizeof(string1),"{00FF1E}/kick - Kickt einen Spieler\n/say - Gibt eine Ankündigung aus\n/admin - 3D Text über Dir mit dem Text 'Admin'\n/adminoff - Löscht den 3D Text"); ShowPlayerDialog(playerid,DIALOG_STYLE_MSGBOX,0,"{00FF1E}Level 1",string1,"OK",""); } if(listitem == 1) { new string2[256]; format(string2,sizeof(string2),"{91FF00}/cc - Löscht den Chat\n/resetweapons - Nimmt einem Spieler die Waffen weg\n/text - Schreibt einen Gametext an alle Spieler"); ShowPlayerDialog(playerid,DIALOG_STYLE_MSGBOX,0,"{91FF00}Level 2",string2,"OK",""); } if(listitem == 2) { new string3[350]; format(string3,sizeof(string3),"{FFFF00}/ban - Bannt einen Spieler vom Server\n/freeze - Friert einen Spieler ein\n/unfreeze - Gibt einen Spieler wieder frei\n/akill - Killt einen Spieler\n/sethp - Setzt die HP eines Spielers\n/setarmour - Setzt die Armour eines Spielers\n/goto - Teleport zu einem Spieler"); ShowPlayerDialog(playerid,DIALOG_STYLE_MSGBOX,0,"{FFFF00}Level 3",string3,"OK",""); } if(listitem == 3) { new string4[256]; format(string4,sizeof(string4),"{FFC800}/get - Teleportiert einen Spieler zur eigenen Position\n/givemoney - Gibt Spieler eine bestimmte Summe Geld"); ShowPlayerDialog(playerid,DIALOG_STYLE_MSGBOX,0,"{FFC800}Level 4",string4,"OK",""); } if(listitem == 4) { new string5[300]; format(string5,sizeof(string5),"{F00000}/setadmin - Setzt das Adminlevel eines Spielers\n/givescore - Gibt einem Spieler Score\n/setscore - Setzt den Score eines Spielers\n/restart - Restartet den Server\n/off - Schaltet den Server aus"); ShowPlayerDialog(playerid,DIALOG_STYLE_MSGBOX,0,"{F00000}Level 5",string5,"OK",""); } } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } stock isPlayerAnAdmin(playerid,rang) { if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1; return 0; } public KickTimer(pID) { new pID; Kick(pID); return 1; } public BanTimer(pID) { new pID; Ban(pID); return 1; } stock sscanf(sstring[], format[], {Float,_}:...) { #if defined isnull if (isnull(sstring)) #else if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, sstringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (sstring[sstringPos] && sstring[sstringPos] <= ' ') { sstringPos++; } while (paramPos < paramCount && sstring[sstringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = sstring[sstringPos]; if (ch == '-') { neg = -1; ch = sstring[++sstringPos]; } do { sstringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = sstring[sstringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = sstring[sstringPos]; do { sstringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = sstring[sstringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, sstring[sstringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = sstringPos; while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim) { changestr[changepos++] = sstring[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; sstringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = sstringPos - 1, id = 0, bool:num = true, ch; while ((ch = sstring[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif sstring[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - sstringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, sstring[sstringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } sstring[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } sstringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = sstring[sstringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = sstring[sstringPos++])) { setarg(paramPos, i++, ch); } } sstringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ') { sstringPos++; } while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' ')) { sstringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; } // Befehle ocmd:admcmds(playerid,params[]) { if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 1 oder höher!"); ShowPlayerDialog(playerid,DIALOG_ADMIN,DIALOG_STYLE_LIST,"{F00000}Adminbefehle","{19FF00}Level 1\n{B9FF00}Level 2\n{FFFA00}Level 3\n{FFBE00}Level 4\n{F00000}Level 5","OK",""); return 1; } ocmd:admin(playerid,params[]) { new Text3D:ADuty[MAX_PLAYERS]; new Float:X,Float:Y,Float:Z; ADuty[playerid] = Create3DTextLabel("Admin",ROT,X,Y,Z,50.0,0,0); Attach3DTextLabelToPlayer(ADuty[playerid],playerid,0.0,0.0,0.75); return 1; } ocmd:freeze(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[256],grund; if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutze /freeze [playerid] [grund]."); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"%s wurde von Admin %s gefreezt! (Grund: %s)",SpielerName(pID),SpielerName(playerid),grund); SendClientMessageToAll(ROT,string); Freeze(pID,0); SetPlayerHealth(pID,10000000); return 1; } ocmd:unfreeze(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[256]; if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze /unfreeze [playerid]!"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"%s wurde von Admin %s wieder entfreezt.",PlayerName(pID),PlayerName(playerid)); SendClientMessageToAll(ROT,string); Freeze(pID,1); SetPlayerHealth(playerid,100); return 1; } ocmd:cc(playerid,params[]) { if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 2 oder höher!"); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); SendClientMessageToAll(ROT,""); new string[100]; format(string,sizeof(string),"Admin %s hat den Chat gelöscht.",PlayerName(playerid)); SendClientMessageToAll(ROT,string); return 1; } ocmd:goto(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID; if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze /goto [id]"); new Float: PosX, Float: PosY, Float: PosZ; GetPlayerPos(pID, PosX, PosY, PosZ ); SetPlayerPos(playerid, PosX+4, PosY+4, PosZ+4 ); new veh = GetPlayerVehicleID(playerid); SetVehiclePos(veh, PosX+4, PosY+4, PosZ+4); PutPlayerInVehicle(playerid,veh,0); new String[100],string[100]; format(string,sizeof(string),"Admin %s hat sich zu %s teleportiert.",PlayerName(playerid),PlayerName(pID)); format(String, sizeof(String), "%s hat sich zu dir geportet.",PlayerName(playerid)); SendClientMessage(pID, ROT, String); format(String, sizeof(String), "Du hast dich zu %s geportet.",PlayerName(pID)); SendClientMessage(playerid, ROT, String); return 1; } ocmd:get(playerid,params[]) { if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 4 oder höher!"); new pID; if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze /get [id]"); new Float: PosX, Float: PosY, Float: PosZ; GetPlayerPos(playerid, PosX, PosY, PosZ ); SetPlayerPos(pID, PosX+4, PosY+4, PosZ+4 ); new veh = GetPlayerVehicleID(pID); SetVehiclePos(veh, PosX+4, PosY+4, PosZ+4); PutPlayerInVehicle(pID,veh,0); new String[100],string[100]; format(string,sizeof(string),"Admin %s hat %s zu sich teleportiert.",PlayerName(playerid),PlayerName(pID)); format(String, sizeof(String), "Admin %s hat Dich zu sich teleportiert",PlayerName(playerid)); SendClientMessage(pID, ROT, String); format(String, sizeof(String), "Du hast %s zu Dir teleportiert.",PlayerName(pID)); SendClientMessage(playerid, ROT, String); return 1; } ocmd:setadmin(playerid,params[]) { if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); new pID,string[128],level; if(sscanf(params,"ui",pID,level))return SendClientMessage(playerid,ROT,"Benutze /setadmin [playerid] [level]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); SetPVarInt(pID,"Adminlevel",level); format(string,sizeof(string),"Admin %s hat %s das Adminlevel %d gegeben.",PlayerName(playerid),PlayerName(pID),level); SendClientMessageToAll(ROT,string); return 1; } ocmd:givemoney(playerid,params[]) { if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 4 oder höher!"); new pID,string[128],stringz[128],geld; if(sscanf(params,"ui",pID,geld))return SendClientMessage(playerid,ROT,"Benutze /givemoney [playerid] [betrag]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Du hast %s %d$ gegeben!",SpielerName(pID),geld); SendClientMessage(playerid,BLAU,string); format(stringz,sizeof(stringz),"Admin %s hat Dir %d$ gegeben!",SpielerName(playerid),geld); SendClientMessage(pID,BLAU,string); GivePlayerMoney(pID,geld); return 1; } ocmd:givescore(playerid,params[]) { if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); new pID,string[128],stringz[128],score; if(sscanf(params,"ui",pID,score))return SendClientMessage(playerid,ROT,"Benutze /givescore [playerid] [score]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Du hast %s %d Score gegeben!",SpielerName(pID),score); SendClientMessage(playerid,BLAU,string); format(stringz,sizeof(stringz),"Admin %s hat Dir %d Score gegeben!",SpielerName(playerid),score); SendClientMessage(pID,BLAU,string); return 1; } ocmd:setscore(playerid,params[]) { if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); new pID,string[128],stringz[128],score; if(sscanf(params,"ui",pID,score))return SendClientMessage(playerid,ROT,"Benutze /setscore [playerid] [score]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Du hast %s's Score auf %d gesetzt!",SpielerName(pID),score); SendClientMessage(playerid,BLAU,string); format(stringz,sizeof(stringz),"Admin %s hat Dein Score auf %d gesetzt!",SpielerName(playerid),score); SendClientMessage(pID,BLAU,string); return 1; } ocmd:kick(playerid,params[]) { if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 1 oder höher!"); new pID,string[256],grund; if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutze /kick [playerid] [grund]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"%s wurde von Admin %s gekickt! (Grund: %s)",SpielerName(pID),SpielerName(playerid),grund); SendClientMessageToAll(ROT,string); SetTimerEx("KickTimer",1000,false,"i",pID); return 1; } ocmd:sethp(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[128],stringz[128],hp; if(sscanf(params,"ui",pID,hp))return SendClientMessage(playerid,ROT,"Benutze /sethp [playerid] [hp]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Admin %s hat Deine HP auf %d gesetzt.",SpielerName(playerid),hp); SendClientMessage(pID,BLAU,string); format(stringz,sizeof(stringz),"Du hast die HP von %s auf %d gesetzt.",SpielerName(pID),hp); SendClientMessage(playerid,BLAU,stringz); SetPlayerHealth(pID,hp); return 1; } ocmd:setarmour(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[128],stringz[128],armour; if(sscanf(params,"ui",pID,armour))return SendClientMessage(playerid,ROT,"Benutze /setarmour [playerid] [armour]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Admin %s hat Deine Armour auf %d gesetzt.",SpielerName(playerid),armour); SendClientMessage(pID,BLAU,string); format(stringz,sizeof(stringz),"Du hast die Armour von %s auf %d gesetzt.",SpielerName(pID),armour); SendClientMessage(playerid,BLAU,stringz); SetPlayerArmour(pID,armour); return 1; } ocmd:resetweapons(playerid,params[]) { if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 2 oder höher!"); new pID,string[128]; if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze /resetweapons [playerid]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"Admin %s hat %s die Waffen entzogen!",SpielerName(playerid),SpielerName(pID)); SendClientMessageToAll(ROT,string); ResetPlayerWeapons(pID); return 1; } ocmd:ban(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[256],grund; if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutze /ban [playerid] [grund]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"%s wurde von Admin %s gebannt! (Grund: %s)",SpielerName(pID),SpielerName(playerid),grund); SendClientMessageToAll(ROT,string); SetPVarInt(pID,"Baned",1); SetTimerEx("BanTimer",1000,false,"i",pID); return 1; } ocmd:say(playerid,params[]) { if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 1 oder höher!"); new string[256],stringz[256]; if(sscanf(params,"s",string))return SendClientMessage(playerid,ROT,"Benutze /say [text]"); format(string,sizeof(string),"[ ADMIN ]: {FEFEFE}%s",string); SendClientMessageToAll(ROT,string); format(stringz,sizeof(stringz),"%s : %s",PlayerName(playerid),string); return 1; } ocmd:text(playerid,params[]) { if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 2 oder höher!"); new string[256]; new stringz[256]; format(stringz,sizeof(stringz),"%s : %s",PlayerName(playerid),string); if(sscanf(params,"s",string))return SendClientMessage(playerid,ROT,"Benutze /text [text]"); format(string,sizeof(string),"%s",string); GameTextForAll(string,3000,3); return 1; } ocmd:akill(playerid,params[]) { if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 3 oder höher!"); new pID,string[256],grund; if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutze /akill [playerid] [grund]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!"); format(string,sizeof(string),"%s wurde von Admin %s gekillt. (Grund: %s)",SpielerName(pID),SpielerName(playerid),grund); SendClientMessageToAll(ROT,string); SetPlayerHealth(pID,0); return 1; } ocmd:restart(playerid,params[]) { if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); SetTimer("CD4",1000,0); return 1; } ocmd:off(playerid,params[]) { if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist nicht Admin Level 5 oder höher!"); SendClientMessageToAll(GELB,"--------------------------------------"); new string[128]; format(string,sizeof(string),"%Admin %s hat den Server ausgeschaltet!",SpielerName(playerid)); SendRconCommand("exit"); return 1; } stock SpielerName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; } stock PlayerName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; }