Страница 1 от 1

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

Публикувано на: 06 Яну 2018, 20:02
от sianbg
Здравейте това е кода, който искам да оправя. Искам да се отваря 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;
}

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

Публикувано на: 06 Яну 2018, 20:09
от OciXCrom
Опитай с engclient_cmd(iIndex, "say /shop") или client_cmd(iIndex, "say /shop").

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

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

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

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

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

Публикувано на: 07 Яну 2018, 17:37
от TheRedShoko
Пробвай с callfunc.