Semikola
Умник
В общем, на своем моде решил создать магазин, не обычный как нубасы делают через диалоги, а такой как был в ViceCity и SanAndreas!
В общем, когда встаешь на чекпоинт в магазине выводится меню оружия, которое можно купить. После того как выбираешь какой-либо пункт, должно вывестись второе меню для подтверждения покупки, оно выводится но принимает все действия при выборе строк, которые были заложены в первое меню!
Вот код:
В общем, когда встаешь на чекпоинт в магазине выводится меню оружия, которое можно купить. После того как выбираешь какой-либо пункт, должно вывестись второе меню для подтверждения покупки, оно выводится но принимает все действия при выборе строк, которые были заложены в первое меню!
Вот код:
public OnPlayerSelectedMenuRow(playerid, row)
{
if (GunMagLv1Menu)
{
TogglePlayerControllable(playerid,0);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
if (row == 0)//Калаш
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,300.0231,-39.8183,1002.3758);CheckGun = 0;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 1)//M4A1
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,297.1206,-41.4905,1002.7062);CheckGun = 1;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 2)//MP5
{
SetPlayerCameraPos(playerid,X+2,Y-2,Z+2);SetPlayerCameraLookAt(playerid,299.1992,-41.4941,1002.5232);CheckGun = 2;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 3)//ShotGun
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,293.8933,-41.5013,1002.8160);CheckGun = 3;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 4)//Silenced
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,297.9563,-38.1077,1001.5391);CheckGun = 4;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 5)//ShotGspa
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,293.7220,-39.5267,1001.5891);CheckGun = 5;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 6)//Deagle
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,296.3382,-39.2414,1001.60);CheckGun = 6;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 7)//Micro-Uzi
{
SetPlayerCameraPos(playerid,X,Y,Z+2);SetPlayerCameraLookAt(playerid,295.6225,-41.4986,1002.8160);CheckGun = 7;HideMenuForPlayer(GunMagLv1Menu,playerid);DestroyMenu(GunMagLv1Menu);CreateGunMagMenuBuy(playerid);
}
else if (row == 8)//Exit
{
DestroyMenu(GunMagLv1Menu);
DestroyMenu(CheckGunMenu);
CheckGun = -1;
TogglePlayerControllable(playerid,1);
SetCameraBehindPlayer(playerid);
}
}
else if (CheckGunMenu)
{
TogglePlayerControllable(playerid,0);
if (row == 0)//Назад
{
DestroyMenu(CheckGunMenu);
CreateGunMagMenu(playerid);
CheckGun = -1;
}
else if (row == 1)//Купить
{
new PlayerMoney =GetPlayerMoney(playerid);
if (CheckGun == 0)
{
if((PlayerMoney - 4500)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Автомат Калашникова за $4500, 450 патронов!");
GivePlayerWeapon(playerid,30,450);
CheckGun = -1;
}
else if (CheckGun == 1)
{
if((PlayerMoney - 4500)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили M4A1 за $4500, 450 патронов!");
GivePlayerWeapon(playerid,31,450);
CheckGun = -1;
}
else if (CheckGun == 2)
{
if((PlayerMoney - 2500)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили MP5 за $2500, 270 патронов!");
GivePlayerWeapon(playerid,29,270);
CheckGun = -1;
}
else if (CheckGun == 3)
{
if((PlayerMoney - 5999)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Shotgun за $5999, 70 патронов!");
GivePlayerWeapon(playerid,25,70);
CheckGun = -1;
}
else if (CheckGun == 4)
{
if((PlayerMoney - 1200)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Пистоле с глушителем за $1200, 70 патронов!");
GivePlayerWeapon(playerid,23,70);
CheckGun = -1;
}
else if (CheckGun == 5)
{
if((PlayerMoney - 6679)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Автоматический дробовик за $6679, 250 патронов!");
GivePlayerWeapon(playerid,27,250);
CheckGun = -1;
}
else if (CheckGun == 6)
{
if((PlayerMoney - 3250)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Desert Eagle за $3250, 63 патрона!");
GivePlayerWeapon(playerid,24,63);
CheckGun = -1;
}
else if (CheckGun == 7)
{
if((PlayerMoney - 4599)<=-1) return SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Недостаточно денег!");
DestroyMenu(CheckGunMenu); CreateGunMagMenu(playerid);
SendClientMessage(playerid,COLOR_YELLOW2,"[Info] Вы купили Micro-Uzi за $4599, 325 патронов!");
GivePlayerWeapon(playerid,28,325);
CheckGun = -1;
}
}
else if (row == 2)//Выход
{
DestroyMenu(GunMagLv1Menu);
DestroyMenu(CheckGunMenu);
CheckGun = -1;
TogglePlayerControllable(playerid,1);
SetCameraBehindPlayer(playerid);
}
}
return 1;
}
forward CreateGunMagMenuBuy(playerid);
public CreateGunMagMenuBuy(playerid)
{
TogglePlayerControllable(playerid,0);
CheckGunMenu = CreateMenu("Buying",1,10,150,100,0);
AddMenuItem(CheckGunMenu,0,"Back");
AddMenuItem(CheckGunMenu,0,"Buy");
AddMenuItem(CheckGunMenu,0,"Exit");
ShowMenuForPlayer(CheckGunMenu,playerid);
return 1;
}
forward CreateGunMagMenu(playerid);
public CreateGunMagMenu(playerid)
{
TogglePlayerControllable(playerid,0);
GunMagLv1Menu = CreateMenu("GunShop",1,10,150,100,0);
AddMenuItem(GunMagLv1Menu,0,"AK-47");
AddMenuItem(GunMagLv1Menu,0,"M4A1");
AddMenuItem(GunMagLv1Menu,0,"MP5");
AddMenuItem(GunMagLv1Menu,0,"ShotGun");
AddMenuItem(GunMagLv1Menu,0,"Silenced");
AddMenuItem(GunMagLv1Menu,0,"Combat Shotgun");
AddMenuItem(GunMagLv1Menu,0,"Desert Eagle");
AddMenuItem(GunMagLv1Menu,0,"Micro-Uzi");
AddMenuItem(GunMagLv1Menu,0,"Exit");
ShowMenuForPlayer(GunMagLv1Menu,playerid);
return 1;
}
