HELP!?!? Dialog unresponsive.
#1

Hello, can u please help me with my dialog, because it is unresponsive, please help me.

I dont get any errors but, my dialog does not give me any weapons and does not take any money of me :/

PLEASE HELP! Thanks!
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 1:
        {
            if(!response)
            {
                SendClientMessage(playerid, COLOR_RED, "You cancelled!");
                return 1;
            }
           
            switch(listitem)
            {
                case 1:
                {
                    GivePlayerMoney(playerid, -5000);
                    GivePlayerWeapon(playerid, 28, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught a mini uzi with 50 ammunition for $5000!");
                }
                case 2:
                {
                    GivePlayerMoney(playerid, -7000);
                    GivePlayerWeapon(playerid, 30, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an AK47 with 50 ammunition for $7,000!");
                }
                case 3:
                {
                    GivePlayerMoney(playerid, -10000);
                    GivePlayerWeapon(playerid, 31, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an M4 carbine with 50 ammunition for $10,000!");
                }
            }
        }
pawn Код:
if(strcmp(cmdtext, "/buy", true) == 0)
    {
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Guns!","1. Uzi\r\n2. Ak47\r\n3. M4","Continue", "Cancel");
    return 1;
    }
Reply
#2

You got two case1:'s in your code.
Reply
#3

U should add if(response) i think.
Reply
#4

You have the Dialog Ids messed up.

Change it to this. Also I think the Lists start at 0(not sure)
pawn Код:
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Guns!","1. Uzi\r\n2. Ak47\r\n3. M4","Continue", "Cancel");
Also change the Dialog Response to this:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 1:
        {
            if(!response)
            {
                SendClientMessage(playerid, COLOR_RED, "You cancelled!");
                return 1;
            }
           
            switch(listitem)
            {
                case 0:
                {
                    GivePlayerMoney(playerid, -5000);
                    GivePlayerWeapon(playerid, 28, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught a mini uzi with 50 ammunition for $5000!");
                }
                case 1:
                {
                    GivePlayerMoney(playerid, -7000);
                    GivePlayerWeapon(playerid, 30, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an AK47 with 50 ammunition for $7,000!");
                }
                case 2:
                {
                    GivePlayerMoney(playerid, -10000);
                    GivePlayerWeapon(playerid, 31, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an M4 carbine with 50 ammunition for $10,000!");
                }
            }
        }
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by 0ne
Посмотреть сообщение
U should add if(response) i think.
No, you don't.(I think)

Anyways, try this:

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
            if(!response)
            {
                SendClientMessage(playerid, COLOR_RED, "You cancelled!");
                return 1;
            }
           
            switch(listitem)
            {
                case 1:
                {
                    GivePlayerMoney(playerid, -5000);
                    GivePlayerWeapon(playerid, 28, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught a mini uzi with 50 ammunition for $5000!");
                }
                case 2:
                {
                    GivePlayerMoney(playerid, -7000);
                    GivePlayerWeapon(playerid, 30, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an AK47 with 50 ammunition for $7,000!");
                }
                case 3:
                {
                    GivePlayerMoney(playerid, -10000);
                    GivePlayerWeapon(playerid, 31, 50);
                    SendClientMessage(playerid, COLOR_PINK, "You have just baught an M4 carbine with 50 ammunition for $10,000!");
                }
            return 1;
        }
And make sure the dialog id's match.
Reply
#6

Victious, it needs the case there, how you think it will switch between dialogs?

--- Don't use Victious' code, it will just give more errors.

EDIT: Try this:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 1:
        {
            if(response)
            {
                switch(listitem)
                {
                    case 1:
                    {
                        GivePlayerMoney(playerid, -5000);
                        GivePlayerWeapon(playerid, 28, 50);
                        SendClientMessage(playerid, COLOR_PINK, "You have just baught a mini uzi with 50 ammunition for $5000!");
                    }
                    case 2:
                    {
                        GivePlayerMoney(playerid, -7000);
                        GivePlayerWeapon(playerid, 30, 50);
                        SendClientMessage(playerid, COLOR_PINK, "You have just baught an AK47 with 50 ammunition for $7,000!");
                    }
                    case 3:
                    {
                        GivePlayerMoney(playerid, -10000);
                        GivePlayerWeapon(playerid, 31, 50);
                        SendClientMessage(playerid, COLOR_PINK, "You have just baught an M4 carbine with 50 ammunition for $10,000!");
                    }
                }
            }
            else SendClientMessage(playerid, COLOR_RED, "You cancelled!");
        }
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)