Hallo,
Ich hab ein Problem mit dem Speichern des Grundes und der Name des Admins der den Ban ausgeführt hat
Wer mein Thread "Timebanzeit läuft einfach weiter" gesehen hat merkt , dass der Grund und Der Name (Zensiert) angezeigt werden.
Das bedeutet im Dialog stehen Grund und Adminname leer.
Mögliche Codes die dieses Problem auslösen:
ocmd:tban(playerid,params[])
{
if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
{
new pID;
new zeit;
new grund[64];
new string[128];
new tmptime;
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Der Spieler ist nicht verbunden.");
if(sscanf(params,"uis",pID,zeit,grund))return SendClientMessage(playerid,Gelb,"/tban [Spieler/ID] [Zeit] [Grund]");
{
format(string,sizeof(string),"%s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),zeit,grund);
SendClientMessageToAll(Superhellrot,string);
tmptime = gettime()+(60*zeit);
SetPVarInt(pID,"Timeban",tmptime);
new Spieler[128];
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(pID));
{
dini_Set(Spieler,"Timebangrund",grund);
dini_Set(Spieler,"Timebanadmin",SpielerName(playerid));
dini_IntSet(Spieler,"Timebanzeit",GetPVarInt(pID,"Timeban"));
}
Kick(pID);
}
}
return 1;
}
ocmd:offban(playerid,params[])
{
new Spieler[64];
new string[128];
new offreason[64];
new name[MAX_PLAYER_NAME];
if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
{
if(sscanf(params,"ss",name,offreason))return SendClientMessage(playerid,Gelb,"/offban [Spielername] [Grund]");
{
format(string,sizeof(string),"%s wurde von %s offline gebannt. Grund: %s",name,SpielerName(playerid),offreason);
SendClientMessageToAll(Rot,string);
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",name);
if(fexist(Spieler))
{
dini_IntSet(Spieler,"Ban",1);
dini_Set(Spieler,"Admin",SpielerName(playerid));
dini_Set(Spieler,"Grund",offreason);
}
else
{
SendClientMessage(playerid,Rot,"Keine Spieler mit diesen Namen in der Datenbank gefunden.");
}
}
}
return 1;
}
ocmd:unban(playerid,params[])
{
new Spieler[64];
new string[128];
new name[MAX_PLAYER_NAME];
if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
{
if(sscanf(params,"s",name))return SendClientMessage(playerid,Gelb,"/unban [Spieler]");
format(string,sizeof(string),"*%s wurde von %s entbannt.",name,SpielerName(playerid));
SendClientMessageToAll(Rot,string);
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",name);
if(dini_Exists(Spieler))
{
dini_IntSet(Spieler,"Ban",0);
dini_Unset(Spieler,"Reason");
dini_Unset(Spieler,"Admin");
}
}
return 1;
}
ocmd:ban(playerid,params[])
{
new pID;
new reason[128];
new string[256];
if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
{
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Der Spieler ist nicht verbunden.");
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Gelb,"/ban [Spieler/ID] [Grund]");
{
format(string,sizeof(string),"*%s wurde von %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(Rot,string);
SetPVarInt(pID,"Ban",1);
new Spieler[128];
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(pID));
if(dini_Exists(Spieler))
{
dini_Set(Spieler,"Reason",reason);
dini_Set(Spieler,"Admin",SpielerName(playerid));
}
Kick(pID);
}
}
return 1;
}
new Spieler1[128];
format(Spieler1,sizeof(Spieler1),"/Spieler/%s.txt",SpielerName(playerid));
if(dini_Exists(Spieler1))
{
SetPVarInt(playerid,"Timeban",dini_Int(Spieler1,"Timebanzeit"));
dini_Get(Spieler1,"Timebangrund");
dini_Get(Spieler1,"Timebanadmin");
}
new time = gettime();
if(time < GetPVarInt(playerid,"Timeban"))
{
new restzeit = (GetPVarInt(playerid,"Timeban") - time)/60;
new string[384];
format(string,sizeof(string),"Dein Account wurde wegen eines Regelverstoßes temporär gesperrt, mit ihm kann zurzeit nicht gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: %i Minute/n\nAdmin: %s",dini_Get(Spieler1,"Timebangrund"),restzeit,dini_Get(Spieler1,"Timebanadmin"));
ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Temporärer Spielausschluss",string,"Okay","");
return 0;
}
new bantext[384];
new Spieler[64];
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(playerid));
if(dini_Exists(Spieler))
{
dini_Get(Spieler,"Reason");
dini_Get(Spieler,"Admin");
SetPVarInt(playerid,"Ban",dini_Int(Spieler,"Ban"));
}
if(GetPVarInt(playerid,"Ban") !=0)
{
format(bantext,sizeof(bantext),"Dein Account wurde wegen eines Regelverstoßes gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: permanent\nAusführender Admin: %s",dini_Get(Spieler,"Reason"),dini_Get(Spieler,"Admin"));
ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Spielausschluss",bantext,"Okay","");
return 0;
}
Ich bedanke mich schon im Vorraus
Mit freundlichen Grüßen
Domain_26
EDIT: Ich bin wahrscheinlich der größte Vollidiot den es gibt . Hab beim Disconnect SpielerReset gemacht ...