Dialog Problem

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
  • Moin :)


    Ich habe ein kleines Problem mit einem Dialog.
    Und zwar habe ich im Ammunation ein Pickup erstellt und wenn man rein geht soll ein Dialog kommen mit der Waffenliste
    if(pickupid==lsammukaufen){ShowPlayerDialog(playerid, DIALOG_LSAMMUKAUFEN, DIALOG_STYLE_TABLIST_HEADERS, "Weapons","Weapon\tAmmo\tPrice\n\M4\t120\t500\n\MP5\t90\t350\n\AK-47\t120\t400","Select", "Close");return 1;}
    Das ist so wie es hier steht 1 zu 1 aus der Wiki kopiert bis auf den Dialog namen
    Wenn ich nun Ingame in das Pickup renne Zeigt es mir das alles auch.
    Nur wenn ich jetzt etwas kaufen will Passiert einfach garnichts.


    if(dialogid == DIALOG_LSAMMUKAUFEN){if(response){switch(listitem){case 1: GivePlayerWeapon(playerid, WEAPON_M4, 120);case 2: GivePlayerWeapon(playerid, WEAPON_MP5, 90);case 3: GivePlayerWeapon(playerid, WEAPON_AK47, 120);}}return 1;}


    weis leider echt nicht warum ich keine waffe bekomm wenn ich etwas auswähl :/


    Mit freundlichen Grüßen
    Siepac


    //edit: case 1: usw habe nur mal als test reingemacht

    Mit freundlichen Grüßen
    Siepac

    Einmal editiert, zuletzt von Siepac ()

  • So is besser:


    ast2ufdyxkb1.png


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

  • @Kaliber
    Ja das mit der 1 am Anfang war nur zum test ob es dann funktioniert (leider kein erfolg) :D
    Leider Funktioniert deine Version auch nicht :/


    Also ich sag ma so Es passiert wenn ich nun was auswähle eben garnichts :D


    könnte es etwas mit meinen Returns zutun haben?



    if(dialogid == DIALOG_LSAMMUKAUFEN)
    {
    if(!response) return 1;
    switch(listitem) //Beginnt mit 0 :)
    {
    case 0: GivePlayerWeapon(playerid, WEAPON_M4, 120);
    case 1: GivePlayerWeapon(playerid, WEAPON_MP5, 90);
    case 2: GivePlayerWeapon(playerid, WEAPON_AK47, 120);
    }
    return 1;
    }
    }return 1;
    }


    //Edit
    Ich habe nunmal folgendes versucht
    if(dialogid == DIALOG_LSAMMUKAUFEN)
    {
    if(!response) return 1;
    switch(listitem) //Beginnt mit 0 :)
    {
    case 0:
    {
    SendClientMessage(playerid,COLOR_GRUEN,"test");
    }
    case 1:
    {
    print("test");
    }
    case 2: GivePlayerWeapon(playerid, WEAPON_AK47, 120);
    }
    return 1;
    }
    }
    return 1;
    }


    In der Console gibt er auch nichts aus wenn ich draufdrück/auswähl

    Mit freundlichen Grüßen
    Siepac

    Einmal editiert, zuletzt von Siepac ()

  • if(dialogid == DIALOG_LSAMMUKAUFEN)
    {
    if(!response) return 1;
    switch(listitem) //Beginnt mit 0 :)
    {
    case 0: GivePlayerWeapon(playerid, WEAPON_M4, 120);
    case 1: GivePlayerWeapon(playerid, WEAPON_MP5, 90);
    case 2: GivePlayerWeapon(playerid, WEAPON_AK47, 120);
    }
    }
    Sollte so klappen. Du machst ja irgendwie 2 Klammern mehr zu, aber wieso, weshalb, warum?

  • Wie hast n die Dialogid definiert..und wie sieht n der Code vor OnDialogResponse aus...


    und wird der Callback eventuell gar nicht aufgerufen?


    Setz mal n print nach ganz oben..wenn er nicht aufgerufen wird...dann check deine Includes & Filterscripts..ob da jemand den Callback dir weghookt :P

    ast2ufdyxkb1.png


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