Dialog (Tele)

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 ich habe ein Problem bei meinen Dialog /tele und zwar wenn einer /tele eingibt kommt stunt race und pakour so wenn man das auswählt wird man geportet was nicht sein soll und dann beim porten kommen auch die untermnüs sprich ich bin auch pakour und sehe bmx pakour oder monster
    meine Defines


    #define DIALOG_TELE 9999
    #define Stunt 9999
    #define Races 9998
    #define Pakour 9997


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/tele", true) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_TELE,5,DIALOG_STYLE_LIST,"Teleports", "Stunt\n Races\n Pakour", "Wählen", "Abbrechen");
    return 1;
    }
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem,
    inputtext[])
    {
    if (dialogid == DIALOG_TELE)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    ShowPlayerDialog(playerid, Stunt, DIALOG_STYLE_LIST,"Stunt","LS-Airport\nWasser-Fun\nBig-Jump","Teleport","Abbruch");
    }
    case 1:
    {
    ShowPlayerDialog(playerid, Races, DIALOG_STYLE_LIST,"Races","LV-Drift\nSF-Drift\nDrag\nGO-Kart","Teleport","Abbruch");
    }
    case 2:
    {
    ShowPlayerDialog(playerid, Pakour, DIALOG_STYLE_LIST,"Pakour","Monster\nBMX-Extreme\nNRG-500\nwasser-parkour\nParkour\nMount-Chealliat","Teleport","Abbruch");
    }
    }
    }


    if (dialogid == DIALOG_TELE,Stunt)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,1946.9236,-2296.0979,46.2841);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LS-Airport teleportiert");//LS-Airport
    }
    case 1:
    {
    SetPlayerPos(playerid,584.6309,-1867.7383,4.5011);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Wasser-Fun teleportiert");//Wasser-Fun
    }
    case 2:
    {
    SetPlayerPos(playerid,993.4102,-2891.0750,337.8984);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Big-Jump teleportiert");//Big-Jump
    }
    }
    }


    if (dialogid == DIALOG_TELE,Races)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,-311.6089,1532.3175,75.3594);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LV-Drift teleportiert");//LV-Drift
    }
    case 1:
    {
    SetPlayerPos(playerid,-311.6089,1532.3175,75.3594);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LV-Drift teleportiert");//LV-Drift
    }
    case 2:
    {
    SetPlayerPos(playerid,1366.3226,-2420.2397,13.5547);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu GO-Kart teleportiert");//GO-Kart
    }
    case 3:
    {
    SetPlayerPos(playerid,-200.0227,202.6443,11.3228);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Drag teleportiert");//Drag
    }
    }
    }

    if (dialogid == DIALOG_TELE,Pakour)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,2787.7463,-2525.4463,13.6311);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zum Monster teleportiert");//Monster
    }
    case 1:
    {
    SetPlayerPos(playerid,2112.8989,-1959.7118,716.8541);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu BMX-Extreme teleportiert");//BMX-Extreme
    }
    case 2:
    {
    SetPlayerPos(playerid,1437.4437,-1073.3981,213.3828);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu NRG-500 teleportiert");//NRG-500
    }
    case 4:
    {
    SetPlayerPos(playerid,388.8590,-2566.0161,-0.4952);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu wasser-parkour teleportiert");//wasser-parkour
    }
    case 5:
    {
    SetPlayerPos(playerid,1356.1207,-1559.6461,85.5469);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Parkour teleportiert");//Parkour
    }
    case 6:
    {
    SetPlayerPos(playerid,-2239.4946,-1711.7698,480.8507);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Mount-Chealliat teleportiert");//Brücke
    }
    }
    }
    return 0;
    }


    Kann mir da wer erklären oder zeigen was ich falsch gemacht habe so das ich nur zum untermenü gelange und dannn geportet wird?


    /Edit falscher gm dort habe ich mehr fehler drinn Dialog altes reingemahct
    /Edit 2 dcmd commands raus genommen so das nur noch die port befehle drin sind

  • Oben so:

    #define Stunt 9998


    #define Races 9997


    #define Pakour 9996


    Das musste Bei OnDialogResponse Ändern:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if (dialogid == DIALOG_TELE)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    ShowPlayerDialog(playerid, Stunt, DIALOG_STYLE_LIST,"Stunt","LS-Airport\nWasser-Fun\nBig-Jump","Teleport","Abbruch");
    }
    case 1:
    {
    ShowPlayerDialog(playerid, Races, DIALOG_STYLE_LIST,"Races","LV-Drift\nSF-Drift\nDrag\nGO-Kart","Teleport","Abbruch");
    }
    case 2:
    {
    ShowPlayerDialog(playerid, Pakour, DIALOG_STYLE_LIST,"Pakour","Monster\nBMX-Extreme\nNRG-500\nwasser-parkour\nParkour\nMount-Chealliat","Teleport","Abbruch");
    }
    }
    }


    if (dialogid == Stunt)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,1946.9236,-2296.0979,46.2841);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LS-Airport teleportiert");//LS-Airport
    }
    case 1:
    {
    SetPlayerPos(playerid,584.6309,-1867.7383,4.5011);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Wasser-Fun teleportiert");//Wasser-Fun
    }
    case 2:
    {
    SetPlayerPos(playerid,993.4102,-2891.0750,337.8984);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Big-Jump teleportiert");//Big-Jump
    }
    }
    }


    if (dialogid == Races)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,-311.6089,1532.3175,75.3594);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LV-Drift teleportiert");//LV-Drift
    }
    case 1:
    {
    SetPlayerPos(playerid,-311.6089,1532.3175,75.3594);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu LV-Drift teleportiert");//LV-Drift
    }
    case 2:
    {
    SetPlayerPos(playerid,1366.3226,-2420.2397,13.5547);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu GO-Kart teleportiert");//GO-Kart
    }
    case 3:
    {
    SetPlayerPos(playerid,-200.0227,202.6443,11.3228);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Drag teleportiert");//Drag
    }
    }
    }

    if (dialogid == Pakour)
    {
    if (response)
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,2787.7463,-2525.4463,13.6311);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zum Monster teleportiert");//Monster
    }
    case 1:
    {
    SetPlayerPos(playerid,2112.8989,-1959.7118,716.8541);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu BMX-Extreme teleportiert");//BMX-Extreme
    }
    case 2:
    {
    SetPlayerPos(playerid,1437.4437,-1073.3981,213.3828);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu NRG-500 teleportiert");//NRG-500
    }
    case 4:
    {
    SetPlayerPos(playerid,388.8590,-2566.0161,-0.4952);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu wasser-parkour teleportiert");//wasser-parkour
    }
    case 5:
    {
    SetPlayerPos(playerid,1356.1207,-1559.6461,85.5469);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Parkour teleportiert");//Parkour
    }
    case 6:
    {
    SetPlayerPos(playerid,-2239.4946,-1711.7698,480.8507);
    SendClientMessage(playerid,COLOR_GREY,"Du wurdest zu Mount-Chealliat teleportiert");//Brücke
    }
    }
    }
    return 0;
    }

  • Sry muss
    if(dialogid == Pakour) 
    heißen.


    Wenn das immernoch Falsch ist würde ich mir ein Tut zum Dialog erstellen suchen XD