Habe ein Problem mit einem Dialog

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
  • Guten Abend,
    und zwar wenn ich einen "DIALOG_STYLE_LIST" mache und dann Ingame mit den Pfeiltasten nach unten gehe hüpft er immer wieder nach ganz Oben...
    was kann ich da tun?

    if(pickupid == waffen){ShowPlayerDialog(playerid, 1,DIALOG_STYLE_LIST, "Laden", "Deagle 2500$\nM4 4000$\nSniper 4000$\nmp5 3000$\nShotgun 3000$\nRüstung 2000$\nLeben 200$" , "ok", "abbrechen");


    if(dialogid == 1)
    {
    if(response == 1)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid)<2500)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 2500)
    {
    GivePlayerWeapon(playerid,24,35);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir eine Deagle Gekauft");
    }


    }
    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid)<4000)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 4000)
    {
    GivePlayerWeapon(playerid,31,250);
    GivePlayerMoney(playerid, -4000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir eine M4 Gekauft");
    }


    }
    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid)<4000)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>=4000)
    {
    GivePlayerWeapon(playerid,34,20);
    GivePlayerMoney(playerid, -4000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir ein Scharfschützengewehr Gekauft");
    }
    }
    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid)<3000)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 3000)
    {
    GivePlayerWeapon(playerid,29,150);
    GivePlayerMoney(playerid, -3000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir eine MP5 Gekauft");
    }
    }
    if(listitem == 4)
    {
    if(GetPlayerMoney(playerid)<3000)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 3000)
    {
    GivePlayerWeapon(playerid,25,40);
    GivePlayerMoney(playerid, -3000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir eine Shotgun Gekauft");
    }
    }
    if(listitem == 5)
    {
    if(GetPlayerMoney(playerid)<2000)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 2000)
    {
    SetPlayerArmour(playerid, 100);
    GivePlayerMoney(playerid, -2000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir eine Rüstung Gekauft");
    }
    }
    if(listitem == 6)
    {
    if(GetPlayerMoney(playerid)<200)
    {
    SendClientMessage(playerid,Color_Rot,"Du hast nicht genug Geld");
    }
    else if(GetPlayerMoney(playerid)>= 200)
    {
    SetPlayerHealth(playerid, 100);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir Leben Gekauft");
    }
    }





    }




    }
    return 1;
    }


    Das ist halt alles eingerückt und Funktioniert auch also ich kann Waffen kaufen nur wie gesagt es hüpft immer wieder zu "listitem 1"


    mfg varg

    Einmal editiert, zuletzt von Varg25 ()

  • aha das könnte sein... ne idee was ich am besten dagegen machen kann? Wenn ich das Pickup verschwinden lasse dann muss ich ja immer paar min warten bis ich was neues Kaufen kann...

  • das menü nicht über den pickup öffnen sondern per befehl oder per tastendruck.
    oder vlcht ne variable setzten wie z.b.


    new waffenmenuoffen[MAX_PLAYERS];


    if(pickupid == waffen)
    {
    if(waffenmenuoffen[playerid]==1)return 0;
    ShowPlayerDialog(playerid, 1,DIALOG_STYLE_LIST, "Laden", "Deagle 2500$\nM4 4000$\nSniper 4000$\nmp5 3000$\nShotgun 3000$\nRüstung 2000$\nLeben 200$" , "ok", "abbrechen");
    waffenmenuoffen[playerid]=1;
    }


    und beim dialog response
    if(response==0)return waffenmenuoffen[playerid]=0;
    oder wenn eine waffe gekauft wird bei response 1