Dialog issues
#1

I made a simple dialog, but every time you close it it keeps popping back up :l I have no idea what I'm missing or what I left out, it really irritates the players and me

pawn Код:
if(dialogid == DIALOG_AMMUN)
        {
        if(response)
        {
        if(listitem == 0)
        {
        if(GetPlayerMoney(playerid) > 250)
        {
                GivePlayerMoney(playerid,-250);
                GivePlayerWeapon(playerid, 22, 60);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 1)
        {
        if(GetPlayerMoney(playerid) > 250)
        {
                GivePlayerMoney(playerid,-250);
                GivePlayerWeapon(playerid, 23, 60);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 2)
        {
        if(GetPlayerMoney(playerid) > 500)
        {
                GivePlayerMoney(playerid,-500);
                GivePlayerWeapon(playerid, 24, 30);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 3)
        {
        if(GetPlayerMoney(playerid) > 550)
        {
                GivePlayerMoney(playerid,-550);
                GivePlayerWeapon(playerid, 26, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 4)
        {
        if(GetPlayerMoney(playerid) > 625)
        {
                GivePlayerMoney(playerid,-625);
                GivePlayerWeapon(playerid, 27, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 5)
        {
        if(GetPlayerMoney(playerid) > 700)
        {
                GivePlayerMoney(playerid,-700);
                GivePlayerWeapon(playerid, 28, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 6)
        {
        if(GetPlayerMoney(playerid) > 725)
        {
                GivePlayerMoney(playerid,-725);
                GivePlayerWeapon(playerid, 32, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 7)
        {
        if(GetPlayerMoney(playerid) > 750)
        {
                GivePlayerMoney(playerid,-750);
                GivePlayerWeapon(playerid, 29, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 8)
        {
        if(GetPlayerMoney(playerid) > 825)
        {
                GivePlayerMoney(playerid,-825);
                GivePlayerWeapon(playerid, 30, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 9)
        {
        if(GetPlayerMoney(playerid) > 900)
        {
                GivePlayerMoney(playerid,-900);
                GivePlayerWeapon(playerid, 31, 160);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        if(listitem == 10)
        {
        if(GetPlayerMoney(playerid) > 1500)
        {
                GivePlayerMoney(playerid,-1500);
                SetPlayerArmour(playerid,100);
        }else{SendClientMessage(playerid, COLOR_ERROR, "You don't have enough money to purchase this item.");}
        }
        }
        }
Reply
#2

Okay, for one, that is messy code, OCD attack.

The problem is you forgot to return it under "if(response)"

You'll need to do something like this.

JUST AN EXAMPLE.

pawn Код:
if(dialogid == DIALOG_BLEH)
{
    if(response)
    {
        if(listitem == 0)
        {
            ClearAnimations(playerid);
        }
    }
    return 1; //This thing right here, will close the dialog!
}
So basically, if the response is the second button, then it will return it, and close the dialog!

If this helps, let me know.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)