Menu заполняется пунктами

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Добрый день.

Возникла проблема.
Делаю меню для плагина, но при вызове меню, оно заполняется полностью всеми пунктами по несколько раз.
Для представления, примерно так:
1. Glock
2. p250
3. Deagle
4. Elite
5. Glock
6. p250
7. Deagle
8. Elite
9. Glock
10. и т.д.

Код меню:

PHP:
ShowSelectMenu(client) 
{ 
	new Handle:menu = CreateMenu(Select_Menu); 
	SetMenuTitle(menu, "Выберте оружие:\n \n");
	decl String:Level[5];
	for (new i = 1; i <= Player[pLevel][client]; i++) 
	{
		IntToString(Player[pLevel][client], Level, 5);
		if(Player[pLevel][client] >= 1)	AddMenuItem(menu, Level, "Glock"); 
		if(Player[pLevel][client] >= 2)	AddMenuItem(menu, Level, "p250");
		if(Player[pLevel][client] >= 3)	AddMenuItem(menu, Level, "FiveSeven");
		if(Player[pLevel][client] >= 4)	AddMenuItem(menu, Level, "Deagle");  
		if(Player[pLevel][client] >= 5)	AddMenuItem(menu, Level, "Elite"); 
		if(Player[pLevel][client] >= 6)	AddMenuItem(menu, Level, "hkp2000");
		if(Player[pLevel][client] >= 7)	AddMenuItem(menu, Level, "Nova");  
		if(Player[pLevel][client] >= 8) AddMenuItem(menu, Level, "xm1014");
		if(Player[pLevel][client] >= 9)	AddMenuItem(menu, Level, "mag7");  
		if(Player[pLevel][client] >= 10) AddMenuItem(menu, Level, "Sawedoff");
		if(Player[pLevel][client] >= 11) AddMenuItem(menu, Level, "m249"); 		
	} 
	DisplayMenu(menu, client, 0); 
} 

public Select_Menu(Handle:menu, MenuAction:action, client, option) 
{ 
	if (action == MenuAction_End) 
	{ 
		CloseHandle(menu); 
		return; 
	} 
	if (action != MenuAction_Select) return; 
	switch(option)
	{
		case 0:
		{
			if(Player[pLevel][client] >= 1)
			{
				GivePlayerItem(client, "weapon_glock", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} Glock");
			}
		}
		case 1:
		{
			if(Player[pLevel][client] >= 2)
			{
				GivePlayerItem(client, "weapon_p250", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} P250");
			}
		}
		case 2:
		{
			if(Player[pLevel][client] >= 3)
			{
				GivePlayerItem(client, "weapon_fiveseven", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} FiveSeven");
			}
		}
		case 3:
		{
			if(Player[pLevel][client] >= 4)
			{
				GivePlayerItem(client, "weapon_deagle", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} Deagle");
			}
		}
		case 4:
		{
			if(Player[pLevel][client] >= 5)
			{
				GivePlayerItem(client, "weapon_elite", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} Elite");
			}
		}
		case 5:
		{
			if(Player[pLevel][client] >= 6)
			{
				GivePlayerItem(client, "weapon_hkp2000", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} hkp2000");
			}
		}
		case 6:
		{
			if(Player[pLevel][client] >= 7)
			{
				GivePlayerItem(client, "weapon_nova", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} Nova");
			}
		}
		case 7:
		{
			if(Player[pLevel][client] >= 8)
			{
				GivePlayerItem(client, "weapon_xm1014", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} xm1014");
			}
		}
		case 8:
		{
			if(Player[pLevel][client] >= 9)
			{
				GivePlayerItem(client, "weapon_mag7", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} mag7");
			}
		}
		case 9:
		{
			if(Player[pLevel][client] >= 10)
			{
				GivePlayerItem(client, "weapon_sawedoff", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} Sawedoff");
			}
		}
		case 10:
		{
			if(Player[pLevel][client] >= 11)
			{
				GivePlayerItem(client, "weapon_m249", 0);
				CPrintToChat(client, "{lightgreen}Вы получили оружие{green} m249");
			}
		}
	}
	ShowSelectMenu(client); 
}
 

semjef

semjef.ru
Сообщения
993
Реакции
444
Primo, цикл очень криво сделан, точнее проверки внутри него, тут правильнее будет убрать цикл, ты ведь и так вросто проверяешь каждый уровень поочереди.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
А я ведь совсем забыл про цикл...
 
Сверху Снизу