Не се отваря меню от друг плъгин amxclient_cmd

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Отговори
Потребителски аватар

Автор на темата
sianbg gta5-bg
Рекламатор
Рекламатор
Мнения: 83
Регистриран: 13 ное 2017, 12:18
Контакти:

Не се отваря меню от друг плъгин amxclient_cmd

Мнение от sianbg gta5-bg » 06 яну 2018, 20:02

Здравейте това е кода, който искам да оправя. Искам да се отваря shop от друг плъгин. Искам клиента да изпрати команда "say /shop", Ползвам функцията amxclient_cmd. Въпросното меню е Case 1. Менюто се затваря, но не се отваря шопа.

Код: Избери всички

MenuCmd_Init()	{
	register_menucmd(register_menuid("ShowMenu_Main"), MENU_KEY_1|MENU_KEY_3|MENU_KEY_5|MENU_KEY_0, "Handler_Main");
	register_menucmd(register_menuid("ShowMenu_Equipment"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_0, "Handler_Equipment");
	register_menucmd(register_menuid("ShowMenu_ChooseClass"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0, "Handler_ChooseClass");
	register_menucmd(register_menuid("ShowMenu_PrimaryWeapons"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0, "Handler_PrimaryWeapons");
	register_menucmd(register_menuid("ShowMenu_SecondaryWeapons"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0, "Handler_SecondaryWeapons");
}

ShowMenu_Main(const iIndex)	{
	static szMenu[512]; new iBitKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_5|MENU_KEY_0;
	new iLen = formatex(szMenu, charsmax(szMenu), "%L^n^n", iIndex, "ZMB__MAIN_MENU_TITLE");

	iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n", iIndex, "ZMB__MAIN_MENU_CHOISE_CLASS");
	iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n", iIndex, "ZMB__MAIN_MENU_SHOP");
	
	if(IsSetBit(gp_iBit[BIT_MENU_EQUIPMENT], iIndex))
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", iIndex, "ZMB__MAIN_MENU_EQUIPMENT_ENABLE");
	}
	else
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", iIndex, "ZMB__MAIN_MENU_EQUIPMENT_DISABLE");
	}
	
	new TeamName: iTeam = get_member(iIndex, m_iTeam);

	if(iTeam == TEAM_SPECTATOR || iTeam == TEAM_UNASSIGNED)
	{
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n^n^n^n^n", iIndex, "ZMB__MAIN_MENU_START_GAME");
	}
	else
	{
		if(IsSetBit(gp_iBit[BIT_ZOMBIE], iIndex))
		{
			iBitKeys &= ~MENU_KEY_5;
			
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n^n^n^n^n", iIndex, "ZMB__MAIN_MENU_JOIN_TO_SPECTATOR_DISABLE");
		}
		else
		{
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n^n^n^n^n", iIndex, "ZMB__MAIN_MENU_JOIN_TO_SPECTATOR_ENALBE");
		}
	}

	formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L", iIndex, "ZMB__MENU_EXIT");
	
	return show_menu(iIndex, iBitKeys, szMenu, -1, "ShowMenu_Main");
}

public Handler_Main(const iIndex, const iKey)	{
	switch(iKey)
	{
		case 0:
		{
			return ShowMenu_ChooseClass(iIndex, gp_iMenuPosition[iIndex] = 0);
		}
		case 1:
		{
			
			amxclient_cmd(iIndex, "say", "/shop");
		}
		case 2:
		{
			InvertBit(gp_iBit[BIT_MENU_EQUIPMENT], iIndex);

			return ShowMenu_Main(iIndex);
		}
		case 4:
		{
			if(IsSetBit(gp_iBit[BIT_ZOMBIE], iIndex))
			{
				return ShowMenu_Main(iIndex);
			}

			new TeamName: iTeam = get_member(iIndex, m_iTeam),
				TeamName: iRandomTeam = TEAM_SPECTATOR;

			if(iTeam == TEAM_SPECTATOR || iTeam == TEAM_UNASSIGNED)
			{
				iRandomTeam = TeamName: random_num(1, 2);
			}

			HC_CBasePlayer_Killed_Post(iIndex, iIndex);
			
			rg_join_team(iIndex, iRandomTeam);

			set_member(iIndex, m_bTeamChanged, false);
		}
	}
	
	return PLUGIN_HANDLED;
}

Потребителски аватар

OciXCrom™ MKD
Администратор
Администратор
Мнения: 2339
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Години: 20
Контакти:

Не се отваря меню от друг плъгин amxclient_cmd

Мнение от OciXCrom™ MKD » 06 яну 2018, 20:09

Опитай с engclient_cmd(iIndex, "say /shop") или client_cmd(iIndex, "say /shop").

Потребителски аватар

Автор на темата
sianbg gta5-bg
Рекламатор
Рекламатор
Мнения: 83
Регистриран: 13 ное 2017, 12:18
Контакти:

Не се отваря меню от друг плъгин amxclient_cmd

Мнение от sianbg gta5-bg » 06 яну 2018, 20:21

Пробвах и с 3-те. За engclient_cmd пише, че няма да извика команди от други плъгини.

Потребителски аватар

OciXCrom™ MKD
Администратор
Администратор
Мнения: 2339
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Години: 20
Контакти:

Не се отваря меню от друг плъгин amxclient_cmd

Мнение от OciXCrom™ MKD » 06 яну 2018, 20:24

Явно менюто се затваря след изпращането на командата, демек затваряш новото меню. Опитай да изпратиш командата 1 секунда след затварянето със set_task за да знаем дали това е проблемът.

Потребителски аватар

TheRedShoko ReShoko
Модератор
Модератор
Мнения: 588
Регистриран: 06 окт 2016, 07:42
Местоположение: Бургас

Не се отваря меню от друг плъгин amxclient_cmd

Мнение от TheRedShoko ReShoko » 07 яну 2018, 17:37

Пробвай с callfunc.
Програмистът е творец и инженер. Той измисля решения, генерира идеи, пише код, тества го, поправя грешките, тества пак - всичко това, докато тръгне или докато не усети, че е в грешна посока и трябва да промени нещо кардинално. Програмистът постоянно развива и използва своето логическо мислене. Той е обречен на учене всеки ден, цял живот. Добрият програмист постоянно учи, променя се, адаптира се.
Светлин Наков

Отговори

Върни се в “Помощ в скриптирането”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост