Ich brauche mal ebend Hilfe,es geht um Timer

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
  • Ich würde es wie Manniac machen. Mithilfe von gettime(); den UNIX Timestamp holen, die Wartezeit in Sekunden addieren und beim Befehl überprüfen, ob gettime(); größer ist. Zur Erklärung: der UNIX Timestamp entspricht der aktuellen Zeit in Sekunden seit dem 1. Januar 1970 00:00.


  • // Beim Befehl:
    if ( gettime() >= DasIstDeineVariableVomUser[playerid] ) { // Das soll passieren wenn 2 Stunden um sind oder er es zum ersten mal macht
    DasIstDeineVariableVomUser[playerid] = gettime() * (3600 * STUNDENANZAHL); // damit er es auch erst nach 2h kann, wieder speichern
    }

    Die Variable solltest du aber auch abspeichern ;)

  • if(strcmp(cmdtext,"/ausrüsten", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,1.0,414.4211,2531.0947,19.1729))
    {
    if(isPlayerInFrakt(playerid,8))
    {
    GivePlayerWeapon(playerid,35,5);
    GivePlayerWeapon(playerid,30,500);
    GivePlayerWeapon(playerid,24,50);
    GivePlayerMoney(playerid,-30000);
    SendClientMessage(playerid,GRÜN,"Deine nächste Ausrüstung kannst du in 2 Stunden abholen");
    return 1;
    }
    SendClientMessage(playerid,ROT,"Du kannst diesen Befehl nicht nutzen");
    return 1;
    }
    }



    Bei dem Befehl will ich einen 2 Stunden timer setzten,das hab ich noch nie gemacht...wäre cool wenn jemand mir hilft z.b pierre65

  • Oben im Code, unter die includes:
    new ZuletztRuestung[MAX_PLAYERS];


    OnPlayerConnect:
    ZuletztRuestung[playerid] = 0;



    if(strcmp(cmdtext,"/ausrüsten", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,1.0,414.4211,2531.0947,19.1729))
    {
    if(isPlayerInFrakt(playerid,8))
    {
    if(ZuletztRuestung[playerid] + (2*3600) > gettime()) return SendClientMessage(playerid, ROT, "Du kannst es nur alle 2 Stunden kaufen.");
    ZuletztRuestung[playerid] = gettime();
    GivePlayerWeapon(playerid,35,5);
    GivePlayerWeapon(playerid,30,500);
    GivePlayerWeapon(playerid,24,50);
    GivePlayerMoney(playerid,-30000);
    SendClientMessage(playerid,GRÜN,"Deine nächste Ausrüstung kannst du in 2 Stunden abholen");
    return 1;
    }
    SendClientMessage(playerid,ROT,"Du kannst diesen Befehl nicht nutzen");
    return 1;
    }
    }