Dialoge 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
  • Hallo,


    ich habe da ein kleines/grosses Problem.
    Ich bin derzeit dabei meinen eigenen 1.Selfmade Gamemode zu schreiben.
    In dem Gamesmode habe ich für 2 verschiedene Gruppen jeweils ein eigenes Dialog.
    In jedem dieser Dialoge sind weitere Dialoge verknüpft.


    Nur leider funktioniert davon immer nur eins.......
    woran kann das liegen?
    Ich denke mir, ich muss die Dialoge für jede Gruppe so schreiben, dass diese absolut nix miteinander zu tun haben.
    Ist nur die Frage, wie?


    Hoffe, Ihr könnt mir helfen.......


    Vielen Dank im vorraus

  • Warte ich schau in die Kugel,
    Ah Kugel schiebt auch nicht den Code raus. :|

  • Seid nicht zu Streng, ich hab erst vor ner Woche mit dem Scripten angefangen.


    Natürlich ist dies nur ein auszug, es gibt von jedem noch mehrere ListItems.
    Hoffe, das wird reichen, sonst wärs sicher zu viel.


    /////////////////////////////public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])////////////////////////////////////////
    ////////////////////////////////////////////////////////////////1.Dialog////////////////////////////////////////////////////////////////////////
    if(dialogid == 100)
    {
    if(listitem == 0)
    {
    new string[128];
    format(string,sizeof(string),"1 Wanted\n2 Wanteds\n3 Wanteds\n4 Wanteds\n5 Wanteds\n6 Wanteds");
    ShowPlayerDialog(playerid,110,DIALOG_STYLE_LIST,"Wieviele Wanteds willst du geben?",string,"Wählen","Abbrechen");
    }
    }
    if(dialogid == 110)
    {
    if(listitem == 0)
    {
    new string[300];
    format(string,sizeof(string),"Grund:");
    ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Bitte gib einen Grund an",string,"Wählen","Abbrechen");
    }
    }
    if(dialogid == 111)
    {
    new wdgeg[128],wdbek[128],copmsg[128],wdbekname[MAX_PLAYER_NAME],wdgegname[MAX_PLAYER_NAME];
    GetPlayerName(Klickplayer[playerid],wdbekname,24);
    GetPlayerName(playerid,wdgegname,24);
    format(wdgeg,sizeof(wdgeg),"Du hast %s 1 Wanted wegen %s gegeben.",wdbekname,inputtext);
    format(wdbek,sizeof(wdbek),"Du hast von %s 1 Wanted wegen %s bekommen.",wdgegname, inputtext);
    format(copmsg,sizeof(copmsg),"%s hat %s 1 Wanted wegen %s gegeben!",wdgegname,wdbekname,inputtext);
    SetPlayerWantedLevel(Klickplayer[playerid],1);
    SendClientMessage(Klickplayer[playerid],COLOR_Gelb,wdbek);
    SendClientMessage(playerid,COLOR_Gelb,wdgeg);
    return 1;
    }
    ///////////////////////////////////////////2.Dialog////////////////////////////////////////////////////////////////////////////////////////////
    if(dialogid == 1000)
    {
    if(listitem == 0)
    {
    new string[128];
    format(string,sizeof(string),"Polizei");
    ShowPlayerDialog(playerid,1100,DIALOG_STYLE_LIST,"Wähle eine Fraktion:",string,"Wählen","Abbrechen");
    }
    }
    if(dialogid == 1100)
    {
    new string[128];
    format(string,sizeof(string),"Rank 1\nRank 2\nRank 3\nRank 4\nRank 5\nRank 6");
    ShowPlayerDialog(playerid,1101,DIALOG_STYLE_LIST,"Welchen Rang?",string,"Wählen","Abbrechen");
    }
    if(dialogid == 1101)
    {
    if(listitem == 0)
    {
    new string[128],string2[128],nfrank1[MAX_PLAYER_NAME],adminname[MAX_PLAYER_NAME];
    new rankbek = Klickplayer[playerid];
    GetPlayerName(Klickplayer[playerid],nfrank1,24);
    GetPlayerName(playerid,adminname,24);
    format(string,sizeof(string),"Du machst %s zum Rank 1 der Polizei.",nfrank1);
    format(string2,sizeof(string2),"Admin %s hat dich zum Rank 1 der Polizei gemacht.",adminname);
    SendClientMessage(playerid,COLOR_Gelb,string);
    SendClientMessage(Klickplayer[playerid],COLOR_Gelb,string2);
    Spieler[rankbek][Fraktion] = 1;
    Spieler[rankbek][Rank] = 1;
    }


    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(Spieler[playerid][Fraktion] == 1)
    if(Spieler[playerid][duty] == 1)
    {
    new coplist[128];
    format(coplist,sizeof(coplist),"Wanted geben\nWanteds löschen");
    ShowPlayerDialog(playerid,100,DIALOG_STYLE_LIST,"Wähle eine Option",coplist,"Wählen","Abbrechen");
    Klickplayer[playerid] = clickedplayerid;

    }
    if(IsPlayerAdmin(playerid))
    {
    new adminlist[128];
    format(adminlist,sizeof(adminlist),"Spieler - Fraktion");
    ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"Wähle eine Option",adminlist,"Wählen","Abbrechen");
    Klickplayer[playerid] = clickedplayerid;
    }
    return 1;
    }

  • Hatte ich auch erst angenommen.
    Hab daher extra für das eine Hauptdialog und unterdialoge 1000er zahlen genommen und für den anderen 100er...


    Habs nochmal etwas überarbeitet und an eine andere Position gesetzt.
    Jetzt funktioniert es soweit, ausser, dass der letzte Teil ----if(dialogid == 111)-----
    nicht ausgegeben wird.
    Im Spiel zeigt er mir dir Dialoge, und wenn ich dann einen Grund eingebe, passiert nix, Warum?


    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if(dialogid == 100)
    {
    if(listitem == 0)
    {
    new string[128];
    format(string,sizeof(string),"1 Wanted");
    ShowPlayerDialog(playerid,110,DIALOG_STYLE_LIST,"Wieviele Wanteds willst du geben?",string,"Wählen","Abbrechen");
    }
    if(dialogid == 110)
    {
    if(listitem == 0)
    {
    new string[128];
    format(string,sizeof(string),"Grund:");
    ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Aus welchem Grund?",string,"Wählen","Abbrechen");
    }
    }
    if(dialogid == 111)
    {
    new wdgeg[128],wdbek[128],copmsg[128],wdbekname[MAX_PLAYER_NAME],wdgegname[MAX_PLAYER_NAME];
    GetPlayerName(Klickplayer[playerid],wdbekname,24);
    GetPlayerName(playerid,wdgegname,24);
    format(wdgeg,sizeof(wdgeg),"Du hast %s 1 Wanteds wegen %s gegeben.",wdbekname,inputtext);
    format(wdbek,sizeof(wdbek),"Du hast von %s 1 Wanteds wegen %s bekommen.",wdgegname, inputtext);
    format(copmsg,sizeof(copmsg),"%s hat %s 1 Wanteds wegen %s gegeben!",wdgegname,wdbekname,inputtext);
    SetPlayerWantedLevel(Klickplayer[playerid],1);
    SendClientMessage(Klickplayer[playerid],COLOR_Gelb,wdbek);
    SendClientMessage(playerid,COLOR_Gelb,wdgeg);
    }
    }


    return 1;
    }


    //edit1: Überarbeitet
    //edit 2:Überarbeitet

    Einmal editiert, zuletzt von Nexon ()