Pickup + Dialog wiederholt sich

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 alle zusammen :) ,
    Ich habe mir ein BSN-Essensdialog gemacht. Naja es funktioniert eigentlich, aber wenn ich dann ins Pickup reingehe und etwas auswähle springt es immer zum ersten Listitem zurück und wenn ich auf Abbrechen gehe oder Essen bekommen habe öffnet sich der Dialog schon wieder -.- hab auch schon gegoogled aber nichts gefunden.
    Ich habs schon versucht mit return 1; und return 0; aber nichts funzt... hab erst letztens angefangen zu scripten und entschuldigt bitte wenn was TOTAL klar war :D
    Ich möchte halt, dass man einmal ins Pickup geht dann das Essen bestellt und es bekommt. Wenn man dann so 5 Meter wieder weggeht und wieder rein, dann kann man sich erneut etwas bestellen.
    Vielleicht könnt ihr mir ja auch sagen, wie man das macht, dass man kein Essen bekommt wenn das Geld des Spielers bei 0 oder weniger liegt.
    Danke schonmal im vorraus :)



    //BSN ESSEN DIALOG
    if(dialogid==DIALOG_BSNESSEN && response == 1)
    {
    new Float:health;
    if(listitem == 0)
    {
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health+10);
    SendClientMessage(playerid,HBLAU,"Du hast dir die Pommes mit Cola bestellt. Du musst 5$ zahlen");
    GivePlayerMoney(playerid,-5);
    }
    if(listitem == 1)
    {
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health+25);
    SendClientMessage(playerid,HBLAU,"Du hast dir einen Burger mit Pommes bestellt. Du musst 10$ zahlen");
    GivePlayerMoney(playerid,-10);
    }
    if(listitem == 2)
    {
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health+40);
    SendClientMessage(playerid,HBLAU,"Du hast dir einen großen Burger mit Pommes und Cola bestellt. Du musst 15$ zahlen");
    GivePlayerMoney(playerid,-15);
    }
    else
    {
    SCM(playerid,HBLAU,"Du hast den Essens-Service abgebrochen");
    return 1;
    }
    }



    //BSN ESSENSPICKUP
    if(pickupid==bsnessen)
    {
    ShowPlayerDialog(playerid,DIALOG_BSNESSEN,DIALOG_STYLE_LIST,"Wählen sie ein Menu aus","Pommes mit Cola\nBurger mit Pommes\nBurger mit Pommes und Cola","Bestellen","Abbrechen");


    }


    bsnessen=CreatePickup(1240,1,376.5535,-67.4350,1001.5078); //BSN ESSENS PICKUP
    new bsnessen; //PICKUP IM BSN FÜR DAS ESSEN

  • das liegt an dem pickuptype. denn er frägt jede 1-2 sekunden ob man im pickup steht und öffnet erneut den dialog.


    Danke, bei welchem ist es denn nicht so ?


    Hast du auch ne Lösung dazu?

    Zitat

    Vielleicht könnt ihr mir ja auch sagen, wie man das macht, dass man kein
    Essen bekommt wenn das Geld des Spielers bei 0 oder weniger liegt.

  • hab oben nochmal ein link reineditiert. hab mich damit nie richtig auseinander gesetzt da ich immer mit befehlen arbeite.
    aber ich denke da wird schon einer dabei sein bei dem es klappt.
    der z.b: 2 Pickupable, respawns after some time.

  • hab oben nochmal ein link reineditiert. hab mich damit nie richtig auseinander gesetzt da ich immer mit befehlen arbeite.
    aber ich denke da wird schon einer dabei sein bei dem es klappt.
    der z.b: 2 Pickupable, respawns after some time.


    Dankeschön, ich denke ich mache es auch mit einem Befehl ;)