Wie und wo muss ich den Timer einsetzen?

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
  • ocmd:timeban(playerid,params[])
    {
    new pID, time, grund[128];
    if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,0x8C8C8CFE,"BENUTZUNG: /Timeban [ID/Name] [Zeit] [Grund]");
    if(IsPlayerConnected(pID))
    {
    if(time>0||time<1000)
    {
    new string[128];
    format(string,sizeof(string),"Server: %s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
    SendClientMessageToAll(0xFF0000FF,string);
    new wert;


    wert=gettime()+(60*time);


    SetPVarInt(pID,"timeban",wert);


    Kick(pID);
    return 1;
    }
    SendClientMessage(playerid,0x870000FF,"Ungültige Zeit!");
    return 1;
    }
    SendClientMessage(playerid,0x870000FF,"Der Spieler ist nicht online!");
    return 1;


    Wie und wo muss ich den Timer einsetzen also


    SetTimerEx("TimebanPlayer", 1000, false, "i", pID);


    oder nicht?


    danke im vorraus


    mfg.


    raul

  • ocmd:timeban(playerid,params[])
    {
    new pID, time, grund[128];
    if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,0x8C8C8CFE,"BENUTZUNG: /Timeban [ID/Name] [Zeit] [Grund]");
    if(IsPlayerConnected(pID))
    {
    if(time>0||time<1000)
    {
    new string[128]; new wert;
    wert=gettime()+(60*time);
    format(string,sizeof(string),"Server: %s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
    SendClientMessageToAll(0xFF0000FF,string);
    SetPVarInt(pID,"timeban",wert);
    SetTimerEx("TimebanPlayer", 1000, false, "i", pID);
    Kick(pID);
    return 1;
    }
    SendClientMessage(playerid,0x870000FF,"Ungültige Zeit!");
    return 1;
    }
    SendClientMessage(playerid,0x870000FF,"Der Spieler ist nicht online!");
    return 1;

  • Macht ja echt viel Sinn..
    Ihr startet einen Timer für pID und kickt ihn danach.


    rAuL.eLiias:
    Du musst mit den Timestamps arbeiten und diese beim connecten immer wieder vergleichen. forum.sa-mp.de/gta-multiplayer-mods/san-andreas-multiplayer/scripting-base/tutorials/117433-timeban-system/
    So wie hier. :)