//Timeban
command(timeban, playerid, params[])
{
new string[128], reason[105], id, zeit;
//Loggen
new year, month, day;
new hour,minute,second;
getdate(year,month,day);
gettime(hour,minute,second);
if(sStats[playerid][pAdminlevel] < 2)
return SendClientMessage(playerid, Rot, "Du bist kein Administrator oder dein Administratorenlevel ist zu niedrig!");
if(GetPVarInt(playerid, "Adminduty") == 0)
return SendClientMessage(playerid, Rot, "Du musst erst als Admin im Einsatz sein um andere Leute bannen zu können!");
if(sscanf(params, "uds", id,zeit, reason))
{
SendClientMessage(playerid, Weiß, "Befehl: /timeban [Name/ID] [Zeit] [Grund]");
SendClientMessage(playerid, Gelb, "Zeitangabe in Minuten.");
return 1;
}
if(sStats[playerid][pAdminlevel] < 3 && zeit > 180)
return SendClientMessage(playerid,Rot,"Du kannst den Spieler nur für max. 180 Minuten bannen!");
if(id == playerid)
return SendClientMessage(playerid,Rot,"Du kannst dich nicht selber bannen!");
if(IsPlayerNPC(id))
return SendClientMessage(playerid,Rot,"Du kannst keinen NPC/Bot bannen!");
if(id == INVALID_PLAYER_ID)
return SendClientMessage(playerid,Rot,"Dieser Spieler existiert nicht!");
if(sStats[playerid][pAdminlevel] < sStats[id][pAdminlevel])
return SendClientMessage(playerid, Rot, "Du kannst keinen Administrator bannen, welcher ein höheres Administratorenlevel hat wie du!");
format(string, sizeof(string), "* Du wurdest vom Administrator %s für %d Minuten vom Server gebannt. Grund: %s", GetName(playerid),zeit, reason);
SendClientMessage(id, Rot, string);
format(string, sizeof(string), "* Spieler %s[%d] wurde vom Administrator %s für %d Minuten gebannt. Grund: %s", GetName(id),id, GetName(playerid),zeit, reason);
SendClientMessageToAll(Rot, string);
format(string,sizeof(string),"(%d/%d/%d) [%d:%d:%d] %s wurde vom Administrator %s fuer %d Minuten gebannt. Grund: %s",day,month,year,hour,minute,second,GetName(id),GetName(playerid),zeit,reason);
BanLog(string);
TogglePlayerControllable(id, false);
sStats[id][pTimeBan] = gettime()+(60*zeit);
SpielerSpeichern(id);
SetTimerEx("KickTimer",1000,false,"i",id);
return 1;
}
bei spielerladen:
//Timeban
if(gettime()<sStats[playerid][pTimeBan] && sStats[playerid][pTimeBan] > 0)
{
new days,hours,mins,string[800];
new wartezeit = sStats[playerid][pTimeBan];
new restzeit= wartezeit -gettime();
days = floatround(restzeit / 86400,floatround_floor);
hours = restzeit - (days * 86400);
hours = floatround(hours / 3600,floatround_floor);
mins = restzeit - ( (days * 86400) + (hours * 3600) );
mins = floatround(mins / 60,floatround_floor);
format(string, sizeof(string), "Du bist noch für %d Stunden und %d mins.",hours,mins);
SendClientMessage(playerid, Rot,string);
TogglePlayerControllable(playerid, false);
SpielerSpeichern(playerid);
SetTimerEx("KickTimer",1000,false,"i",playerid);
return 1;
}
else
{
sStats[playerid][pTimeBan] = 0;
}