[HELP] 2 dialogs after each other
#1

pawn Код:
//connect
public OnPlayerConnect{
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Uw wachtwoord:","Login","Cancel");
    ShowPlayerDialog(playerid,8,DIALOG_STYLE_LIST,"Uw begin land?:","Los Santos\r\nSan Fierro \r\nLas Venturas","Select","Cancel");
}
//dialog
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==3)
    {
        if(response==0)
        {
            SendClientMessage(playerid,BLAU,"Bye Bye!");
            Kick(playerid);
            return 1;
        }
        if(response==1)
        {
            if(!strlen(inputtext))
            {
                SendClientMessage(playerid,BLAU,"Uw wactwoord is niet lang genoeg.");
                    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Uw wachtwoord:","Login","Cancel");
                return 1;
            }
            else
            {
           Login(playerid,inputtext);
           //kies land
           if( (GetPVarInt(playerid,"PaspoortSF") == 0) && (GetPVarInt(playerid,"PaspoortLS") == 0) && (GetPVarInt(playerid,"PaspoortLV") == 0) )
           {
              ShowPlayerDialog(playerid,8,DIALOG_STYLE_LIST,"Uw begin land?:","Los Santos\r\nSan Fierro \r\nLas Venturas","Select","Cancel");
           }
           return 0;
        }
        }
    }
        if(dialogid==8) //paspoort
    {
        if(response==0)
        {
            //maak LS paspoort
            new Spelerbestand[64];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid,name,sizeof(name));
            format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
            dini_IntSet(Spelerbestand,"PaspoortLS",1);
            SetPVarInt(playerid,"PaspoortLS",dini_Int(Spelerbestand,"PaspoortLS"));
            //---
            enterLS[playerid] = 1;
            enterSF[playerid] = 0;
            enterLV[playerid] = 0;
            return 1;
        }
        if(response==1)
        {
            switch(listitem)
            {
                case 0:
                {
                    //maak LS paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortLS",1);
                    SetPVarInt(playerid,"PaspoortLS",dini_Int(Spelerbestand,"PaspoortLS"));
                    //---
                    enterLS[playerid] = 1;
                    enterSF[playerid] = 0;
                    enterLV[playerid] = 0;
                    return 1;
                }
                case 1:
                {
                    //maak SF paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortSF",1);
                    SetPVarInt(playerid,"PaspoortSF",dini_Int(Spelerbestand,"PaspoortSF"));
                    //---
                    enterLS[playerid] = 0;
                    enterSF[playerid] = 1;
                    enterLV[playerid] = 0;
                    return 1;
                }
                case 2:
                {
                    //maak LV paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortLV",1);
                    SetPVarInt(playerid,"PaspoortLV",dini_Int(Spelerbestand,"PaspoortLV"));
                    //---
                    enterLS[playerid] = 0;
                    enterSF[playerid] = 0;
                    enterLV[playerid] = 1;
                    return 1;
                }
            }
        }
}
He only show the last dialog how to solve this ?
Plzz help me!

matjer
Reply
#2

Make the second dialog pop up after you did the first dialog.
So, you log in with the first dialog, after you logged it make the second dialog pop up
Reply
#3

yes but it doesn't do that
I don't know how do to that
Reply
#4

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1) // Ill use this one as the login dialog
    {
        if(response)
        {
            // Bla bla bla, load your stuff, check if the password is right
            // After that, do this line (when he is actually logged in)
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Uw begin land", "Bla \nbla \nbla", "Ok", "");
        }
        else
        {
            Kick(playerid);
        }
    }
    return 1;
}
Just a rough example, but should give you an idea how to make it work
Reply
#5

Ok that works but now I have another problem.

When the seconde dialog popup then he goes too requestclass but he must do that after dialog 2
Reply
#6

You mean, you log in, then need to choose your city you wanna start in, and after that you need to see the requestclass?
Reply
#7

yes that I want
Now the code pls
Reply
#8

Do what i said before, it will show you the first dialog, and after you logged in (pressed the OK button with the right password) the next dialog pops up.
Reply
#9

I did do that look:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        //login
    if(dialogid==3)
    {
        if(response==0)
        {
            SendClientMessage(playerid,BLAU,"Bye Bye!");
            Kick(playerid);
            return 1;
        }
        if(response==1)
        {
            if(!strlen(inputtext))
            {
                SendClientMessage(playerid,BLAU,"Uw wactwoord is niet lang genoeg.");
                ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Uw wachtwoord:","Login","Cancel");
                return 1;
            }
            else
            {
                Login(playerid,inputtext);
                //kies land
                if( (GetPVarInt(playerid,"PaspoortSF") == 0) && (GetPVarInt(playerid,"PaspoortLS") == 0) && (GetPVarInt(playerid,"PaspoortLV") == 0) )
                {
                    ShowPlayerDialog(playerid,8,DIALOG_STYLE_LIST,"Uw begin land?:","Los Santos\r\nSan Fierro \r\nLas Venturas","Select","Cancel");
                }
                return 0;
            }
        }
    }
    //register
    if(dialogid==2)
    {
        if(response==0)
        {
            SendClientMessage(playerid,BLAU,"Bye Bye!");
            Kick(playerid);
            return 1;
        }
        if(response==1)
        {
            if(!strlen(inputtext))
            {
                SendClientMessage(playerid,BLAU,"Het wachtwoord is niet lang genoeg.");
                ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"REGISTER","Uw wachtwoord:","Register","Cancel");
                return 1;
            }
            else
            {
                Register(playerid,inputtext);
                ShowPlayerDialog(playerid,8,DIALOG_STYLE_LIST,"Uw begin land?:","Los Santos\r\nSan Fierro \r\nLas Venturas","Select","Cancel");
                return 0;
            }
        }
    }
        if(dialogid==8) //paspoort
    {
        if(response==0)
        {
            //maak LS paspoort
            new Spelerbestand[64];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid,name,sizeof(name));
            format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
            dini_IntSet(Spelerbestand,"PaspoortLS",1);
            SetPVarInt(playerid,"PaspoortLS",dini_Int(Spelerbestand,"PaspoortLS"));
            //---
            enterLS[playerid] = 1;
            enterSF[playerid] = 0;
            enterLV[playerid] = 0;
            return 1;
        }
        if(response==1)
        {
            switch(listitem)
            {
                case 0:
                {
                    //maak LS paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortLS",1);
                    SetPVarInt(playerid,"PaspoortLS",dini_Int(Spelerbestand,"PaspoortLS"));
                    //---
                    enterLS[playerid] = 1;
                    enterSF[playerid] = 0;
                    enterLV[playerid] = 0;
                    return 1;
                }
                case 1:
                {
                    //maak SF paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortSF",1);
                    SetPVarInt(playerid,"PaspoortSF",dini_Int(Spelerbestand,"PaspoortSF"));
                    //---
                    enterLS[playerid] = 0;
                    enterSF[playerid] = 1;
                    enterLV[playerid] = 0;
                    return 1;
                }
                case 2:
                {
                    //maak LV paspoort
                    new Spelerbestand[64];
                    new name[MAX_PLAYER_NAME];
                    GetPlayerName(playerid,name,sizeof(name));
                    format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
                    dini_IntSet(Spelerbestand,"PaspoortLV",1);
                    SetPVarInt(playerid,"PaspoortLV",dini_Int(Spelerbestand,"PaspoortLV"));
                    //---
                    enterLS[playerid] = 0;
                    enterSF[playerid] = 0;
                    enterLV[playerid] = 1;
                    return 1;
                }
            }
        }
    return 1;
}
OnPlayerConnect:

pawn Код:
public OnPlayerConnect(playerid)
{
        new Spelerbestand[64];
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(Spelerbestand,sizeof(Spelerbestand),"/Accounts/%s.txt",name);
        if(dini_Exists(Spelerbestand))
        {
            ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Uw wachtwoord:","Login","Cancel");
        }
        else
        {
            ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"REGISTER","Uw wachtwoord:","Register","Cancel");
            //ShowPlayerDialog(playerid,8,DIALOG_STYLE_LIST,"Uw begin land?:","Los Santos\r\nSan Fierro \r\nLas Venturas","Select","Cancel");
        }
    return 1;
}
Reply
#10

pls HELP !!!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)