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

Тема в разделе "Программирование / Скриптинг", создана пользователем Primo, 15 мар 2014.

  1. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Добрый день.

    Возникла проблема.
    Делаю меню для плагина, но при вызове меню, оно заполняется полностью всеми пунктами по несколько раз.
    Для представления, примерно так:
    Код меню:

    PHP:
    ShowSelectMenu(client

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


    public 
    Select_Menu(Handle:menuMenuAction:actionclientoption

        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); 
    }
     
  2. semjef

    semjef semjef.ru

    Сообщения:
    1.031
    Симпатии:
    473
    Primo, цикл очень криво сделан, точнее проверки внутри него, тут правильнее будет убрать цикл, ты ведь и так вросто проверяешь каждый уровень поочереди.
     
    Primo нравится это.
  3. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    А я ведь совсем забыл про цикл...