Timer setzen?

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 möchte ein befehl haben den ich in meinem script einfügen kann das wenn ich zum beispiel arbeite. mein job getan habe ich erst wieder in 7 minuten arbeiten kann.
    Ich weis zwar das SetTimer undso nützlich ist, weis aber nicht es zu handhaben.
    MfG

  • So in der Art dürfte es klappen


    forward deintimer();
    ocmd:befehl(playerid,params[])
    {
    if(wasauchimmer == 0)
    {
    SetTimerEx("deintimer",1000*60*5,0,"i",playerid);
    wasauchimmer = 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"warte soundsoviel minuten");
    }
    return 1;
    }
    forward wasauchimmer();
    public wasauchimmer()
    {
    wasauchimmer = 0;
    }


    Ist nur ein Muster also nicht zur verwendung zu gebrauchen!

  • Kannst du mir das für den Befehl machen?... :)



    if(strcmp(cmd, "/fastfood", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] != 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Hotdogverkäufer!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /Fastfood [playerid] [Preis]");
    return 1;
    }
    new money;
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) { return 1; }
    money = strval(tmp);
    if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, " Geldbetrag muss zwischen 1 und 99999 liegen!"); return 1; }
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(ProxDetectorS(8.0, playerid, giveplayerid))
    {
    if(giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst dich nicht selbst beschützen!");
    return 1;
    }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du bietest %s einen Hotdog für $%d an.", giveplayer, money);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Hotdogverkäufer %s möchte dir ein Hotdog für $%d verkaufen, (tipp /accept hotdog).", sendername, money);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    GuardOffer[giveplayerid] = playerid;
    GuardPrice[giveplayerid] = money;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht nah Genug!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline!");
    }
    }
    return 1;
    }

  • *hust*



    forward deintimer(playerid);
    new wasauchimmer[MAX_PLAYERS];
    ocmd:befehl(playerid,params[])
    {
    if(wasauchimmer[playerid] == 0)
    {
    SetTimerEx("deintimer",1000*60*5,false,"i",playerid);
    wasauchimmer[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"warte soundsoviel minuten");
    }
    return 1;
    }


    public deintimer(playerid)
    {
    wasauchimmer[playerid] = 0;
    return 1;
    }

  • hab das:
    } else { SendClientMessage(playerid,COLOR_RED,"warte soundsoviel minuten"); }

    rausgenommen aber dafür kommen jetzt keine errors...
    Nur ingame wenn ich ein hotdog gebe dann kann ich 81238123x nochmal einen geben.. also d.h timer funzt nicht ;x

  • Bei mir crasht immer alles und ich seh den fehler nicht wenn ich das untereinander einbinde...
    Kannst du es mir hier vormachen?
    if(strcmp(cmd, "/fastfood", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] != 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Hotdogverkäufer!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /Fastfood [playerid] [Preis]");
    return 1;
    }
    new money;
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) { return 1; }
    money = strval(tmp);
    if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, " Geldbetrag muss zwischen 1 und 99999 liegen!"); return 1; }
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(ProxDetectorS(8.0, playerid, giveplayerid))
    {
    if(giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst dich nicht selbst beschützen!");
    return 1;
    }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du bietest %s einen Hotdog für $%d an.", giveplayer, money);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Hotdogverkäufer %s möchte dir ein Hotdog für $%d verkaufen, (tipp /accept hotdog).", sendername, money);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    GuardOffer[giveplayerid] = playerid;
    GuardPrice[giveplayerid] = money;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht nah Genug!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline!");
    }
    }
    return 1;
    }