Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Adminsystem by Items4Landwirt aka Music4You
- - Es ist verboten meinen Namen aus dem Skript zu löschen!
- - Es ist verboten Dieses Skript nocheinmal zu veröffentlichen
- - Es ist verboten Dieses Skript als eigenes auszugeben.
- Ich danke BlackAce für sein gutes Tutorial für SQLlite.
- http://forum.sa-mp.de/gta-multiplayer-mods/san-andreas-multiplayer/scripting-base/tutorials/121557-sqlite-die-alternative-zu-mysql/
- Nun noch ein Paar YT Kanäle, von guten Freunden
- Music4You http://www.youtube.com/user/Music4You43
- Items4Sacred http://www.youtube.com/user/items4sacred
- Metalletsplay666 http://www.youtube.com/user/MetalLetsPlay666
- */
- #define FILTERSCRIPT
- ////=============== Includes ===============
- #include <a_samp>
- #include <ocmd>
- #include <banfix>
- //=============== Defines ===============
- #define rot 0xFF0A00FF
- #define gruen 0x4BB400FF
- #define grau 0x8C8C8CFF
- #define blau 0x007DFFFF
- #define SCM SendClientMessage
- #define SCMT SendClientMessageToAll
- #define MSG DIALOG_STYLE_MSGBOX
- #define LIST DIALOG_STYLE_LIST
- #define INPUT DIALOG_STYLE_INPUT
- #define Bangrund 999
- #define report 1000
- #define amenu 1001
- #define rang 1002
- #define eingabe 1003
- #define cmdlist 1004
- #define adeingabe 1005
- #define MAX_CMD 30
- ////=============== News ===============
- new DB:Data;
- new bool:insup[MAX_PLAYERS]=false;
- new bool:sup[MAX_PLAYERS]=false;
- new bool:adinsup[MAX_PLAYERS]=false;
- new tag,monat,jahr;
- new stunde,minuten,sekunde;
- new ids;
- new arang1[1][32];
- new arang2[1][32];
- new arang3[1][32];
- new arang4[1][32];
- new arang[MAX_PLAYERS];
- new adcmd[MAX_PLAYERS];
- new supporter;
- new frager;
- enum administator
- {
- Adminlevel,
- banned,
- bangrund[128],
- BanAdmin[MAX_PLAYER_NAME]
- }
- new AdminInfo[MAX_PLAYERS][administator];
- enum cmds
- {
- kick,
- ban,
- opensup,
- closesup,
- mute,
- unmute,
- veh,
- restart,
- makeadmin,
- deladmin,
- gotos,
- amenus
- }
- new CInfo[MAX_CMD][cmds];
- public OnFilterScriptInit()
- {
- print("\n======================================================");
- print(" SQLLite Dynamic Admin by Music4You aka Items4Landwirt");
- print("======================================================\n");
- Data = db_open("admin.db");
- db_query(Data,"CREATE TABLE IF NOT EXISTS `admin`(`Name`,`Adminlevel`)");
- db_query(Data,"CREATE TABLE IF NOT EXISTS `rank`(`arang1`,`arang2`,`arang3`,`arang4`)");
- db_query(Data,"CREATE TABLE IF NOT EXISTS `logs`(`Typ`,`Admin`,`Spieler`,`Grund`,`Datum`,`Uhrzeit`)");
- db_query(Data,"CREATE TABLE IF NOT EXISTS `bans`(`Name`,`IP`,`BanAdmin`,`Grund`,`banned`,`Datum`,`Uhrzeit`)");
- db_query(Data,"CREATE TABLE IF NOT EXISTS `cmds`(`kick`,`ban`,`gotos`,`opensup`,`closesup`,`mute`,`unmute`,`veh`,`restart`,`makeadmin`,`amenus`)");
- updaterang();
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new DBResult:Result, str[512];
- format(str, sizeof(str), "SELECT * FROM `admin` WHERE Name = '%s'",SpielerName(playerid));
- Result = db_query(Data,str);
- db_get_field_assoc(Result,"Adminlevel",str,sizeof(str));
- AdminInfo[playerid][Adminlevel]=strval(str);
- db_free_result(Result);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- new DBResult:Result, str[512],string[512];
- format(str, sizeof(str), "SELECT * FROM `bans` WHERE Name = '%s'",SpielerName(playerid));
- Result = db_query(Data,str);
- db_get_field_assoc(Result,"banned",str,sizeof(str));
- AdminInfo[playerid][banned]=strval(str);
- db_get_field_assoc(Result,"Grund",str,sizeof(str));
- format(AdminInfo[playerid][bangrund],MAX_PLAYER_NAME,"%s",str);
- db_get_field_assoc(Result,"BanAdmin",str,sizeof(str));
- format(AdminInfo[playerid][BanAdmin],MAX_PLAYER_NAME,"%s",str);
- db_free_result(Result);
- if(AdminInfo[playerid][banned]==1)
- {
- for(new t=0;t<MAX_TEXT_DRAWS;t++)
- {
- if(t != INVALID_TEXT_DRAW) TextDrawHideForPlayer(playerid,Text:t);
- }
- for(new t=0;t<MAX_PLAYER_TEXT_DRAWS;t++)
- {
- if(t != INVALID_TEXT_DRAW) PlayerTextDrawHide(playerid,PlayerText:t);
- }
- format(string,sizeof(string),"%s, Du wurdest Permanent vom Server Gebannt\nDer Grund des des Admins %s war: %s",SpielerName(playerid),AdminInfo[playerid][BanAdmin],AdminInfo[playerid][bangrund]);
- ShowPlayerDialog(playerid,Bangrund,MSG,"Ban",string,"Verlassen","");
- Kick(playerid);
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(GetPVarInt(playerid,"Mute")==1)
- {
- SCM(playerid,rot,"Du bist gemutet!");
- }
- if(insup[playerid]==true)
- {
- new string[128];
- format(string, sizeof(string),"[%s]: %s", SpielerName(playerid), text);
- SCM(supporter,blau,string);
- }
- if(adinsup[playerid]==true)
- {
- new string[128];
- format(string, sizeof(string),"[Admin %s]: %s", SpielerName(playerid), text);
- SCM(frager,blau,string);
- }
- }
- ocmd:a(playerid,params[])
- {
- new text[128],string[128];
- if(!PlayerIsAdmin(playerid,1)) return SCM(playerid,rot,"Du bist nicht Befugt");
- if(sscanf(params,"s",text)) return SCM(playerid, grau,"/a [Text]");
- format(string,sizeof(string),"Adminchat [%s] [%s]: %s",adminrang(playerid),SpielerName(playerid),text);
- SAM(blau,string);
- return 1;
- }
- ocmd:kick(playerid,params[])
- {
- new pID,string[128],reason[128],query[256];
- if(CInfo[ids][kick]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"us", pID,reason)) return SCM(playerid, grau,"/kick [ID][Grund]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- gettime(stunde,minuten,sekunde);
- getdate(jahr,monat,tag);
- format(string,sizeof(string),"[%s] %s hat %s vom Server Gekickt, Grund: %s",adminrang(playerid),AdminInfo[playerid][Adminlevel],SpielerName(playerid),SpielerName(pID),reason);
- SCMT(rot,string);
- format(query,sizeof(query),"INSERT INTO `logs` (`Typ`, `Admin`,`Spieler`,`Grund`,`Uhrzeit`,`Datum`) VALUES ('Kick', '%s','%s','%s','%02d:%02d:%02d','%04d-%02d-%02d')", SpielerName(playerid),SpielerName(pID),reason,stunde,minuten,sekunde,jahr,monat,tag);
- db_query(Data,query);
- Kick(pID);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:goto(playerid,params[])
- {
- new pID,string[128],string2[128],Float:x, Float:y, Float:z;
- if(CInfo[ids][gotos]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"u",pID))return SCM(playerid,grau,"/goto [ID/Name]");
- new car = GetPlayerVehicleID(playerid);
- GetPlayerPos(pID,x,y,z);
- SetPlayerInterior(playerid,GetPlayerInterior(pID));
- SetPlayerPos(playerid,x+2,y+2,z+2);
- if(IsPlayerInAnyVehicle(playerid))
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), x+2, y+2, z+2);
- PutPlayerInVehicle(playerid,car,0);
- }
- {
- format(string,128,"Du hast dich zu %s teleportiert.",SpielerName(pID));
- format(string2,128,"[%s] %s hat sich zu dir teleportiert.",adminrang(playerid),SpielerName(playerid));
- SCM(pID,gruen,string2);
- SCM(playerid,gruen,string);
- }
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:sup(playerid,params[])
- {
- if(insup[playerid]==true) return SCM(playerid,rot,"Du hast bereits ein Ticket offen");
- ShowPlayerDialog(playerid,report,DIALOG_STYLE_INPUT,"Support","Herzlich Wilkommen im Supportsystem\nGebe nun deine Supportnachricht ein\n\nMissbrauche diese Funktion nicht, es wird bestraft!","Weiter","Abbrechen");
- return 1;
- }
- ocmd:opensup(playerid,params[])
- {
- new pID,string[128];
- if(CInfo[ids][opensup]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"u",pID)) return SCM(playerid,grau,"/opensup [ID]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- if(sup[pID]==false) return SCM(playerid,rot,"Der Spieler hat kein Supportticket offen");
- format(string,sizeof(string),"[%s] %s hat dein Support Ticket Geöffnet, du kannst nun freu im Chat schreiben",adminrang(playerid),SpielerName(playerid));
- SCM(pID,blau,string);
- insup[pID]=true;
- adinsup[playerid]=true;
- sup[pID]=false;
- supporter = playerid;
- frager = pID;
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:closesup(playerid,params[])
- {
- new pID,string[128];
- if(CInfo[ids][closesup]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"u",pID)) return SCM(playerid,grau,"/closesup [ID]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- if(insup[pID]==false) return SCM(playerid,rot,"Der Spieler ist nicht im Support");
- format(string,sizeof(string),"[%s] %s hat dein Support Ticket Geschlossen",adminrang(playerid),SpielerName(playerid));
- SCM(pID,blau,string);
- insup[pID]=false;
- adinsup[playerid]=false;
- supporter = 0;
- frager = 0;
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:op(playerid,params[])
- {
- new text[128],string[128];
- if(!PlayerIsAdmin(playerid,1)) return SCM(playerid,rot,"Du bist nicht Befugt");
- if(sscanf(params,"s",text)) return SCM(playerid, grau,"/op [Text]");
- format(string,sizeof(string),"(([%s]%s: %s))",adminrang(playerid),SpielerName(playerid),text);
- SCMT(gruen,string);
- return 1;
- }
- ocmd:mute(playerid,params[])
- {
- new pID,string[128],query[256];
- if(CInfo[ids][mute]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"u",pID))return SCM(playerid,grau,"/mute [Spielername/ID]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- SetPVarInt(pID,"Mute",1);
- format(string,sizeof(string),"Du wurdest von [%s] %s gemutet",adminrang(playerid),SpielerName(playerid));
- SCM(pID,rot,string);
- format(string,sizeof(string),"Du hast erfolgreich User %s gemutet",SpielerName(pID));
- SCM(playerid,rot,string);
- gettime(stunde,minuten,sekunde);
- getdate(jahr,monat,tag);
- format(query,sizeof(query),"INSERT INTO `logs` (`Typ`, `Admin`,`Spieler`,`Grund`,`Uhrzeit`,`Datum`) VALUES ('Mute', '%s','%s','/','%02d:%02d:%02d','%04d-%02d-%02d')", SpielerName(playerid),SpielerName(pID),stunde,minuten,sekunde,jahr,monat,tag);
- db_query(Data,query);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:unmute(playerid,params[])
- {
- new pID,string[128];
- if(CInfo[ids][unmute]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"u",pID))return SCM(playerid,grau,"/unmute [Spielername/ID]");
- if(!IsPlayerConnected(pID)) return SCM(playerid,rot,"Der Spieler ist nicht online");
- SetPVarInt(pID,"Mute",0);
- format(string,sizeof(string),"Du wurdest von [%s] %s entmutet",adminrang(playerid),SpielerName(playerid));
- SCM(pID,rot,string);
- format(string,sizeof(string),"Du hast erfolgreich User %s entmutet",SpielerName(pID));
- SCM(playerid,rot,string);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:veh(playerid,params[])
- {
- new ModelID, color[2],Float:VehPos[4], vehicleid;
- if(CInfo[ids][veh]<= AdminInfo[playerid][Adminlevel])
- {
- if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,grau,"Du bist nicht zu Fuss");
- if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,grau, "/veh [Fahrzeug ID] [Farbe1] [Farbe2]");
- if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,grau, "Die Fahrzeug Id muss von 400 bis 611 sein");
- GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
- GetPlayerFacingAngle(playerid, VehPos[3]);
- vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
- LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
- PutPlayerInVehicle(playerid, vehicleid, 0);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:ban(playerid,params[])
- {
- new pID,string[128],String[128],reason[128],query[512],Query[512];
- if(CInfo[ids][ban]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"us", pID,reason)) return SCM(playerid, grau,"/ban [ID][Grund]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- format(string,sizeof(string),"[%s] %s hat %s vom Server Gebannt, Grund: %s",adminrang(playerid),SpielerName(playerid),SpielerName(pID),reason);
- SCMT(rot,string);
- format(String,sizeof(String),"%s, Du wurdest Permanent vom Server Gebannt\nDer Grund des des Admins %s war: %s",SpielerName(pID),SpielerName(playerid),reason);
- ShowPlayerDialog(playerid,Bangrund,MSG,"Ban",String,"Verlassen","");
- gettime(stunde,minuten,sekunde);
- getdate(jahr,monat,tag);
- format(query,sizeof(query),"INSERT INTO `logs` (`Typ`, `Admin`,`Spieler`,`Grund`,`Uhrzeit`,`Datum`) VALUES ('Ban', '%s','%s','%s','%02d:%02d:%02d','%04d-%02d-%02d')", SpielerName(playerid),SpielerName(pID),reason,stunde,minuten,sekunde,jahr,monat,tag);
- format(Query,sizeof(Query),"INSERT INTO `bans` (`Name`, `IP`,`BanAdmin`,`Grund`,`banned`) VALUES ('%s','%s','%s','%s','1')", SpielerName(pID),SpielerIP(pID),SpielerName(playerid),reason);
- db_query(Data,query);
- db_query(Data,Query);
- Kick(pID);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:restart(playerid,params[])
- {
- new reason[128],string[128],query[128];
- if(CInfo[ids][restart]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"s", reason)) return SCM(playerid, grau,"/restart [Grund]");
- format(string,sizeof(string),"Der Server wird in 1 Minute Restartet, Grund: %s",reason);
- SCMT(rot,string);
- gettime(stunde,minuten,sekunde);
- getdate(jahr,monat,tag);
- format(query,sizeof(query),"INSERT INTO `logs` (`Typ`, `Admin`,`Spieler`,`Grund`,`Uhrzeit`,`Datum`) VALUES ('Restart', '%s','/','%s','%02d:%02d:%02d','%04d-%02d-%02d')", SpielerName(playerid),reason,stunde,minuten,sekunde,jahr,monat,tag);
- db_query(Data,query);
- SetTimer("gmx",60000,false);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:makeadmin(playerid,params[])
- {
- new pID,level,string[128],strings[128],query[128],Query[128];
- if(CInfo[ids][makeadmin]<= AdminInfo[playerid][Adminlevel])
- {
- if(sscanf(params,"ud", pID, level)) return SCM(playerid, grau,"/setadmin [ID] [Level]");
- if(pID == INVALID_PLAYER_ID) return SCM(playerid,rot,"Ungültiger Spieler!");
- AdminInfo[pID][Adminlevel] = level;
- format(string,sizeof(string),"[%s] %s hat dir das Adminlevel %d gegeben",adminrang(playerid),SpielerName(playerid),level);
- SCM(pID,gruen,string);
- format(strings,sizeof(strings),"du hast %s das Adminlevel %d gegeben",SpielerName(pID),level);
- SCM(playerid,gruen,strings);
- format(query, sizeof(query), "UPDATE `admin` SET Adminlevel = '%d' WHERE Name = '%s'", level, SpielerName(playerid));
- db_query(Data,query);
- AdminInfo[pID][Adminlevel] = level;
- format(string,sizeof(string),"[%s] %s hat dir das Adminlevel %d gegeben",adminrang(playerid),SpielerName(playerid),level);
- SCM(pID,gruen,string);
- format(strings,sizeof(strings),"du hast %s das Adminlevel %d gegeben",SpielerName(pID),level);
- SCM(playerid,gruen,strings);
- gettime(stunde,minuten,sekunde);
- getdate(jahr,monat,tag);
- format(Query,sizeof(Query),"INSERT INTO `logs` (`Typ`, `Admin`,`Spieler`,`Grund`,`Uhrzeit`,`Datum`) VALUES ('Makeadmin', '%s','%s','/','%02d:%02d:%02d','%04d-%02d-%02d')", SpielerName(playerid),SpielerName(pID),stunde,minuten,sekunde,jahr,monat,tag);
- db_query(Data,Query);
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- ocmd:amenu(playerid,params[])
- {
- if(CInfo[ids][amenus]<= AdminInfo[playerid][Adminlevel])
- {
- ShowPlayerDialog(playerid,amenu,LIST,"Adminmenu","Adminränge\nAdminbefehle","Auswählen","Abbrechen");
- }
- else
- {
- SCM(playerid,rot,"Du bist nicht Befugt");
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case report:
- {
- if(response)
- {
- if(!strlen(inputtext)) return 1;
- new string[128];
- format(string,sizeof(string),"[SUPPORT] Spieler: %s, Frage: %s",SpielerName(playerid),inputtext);
- SAM(gruen,string);
- SCM(playerid,gruen,"Deine Supportanfrage ist nun an alle Admins gegangen, habe etwas Gedult");
- sup[playerid]=true;
- }
- }
- case amenu:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- new string[400],id;
- format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s",arang1[id],arang2[id],arang3[id],arang4[id]);
- ShowPlayerDialog(playerid,rang,LIST,"Rangmenu",string,"Auswählen","Abbrechen");
- }
- case 1:
- {
- new string[500];
- format(string,sizeof(string),"Kick: %d\nBan: %d\nopensup: %d\nclosesup: %d\nmute: %d\nunmute: %d\nveh: %d\nrestart: %d\nmakeadmin: %d\ngoto: %d\namenu: %d",
- CInfo[ids][kick],CInfo[ids][ban],CInfo[ids][opensup],CInfo[ids][closesup],CInfo[ids][mute],CInfo[ids][unmute],CInfo[ids][veh],CInfo[ids][restart],CInfo[ids][makeadmin],CInfo[ids][gotos],CInfo[ids][amenus]);
- ShowPlayerDialog(playerid,cmdlist,LIST,"Admin CMD List",string,"Auswählen","Abbrechen");
- }
- }
- }
- }
- case cmdlist:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Kick Command ein","Weiter","Abbrechen");
- adcmd[playerid]=1;
- }
- case 1:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Ban Command ein","Weiter","Abbrechen");
- adcmd[playerid]=2;
- }
- case 2:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Opensup Command ein","Weiter","Abbrechen");
- adcmd[playerid]=3;
- }
- case 3:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Closesup Command ein","Weiter","Abbrechen");
- adcmd[playerid]=4;
- }
- case 4:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Mute Command ein","Weiter","Abbrechen");
- adcmd[playerid]=5;
- }
- case 5:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den UnMute Command ein","Weiter","Abbrechen");
- adcmd[playerid]=6;
- }
- case 6:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Veh Command ein","Weiter","Abbrechen");
- adcmd[playerid]=7;
- }
- case 7:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Restart Command ein","Weiter","Abbrechen");
- adcmd[playerid]=8;
- }
- case 8:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Makeadmin Command ein","Weiter","Abbrechen");
- adcmd[playerid]=9;
- }
- case 9:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Goto Command ein","Weiter","Abbrechen");
- adcmd[playerid]=10;
- }
- case 10:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Amenu Command ein","Weiter","Abbrechen");
- adcmd[playerid]=11;
- }
- case 11:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Catm Command ein","Weiter","Abbrechen");
- adcmd[playerid]=12;
- }
- case 12:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Delatm Command ein","Weiter","Abbrechen");
- adcmd[playerid]=13;
- }
- case 13:
- {
- ShowPlayerDialog(playerid,adeingabe,INPUT,"CMD Rang","Nun das benötigte Adminlevel (1-4) für den Delallatm Command ein","Weiter","Abbrechen");
- adcmd[playerid]=14;
- }
- }
- }
- }
- case adeingabe:
- {
- if(response)
- {
- new query[256],string[128];
- if(adcmd[playerid]==1)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET kick = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Kick Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==2)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET ban = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Ban Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==3)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET opensup = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Opensup Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==4)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET closesup = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Closesup Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==5)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET mute = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Mute Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==6)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET unmute = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den UnMute Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==7)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET veh = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Veh Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==8)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET restart = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Restart Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==9)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET makeadmin = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Makeadmin Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==10)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET gotos = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Goto Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==11)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET amenus = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Amenu Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==12)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET catm = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Catm Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==13)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET delatm = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Delatm Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- else if(adcmd[playerid]==14)
- {
- format(query, sizeof(query), "UPDATE `cmds` SET delallatm = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Delallatm Command auf Adminlevel %s gesetzt",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- adcmd[playerid]=0;
- }
- updatecmdlist();
- }
- }
- case rang:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- ShowPlayerDialog(playerid,eingabe,INPUT,"Rangeingabe","Gebe nun den Namen für den Adminrang 1 ein","Weiter","Abbrechen");
- arang[playerid]=1;
- }
- case 1:
- {
- ShowPlayerDialog(playerid,eingabe,INPUT,"Rangeingabe","Gebe nun den Namen für den Adminrang 2 ein","Weiter","Abbrechen");
- arang[playerid]=2;
- }
- case 2:
- {
- ShowPlayerDialog(playerid,eingabe,INPUT,"Rangeingabe","Gebe nun den Namen für den Adminrang 3 ein","Weiter","Abbrechen");
- arang[playerid]=3;
- }
- case 3:
- {
- ShowPlayerDialog(playerid,eingabe,INPUT,"Rangeingabe","Gebe nun den Namen für den Adminrang 4 ein","Weiter","Abbrechen");
- arang[playerid]=4;
- }
- }
- }
- }
- case eingabe:
- {
- if(response)
- {
- new query[256],string[128];
- if(arang[playerid]==1)
- {
- format(query, sizeof(query), "UPDATE `rank` SET arang1 = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Adminrang 1 in %s umbenannt'",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- arang[playerid]=0;
- }
- else if(arang[playerid]==2)
- {
- format(query, sizeof(query), "UPDATE `rank` SET arang2 = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Adminrang 2 in %s umbenannt'",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- arang[playerid]=0;
- }
- else if(arang[playerid]==3)
- {
- format(query, sizeof(query), "UPDATE `rank` SET arang3 = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Adminrang 3 in %s umbenannt'",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- arang[playerid]=0;
- }
- else if(arang[playerid]==4)
- {
- format(query, sizeof(query), "UPDATE `rank` SET arang4 = '%s'",inputtext);
- format(string, sizeof(string), "Du hast den Adminrang 4 in %s umbenannt'",inputtext);
- db_query(Data,query);
- SCM(playerid,gruen,string);
- arang[playerid]=0;
- }
- updaterang();
- }
- }
- }
- return 0;
- }
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock PlayerIsAdmin(playerid,level)
- {
- if(AdminInfo[playerid][Adminlevel] >= level) return 1;
- return 0;
- }
- stock SpielerIP(playerid)
- {
- new getip[16];
- GetPlayerIp(playerid,getip,sizeof(getip));
- return getip;
- }
- stock SAM(farbe,text[])
- {
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(AdminInfo[i][Adminlevel]>=1)
- {
- SCM(i,farbe,text);
- return 1;
- }
- }
- return 1;
- }
- stock updaterang()
- {
- new DBResult:Result, str[512],id=0;
- format(str, sizeof(str), "SELECT * FROM `rank`");
- Result = db_query(Data,str);
- db_get_field_assoc(Result,"arang1",str,sizeof(str));
- format(arang1[id],21,"%s",str);
- db_get_field_assoc(Result,"arang2",str,sizeof(str));
- format(arang2[id],21,"%s",str);
- db_get_field_assoc(Result,"arang3",str,sizeof(str));
- format(arang3[id],21,"%s",str);
- db_get_field_assoc(Result,"arang4",str,sizeof(str));
- format(arang4[id],21,"%s",str);
- }
- stock updatecmdlist()
- {
- new DBResult:Result, str[1000];
- format(str, sizeof(str), "SELECT * FROM `cmds`");
- Result = db_query(Data,str);
- db_get_field_assoc(Result,"kick",str,sizeof(str));
- CInfo[ids][kick]=strval(str);
- db_get_field_assoc(Result,"ban",str,sizeof(str));
- CInfo[ids][ban]=strval(str);
- db_get_field_assoc(Result,"gotos",str,sizeof(str));
- CInfo[ids][gotos]=strval(str);
- db_get_field_assoc(Result,"opensup",str,sizeof(str));
- CInfo[ids][opensup]=strval(str);
- db_get_field_assoc(Result,"closesup",str,sizeof(str));
- CInfo[ids][closesup]=strval(str);
- db_get_field_assoc(Result,"mute",str,sizeof(str));
- CInfo[ids][mute]=strval(str);
- db_get_field_assoc(Result,"unmute",str,sizeof(str));
- CInfo[ids][unmute]=strval(str);
- db_get_field_assoc(Result,"veh",str,sizeof(str));
- CInfo[ids][veh]=strval(str);
- db_get_field_assoc(Result,"restart",str,sizeof(str));
- CInfo[ids][restart]=strval(str);
- db_get_field_assoc(Result,"makeadmin",str,sizeof(str));
- CInfo[ids][makeadmin]=strval(str);
- db_get_field_assoc(Result,"amenus",str,sizeof(str));
- CInfo[ids][amenus]=strval(str);
- db_free_result(Result);
- }
- stock adminrang(playerid)
- {
- new adminr[50],id;
- if (AdminInfo[playerid][Adminlevel] == 1) adminr = (arang1[id]);
- if (AdminInfo[playerid][Adminlevel] == 2) adminr = (arang2[id]);
- if (AdminInfo[playerid][Adminlevel] == 3) adminr = (arang3[id]);
- if (AdminInfo[playerid][Adminlevel] == 4) adminr = (arang4[id]);
- return adminr;
- }
- forward gmx();
- public gmx()
- {
- SendRconCommand("gmx");
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- 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 = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = stringPos;
- while(changepos < 16 && string[strpos] && string[strpos] != delim)
- {
- changestr[changepos++] = string[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(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++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
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement