Timeban befehl - problem

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
  • Hallo Community!
    Nun ein neues Therad über mein Problem :whistling:
    Also er bannt ihn für die minuten, aber ich speicher es ja mit Dini ab und er zählt die zeit nicht runter zb wenn ich den Spieler 2Minuten banne,
    bleibt er bei den accounts daten die ganze zeit bei 2Stehen.
    Und er soll den Spieler dann automatisch entbannen.
    Habe das so:


    ocmd:timeban(playerid,params[])
    {
    if(IsAdmin(playerid, 1))
    {
    new pID, zeit, grund[64], string[128];
    if(sscanf(params,"uis",pID,zeit,grund))return SendClientMessage(playerid,GRAU,"Verwendung: /timeban [playerid/name] [zeit (Minute)] [grund]");
    for(new i=0; i<MAX_PLAYER_NAME; i++)
    {
    zeit = zeit*1;
    format(string,sizeof(string),"AmdCmd: %s wurde von %s für %d Minuten gebannt. Grund: %s",SpielerName(i),SpielerName(playerid),zeit,grund);
    SendClientMessageToAll(CROT,string);
    Kick(i);
    SetPVarInt(i,"Timeban",zeit);
    SetPVarInt(i,"Banned",1);
    SaveSpieler(i);
    return 1;
    }
    if(GetPVarInt(pID,"Timeban")==0)
    {
    SetPVarInt(pID,"Banned",0);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Fehler: Du bist nicht befugt diesen Befehl zu nutzen!");
    }
    return 1;
    }

  • Dazu müsstest du die File geöffnet lassen was sehr Resourcen AUfwändig wäre.
    Erstelle doch einfach einen TimeStamp zähle die Zwei Minuten dazu wenn der Spieler online geht prüfst du in dem du den jetzigen TimeStamp abfragst ob die 2 Minuten rum sind wenn ja löscht du die Ban Variable in der Datei und setzt den TimeStamp wieder auf 0 ihr macht euch das Leben echt selber viel zu schwer.

    RFT