SA-MP Forums Archive
My Dialogs aren't working Properly!! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: My Dialogs aren't working Properly!! (/showthread.php?tid=366587)



My Dialogs aren't working Properly!! - Eminem 2ka9 - 07.08.2012

I basically want to start the server and first see a dialog with a dialog where you can choose what team you wanna be with like america or europe etc, then when you choose where you wanna spawn then another dialog appears showing who you want to be like a pyroman or soldier etc. I have it all done but It's just not working! When I load the server the dialog box appears before the login, and when I login the second dialog doesn't appear. Just empty player selection and when I spawn I spawn As CJ in the middle of nowhere.

These are what iv'e done!


Spawn places selection like europe etc:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2)
            {
                if(response)
                    {


                if(listitem == 1) //America
                {
                       
                        SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                        TogglePlayerControllable(playerid, 0);
                       
                }
                if(listitem == 2) //Russia
                {
                           

                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                            TogglePlayerControllable(playerid, 0);
                }
                if(listitem == 3)//Europe
                {
                           

                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                            TogglePlayerControllable(playerid, 0);
                   
                }
                if(listitem == 4)//Special Ops
                {
                           
                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                }           TogglePlayerControllable(playerid, 0);
                           
                return 1;

return 1;

================================================== =====================================
Ok Now it's class selection like pyroman and soldier!

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
            {
                if(response)
                    {

                        if(GetPlayerScore(playerid) <= 0)//Private
                        {

                        SetPlayerSkin(playerid, 287);
                        SendClientMessage(playerid, COLOR_WHITE, "You chose the assault as your class.");
                        SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                        gPlayerClass[playerid] = ASSAULT_CLASS;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 24, 200);
                        GivePlayerWeapon(playerid, 31, 500);
                        GivePlayerWeapon(playerid, 17, 5);
                        }
                        }


                if(listitem == 1)//sniper DONE
                    {
                        if(GetPlayerScore(playerid) <= 10)//Private

                        {

                            SetPlayerSkin(playerid, 122);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Sniper as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = SNIPER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 23, 500);
                            GivePlayerWeapon(playerid, 34, 100);
                            GivePlayerWeapon(playerid, 29, 200);

                    }
                        else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Private class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }


                if(listitem == 2)//pilot DONE
                    {
                            if(GetPlayerScore(playerid) <= 1150)//Lieutenant Colonel

                            {

                            SetPlayerSkin(playerid, 61);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Pilot as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = AIRMAN_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 50);
                            GivePlayerWeapon(playerid, 29, 500);
                            GivePlayerWeapon(playerid, 16, 5);

                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Lieutenant Colonel class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                if(listitem == 3)//Engineer
                    {
                            if(GetPlayerScore(playerid) <= 250)//Sergeant

                            {
                            SetPlayerSkin(playerid, 285);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Engineer as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = ENGINEER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 100);
                            GivePlayerWeapon(playerid, 32, 500);
                            GivePlayerWeapon(playerid, 35, 5);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Sergeant class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }

                if(listitem == 4)//FlameThrower
                    {
                            if(GetPlayerScore(playerid) <= 400)//CAPTAIN

                            {

                            SetPlayerSkin(playerid, 144);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Flamethrower as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = FLAMETHROWER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 24, 200);
                            GivePlayerWeapon(playerid, 30, 200);
                            GivePlayerWeapon(playerid, 37, 200);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Captain class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                return 1;
        }
return 1;
}


================================================== =====================================
Ok Now It's my OnPlayerConnect:

pawn Код:
public OnPlayerConnect(playerid)
{
    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Spawn", "America\nRussia\nEurope\nSpecial Ops", "Select", "Cancel");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Classes", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Select", "Cancel");
}

But What's wrong? It's like the second dialog doesn't appear, only empty class selection!!!


Re: My Dialogs aren't working Properly!! - FalconX - 07.08.2012

Quote:
Originally Posted by Eminem 2ka9
Посмотреть сообщение
I basically want to start the server and first see a dialog with a dialog where you can choose what team you wanna be with like america or europe etc, then when you choose where you wanna spawn then another dialog appears showing who you want to be like a pyroman or soldier etc. I have it all done but It's just not working! When I load the server the dialog box appears before the login, and when I login the second dialog doesn't appear. Just empty player selection and when I spawn I spawn As CJ in the middle of nowhere.

These are what iv'e done!


Spawn places selection like europe etc:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2)
            {
                if(response)
                    {


                if(listitem == 1) //America
                {
                       
                        SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                        TogglePlayerControllable(playerid, 0);
                       
                }
                if(listitem == 2) //Russia
                {
                           

                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                            TogglePlayerControllable(playerid, 0);
                }
                if(listitem == 3)//Europe
                {
                           

                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                            TogglePlayerControllable(playerid, 0);
                   
                }
                if(listitem == 4)//Special Ops
                {
                           
                            SetPlayerPos(playerid, 240.4377,1860.0693,17.8856);
                }           TogglePlayerControllable(playerid, 0);
                           
                return 1;

return 1;

================================================== =====================================
Ok Now it's class selection like pyroman and soldier!

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
            {
                if(response)
                    {

                        if(GetPlayerScore(playerid) <= 0)//Private
                        {

                        SetPlayerSkin(playerid, 287);
                        SendClientMessage(playerid, COLOR_WHITE, "You chose the assault as your class.");
                        SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                        gPlayerClass[playerid] = ASSAULT_CLASS;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 24, 200);
                        GivePlayerWeapon(playerid, 31, 500);
                        GivePlayerWeapon(playerid, 17, 5);
                        }
                        }


                if(listitem == 1)//sniper DONE
                    {
                        if(GetPlayerScore(playerid) <= 10)//Private

                        {

                            SetPlayerSkin(playerid, 122);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Sniper as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = SNIPER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 23, 500);
                            GivePlayerWeapon(playerid, 34, 100);
                            GivePlayerWeapon(playerid, 29, 200);

                    }
                        else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Private class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }


                if(listitem == 2)//pilot DONE
                    {
                            if(GetPlayerScore(playerid) <= 1150)//Lieutenant Colonel

                            {

                            SetPlayerSkin(playerid, 61);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Pilot as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = AIRMAN_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 50);
                            GivePlayerWeapon(playerid, 29, 500);
                            GivePlayerWeapon(playerid, 16, 5);

                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Lieutenant Colonel class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                if(listitem == 3)//Engineer
                    {
                            if(GetPlayerScore(playerid) <= 250)//Sergeant

                            {
                            SetPlayerSkin(playerid, 285);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Engineer as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = ENGINEER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 100);
                            GivePlayerWeapon(playerid, 32, 500);
                            GivePlayerWeapon(playerid, 35, 5);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Sergeant class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }

                if(listitem == 4)//FlameThrower
                    {
                            if(GetPlayerScore(playerid) <= 400)//CAPTAIN

                            {

                            SetPlayerSkin(playerid, 144);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Flamethrower as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = FLAMETHROWER_CLASS;
                            PickedClass[playerid] = 1;
                            SetPlayerVirtualWorld(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 24, 200);
                            GivePlayerWeapon(playerid, 30, 200);
                            GivePlayerWeapon(playerid, 37, 200);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Captain class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                return 1;
        }
return 1;
}


================================================== =====================================
Ok Now It's my OnPlayerConnect:

pawn Код:
public OnPlayerConnect(playerid)
{
    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Spawn", "America\nRussia\nEurope\nSpecial Ops", "Select", "Cancel");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Classes", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Select", "Cancel");
}

But What's wrong? It's like the second dialog doesn't appear, only empty class selection!!!
If you are using filterscript then:

http://forum.sa-mp.com/showpost.php?...34&postcount=2

or

http://forum.sa-mp.com/showpost.php?...87&postcount=3


Re: My Dialogs aren't working Properly!! - Eminem 2ka9 - 07.08.2012

I have one other problem and it's easier to solve..the below code doesn't work. When I spawn the dialog appears but when I click any class I don't get the weapons? That's all I want but the dialog just closes. Also no other filterscript is conflicting cause this is a different id Dialog!

pawn Код:
//============================Dialog System===================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 45)
            {
                if(response)
                    {

                        if(GetPlayerScore(playerid) <= 0)//Private
                        {

                        SetPlayerSkin(playerid, 287);
                        SendClientMessage(playerid, COLOR_WHITE, "You chose the assault as your class.");
                        SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                        gPlayerClass[playerid] = ASSAULT_CLASS;
                        PickedClass[playerid] = 1;
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 24, 200);
                        GivePlayerWeapon(playerid, 31, 500);
                        GivePlayerWeapon(playerid, 17, 5);
                        }
                        }


                if(listitem == 1)//sniper DONE
                    {
                        if(GetPlayerScore(playerid) <= 0)//Private

                        {

                            SetPlayerSkin(playerid, 122);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Sniper as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = SNIPER_CLASS;
                            PickedClass[playerid] = 1;
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 23, 500);
                            GivePlayerWeapon(playerid, 34, 100);
                            GivePlayerWeapon(playerid, 29, 200);

                    }
                        else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Private class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }


                if(listitem == 2)//pilot DONE
                    {
                            if(GetPlayerScore(playerid) <= 0)//Lieutenant Colonel

                            {

                            SetPlayerSkin(playerid, 61);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Pilot as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = AIRMAN_CLASS;
                            PickedClass[playerid] = 1;
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 50);
                            GivePlayerWeapon(playerid, 29, 500);
                            GivePlayerWeapon(playerid, 16, 5);

                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Lieutenant Colonel class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                if(listitem == 3)//Engineer
                    {
                            if(GetPlayerScore(playerid) <= 0)//Sergeant

                            {
                            SetPlayerSkin(playerid, 285);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Engineer as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = ENGINEER_CLASS;
                            PickedClass[playerid] = 1;
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 22, 100);
                            GivePlayerWeapon(playerid, 32, 500);
                            GivePlayerWeapon(playerid, 35, 5);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Sergeant class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }

                if(listitem == 4)//FlameThrower
                    {
                            if(GetPlayerScore(playerid) <= 0)//CAPTAIN

                            {

                            SetPlayerSkin(playerid, 144);
                            SendClientMessage(playerid, COLOR_WHITE, "You chose the Flamethrower as your class.");
                            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
                            gPlayerClass[playerid] = FLAMETHROWER_CLASS;
                            PickedClass[playerid] = 1;
                            TogglePlayerControllable(playerid, 1);
                            GivePlayerWeapon(playerid, 24, 200);
                            GivePlayerWeapon(playerid, 30, 200);
                            GivePlayerWeapon(playerid, 37, 200);


                    }
                            else
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Captain class [/rank to see yours]");
                        TogglePlayerControllable(playerid, 0);
                    }
                }
                return 1;
        }
return 1;
}
public OnPlayerSpawn(playerid)
{
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Classes", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Select", "Cancel");
}



Respuesta: My Dialogs aren't working Properly!! - ThePhenix - 07.08.2012

Are you talking about /Switchclass command?

I'm confuse with your script.-

Are you requesting on that, a class? or a team...?


Because if you want a team you may start with:

pawn Код:
#define TEAM_AMERICA 1 //This is a team
new gteam[MAX_PLAYERS]; //it goes for team

#define SNIPER_CLASS 1 //This is a class

new gPlayerClass[MAX_PLAYERS]; //It goes for Class