Unknown command..

Сообщения
382
Реакции
-8
ку всем, тем кто читает. Такая проблема, пишу меню, оно открывается но пишет в консоли Неизвестная команда.. что делать? Что добавить в исходный код?

1679772820729.png
25 Мар 2023
client_cmd(pPlayer, "owner_menu")
return PLUGIN_HANDLED;

Бесполезно.
 
Сообщения
3,370
Реакции
1,477
Помог
124 раз(а)
PLUGIN_HANDLED надо добавлять в обработчик команды, а не там, где она посылается.
 
Сообщения
382
Реакции
-8
Nordic Warrior,
C++:
    case 1:
        {
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            
            if(!(get_user_flags(pPlayer) & ADMIN_MENU))
            {
                CC_SendMessage(pPlayer, "!n[!gOWNER!n] У вас нет !rдоступа!n!")
                ClCmd_OwnerMenu(pPlayer)
                return PLUGIN_HANDLED;
            }

            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED;
        }
    case 2:
        {
            if(g_menuAdmBlock[ pPlayer ] [ EURO ] >= 1)
            {
                CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nНа этой карте ты уже не можешь брать !gАммо!n!" )
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            num = random_num(100,500)
            zp_num = num

            zp_set_user_ammo_packs(pPlayer , zp_get_user_ammo_packs(pPlayer) + num)
            CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nТы взял !g[%d Аммо]!n!", zp_num)
            g_menuAdmBlock[ pPlayer ][ EURO ]++
            ClCmd_OwnerMenu( pPlayer )
        }
    case 3:
        {
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(get_user_armor(pPlayer) >= 1000)
            {
                CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nУ вас максимально !gБрони!n!" )
                set_user_armor(pPlayer, 1000)
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(g_menuAdmBlock[ pPlayer ] [ ARMOR ] >= 1)
            {
                CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nВ этом раунде ты уже не можешь брать !gБроню!n!" )
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue) + 500, 500)))
            CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nТы взял !g[Броня +500]!n!" )
            g_menuAdmBlock[ pPlayer ] [ ARMOR ]++
            ClCmd_OwnerMenu( pPlayer )
        }
    case 4:
        {
            if(!is_user_alive(pPlayer))
            {
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(g_menuAdmBlock[ pPlayer ] [ HP ] >= 1)
            {
                CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nВ этом раунде ты уже не можешь брать !gХП!n!" )
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            set_user_health( pPlayer , get_user_health( pPlayer ) + 300 )
            CC_SendMessage( pPlayer , "!n[!gOWNER!n] !nТы взял !g[Жизни +300]!n!" )
            g_menuAdmBlock[ pPlayer ] [ HP ]++
            ClCmd_OwnerMenu( pPlayer )         
        }
    case 5:
        {
            if(zp_get_user_zombie( pPlayer ) || !is_user_alive( pPlayer ))
            {
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(!(get_user_flags( pPlayer ) & ADMIN_MENU))
            {
                CC_SendMessage( pPlayer , "!n[!gOWNER!n] У вас нет !rДоступа!n!")
                ClCmd_OwnerMenu( pPlayer )
            }
            client_cmd( pPlayer , "amxmodmenu")
            return PLUGIN_HANDLED;
        }
    case 6:
        {
            if(zp_get_user_zombie( pPlayer ) || !is_user_alive( pPlayer ))
            {
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(!(get_user_flags( pPlayer ) & ADMIN_MENU))
            {
                CC_SendMessage( pPlayer, "!n[!gOWNER!n] У вас нет !rдоступа!n!")
                ClCmd_OwnerMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            client_cmd( pPlayer , "zpmenu")
            return PLUGIN_HANDLED;
        }
    }
    menu_destroy( pMenu )
    return PLUGIN_HANDLED;
}
 
Сообщения
494
Реакции
340
Помог
11 раз(а)
Ещё раз советую перечитать сообщение от Nordic Warrior. Это и есть решение проблемы.
Команда должна обрабатываться плагином, который по списку делает это первым.
 
Сообщения
2,833
Реакции
1,666
Помог
75 раз(а)
RedGamer, Видимо нужно просто убрать return PLUGIN_HANDLED; и функцию закрыть скобкой
 
Сообщения
494
Реакции
340
Помог
11 раз(а)
RedGamer, нужно плагин найти, где регистрируется эта команда.
Код:
register_clcmd("owner_menu", "обработчик");
Потом найти функцию с названием "обработчик" и добавить в конце функции этой:
Код:
return PLUGIN_HANDLED;
Если есть в этой функции другии ретёрны без значений, то добавить их со значениями.
26 Мар 2023
А после client_cmd такой ретёрн можно вовсе убрать. Судя по всему, присущую ему функцию он не делает. Но опять же без целого кода точно не сказать.
26 Мар 2023
И в идеале делать вызов этой функции через форвард/натив без client_cmd, так как есть клиентская команда, которая блочит client_cmd.
А соответственно, такой вариант работать не будет.
26 Мар 2023
P.S Особо одарённый человек мог зарегистрировать команду для игрока и сервера, то есть искать нужно не только функцию register_clcmd, но и register_concmd.
 
Последнее редактирование:

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу