[Problem] mit Dialog im Pickup

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 Brotfische,


    Ich habe folgedes Problem, ich habe einen Dialog als DIALOG_STYLE_INPUT (also text Fenster) und das ganze lass ich dann bei OnPlayerPickUpPickup aufrufen, problem ist nur das der Dialog mehrmals kommt, also so das ich nichts schreiben kann. Giebt es dafür irgendeine Lösung wie (Include? oder so :) )


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    .


    Mit freundlichen Grüßen
    German_ScripterHD

  • Include? oder so


    Das brauchst du hier nicht, man könnte zwar eine machen...aber das ist nicht wirklich nötig.


    Mach es so:


    new bool:timeout[MAX_PLAYERS char]; //oben erstellen


    //unter OnPlayerPickUpPickup
    if(timeout{playerid}) return 1;
    timeout{playerid} = true;
    ShowPlayerDialog(...);
    SetTimerEx("@away",1000*20,0,"i",playerid);


    //dann außerhalb
    @away(i);@away(i) return timeout{i} = false;


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Ehh, doch nicht mit einem Timer.
    Das geht viel einfacher und ressourcensparender indem man einfach den Timestamp prüft:


    Unter die Includes:
    new tPickBlocked[MAX_PLAYERS];


    Unter OnPlayerPickUpPickup, bei dem entsprechenden Pickup:
    if(tPickBlocked[playerid] > gettime()) return 1;
    tPickBlocked[playerid] = gettime() + 20; //20 Sekunden


    Mehr ist es nicht.