Frage zum Timeban System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Morgen--


    Meine Frage ist nur, wie schreib ich n Funktionierendes Timeban System, wo ich in Sekunden, Minuten, Stunden, Tagen, Monaten oder auch in Jahre bannen kann?


    ich hab das schon mal versucht, aber da kahm nur schrott bei raus, kann mir jemand nur sone kleine Vorlage geben?


    MfG: Mike.

  • gettime(); liefert die aktuelle Anzahl an vergangen Sekunden seit dem 1 Januar 1970 zurück und zu dieser Zahl rechnest du deine gewünschte Ban-zeit dazu:
    BanInYears(playerid, years)
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(60*60*24*364*years)
    Kick(playerid);
    }
    BanInMonths(playerid, months) // 30 tage
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(60*60*24*30*years)
    Kick(playerid);
    }
    BanInDays(playerid, days)
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(60*60*24*days)
    Kick(playerid);
    }
    BanInHours(playerid, hours)
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(60*60*hours)
    Kick(playerid);
    }
    BanInMinutes(playerid, minutes)
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(60*minutes)
    Kick(playerid);
    }
    BanInSeconds(playerid, seconds)
    {
    //Diese Zahl musst du abspeichern und beim connect wieder laden um sie zu überprüfen: gettime()+(seconds)
    Kick(playerid);
    }


    in OnPlayerConnect überprüfst du ob die gespeicherte Zahl größer ist wie die aktuelle gettime(); zeit:
    public OnPlayerConnect(playerid)
    {
    //Gespeicherte Zahl laden
    if(DieGespeicherteZahl > gettime())
    {
    //spieler ist noch immer gebannt
    Kick(playerid);
    }
    }