07.08.2012, 03:58
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");
}