Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Не срабатывает хук chooseteam

Статус пользователя LaFA
сообщение 1.9.2015, 1:28
Сообщение #1


Стаж: 16 лет

Сообщений: 4505
Благодарностей: 3256
Полезность: 793

На команду menu и т.д. работает нормально, на М открывается меню и нельзя ничего нажать. Подскажите, где ошибка в коде.

Cкрытый текст
Код
public plugin_init()
{
    register_plugin("Menu", "1.0", "Fast")
    register_menucmd(register_menuid("Menu"), 1023, "ActionMenu")
    register_clcmd("chooseteam", "Show_menu", ADMIN_ALL)
    
    register_concmd("say /menu",        "Show_menu")
    register_concmd("say menu",        "Show_menu")
    register_concmd("servermenu",        "Show_menu")
    register_concmd("amx_plmenu",        "Show_menu")
    register_concmd("menu",            "Show_menu")
    register_concmd("say_team /menu", "Show_menu")
    register_concmd("amx_menu", "Show_menu")
    register_concmd("menu", "Show_menu")

    return PLUGIN_CONTINUE
}


Код
public Show_menu(id)
{
    static menu[512]
    new iCTcount, flags, iChar = charsmax(menu), user_team = get_user_team(id), user_alive = is_user_alive(id), mode = get_deathrun_mode()
    new iLen = formatex(menu[iLen], iChar - iLen, "\rМеню сервера^n")

    switch(mode)
    {
        case 0:    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \dНе выбран^n^n")
        case 1: iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \yЛовушки^n^n")
        case 2: iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \yНевидимка^n^n")
        case 3: iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \yНа ножах^n^n")
        case 4: iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \yСнежки^n^n")
        default: iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\dРежим: \dНе выбран^n^n")
    }

    if(user_alive)
    {
        flags |= MENUBUTTON1
        iLen += formatex(menu[iLen], iChar - iLen, "\r1. \wМагазин^n")
    }
    else iLen += formatex(menu[iLen], iChar - iLen, "\r1. \dМагазин^n")
    
    for(new i = 1; i <= DR_SLOTS; i++)
    {
        if(is_user_alive(i) && get_user_team(i) == 2) iCTcount++
    }

    if(iCTcount == 1 && user_alive && user_team == 2)
    {
        flags |= MENUBUTTON2
        iLen += formatex(menu[iLen], iChar - iLen, "\r2. \wДуэль^n")
    }
    else iLen += formatex(menu[iLen], iChar - iLen, "\r2. \dДуэль (\rНедоступно\d)^n")

    flags |= MENUBUTTON3
    iLen += formatex(menu[iLen], iChar - iLen, "\r3. \wПередать деньги^n")

    flags |= MENUBUTTON4
    iLen += formatex(menu[iLen], iChar - iLen, "\r4. \wЗаткнуть игрока^n")

    flags |= MENUBUTTON5
    iLen += formatex(menu[iLen], iChar - iLen, "\r5. \wТоп прыжков^n")

    if(user_alive)
    {
        flags |= MENUBUTTON6
        iLen += formatex(menu[iLen], iChar - iLen, "\r6. \wЯ застрял^n")
    }
    else iLen += formatex(menu[iLen], iChar - iLen, "\r6. \dЯ застрял (\rВы мертвы\d)^n")

    flags |= MENUBUTTON7
    switch(Music[id])
    {
        case true: iLen += formatex(menu[iLen], iChar - iLen, "\r7. \wМузыка: \yВкл^n")
        case false: iLen += formatex(menu[iLen], iChar - iLen, "\r7. \wМузыка: \rВыкл^n")
    }

    flags |= MENUBUTTON8
    iLen += formatex(menu[iLen], iChar - iLen, "\r8. \wПоднять фпс^n")
    
    if(user_alive)
    {
        flags |= MENUBUTTON9
        iLen += formatex(menu[iLen], iChar - iLen, "\r9. \wСкаут без патронов^n")
    }
    else iLen += formatex(menu[iLen], iChar - iLen, "\r6. \dСкаут (\rВы мертвы\d)^n")

    flags |= MENUBUTTON0
    iLen += formatex(menu[iLen], iChar - iLen, "\r0. \wВыход")

    set_pdata_int(id, OFFSET_CSMENUCODE, 0)
    show_menu(id, flags, menu, -1, "Menu")
    return PLUGIN_HANDLED
}


Код
public ActionMenu(id, key)
{
    switch(key)
    {
        case 0:
        {
            client_cmd(id, "say /drshop")
        }
        case 1:
        {
            new iCTcount, user_alive = is_user_alive(id), user_team = get_user_team(id)
            for(new i = 1; i <= DR_SLOTS; i++)
            {
                if(is_user_alive(i) && get_user_team(i) == 2) iCTcount++
            }

            if(iCTcount == 1 && user_alive && user_team == 2) client_cmd(id, "say /lr")
            else Show_menu(id)
        }
        case 2: client_cmd(id, "tm")
        case 3: client_cmd(id, "say /mute")
        case 4: client_cmd(id, "ljtop")
        case 5:
        {
            if(is_user_alive(id))
            {
                new
                Float:origin[3], Float:mins[3], Float:vec[3],
                hull, i, iSize = sizeof size

                pev(id, pev_origin, origin)
                hull = pev(id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN

                if(!is_hull_vacant(origin, hull, id) && pev(id, pev_movetype) != MOVETYPE_NOCLIP && ~(pev(id, pev_solid) & SOLID_NOT))
                {
                    pev(id, pev_mins, mins)
                    vec[2] = origin[2]

                    for(i = 0; i < iSize; ++i)
                    {
                        vec[0] = origin[0] - mins[0] * size[i][0]
                        vec[1] = origin[1] - mins[1] * size[i][1]
                        vec[2] = origin[2] - mins[2] * size[i][2]

                        if(is_hull_vacant(vec, hull, id))
                        {
                            set_pev(id, pev_origin, vec)
                            set_pev(id, pev_velocity, {0.0, 0.0, 0.0})
                            client_print(id, print_chat, "Вы освобождены")
                            break
                        }
                    }
                }
                else
                {
                    Show_menu(id)
                    client_print(id, print_chat, "Вы не застряли")
                }
            }
            else
            {
                Show_menu(id)
                client_print(id, print_chat, "Вы мертвы")
            }
        }
        case 6:
        {
            if(Music[id])
            {
                client_cmd(id, "say /roundsound")
                Music[id] = false
            }
            else
            {
                client_cmd(id, "say /roundsound")
                Music[id] = true
            }
            Show_menu(id)
        }
        case 7:
        {
                client_cmd(id, "say /fixfps")
        }
        case 8:
        {
            client_cmd(id, "say /sc")
        }
    }
    return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: