Pickups im Dialog nicht aufnehmbar

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,
    ich nutze Pickups mit dem PickupType 1. Wenn man in einen solchen Pickup geht, öffnet sich ein Dialog, z.B. das Waffenkaufmenü. Ich möchte nun aber, dass man, wenn man in dem Dialog ist, das Pickup nicht nochmal aufnimmt, sodass sich das Dialog nicht nach einer kurzen Zeit wieder neu öffnet und man von vorn beginnen muss. Ist das möglich ? Wenn ja, wie ? Ich möchte aber nicht Type 2 nehmen, weil es Pickups sind, bei denen sonst was passiert (Health-, Waffen-Modells usw.). Ich hoffe, das es verständlich war, und mir dabei jemand helfen kann.


    MfG


    //Edit : Andere Frage : Kann man irgendwie abfragen, ob ein Spieler gerade ein Dialog nutzt ?

    Einmal editiert, zuletzt von DarthXela ()

  • Soweit ich weis, geht das nicht direkt.
    Starte Überarbeite doch einfach die Funktionen.


    Könnte z.B. so aussehen:
    stock MyShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
    {
    ShowPlayerDialog(playerid,dialogid,style,caption,info,button1,button2);
    SetPVarInt(playerid,"im_dialog",1);
    }
    #define ShowPlayerDialog MyShowPlayerDialog
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    SetPVarInt(playerid,"im_dialog",0);
    }

    Ist ungetestet, müsste aber eigentlich so funktionieren.
    Abfragen einfach mit:
    if(GetPVarInt(playerid,"im_dialog") == 1[Im Dialog] / 0[Nicht im Dialog])


    MfG Firer

  • Okay,
    sieht ja eigentlich gut aus, aber jetzt wird nicht mal mehr mein Login-Dialog angezeigt xD.
    Ich dachte jetzt, vielleicht SetPVarInt(playerid,"im_dialog",0); bei OnPlayerConnect reintun, aber das geht trotzdem nicht.
    Was muss ich jetzt machen ?


    MfG