enum tbSyS
{//Oben mit zu deinen enums!
tbName[MAX_PLAYER_NAME],
tbIp[16],
tbMinutes
};
new TimebanInfo[100][tbSyS];
stock LoadTempBans()//In den OnGameModeInit
{
new File:tbFile=fopen("tempbans.cfg",io_read),Content[64],tb;
while(fread(tbFile,Content) && tb < sizeof(TimebanInfo))
{
StripNewLine(Content);
sscanf(Content,"ssd",TimebanInfo[tb][tbName],TimebanInfo[tb][tbIp],TimebanInfo[tb][tbMinutes]);
if(TimebanInfo[tb][tbMinutes])
tb++;
}
fclose(tbFile);
return 1;
}
stock SaveTempBans()//In den OnGameModeExit
{
new File:tbFile=fopen("tempbans.cfg",io_write),Content[64];
for(new tb;tb<sizeof(TimebanInfo);tb++)
{
if(TimebanInfo[tb][tbMinutes])
{
format(Content,sizeof(Content),"%s %s %d\r\n",TimebanInfo[tb][tbName],TimebanInfo[tb][tbIp],TimebanInfo[tb][tbMinutes]);
fwrite(tbFile,Content);
}
}
fclose(tbFile);
return 1;
}
stock IsPlayerBanned(playerid)//Am Besten beim erfolgreichen Login anwenden.
{
new tbPlayerName[MAX_PLAYER_NAME],tbPlayerIp[16];
GetPlayerName(playerid,tbPlayerName,MAX_PLAYER_NAME);
GetPlayerIp(playerid,tbPlayerIp,16);
for(new tb;tb<sizeof(TimebanInfo);tb++)
{
if(TimebanInfo[tb][tbMinutes])
{
if(!strcmp(TimebanbanInfo[tb][tbIp],tbPlayerIp,false) || !strcmp(TimebanInfo[tb][tbName],tbPlayerName,false))
{
TimebanInfo[tb][tbIp] = tbPlayerIp;
Ban(playerid);
return 1;
}
}
}
return 0;
}
stock TimebanPlayer(playerid,minutes)//Die Funktion in deinem Befehl anwenden.
{
for(new tb;tb<sizeof(TimebanInfo);tb++)
{
if(!TimebanInfo[tb][tbMinutes])
{
GetPlayerName(playerid,TimebanInfo[tb][tbName],MAX_PLAYER_NAME);
GetPlayerIp(playerid,TimebanInfo[tb][tbIp],16);
TimebanInfo[tb][tbMinutes] = minutes;
Ban(playerid);
return 1;
}
}
return 0;
}
stock RemoveTimeban(const By[])//Benutzen beim entbannen: Ip-Adresse oder Name!
{
if(strlen(By) >= 3)
{
for(new tb;tb<sizeof(TimebanInfo);tb++)
{
if(TimebanInfo[tb][tbMinutes])
{
if(!strcmp(TimebanbanInfo[tb][tbIp],By,true) || !strcmp(TimebanInfo[tb][tbName],By,true))
{
new tbCommand[64];
format(tbCommand,sizeof(tbCommand),"unbanip %s",TimebanbanInfo[tb][tbIp]);
SendRconCommand(tbCommand);
SendRconCommand("reloadbans");
TimebanInfo[tb][tbMinutes] = 0;
return 1;
}
}
}
}
return 0;
}
stock TimebanTime()//Muss in einen Minuten timer heißt 60000 MS <<< sonst läuft die Zeit nicht ab!
{
for(new tb;tb<sizeof(TimebanInfo);tb++)
{
if(TimebanInfo[tb][tbMinutes])
{
TimebanInfo[tb][tbMinutes]--;
if(!TimebanInfo[tb][tbMinutes])
{
new tbCommand[64];
format(tbCommand,sizeof(tbCommand),"unbanip %s",TimebanbanInfo[tb][tbIp]);
SendRconCommand(tbCommand);
SendRconCommand("reloadbans");
}
}
}
return 1;
}
Weiß jetzt nicht ob das Funktioniert, hab das jetzt nicht getestet ... den Befehl musste selber schreiben.
Falls irgendwas fehlt, naja sags einfach 
MfG Kevin
EDIT: oO 2x Fehler entdeckt.