Hey hoo,
ich habe ein kleines Problem mit meinem Timeban System.
Sogut wie alles klappt, also man wird gekickt und da kommt ne Message und alles.
Wenn man sich einloggen will steht auch noch wie lang man gebannt ist.
Das problem ist, wenn die Zeit vorbei ist und ich mich einlogge steht da Passwort ist falsch.
Ich habe dann mal in der .ini geguckt und da steht und das hier :
tban=1419814997
Ich fand es komisch.
hier mal die Bausteine des systems.
new timestamp = gettime();
new Name[MAX_PLAYER_NAME];
new file[128];
GetPlayerName(playerid, Name, sizeof(Name));
format(file,sizeof(file),"Accounts/%s.ini", Name);
new bisgebannt = dini_Int(file,"TBan");
if(timestamp < bisgebannt) //wenn der gerade genommene Timestamp kleiner als bisgebannt ist, liegt das entbannungsdatum in der Zukunft.
{
new differenz = bisgebannt - timestamp; //wir subtrahieren bisgebannt von timestamp, wir erhalten also die Zeit in Sekunden wie lange der Spieler noch gebannt ist.
new minuten = differenz / 60; //wir machen aus den Sekunden Minuten....
new vstr[64]; //neuer String wird deklariert....
format(vstr,sizeof(vstr),"Du bist noch %i Minuten gebannt!",minuten); //So bekommt der Spieler sogar noch angezeigt, wie langer er noch genau gebannt ist.
SendClientMessage(playerid,0xFAFAFAFF,vstr); //String wird dem Spieler ausgegeben
KickTimer(playerid);//Kick erfolgt
}
stock TBan(playerid,const string[],dauer,bannerid)
{
new timestamp;
new str[128];
timestamp = gettime();
new sekunden = dauer * 60;
timestamp += sekunden;
new name[MAX_PLAYER_NAME],bannername[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(bannerid,bannername,sizeof(bannername));
format(str,sizeof(str),"AdmMsg: Spieler %s wurde von Admin %s für %d Minuten gebannt. Grund: %s",name,bannername,dauer,string);
SendClientMessageToAll(ROT,str);
KickTimer(playerid);
new pfad[MAX_PLAYER_NAME+16];
format(pfad,sizeof(pfad),"/accounts/%s.ini",name);
dini_IntSet(pfad, "tban", timestamp);
}
und
ocmd:tban(playerid,params[])
{
new pID,grund[64],dauer;
if(sscanf(params, "usi", pID, grund,dauer))return SendClientMessage(playerid, 0xFF004BFF, "/tban [ID] [Grund] [Dauer]");
TBan(pID,grund,dauer,playerid);
return 1;
}
Kann mir jemand den Fehler nennen ?
Mfg Saphire