Hallo Community, ich habe 2 Bugs in meinen Befehlen, jedoch weiß ich nicht woher diese kommen.
Hier fange ich mal mit Bug 1 an, es geht um das Adminduty System. Man gibt /aduty ein und es sollte "Jayen hat sich als Server Leitung angemeldet" kommen , macht man wieder /aduty sollte "Jayen hat sich als Server Leitung abgemeldet" kommen. Jedoch buggt es, wie man im Screen hier sehen kann, ich gabe die ganze Zeit /aduty ein.
Hier mal der Code
ocmd:aduty(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_GRAU,"Diesen Befehl darfst du nicht benutzen.");
if(Adminduty[playerid] == 0)
{
new Adminrang[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 1:(Adminrang="Supporter");
case 2:(Adminrang="Moderator");
case 3:(Adminrang="Administrator");
case 4:(Adminrang="Super Administrator");
case 5:(Adminrang="Server Manager");
case 6:(Adminrang="Server Leitung");
}
new string[128];
format(string,sizeof(string),"%s hat sich als %s angemeldet.",SpielerName(playerid),Adminrang);
SendClientMessageToAll(COLOR_ROT,string);
Adminduty[playerid] = 1;
}
if(Adminduty[playerid] == 1)
{
new Adminrang[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 1:(Adminrang="Supporter");
case 2:(Adminrang="Moderator");
case 3:(Adminrang="Administrator");
case 4:(Adminrang="Super Administrator");
case 5:(Adminrang="Server Manager");
case 6:(Adminrang="Server Leitung");
}
new string1[128];
format(string1,sizeof(string1),"%s hat sich als %s abgemeldet.",SpielerName(playerid),Adminrang);
SendClientMessageToAll(COLOR_ROT,string1);
Adminduty[playerid] = 1;
}
return 1;
}
Dann zum 2 Problem, es geht um das /makeadmin System.
Jedesmal wenn ich /makeadmin *** 6 mache, steht dort das ich denjenigen als Server Leiter aufgenommen habe, was auch so richtig ist.
Mache ich jedoch /makeadmin *** 4 steht dort trotzdem das er als Server Leiter ins Team aufgenommen wurde, obwohl Rang 4 Super Administrator ist.
Hier mal der Befehl
ocmd:makeadmin(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,COLOR_GRAU,"Diesen Befehl darfst du nicht benutzen.");
new pID, string[128], string1[128], Adminrang;
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht online.");
if(sscanf(params,"ui",pID,Adminrang))return SendClientMessage(playerid,COLOR_GRAU,"Benutzung: /makeadmin [ID/Teilname] [Rang]");
if(Adminrang<0||Adminrang>6)return SendClientMessage(playerid,COLOR_GRAU,"Der Adminrang darf nicht unter 0 oder über 6 liegen.");
SetPVarInt(pID,"Adminlevel",Adminrang);
SpielerSpeichern(pID);
new Adminlevel[64];
switch(GetPVarInt(playerid,"Adminlevel"))
{
case 0:(Adminlevel="User");
case 1:(Adminlevel="Supporter");
case 2:(Adminlevel="Moderator");
case 3:(Adminlevel="Administrator");
case 4:(Adminlevel="Super Administrator");
case 5:(Adminlevel="Server Manager");
case 6:(Adminlevel="Server Leitung");
}
format(string,sizeof(string),"Du wurdest von %s zum %s ins Team aufgenommen.",SpielerName(playerid),Adminlevel);
SendClientMessage(pID,COLOR_HELLBLAU,string);
format(string1,sizeof(string1),"Du hast %s als %s ins Team aufgenommen.",SpielerName(pID),Adminlevel);
SendClientMessage(playerid,COLOR_HELLBLAU,string1);
return 1;
}
Viele Grüße