Инвентарь

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

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Пишу небольшой инвентарь для своего сервера и нашел ошибку.
    Оффтоп
    PHP:
    ShowSelectMenu(client){
        new 
    Handle:menu CreateMenu(Select_Menu); 
        
    SetMenuTitle(menu"Инвентарь:\n \n");
        if(
    Bandage[client] == true)
        {
            
    AddMenuItem(menu"option1""Бинт");
        }
        if(
    Healthkit[client] == true
        {
            
    AddMenuItem(menu"option2""Аптечка");
        }
        
    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(
    Bandage[client])
                {
                    
    PrintToChat(client"Бинт");
                    
    Bandage[client] = false;
                }
            }
            case 
    1:
            {
                if(
    Healthkit[client])
                {
                    
    PrintToChat(client"Аптечка");
                    
    Healthkit[client] = false;
                }
            }
        }
    }
    Суть в том что.
    Если выбираю Бинт, то аптечка потом не выбирается.
    Если выбираю аптечку (первый раз), то бинт выбирается нормально.
     
  2. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    глобальное меню, при выборе пункта мб еще раз показать меню, ну и странный метод, лучше все в одну переменную, там и циклом можно будет, кода меньше
     
  3. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Здесь нельзя пользоваться switch "нажатой кнопкой", т.к. у тебя на кнопках могут меняться местами Бинт и Аптечка из-за условий:
    А раз так, то:
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.003
    Симпатии:
    2.994
    Hejter, у тебя пункты могут меняться местами, поэтому тользуйся не их номерами, а их описанием. "option1" .... Можешь тут передавать 1, 2, 3.. (как строки), потом при нажатии делать Str2Int и switch
     
  5. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Не люблю писать все в одну переменную, а может и не умею.

    Добавлено через 8 минут
    Вот так работает.

    Добавлено через 5 лет
    Вопрос еще назрел. Как закрыть меню игрока или он умер?
    Решил. Сделала проверку жив или мертв.
     
    Последнее редактирование: 8 дек 2015