Oh, I see the problem. Bad script identation caused it, be carefull with it, look what you have:
pawn Код:
if(dialogid == DIALOG_LOCKER)
{
if( response )
{
switch(listitem)
{
case 0: // Duty
{
if(PlayerInfo[playerid][pBadge] == 0)
{
PlayerInfo[playerid][pBadge] = 1;
SetPlayerColor(playerid, GetFactionColor(playerid));
}
else if(PlayerInfo[playerid][pBadge] == 1)
{
PlayerInfo[playerid][pBadge] = 0;
SetPlayerColor(playerid, COLOR_WHITE);
}
}
case 1: // Weapons
{
if(PlayerInfo[playerid][pFaction] == 1) // GOV Weapon Choice
{
ShowPlayerDialog(playerid, DIALOG_GOVWEAPONS, DIALOG_STYLE_LIST, "GOV Weapons", "Baton\nPepper Spray\nDeagle", "Select","Cancel");
}
if(PlayerInfo[playerid][pFaction] == 2) // LSPD Weapons Choice
{
ShowPlayerDialog(playerid, DIALOG_LSPDWEAPONS, DIALOG_STYLE_LIST, "LSPD Weapons", "Baton\nPepper Spray\nDeagle", "Select","Cancel");
}
}
case 2: // Skins
{
if(PlayerInfo[playerid][pFaction] == 1) // GOV Skin Choice
{
ShowPlayerDialog(playerid, DIALOG_GOVSKINS, DIALOG_STYLE_LIST, "Skins", "Vacant\nVacant\nVacant", "Select","Cancel");
}
if(PlayerInfo[playerid][pFaction] == 2) // LSPD Skin Choice
{
ShowPlayerDialog(playerid, DIALOG_LSPDSKINS, DIALOG_STYLE_LIST, "Skins", "Vacant\nVacant\nVacant", "Select","Cancel");
}
}
}
}
if(dialogid == DIALOG_GOVWEAPONS) // Gov Weapons
{
if(response)
{
switch(listitem)
{
case 0: // Baton
{
GivePlayerWeapon(playerid, 3, 0);
}
case 1: // Pepperspray
{
GivePlayerWeapon(playerid, 41, 100);
}
case 2: // Deagle
{
GivePlayerWeapon(playerid, 24, 100);
}
}
}
}
if(dialogid == DIALOG_LSPDWEAPONS) // LSPD Weapons
{
if(response)
{
switch(listitem)
{
case 0: // Baton
{
GivePlayerWeapon(playerid, 3, 0);
}
case 1: // Pepperspray
{
GivePlayerWeapon(playerid, 41, 100);
}
case 2: // Deagle
{
GivePlayerWeapon(playerid, 24, 100);
}
}
}
}
if(dialogid == DIALOG_GOVSKINS) // GOV Skins
{
if(response)
{
switch(listitem)
{
case 0: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
case 1: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
case 2: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
}
}
}
if(dialogid == DIALOG_LSPDSKINS) // LSPD Skins
{
if(response)
{
switch(listitem)
{
case 0: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
case 1: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
case 2: // Empty
{
PlayerInfo[playerid][pSkin] = 281;
SetPlayerSkin(playerid, 281);
}
}
}
}
}
Do you see what's wrong? All code is inside first check, so other dialogid checks allways returns false, because the first one is true.