Инвентарь

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

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.758
    Симпатии:
    256
    Пишу небольшой инвентарь для своего сервера и нашел ошибку.
    Оффтоп
    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

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

    AlmazON Не путать с самим yand3xmail

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

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

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

    Hejter Mapper Source Engine

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

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

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