SetTimer - Frage

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
  • Hey Com,


    ich bin zwar nicht sehr vertraut mir Timern, aber ich wollte es per Timer regeln, dass eine Nachricht erscheint (als Dialog) und nach bestätigen dieses Dialoges ein Timer 5 Sekunden abzählt und nach diesen 5 Sekunden der zweite Dialog kommt...


    Der ganze Versuch sah so aus:


    ganz oben:


    Code
    forward Beispiel();


    bei OnDialogResponse:


    Code
    if(dialogid==DIALOG_BEISPIEL) 
    { 
    if(response==1) 
    { 
    new string[27]; 
    format(string, sizeof string, "bla", string); 
    ShowPlayerDialog(playerid,DIALOG_BLABLA,DIALOG_STYLE_MSGBOX, "lala", string, "OK", ""); 
    SetTimer("Beispiel",5000,false); 
    } 
    }


    bei´m public Beispiel():


    Code
    public Beispiel() 
    { 
    new str[248]; 
    format(str, sizeof str, " \n", str); 
    format(str, sizeof str, "%s\n", str); 
    format(str, sizeof str, "%s", str); 
    ShowPlayerDialog(playerid,DIALOG_ LALA, DIALOG_STYLE_MSGBOX, "blabla", str, "lala", ""); 
    KillTimer(Beispiel); 
    return 1; 
    }


    Da aber das public Beispiel keine "playerid" kennt, weiß ich nicht wo ich den Dialog, der nach Abluf des Timers erscheinen soll, hinscripten soll ! ?(

    Code
    error 017: undefined symbol "playerid"


    Danke schonmal :D

  • Du musst einen Parameter übergeben, mache es so:


    forward Beispiel(playerid);
    public Beispiel(playerid)
    {
    //hier der rest code
    }


    //anstatt SetTimer
    SetTimerEx("Beispiel",5000,0,"i",playerid);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S