fehler im 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
  • Ich will ein Tutorial in Dialogen machen leider klappt das bei mir nicht richtig.
    Erst kommt der normale Dialog zum Registrieren und danach der Tutorial dialog klickt man da auf
    weiter kommt wieder der Registrieren dialog.



    if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    return 1;
    }
    Register(playerid,inputtext);
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"Tutorial","Bitte Lesen sie sich das Tutorial gut durch,\nEs erleichtert ihn den Einstieg enorm.","Weiter","");
    return 1;
    }

  • Zeig mal bitte dein dialog


    Also vom Tut


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Hier ist er:


    if(dialogid == DIALOG_TUTORIAL)
    {
    if(response)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Überschrift","Blabla text halt :)","Weiter","");
    }
    }

  • Also ist das mit dem Dialog jetzt nach dem Reg oder wie Ich verstehe die sache nicht Ganz.



    Also wo Liegt dein Fehler? das anch dem register nicht weiter geht oder wie?


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • ne nach dem ich mich regestriert habe und auf "weiter" klicke kommt :


    dieser dialog wieder:
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");


    ich weis nicht woran es liegt.


    ich kann dort wieder was eingeben und auf Registrieren klicken dan kommt wieder der Tutorial dialog dan wieder der regi dialog usw

  • machs mal so:


    if(dialogid == DIALOG_TUTORIAL)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Überschrift","Blabla text halt :)","Weiter","");
    }
    }


    Gruß
    Dream


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    else if(response == 1)
    {
    if(!strlen(inputtext))
    {
    return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    }
    Register(playerid,inputtext);
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"Tutorial","Bitte Lesen sie sich das Tutorial gut durch,\nEs erleichtert ihn den Einstieg enorm.","Weiter","");
    return 1;
    }
    }


    Beachte:
    if(response == 1) überprüft ob der LINKE Button geklickt wurde.

  • funktioniert immer noch nicht.


    kann das vielleicht an den Spawn Button liegen der bei OnPlayerRequestClass erscheint ?


    //Edit Brauche immer noch hilfe


    //Edit habe es noch mal auf eine andere weise versucht leider auch ohne erfolg:


    public OnPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid,"Tutorial")==0)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"Tutorial","Bitte Lesen sie sich das Tutorial gut durch,\nEs erleichtert ihn den Einstieg enorm.","Weiter","");
    }
    SetPlayerPos(playerid,1154.5955,-1767.3668,16.5938);
    SetPlayerFacingAngle(playerid,0.1918);
    SetCameraBehindPlayer(playerid);
    return 1;
    }



    nach den klick auf weiter kommt wieder der Register dialog:


    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");



    vielleicht liegt es an den defines die zeige ich auch mal ^^:



    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2
    #define DIALOG_STADTHALLE 3
    #define DIALOG_TUTORIAL 4



    ich weis echt nicht woran es liegt und würde gerne weiter scripten.


    //Edit braucht immer noch hilfe wen ihr mehr code braucht müsst ihr euch nur melden.

  • Dann sende doch mal dein Komplettes "Dialog System" ! Also alles von if(dialogid == Tutorial) bis hin zu der letzten Zeile von if(dialogid == Register) oder halt andersrum je nachdem was wo steht... das sendest du jetzt bitte ordentlich im pwn. tags!


    Dann kann ich auch besser helfen das hier ist zu durcheinander

  • if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    return 1;
    }
    Register(playerid,inputtext);
    return 1;
    }
    return 1;
    }


    das tutorial habe ich noch nicht gemacht da ich erst testen wollte ob der eine Dialog erscheint.



    //Edit weis keiner wie ich das problem beheben kann ?

  • Probiere es so:


    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    else
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    return 1;
    }
    Register(playerid,inputtext);
    return 1;
    }
    }


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • danke sonic jetzt funktioniert es. Weißt du wieso meine variante nicht funktioniert hat ?


    //Edit habe leider noch einen fehler ^^
    nach diesen Dialog


    ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"Tutorial","Bitte Lesen sie sich das Tutorial gut durch,\nEs erleichtert ihn den Einstieg enorm.","Weiter","");


    Sollte dieser kommen aber er kommt nicht.




    if(dialogid == DIALOG_TUTORIAL)
    {
    if(response)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Tutorial","Text","Weiter","");
    return 1;
    }
    }

  • Ich weis genau an was es lag ;]


    Probiere es so:
    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    else
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    return 1;
    }
    Register(playerid,inputtext);
    return 1;
    }
    }
    else if(dialogid == DIALOG_TUTORIAL)
    {
    if(response == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Tutorial","Text","Weiter","");
    return 1;
    }
    }


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • Probiere es so:


    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    SendClientMessage(playerid,Rot,"Sie brauchen einen Account um Spielen zu können.");
    Kick(playerid);
    return 1;
    }
    else
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte geben Sie ein Passwort ein.","Registrieren","Abbrechen");
    return 1;
    }
    Register(playerid,inputtext);
    return 1;
    }
    }
    if(dialogid == DIALOG_TUTORIAL)
    {
    if(response == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Tutorial","Text","Weiter","");
    return 1;
    }
    }



    Gruss: Sonic

    I didn't hit you. I high fived your face.