[Frage]Gibt es eine Funktion wie z.b.: WaitTimer(...)???

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 Frage mich ob es eine Funktion wie z.B: WaitTimer(5000); gibt das wen man nen befehl scriptet wie z.B:
    //Befehl was auch immer
    {
    ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,0,1,1,1,1,0);//Animation die man nicht beenden kann
    WaitTimer(5000);//warte 5 sek bevor du den befehl weiter ausführst
    ClearAnimations(playerid);//animation stoppen
    return 1;
    }


    Wäre echt gut bei manchen dingen und erspart public`s für alles mögliche..
    Gibt es so eine Funktion ?? wen ja welche ??


    mfg bad_company

  • forward blub(playerid);


    //Befehl was auch immer
    {
    ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,0,1,1,1,1,0);//Animation die man nicht beenden kann
    SetTimer("blub",5000,0);//warte 5 sek bevor du den befehl weiter ausführst
    return 1;
    }


    public blub(playerid)
    {
    ClearAnimations oder wie das heißt
    return 1;
    }

    RockLin

  • So sollte es funktionieren.
    Ungetestet!
    Kann fehler enthalten!


    forward sleep();


    stock sleep(time)
    {
    SetTimerEx("sleep",time,false,"d");
    return 1;
    }


    public sleep()
    {
    return 1;
    }


    //Befehl was auch immer
    {
    ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,0,1,1,1,1,0);//Animation die man nicht beenden kann
    if(sleep(5000))
    {
    // nächste befehle
    }
    return 1;
    }

  • Zitat

    totaler fail. niemals bei einem stock return verwenden, wenn dann public!

    Und wieso ist das für dich ein "Totaler fail" ?
    Warum sollte man das nur ausschließlich bei publics verwenden?


    Das könntest du alles hinzufügen.
    Man will immer dazulernen.


    Im SA:MP Wiki wird auch return in stock verwendet.
    Was ist daran so schlimm?

  • ich teste es jetz einfach mal und sag dann bescheid ^^


    //EDIT: bis jetz is fail:
    forward sleep();

    Zitat

    (174) : error 010: invalid function or declaration


    if(sleep(5000))

    Zitat


    (1282): error 029: invalid expression, assumed zero
    (1282) : warning 215: expression has no effect
    (1282) : error 001: expected token: ";", but found ")"
    (1282) : error 029: invalid expression, assumed zero
    (1282) : fatal error 107: too many error messages on one line


    Habe einfach mal alles copy&paste gemacht(außer dem befehl natürlich) oder muss ich was umschreiben ??
    Hier nochmal wie ich das habe:
    //____(verkürzt)____
    dcmd_flosbauen(playerid,params[])
    {
    #pragma unused params
    ApplyAnimation(playerid,"CRACK","crckdeth1",4.1,1,1,1,1,0);
    SendClientMessage(playerid,0xFFFF00FF,"Das Flos zu bauen dauert 5 Sekunden.");
    if(sleep(5000))
    {
    SendClientMessage(playerid,0xFFFF00FF,"Das Flos ist fertig. Geh auf das Flos und Tippe /treiben.");
    ClearAnimations(playerid);
    flos2 = CreateObject(1271, -3591.8403320313, 318.63900756836, 0, 0, 0, 0);
    }
    return 1;
    }

    Einmal editiert, zuletzt von bad_company ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • stock sleep(time)
    {
    SetTimerEx("sleep",time,false,"d");
    return 1;
    }
    totaler fail. niemals bei einem stock return verwenden, wenn dann public!


    Sorry, aber warum ? Wo is hier das Problem mit stock ?

    stock IsPlayerDriver(playerid)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return 1;
    else return 0;
    }

  • Was ihr hier wieder für ein Stuß erzählt.


    Stock (engl. für Vorrat), packt eine Funktion auf den Funktionsstapel des Compilers, und dort verweilt sie, bis sie, aus Sicht des Compilers aufgerufen wird, und dann wird diese freigegeben, und landet im compilierten Script.
    Das "stock" ist somit quasi eine Anweisung an den Compiler. (Die Funktion würde genauso ohne stock funktionieren, oder man unterdrückt die Warnung durch #pragma unused sleep)


    Desweiteren sind public Funktionen fest im Script verankert, um auch von externen Librarys/Programmen aufgerufen zu werden.
    Dabei wird der ganze Funktionsname bei jedem Aufruf übertragen, und einiges mehr -> total unnötig.


    lh2s.