Menu_display bug??

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Menu_display bug??

Мнение от OciXCrom » 15 Ное 2019, 20:19

So you fixed the problem? Like I said - you should upgrade to the latest 1.9 build. The one you're using is no longer supported and contains bugs.

Аватар
Adryyy
Извън линия
Foreigner
Foreigner
Мнения: 9
Регистриран на: 29 Окт 2019, 22:04
Се отблагодари: 7 пъти

Menu_display bug??

Мнение от Adryyy » 15 Ное 2019, 20:47

i will try to upgrade, i'm not very sure with this upgrade:))
i have a problem, i have ' for(new i;i<sizeof (e_pB) && Level[id]>e_pB[pLV];i++) ' and i tried what you saied with

Код за потвърждение: Избери целия код

for(new i;i<sizeof (e_pB);i++)
{
	if(Level[id]>e_pB[i][pLV])
	{
		num_to_str(i, szTempid, charsmax(szTempid) );
		menu_additem(menu,e_pB[i][pName],szTempid)
	}
}
if i leave my for, it's ok, but still i can't set weapon for level < 2

1. but now i get all weapons, and my level is 20
2. if i have level < 2 i can't see the menu

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Menu_display bug??

Мнение от OciXCrom » 15 Ное 2019, 21:03

There's no reason not to be sure about it. I sent you a link of the bug and that it's fixed, so this won't happen in 1.9. Don't forget that 1.8.3 is just the older version of 1.9 - it's just a number, there's nothing that can go wrong.

Your check is a bit wrong. You need to check if the player's level is greater than or equal, so you need ">=", not just ">". Right now if you're level 2, you won't have access to a level 2 weapon, because 2 isn't bigger than 2 (2>2).

Код за потвърждение: Избери целия код

if(Level[id]>=e_pB[i][pLV])

Аватар
Adryyy
Извън линия
Foreigner
Foreigner
Мнения: 9
Регистриран на: 29 Окт 2019, 22:04
Се отблагодари: 7 пъти

Menu_display bug??

Мнение от Adryyy » 15 Ное 2019, 21:10

oh..thanks
edited -

PRIME MENU

Код за потвърждение: Избери целия код

public Show_Menu_Buy_Primary(id)
{
	new et[255],nw[125]
	new menu=menu_create("\yMeniu Arme Principale","MHP")
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]==e_pB[i][pLV])
		{
			if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],Level[id]+2);
			else nw="";
			formatex(et,charsmax(et),"\y%s%s", e_pB[i][pName],nw)

			menu_additem(menu,et)

			menu_display( id, menu, 0 );
			break
		}
		else	SHOWWEAPONSP(id);
	}
}
menu on else if level player != with weapon level -

Код за потвърждение: Избери целия код

public SHOWWEAPONSP(id)
{
	new menu=menu_create("\yMeniu Arme Principale","MHP2")
	new szTempid[32]
	//new nw[255],et[555]
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]>=e_pB[i][pLV])
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_pB[i][pName],szTempid)
			/*if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],Level[id]+2);
			else nw="";
			menu_addtext(menu,nw)*/
		}
	}
	menu_display( id, menu, 0 );
}
EDIT: now i get overflow....

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Menu_display bug??

Мнение от OciXCrom » 16 Ное 2019, 00:35

You're probably using menu_display multiple times (maybe in a loop), like I said it could happen earlier. When does the overflow happen exactly?

Аватар
Adryyy
Извън линия
Foreigner
Foreigner
Мнения: 9
Регистриран на: 29 Окт 2019, 22:04
Се отблагодари: 7 пъти

Menu_display bug??

Мнение от Adryyy » 16 Ное 2019, 15:21

on spawn, for primary or for secondary...if i have level < 6 it's ok..but after level 6 i get overflow from these menus

code for primary

Код за потвърждение: Избери целия код

public Show_Menu_Buy_Primary(id)
{
	new et[255],nw[125]
	new menu=menu_create("\yMeniu Arme Principale","MHP")
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]==e_pB[i][pLV])
		{
			if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],Level[id]+2);
			else nw="";
			formatex(et,charsmax(et),"\y%s%s", e_pB[i][pName],nw)
			menu_additem(menu,et)
			menu_display( id, menu );
			break
		}
		else if((((Level[id]-1)>=0&&(Level[id]-1)==e_pB[i][pLV])||(Level[id]-1)==e_pB[i][pLV])||Level[id]<e_pB[i][pLV])//if(Level[id]>=2||((Level[id]-1)==e_pB[i][pLV])) //here just i'm testing..
		{
			SHOWWEAPONSP(id);
			break
		}
	}
	return PLUGIN_HANDLED
}
public MHP(id, menu,key)
{
	if (!is_user_alive(id) || g_bBoughtPrimary[id]||ze_is_user_zombie(id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		Show_Menu_Buy_Primary(id)
		return PLUGIN_HANDLED
	}*/

	if(Level[id]==10||(Level[id]-1)==10)	ze_give_cak47(id)
	else if(Level[id]==15||(Level[id]-1)==15)	ze_give_cump45(id)
	else if(Level[id]==20||(Level[id]-1)==20)	ze_give_cm249(id)
	else if(Level[id]==25||(Level[id]-1)==25)	ze_give_cm4a1(id)
	else if(Level[id]==30)	ze_give_cm3(id)
	else
	{
		for(new i;i<sizeof (e_pB);i++)
		{
			if(Level[id]==e_pB[i][pLV])
			{
				if(!equal(e_pB[i][pG],"weapon_knife")&&e_pB[i][pBPA]>0&&e_pB[i][pG]!=CSW_KNIFE)
				{
					give_item(id,e_pB[i][pG])
#if defined IDHU
					cs_set_user_bpammo(id,e_pB[i][pC],e_pB[i][pBPA])
#endif
					engclient_cmd(id,e_pB[i][pG])
				}
			}
		}
	}
	// Primary bought
	menu_destroy(menu)
	g_bBoughtPrimary[id] = true
	Show_Menu_Buy_Secondary(id)
	
	return PLUGIN_HANDLED
}
code if player level is not equal with weapon level (in 'for' that else for SHOWWEAPONSP(id);)

Код за потвърждение: Избери целия код

public SHOWWEAPONSP(id)
{
	new menu=menu_create("\yMeniu Arme Principale","MHP2")
	new szTempid[32]
	//new nw[255],et[555]
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]>e_pB[i][pLV])
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_pB[i][pName],szTempid)
			/*if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],Level[id]+2);
			else nw="";
			menu_addtext(menu,nw)*/
		}
	}
	menu_display( id, menu, 0 );
	return PLUGIN_HANDLED
}
public MHP2(id,menu,key)
{
	if (!is_user_alive(id)|| g_bBoughtPrimary[id]||ze_is_user_zombie(id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		if(Level[id]>=20)	menu_display( id, menu, 1 );
		return PLUGIN_HANDLED
	}*/

	new cmd[6], iName[64]
	new access, callback
	menu_item_getinfo(menu, key, access, cmd,5, iName, 63, callback)
	new wep = str_to_num(cmd)
	if(equal(iName,"PlasmaGun"))	ze_give_cak47(id)
	else if(equal(iName,"Ethereal"))	ze_give_cump45(id)
	else if(equal(iName,"Thanatos-VII"))	ze_give_cm249(id)
	else if(equal(iName,"Janus-V"))	ze_give_cm4a1(id)
	else if(equal(iName,"M32"))	ze_give_cm3(id)
	else
	{
		give_item(id,e_pB[wep][pG])
#if defined IDHU
		cs_set_user_bpammo(id,e_pB[wep][pC],e_pB[wep][pBPA])
#endif
		engclient_cmd(id,e_pB[wep][pG])
	}

	g_bBoughtPrimary[id] = true
	menu_destroy(menu)
	set_task(1.0,"Show_Menu_Buy_Secondary",id)
	return PLUGIN_HANDLED
}

secondary code

Код за потвърждение: Избери целия код

public Show_Menu_Buy_Secondary(id)
{
	new et[255],nw[125]
	// Title
	new menu=menu_create("\yMeniu Arme Secundare","MHS")
	for(new i=0;i<sizeof (e_sB);i++)
	{
		if(Level[id]==e_sB[i][sLV])
		{
			if(!equal(e_sB[i][sN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_sB[i][sN],Level[id]+2);
			else nw="";
			formatex(et,charsmax(et), "\y%s%s", e_sB[i][sName],nw)
			menu_additem(menu,et)
			menu_display( id, menu );
			break
		}
		else if((((Level[id]-1)>=0&&(Level[id]-1)==e_sB[i][sLV])||(Level[id]-1)==e_sB[i][sLV])||Level[id]<e_sB[i][sLV])
		{
			SHOWWEAPONSS(id)
			//client_print(id,print_chat,"TRB SA VEZI MENIU DE LVL JOS")
		}
		/*else if(Level[id]>e_sB[i][sLV])
		{
			formatex(et,charsmax(et), "\y %s", e_sB[i][sName])
			menu_additem(menu,et,i)
		}*/
	}
	return PLUGIN_HANDLED
}
public MHS(id, menu,key)
{
	// Player dead or zombie or already bought secondary
	if (!is_user_alive(id) || g_bBoughtSecondary[id]||ze_is_user_zombie(id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		Show_Menu_Buy_Secondary(id)
		return PLUGIN_HANDLED
	}*/

	if(Level[id]==10||(Level[id]-1)==10)	ze_give_cdeagle(id)
	else if(Level[id]==20||(Level[id]-1)==20)	ze_give_cdeagle2(id)
	else if(Level[id]==30)	ze_give_celite(id)
	else
	{
		for(new i;i<sizeof (e_sB);i++)
		{
			if(Level[id]==e_sB[i][sLV])
			{
				if(!equal(e_sB[i][sG],"weapon_knife")&&e_sB[i][sBPA]>0&&e_sB[i][sG]!=CSW_KNIFE)
				{
					give_item(id,e_sB[i][sG])
#if defined IDHU
					cs_set_user_bpammo(id,e_sB[i][sC],e_sB[i][sBPA])
#endif
					engclient_cmd(id,e_sB[i][sG])
				}
			}
		}
	}

	// Secondary bought
	g_bBoughtSecondary[id] = true
	menu_destroy(menu)
	Show_Menu_Buy_Knife(id)
	
	return PLUGIN_HANDLED
}
now code if player level is not equal with weapon level

Код за потвърждение: Избери целия код

public SHOWWEAPONSS(id)
{
	new menu=menu_create("\yMeniu Arme Secundare","MHS2")
	for(new i;i<sizeof (e_sB) && Level[id]>e_sB[i][sLV];i++)
	{
		new szTempid[32]
		num_to_str(i, szTempid, charsmax(szTempid) );
		menu_additem(menu,e_sB[i][sName],szTempid)
	}
	menu_display( id, menu, 0 );
	return PLUGIN_HANDLED
}
public MHS2(id,menu,key)
{
	if (!is_user_alive(id) || g_bBoughtSecondary[id]||ze_is_user_zombie(id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT&&!g_bBoughtSecondary[id])
	{
		set_task(0.1,"SHOWWEAPONSS",id)
		return PLUGIN_HANDLED
	}*/

	new cmd[6], iName[64]
	new access, callback
	menu_item_getinfo(menu, key, access, cmd,5, iName, 63, callback)
	new wep = str_to_num(cmd)
	if(equal(iName,"BloodHunter"))	ze_give_cdeagle(id)
	else if(equal(iName,"Cyclone"))	ze_give_cdeagle2(id)
	else if(equal(iName,"DualIninity"))	ze_give_celite(id)
	else
	{
		give_item(id,e_sB[wep][sG])
#if defined IDHU
		cs_set_user_bpammo(id,e_sB[wep][sC],e_sB[wep][sBPA])
#endif
		engclient_cmd(id,e_sB[wep][sG])
	}

	g_bBoughtSecondary[id] = true
	menu_destroy(menu)
	set_task(1.0,"Show_Menu_Buy_Knife",id)
	return PLUGIN_HANDLED
}
i don't have error with item key==menu_exit or another errors, but i tested with some `debug` messagge and i get something strange..
when i get spawned, i get the menu, with primary and i get automatically selected a weapon(first slot/weapon) by idk who:)), and i get message with 'item key selected 0/-1/3/-3'

EDIT: i simplified the code, i deleted the 'set_task' , i think here was the problem, i writed the condition if key < 0(!key) to stop, i modified the 'new' to 'static' inside of menu public, i used additem '*' instead of addtext, and now it's fine

finals

Код за потвърждение: Избери целия код

public Show_Menu_Buy_Knife(id)
{
	if(g_bBoughtKnife[id])
	{
		client_print(id,print_chat,"AI ALES KNIFE DEJA")
		return
	}
	new et[255],nw[125]
	// Title
	new menu=menu_create("\yMeniu Cutite","MHK")
	for(new i;i<sizeof (e_kB);i++)
	{
		if(Level[id]==e_kB[i][kLV])
		{
			if(!equal(e_kB[i][kN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_kB[i][kN],e_kB[i][kNLV]);
			else nw="";
			formatex(et,charsmax(et),"\y%s%s", e_kB[i][kName],nw)
			menu_additem(menu,et)
		}
		else if((Level[id]-1)==e_kB[i][kLV])	menu_additem(menu,e_kB[i][kName])
	}
	menu_display( id, menu );
}
public MHK(id, Menu,Item)
{
	// Player dead or zombie or already bought knife
	if (!is_user_alive(id) || g_bBoughtKnife[id]||ze_is_user_zombie(id)||Item<0)	return PLUGIN_HANDLED

	if(Level[id]>=MAX_LEVELS)	ze_give_cknife(id)
	else if(Level[id]==20)	ze_give_cknife2(id)

	g_bBoughtKnife[id] = true

	return PLUGIN_HANDLED
}

public Show_Menu_Buy_Primary(id)
{
	if(Level[id]>=MAX_LEVELS)
	{
		SHOWWEAPONSP(id);
		return
	}
	new et[255],nw[125]
	new menu=menu_create("\yMeniu Arme Principale","MHP")
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]==e_pB[i][pLV])
		{
			if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],e_pB[i][pNLV]);
			else nw="";
			formatex(et,charsmax(et),"\y%s%s", e_pB[i][pName],nw)
			menu_additem(menu,et)
			menu_display( id, menu );
		}
		else	SHOWWEAPONSP(id);	break
	}
}
public MHP(id, menu,key)
{
	if (!is_user_alive(id) || g_bBoughtPrimary[id]||ze_is_user_zombie(id)||key<0)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		Show_Menu_Buy_Primary(id)
		return PLUGIN_HANDLED
	}*/

	if(Level[id]==10||(Level[id]-1)==10)	ze_give_cak47(id)
	else if(Level[id]==15||(Level[id]-1)==15)	ze_give_cump45(id)
	else if(Level[id]==20||(Level[id]-1)==20)	ze_give_cm249(id)
	else if(Level[id]==25||(Level[id]-1)==25)	ze_give_cm4a1(id)
	else if(Level[id]==MAX_LEVELS)	ze_give_cm3(id)
	else
	{
		for(new i;i<sizeof (e_pB);i++)
		{
			if(Level[id]==e_pB[i][pLV])
			{
				if(!equal(e_pB[i][pG],"weapon_knife")&&e_pB[i][pBPA]>0&&e_pB[i][pG]!=CSW_KNIFE)
				{
					give_item(id,e_pB[i][pG])
#if defined IDHU
					cs_set_user_bpammo(id,e_pB[i][pC],e_pB[i][pBPA])
#endif
					engclient_cmd(id,e_pB[i][pG])
				}
			}
		}
	}

	// Primary bought
	g_bBoughtPrimary[id] = true

	menu_destroy(menu)
	Show_Menu_Buy_Secondary(id)

	return PLUGIN_HANDLED
}
public SHOWWEAPONSP(id)
{
	new menu=menu_create("\yMeniu Arme Principale","MHP2")
	new szTempid[3],nw[125]
	for(new i;i<sizeof (e_pB);i++)
	{
		if(Level[id]>=MAX_LEVELS)
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_pB[i][pName],szTempid)
			continue
		}

		if(Level[id]>=e_pB[i][pLV])
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_pB[i][pName],szTempid)
			if(!equal(e_pB[i][pN],""))	formatex(nw,charsmax(nw),"\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_pB[i][pN],e_pB[i][pNLV]);
			else nw="";
		}
	}
	menu_additem(menu,nw,"*")
	menu_display( id, menu, 0 );
}
public MHP2(id,menu,key)
{
	if (!is_user_alive(id)|| g_bBoughtPrimary[id]||ze_is_user_zombie(id)||key<0)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		if(Level[id]>=20)	menu_display( id, menu, 1 );
		return PLUGIN_HANDLED
	}*/

	static cmd[6], iName[64],access, callback
	menu_item_getinfo(menu, key, access, cmd,5, iName, 63, callback)
	if( cmd[0] == '*' )
	{
		SHOWWEAPONSP(id)
		return PLUGIN_HANDLED
	}
	new wep = str_to_num(cmd)
	if(equal(iName,"PlasmaGun"))	ze_give_cak47(id)
	else if(equal(iName,"Ethereal"))	ze_give_cump45(id)
	else if(equal(iName,"Thanatos-VII"))	ze_give_cm249(id)
	else if(equal(iName,"Janus-V"))	ze_give_cm4a1(id)
	else if(equal(iName,"M32"))	ze_give_cm3(id)
	else
	{
		give_item(id,e_pB[wep][pG])
#if defined IDHU
		cs_set_user_bpammo(id,e_pB[wep][pC],e_pB[wep][pBPA])
#endif
		engclient_cmd(id,e_pB[wep][pG])
	}

	g_bBoughtPrimary[id] = true

	menu_destroy(menu)
	Show_Menu_Buy_Secondary(id)

	return PLUGIN_HANDLED
}

public Show_Menu_Buy_Secondary(id)
{
	if(Level[id]>=MAX_LEVELS)
	{
		SHOWWEAPONSS(id);
		return
	}
	new et[255],nw[125]
	// Title
	new menu=menu_create("\yMeniu Arme Secundare","MHS")
	for(new i;i<sizeof (e_sB);i++)
	{
		if(Level[id]==e_sB[i][sLV])
		{
			if(!equal(e_sB[i][sN],""))	formatex(nw,charsmax(nw),"^n\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_sB[i][sN],e_sB[i][sNLV]);
			else nw="";
			formatex(et,charsmax(et), "\y%s%s", e_sB[i][sName],nw)
			menu_additem(menu,et)
			menu_display( id, menu );
		}
		else SHOWWEAPONSS(id);	break
	}
}
public MHS(id, menu,key)
{
	// Player dead or zombie or already bought secondary
	if (!is_user_alive(id) || g_bBoughtSecondary[id]||ze_is_user_zombie(id)||key<0)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT)
	{
		Show_Menu_Buy_Secondary(id)
		return PLUGIN_HANDLED
	}*/

	if(Level[id]==10||(Level[id]-1)==10)	ze_give_cdeagle(id)
	else if(Level[id]==20||(Level[id]-1)==20)	ze_give_cdeagle2(id)
	else if(Level[id]>=MAX_LEVELS)	ze_give_celite(id)
	else
	{
		for(new i;i<sizeof (e_sB);i++)
		{
			if(Level[id]==e_sB[i][sLV])
			{
				if(!equal(e_sB[i][sG],"weapon_knife")&&e_sB[i][sBPA]>0&&e_sB[i][sG]!=CSW_KNIFE)
				{
					give_item(id,e_sB[i][sG])
#if defined IDHU
					cs_set_user_bpammo(id,e_sB[i][sC],e_sB[i][sBPA])
#endif
					engclient_cmd(id,e_sB[i][sG])
				}
			}
		}
	}

	// Secondary bought
	g_bBoughtSecondary[id] = true

	menu_destroy(menu)
	Show_Menu_Buy_Knife(id)
	
	return PLUGIN_HANDLED
}
public SHOWWEAPONSS(id)
{
	new menu=menu_create("\yMeniu Arme Secundare","MHS2")
	new szTempid[3],nw[125]
	for(new i;i<sizeof (e_sB);i++)
	{
		if(Level[id]>=MAX_LEVELS)
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_sB[i][sName],szTempid)
			continue
		}

		if(Level[id]>=e_sB[i][sLV])
		{
			num_to_str(i, szTempid, charsmax(szTempid) );
			menu_additem(menu,e_sB[i][sName],szTempid)
			if(!equal(e_sB[i][sN],""))	formatex(nw,charsmax(nw),"\w[\r BLOCAT\w ]\r %s\w [\d disponibil la lvl:\r %d\w ]",e_sB[i][sN],e_sB[i][sNLV]);
			else nw="";
		}
	}
	menu_additem(menu,nw,"*")//addtext cu .slot=0
	menu_display( id, menu, 0 );
}
public MHS2(id,menu,key)
{
	if (!is_user_alive(id) || g_bBoughtSecondary[id]||ze_is_user_zombie(id)||key<0)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	/*if(key==MENU_EXIT&&!g_bBoughtSecondary[id])
	{
		set_task(0.1,"SHOWWEAPONSS",id)
		return PLUGIN_HANDLED
	}*/

	static cmd[6], iName[64],access, callback
	menu_item_getinfo(menu, key, access, cmd,5, iName, 63, callback)
	if( cmd[0] == '*' )
	{
		SHOWWEAPONSS(id)
		return PLUGIN_HANDLED
	}
	new wep = str_to_num(cmd)
	if(equal(iName,"BloodHunter"))	ze_give_cdeagle(id)
	else if(equal(iName,"Cyclone"))	ze_give_cdeagle2(id)
	else if(equal(iName,"DualIninity"))	ze_give_celite(id)
	else
	{
		give_item(id,e_sB[wep][sG])
#if defined IDHU
		cs_set_user_bpammo(id,e_sB[wep][sC],e_sB[wep][sBPA])
#endif
		engclient_cmd(id,e_sB[wep][sG])
	}

	g_bBoughtSecondary[id] = true

	menu_destroy(menu)
	Show_Menu_Buy_Knife(id)

	return PLUGIN_HANDLED
}
amxx - 182 dev / metamod - v1.21p37 / engine version - 5787 / local compiler version - 1.8.1 300
thank you for help!

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

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

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта