KeyState & Dialog = Schließt sich direkt

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


    ich habe da ein kleines Problem.
    Ich habe es so gemacht, dass man bspw. einen Bankautomat per "Enter" bedienen kann.
    Sprich ich laufe hin, drücke Enter und es öffnet sich ein Dialog.
    Scheint auch ganz gut zu klappen, allerdings ist das so:


    Drücke ich 'F' zum öffnen, dann geht der Dialog wie gewohnt auf.
    Drücke ich 'Enter' zum öffnen, dann schließt sich der Dialog sofort.
    Drücke ich 'Enter' ganz schnell, sprich ich drücke und lasse innerhalb der nächsten Millisekunden direkt wieder los, dann bleibt er offen.


    Kann mir da jemand helfen? =D


    if((newkeys & KEY_SECONDARY_ATTACK) && !IsPlayerInAnyVehicle(playerid))


    Wäre nett. ^^


    Ist auch bei anderen Dialogen so, die mit Enter geöffnet werden.

  • Das liegt daran, dass du mit ENTER und ESC die Dialoge bedienen kannst, daher wird der Dialog sofort wieder geschlossen.
    Versuche mal, den Dialog anzuzeigen, wenn du die Taste los lässt:


    #define RELEASED(%0) \
    (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))


    if((RELEASED(KEY_SECONDARY_ATTACK) && !IsPlayerInAnyVehicle(playerid))


    Falls das nicht klappt, nimm trotzdem diesen Code und starte einen kurzen Timer, der 100ms später den Dialog anzeigt, nachdem die Taste losgelassen wurde, dann sollte es klappen.