Kann der Temp Ban so funktionieren oder könnte in anderen Zeit verhältnissen die aktuelle Zeit kleiner als die Banzeit sein ?
Wenn es so nicht funktionniert, wie kann ich es dann machen ?
OnPlayerConnect
if(GetPVarInt(playerid,TBAN_KEY) >= 1)
{
new year,month,day,hour,minute,second,time;
getdate(year,month,day);
gettime(hour,minute,second);
time = year+month+day+hour;
if(GetPVarInt(playerid,TBAN_KEY) > time)
{
SendClientMessage(playerid,lila,"Tempban noch aktiv");
Kick(playerid);
}
}
dcmd_tban(playerid,params[])
{
new zielid,zeit,grund[128];
if(sscanf(params, "uds",zielid,zeit,grund))
{
return SendClientMessage(playerid,weiß,"Benutzung: /tban [ID] [Stunden] [Grund]");
}
if(GetPVarInt(playerid,ADMIN_KEY) >= 4)
{
if(!IsPlayerConnected(zielid))
{
SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
}
else
{
new admin[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,admin,sizeof(admin));
format(string,sizeof(string),"Du wurdest von Admin %s für %d Stunden gebannt. Grund: %s",admin,zeit,grund);
SendClientMessage(zielid,lila,string);
new string2[128];
new gekickt[MAX_PLAYER_NAME];
GetPlayerName(zielid,gekickt,sizeof(gekickt));
format(string2,sizeof(string2),"Admin-Command: Admin %s hat %s für %d Stunden gebannt. Grund: %s",admin,gekickt,zeit,grund);
new year,month,day,hour,minute,second,bisban;
getdate(year,month,day);
gettime(hour,minute,second);
bisban = year+month+day+hour+zeit;
SetPVarInt(playerid,TBAN_KEY,bisban);
SendClientMessageToAll(lila,string2);
admincmdlog(string2);
}
}
else
{
SendClientMessage(playerid,rot,"Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
}
return 1;
}