Spieler kann Command erst nach 10 minuten wieder benutzen

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
  • Header:
    new CommandBenutzt[MAX_PLAYERS];
    new CommandBenutztTime[MAX_PLAYERS];


    Du musst noch zählen wie viele Sekunden 10 Minuten haben.


    Befehl ( ganz Oben: )
    if(CommandBenutzt[playerid] == 1){SendClientMessage(playerid, FARBE, "Du hast diesen Befehl bereits verwendet. Warte 10 Minuten"); return 1;}


    Befehl ( bei der / nach der Verwendung )
    CommandBenutzt[playerid] = 1;


    Bei einem 1000Millisekundentimer:
    if(CommandBenutzt[playerid] == 1){CommandBenutztTime[playerid] ++;} if(CommandBenutztTime[playerid] < 10MinutenInSekunden){CommandBenutzt[playerid] = 0; CommandBenutztTime = 0;)}


    Ungetestet!

    Einmal editiert, zuletzt von [USSA]Flip ()

  • FLIP der Timer muss doch zählen ich würds ganz einfach so machen



    new CMDUsed[MAX_PLAYERS];



    //............bei dem Command
    if(CMDUsed[playerid]==1)return SendClientMessage(playerid,Farbe,"Du musst 10 Minuten warten");
    CMDUsed[playerid]=1;
    SetTimerEx("UnUsed",600000,0,"i",playerid);



    forward UnUsed(playerid);


    public UnUsed(playerid)
    {
    CMDUsed[playerid]=0;
    return 1;
    }

    RFT

  • Whoaa der Timer muss zählen, was eine Erkentniss :D
    Deine Variante ist etwas Platzsparender. Scripte meine Sachen meistens so wie ich es gescriptet habe, Hauptsache ist ja es funktioniert :P


    P.S
    Wenn du was bei mir zu meckern hast, mecker ich direkt mal zurück 8|


    Wo ist denn bei OnPlayerDisConnect die Rücksetzung der Variable :D