zuerst der Befehl, dort habe ich mit SetPVarInt gearbeitet da mein Accountsystem damit verknüpft ist:
ocmd:tban(playerid,params[])
{
new pID,grund[64],str[165],dauer;
new timestamp;
timestamp = gettime();
new sekunden = dauer * 60;
timestamp += sekunden;
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ERROR,""#NOTADMIN"");
if(sscanf(params, "uis", pID, dauer, grund))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}/tban [SpielerName] [Dauer(in Minuten)] [Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: {FAFAFA}Der Spieler ist nicht online.");
format(str,sizeof(str),"[TIMEBAN] %s (ID:%i) wurde von %s (ID:%i) für %d Minuten gebannt. Grund: %s",SpielerName(pID),pID,SpielerName(playerid),playerid,dauer,grund);
SendClientMessageToAll(COLOR_LIGHTRED,str);
ShowTBox(playerid, "TIMEBAN" ,"~g~Spieler wurde gebannt.",3);
ShowTBox(pID, "TIMEBAN" ,"~r~Du wurdest gebannt.",3);
SetPVarInt(playerid,"tban",timestamp);
Kick(playerid);
return 1;
}
und die Speicherung funktioniert zumindest kommen da viel stellige Zahlen und wenn mann sich connectet wird es so abgefragt:
if(gettime() < GetPVarInt(playerid,"tban"))
{
new differenz = GetPVarInt(playerid,"tban") - gettime();
new minuten = differenz / 60;
new str[64];
format(str,sizeof(str),"Du bist noch %i Minuten gebannt,du wirst nun Automatisch gekickt.",minuten);
SendClientMessage(playerid,COLOR_LIGHTRED,str);
ShowTBox(playerid, "KICK" ,"~r~Du wurdest gekickt.",3);
Kick(playerid);
}
else
{
SetPVarInt(playerid,"tban",0);
}
Problem ist das ich mich normal einloggen kann und ich weiß nicht was ich da falsch gemacht habe, speichern tut es viele Zahlen.
Danke im Voraus für weitere hilfe (ist mein Erstes mal mit Timeban).
MFG