Dialog verschwinden lassen

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
  • Heii Leute,


    bei mir ist es so wenn man neu auf dem Server ist kommt am Anfang ein Dialog mit den Regeln den man erst nach 15 Sek wegdrücken kann. Aber immer wenn man drauf klickt kommt diese Message


    SCM(playerid,HELLROT,"Bitte habe etwas noch Geduld. [15 Sekunden]");


    Ich will jetzt das der Dialog nach 15 Sek einfach verschwindet?


    Wie mach ich das ?(

  • Ich würde es so machen:


    new WaitTime[MAX_PLAYERS];
    //Beim Connecten
    WaitTime[playerid] = gettime()+15;
    //Beim Dialog Klick wenn die Zeit noch nicht abgelaufen ist:
    new WaitString[128];
    format(WaitString, sizeof(WaitString), "Du musst noch %i Sekunden warten", WaitTime - gettime());
    SendClientMessage(playerid, Farbe, WaitString);
    Eins weiß ich gerade nicht entweder so:


    WaitTime - gettime()
    oder so:


    gettime() - WaitTime


    edit: Falls du meinst wie das funktioniert das man 15 Sekunden warten muss:
    Das wie ich oben habe und dann beim weg Klicken:


    if(gettime() - WaitTime) >= 1)
    {
    new WaitString[128];
    format(WaitString, sizeof(WaitString), "Du musst noch %i Sekunden warten", WaitTime - gettime());
    SendClientMessage(playerid, Farbe, WaitString);
    }
    Ich kann dir nicht garantieren das das funktioniert da ich es jetzt schnell Geschrieben habe, aber falls etwas nicht geht dann frag einfach. :)

    Einmal editiert, zuletzt von Bluescreen ()

  • ganz oben:
    new Varible;



    wo der Dialog erscheint und der Timer gesetzt wird natürlich



    variable = 15;


    & in einem Timer der jede Sekunde abläuft


    variable--;


    Was passiert wenn er wegklicken will ^^


    format(string,sizeof(string),"Du musst noch %i warten",variblae);
    SendClientMessage(playerid,FARBE,string);


    fertig 8)

  • Das passiert bei mir momentan


    if(dialogid == DIALOG_RULES)
    {
    if(response == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_RULES,DIALOG_STYLE_MSGBOX,"{FAFAFA}Server Regeln","Blalal die ganzen Regeln","Ok","");
    SetTimer("Regeln",15000,0);
    SCM(playerid,HELLROT,"Bitte habe etwas noch Geduld. [15 Sekunden]");
    }
    return 1;
    }


    Mein Timer
    public Regeln (playerid)
    {
    ShowPlayerDialog(playerid, -1, DIALOG_STYLE_MSGBOX, "empty", "empty", "empty", "empty");
    return 1;
    }


  • Alles können wir dir auch nicht machen ^^ steht alles da ..

  • ganz oben
    new Variable;


    Der Dialog
    if(dialogid == DIALOG_RULES)
    {
    if(response == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_RULES,DIALOG_STYLE_MSGBOX,"{FAFAFA}Server Regeln","Die ganzen Regeln","Ok","");
    SetTimer("Regeln",15000,0);
    Variable = 15;
    format(string,sizeof(string),"Du musst noch %i warten",Variable);
    SendClientMessage(playerid,FARBE,string);
    }
    return 1;
    }


    Der Timer
    public Regeln (playerid)
    {
    variable = 15;
    ShowPlayerDialog(playerid, -1, DIALOG_STYLE_MSGBOX, "empty", "empty", "empty", "empty");
    return 1;
    }



    Ich kenn mich damit echt net aus ;(


    // oder wie kann ich machen das der Dialog nach 15 Sek verschweindet? Des ist glaub leichter

  • Der verschwindet aber schon nach 15 Sek halt nur wenn man OK drückt ?? Wie mach ich das jetzt das er auch so verschwindet?


    public Regeln (playerid)
    {
    ShowPlayerDialog(playerid, -1, DIALOG_STYLE_MSGBOX, "empty", "empty", "empty", "empty");
    return 1;
    }