Timer im Dalog ?

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
  • Hallo liebe Community,


    ich wollte wissen ob es möglich ist einen Timer im Dialog einzubauen?
    was ich versuche ist, dass man nach 10 Sekunden einen Dialog responsen kann.
    Ich hab MSG Dialoge und diese will ich nach 10 Sekunden responsen können und nicht vorher.
    Zudem noch, dass im Chat angezeigt wird wie viele Sekunden noch übrig bleiben bis man responsen kann.


    z.b : "Du musst noch 9 Sekunden warten bis du fortfahren kannst !"


    Ich hoffe ihr versteht was ich meine :D


    MfG

  • Hallo,


    ja, dazu kannst du einen Timer verwenden. Erstelle einen Timer und setze die PVar eines Spielers auf 0. Benennen kannst du diese wie du willst. Im Timer zählst du halt immer eine Sekunde dazu. Du kannst dann die PVar unter OnDialogResponse verwenden.

  • ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, "Ueberschrift", "Inhalt", "OK", "");
    SetPVarInt(playerid, "ok",0);
    SetTimerEx("okTimer", 10000, false, "i", playerid);


    forward okTimer(playerid);
    public okTimer(playerid)
    {
    SetPVarInt(playerid, "ok", 1);
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, listitem[])
    {
    if(dialogid == //...)
    {
    if(GetPVarInt(playerid, "ok") == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, "Ueberschrift", "Inhalt", "OK", "");
    }
    else
    {
    //... Wenn er OK gedrückt hat, und es auch darf. :P
    }
    }
    }


    Gruß,
    Neo. :)