Help Помощь с Zombie Mod

Статус
В этой теме нельзя размещать новые ответы.

kek

Пользователь
Регистрация
11 Окт 2017
Сообщения
16
Симпатии
6
Всем привет , прошу помощи с плагином admin_menu для зомби сервера
В общем: Установил плагин , добавил в админ меню оружие , скомпилировал плагин , запускаю сервер и мне выдает ошибки
L 11/16/2017 - 11:27:57: Function "native_force_open_admenu" was not found
L 11/16/2017 - 11:27:57: [AMXX] Plugin "admin_menu.amxx" failed to load: Plugin uses an unknown function (name "zp_force_open_admenu") - check your modules.ini

Натив "zp_force_open_admenu" Прописал в zombie_plague40 , мод скомпилировался без ошибок
Но все равно выдает ошибки в консоли которые выше . Уже не знаю что делать за помощь заранее спасибо

Код:
#include < amxmodx >
#include < cstrike >
#include < zombieplague >
#include < fun >
#include < fakemeta >

native give_vsk94_transformer(id)

native zp_force_open_admenu(id)

new const PLUGIN_INFO[ ] =
{
    "admin menu",
    "1.0",
    "inf"
}

enum _: pOptionVIP
{
    PAKI,
    ARMOR,
    HP
}

new g_menuVipBlock[ 33 ] [ pOptionVIP ]

new g_menuBlockWeapon[ 33 ]
new g_menuBlockWeapon2[ 33 ]
new g_menuBlockWeapon3[ 33 ]
new g_menuBlockWeapon4[ 33 ]

public plugin_init( )
{
    register_plugin( PLUGIN_INFO[ 0 ] , PLUGIN_INFO[ 1 ] , PLUGIN_INFO [ 2 ] )

    register_clcmd("adminm" , "ClCmd_VipMenu" )

    register_event( "HLTV" , "event_round_start" , "a" , "1=0" , "2=0" )
}

public event_round_start( pPlayer )
{
    for(new i = 0; i < 33; i++)
    {
        if(is_user_connected(i))
        {
            if(g_menuVipBlock[i][ARMOR] >= 1) g_menuVipBlock[i][ARMOR] = 0
            if(g_menuVipBlock[i][HP] >= 1) g_menuVipBlock[i][HP] = 0


            if(g_menuBlockWeapon[i] >= 1) g_menuBlockWeapon[i] = 0
            if(g_menuBlockWeapon2[i] >= 1) g_menuBlockWeapon2[i] = 0
            if(g_menuBlockWeapon3[i] >= 1) g_menuBlockWeapon3[i] = 0
            if(g_menuBlockWeapon4[i] >= 1) g_menuBlockWeapon4[i] = 0
        }
    }
}

public ClCmd_VipMenu( pPlayer )
{
    if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
    return;

    new g_AdminMenu = menu_create( "\w[\rМеню\w] \w[\rАдмина\w]" , "ClCmd_VipMenu_Handler" )

    if( get_user_flags( pPlayer ) & ADMIN_KICK  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rМеню Оружия\w]" , "1" )
    else
    menu_additem( g_AdminMenu , "\d[Меню Оружия]" , "1" )  
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ PAKI ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rПаки\w] \w[\r+1337\w] \w[\r0\w|\r1\w]" , "2" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Паки] [+1337] \w[\r1\w|\r1\w]" , "2" , ADMIN_KICK )

    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ ARMOR ] < 1  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rБроню\w] \w[\r500\w] \w[\r0\w|\r1\w]" , "3" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Броню] [500] \w[\r1\w|\r1\w]" , "3" , ADMIN_KICK )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ HP ] < 1  && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rЖизни\w] \w[\r+500\w] \w[\r0\w|\r1\w]" , "4" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Жизни] [+500] \w[\r1\w|\r1\w]" , "4" , ADMIN_KICK )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK )
    menu_additem( g_AdminMenu , "\w[\rУправление Модом\w]" , "5" , ADMIN_KICK )  
    else
    menu_additem( g_AdminMenu , "\d[Управление Модом]" , "5" , ADMIN_KICK )  
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK )
    menu_additem( g_AdminMenu , "\w[\rAmxModMenu\w]" , "6" , ADMIN_KICK )  
    else
    menu_additem( g_AdminMenu , "\d[AmxModMenu]" , "6" , ADMIN_KICK )  

    if( ! ( get_user_flags( pPlayer ) & ADMIN_KICK ) )
    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход^n\rВы не Админ!" )
    else
    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )  

    menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

    menu_display( pPlayer , g_AdminMenu , 0 )  
}

public ClCmd_VipMenu_Handler( pPlayer , pMenu, pItem )
{
    if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_KICK)
    {
        menu_destroy( pMenu )
        return PLUGIN_HANDLED;
    }

    new pData[ 6 ], pName[ 64 ], pAccess, pCallback

    menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

    new pKey = str_to_num( pData )

    switch( pKey )
    {
    case 1:
        {      
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            weapon_menu_vip( pPlayer )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED
        }
    case 2:
        {
            if(g_menuVipBlock[ pPlayer ] [ PAKI ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yНа этой карте ты уже не можешь брать !gПаки!y!" )
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 1337 )
            PrintChatColor( pPlayer ,  "!yТы взял !g[Паки]!y!" )
            g_menuVipBlock[ pPlayer ] [ PAKI ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 3:
        {
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(get_user_armor(pPlayer) >= 500)
            {
                PrintChatColor( pPlayer ,  "!yУ вас максимально !gБрони" )
                set_user_armor(pPlayer, 500)
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

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

            set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
            PrintChatColor( pPlayer ,  "!yТы взял !g[Броню]" )
            g_menuVipBlock[ pPlayer ] [ ARMOR ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 4:
        {
            if(!is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            if(g_menuVipBlock[ pPlayer ] [ HP ] >=1)
            {
                PrintChatColor( pPlayer ,  "!yВ этом раунде ты уже не можешь брать !gЖизни" )
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
            PrintChatColor( pPlayer ,  "!yТы взял !g[Жизни]" )
            g_menuVipBlock[ pPlayer ] [ HP ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 5:
        {
            zp_force_open_admenu( pPlayer )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED
        }
    case 6:
        {
            client_cmd( pPlayer , "amxmodmenu" )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED      
        }      
    }

    menu_destroy( pMenu )
    return PLUGIN_HANDLED
}

public weapon_menu_vip( pPlayer )
{
    new g_AdminMenu = menu_create( "\w[\rМеню Оружия\w]" , "weapon_menu_vip_Handler" )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon[ pPlayer ] < 1 )  
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rВск Трансформер\w]" , "1" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Вск Трансформер]" , "1" , ADMIN_KICK )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon2[ pPlayer ] < 1 )  
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rКров Болт\w]" , "2" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Кров Болт]" , "2" , ADMIN_KICK )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon3[ pPlayer ] < 1 )  
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rПовелитель Молний\w]" , "3" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Повелитель Молний]" , "3" , ADMIN_KICK )
   
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon4[ pPlayer ] < 1 )  
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rДжек Хаммер Огненный\w]" , "4" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Джек Хаммер Огненный]" , "4" , ADMIN_KICK )

    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

    menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

    menu_display( pPlayer , g_AdminMenu , 0 )  
}

public weapon_menu_vip_Handler( pPlayer , pMenu, pItem )
{
    if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_KICK)
    {
        menu_destroy( pMenu )
        return PLUGIN_HANDLED;
    }

    new pData[ 6 ], pName[ 64 ], pAccess, pCallback

    menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

    new pKey = str_to_num( pData )

    switch( pKey )
    {
    case 1:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }

            give_vsk94_transformer(pPlayer)
            PrintChatColor( pPlayer ,  "!yТы взял !g[Вск Трансформер]!y!" )
            g_menuBlockWeapon[ pPlayer ]++
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
        }
    case 2:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon2[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    case 3:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon3[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    case 4:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon4[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    }

    menu_destroy( pMenu )
    return PLUGIN_HANDLED
}

stock PrintChatColor( const id , const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
   
    replace_all(msg, 190, "!g", "^4" ) // Green Color
    replace_all(msg, 190, "!y", "^1" ) // Default Color
    replace_all(msg, 190, "!team", "^3" ) // Team Color
   
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText" ), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
 

Вложения

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский
Модули, которые нужны плагину все запущены?
Команда meta list, если что
 

kek

Пользователь
Регистрация
11 Окт 2017
Сообщения
16
Симпатии
6
perfectblood0, Работают модули все , кроме zombieplague , хотя в modules.ini его прописал
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский
Ну вот) А он должен работать
Какая версия metamod и amxx?
 

kek

Пользователь
Регистрация
11 Окт 2017
Сообщения
16
Симпатии
6
perfectblood0, Metamod v1.19p32 , amxmodx 1.8.2-dev , сборку чистую zm сервера качал !
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский

kek

Пользователь
Регистрация
11 Окт 2017
Сообщения
16
Симпатии
6
perfectblood0, Все равно одно и тоже :) Плагин как не хотел работать так и не работает . Все те же ошибки
 

BalbuR

Пользователь
Регистрация
26 Июл 2017
Сообщения
131
Симпатии
25
Пол
Мужской
@perfectblood0, Работают модули все , кроме zombieplague , хотя в modules.ini его прописал
чиво
убери

попробуй не с натива вызывать, а с консольной команды
возможно дело в очереди подгрузки плагинов с plugins.ini
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский
perfectblood0, Все равно одно и тоже :) Плагин как не хотел работать так и не работает . Все те же ошибки
Если модуль не будет работать, то и плагины использующие этот модуль тоже не будут работать.
Прописывать его не обязательно, он должен сам подключится, если какой то плагин его использует.
Поэтому вы для начала разберитесь с модулем, потом с плагином
 

victormevsa

Пользователь
Регистрация
5 Янв 2018
Сообщения
129
Симпатии
31
Пол
Мужской
Всем привет , прошу помощи с плагином admin_menu для зомби сервера
В общем: Установил плагин , добавил в админ меню оружие , скомпилировал плагин , запускаю сервер и мне выдает ошибки
L 11/16/2017 - 11:27:57: Function "native_force_open_admenu" was not found
L 11/16/2017 - 11:27:57: [AMXX] Plugin "admin_menu.amxx" failed to load: Plugin uses an unknown function (name "zp_force_open_admenu") - check your modules.ini

Натив "zp_force_open_admenu" Прописал в zombie_plague40 , мод скомпилировался без ошибок
Но все равно выдает ошибки в консоли которые выше . Уже не знаю что делать за помощь заранее спасибо

Код:
#include < amxmodx >
#include < cstrike >
#include < zombieplague >
#include < fun >
#include < fakemeta >

native give_vsk94_transformer(id)

native zp_force_open_admenu(id)

new const PLUGIN_INFO[ ] =
{
    "admin menu",
    "1.0",
    "inf"
}

enum _: pOptionVIP
{
    PAKI,
    ARMOR,
    HP
}

new g_menuVipBlock[ 33 ] [ pOptionVIP ]

new g_menuBlockWeapon[ 33 ]
new g_menuBlockWeapon2[ 33 ]
new g_menuBlockWeapon3[ 33 ]
new g_menuBlockWeapon4[ 33 ]

public plugin_init( )
{
    register_plugin( PLUGIN_INFO[ 0 ] , PLUGIN_INFO[ 1 ] , PLUGIN_INFO [ 2 ] )

    register_clcmd("adminm" , "ClCmd_VipMenu" )

    register_event( "HLTV" , "event_round_start" , "a" , "1=0" , "2=0" )
}

public event_round_start( pPlayer )
{
    for(new i = 0; i < 33; i++)
    {
        if(is_user_connected(i))
        {
            if(g_menuVipBlock[i][ARMOR] >= 1) g_menuVipBlock[i][ARMOR] = 0
            if(g_menuVipBlock[i][HP] >= 1) g_menuVipBlock[i][HP] = 0


            if(g_menuBlockWeapon[i] >= 1) g_menuBlockWeapon[i] = 0
            if(g_menuBlockWeapon2[i] >= 1) g_menuBlockWeapon2[i] = 0
            if(g_menuBlockWeapon3[i] >= 1) g_menuBlockWeapon3[i] = 0
            if(g_menuBlockWeapon4[i] >= 1) g_menuBlockWeapon4[i] = 0
        }
    }
}

public ClCmd_VipMenu( pPlayer )
{
    if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
    return;

    new g_AdminMenu = menu_create( "\w[\rМеню\w] \w[\rАдмина\w]" , "ClCmd_VipMenu_Handler" )

    if( get_user_flags( pPlayer ) & ADMIN_KICK  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rМеню Оружия\w]" , "1" )
    else
    menu_additem( g_AdminMenu , "\d[Меню Оружия]" , "1" )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ PAKI ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rПаки\w] \w[\r+1337\w] \w[\r0\w|\r1\w]" , "2" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Паки] [+1337] \w[\r1\w|\r1\w]" , "2" , ADMIN_KICK )

    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ ARMOR ] < 1  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rБроню\w] \w[\r500\w] \w[\r0\w|\r1\w]" , "3" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Броню] [500] \w[\r1\w|\r1\w]" , "3" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuVipBlock[ pPlayer ] [ HP ] < 1  && is_user_alive(pPlayer))
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rЖизни\w] \w[\r+500\w] \w[\r0\w|\r1\w]" , "4" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Жизни] [+500] \w[\r1\w|\r1\w]" , "4" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK )
    menu_additem( g_AdminMenu , "\w[\rУправление Модом\w]" , "5" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Управление Модом]" , "5" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK )
    menu_additem( g_AdminMenu , "\w[\rAmxModMenu\w]" , "6" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[AmxModMenu]" , "6" , ADMIN_KICK )

    if( ! ( get_user_flags( pPlayer ) & ADMIN_KICK ) )
    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход^n\rВы не Админ!" )
    else
    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

    menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

    menu_display( pPlayer , g_AdminMenu , 0 )
}

public ClCmd_VipMenu_Handler( pPlayer , pMenu, pItem )
{
    if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_KICK)
    {
        menu_destroy( pMenu )
        return PLUGIN_HANDLED;
    }

    new pData[ 6 ], pName[ 64 ], pAccess, pCallback

    menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

    new pKey = str_to_num( pData )

    switch( pKey )
    {
    case 1:
        {    
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            weapon_menu_vip( pPlayer )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED
        }
    case 2:
        {
            if(g_menuVipBlock[ pPlayer ] [ PAKI ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yНа этой карте ты уже не можешь брать !gПаки!y!" )
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 1337 )
            PrintChatColor( pPlayer ,  "!yТы взял !g[Паки]!y!" )
            g_menuVipBlock[ pPlayer ] [ PAKI ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 3:
        {
            if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            if(get_user_armor(pPlayer) >= 500)
            {
                PrintChatColor( pPlayer ,  "!yУ вас максимально !gБрони" )
                set_user_armor(pPlayer, 500)
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

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

            set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
            PrintChatColor( pPlayer ,  "!yТы взял !g[Броню]" )
            g_menuVipBlock[ pPlayer ] [ ARMOR ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 4:
        {
            if(!is_user_alive(pPlayer))
            {
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }
            if(g_menuVipBlock[ pPlayer ] [ HP ] >=1)
            {
                PrintChatColor( pPlayer ,  "!yВ этом раунде ты уже не можешь брать !gЖизни" )
                ClCmd_VipMenu( pPlayer )
                return PLUGIN_HANDLED;
            }

            set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
            PrintChatColor( pPlayer ,  "!yТы взял !g[Жизни]" )
            g_menuVipBlock[ pPlayer ] [ HP ]++
            ClCmd_VipMenu( pPlayer )
        }
    case 5:
        {
            zp_force_open_admenu( pPlayer )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED
        }
    case 6:
        {
            client_cmd( pPlayer , "amxmodmenu" )
            menu_destroy( pMenu )
            return PLUGIN_HANDLED    
        }    
    }

    menu_destroy( pMenu )
    return PLUGIN_HANDLED
}

public weapon_menu_vip( pPlayer )
{
    new g_AdminMenu = menu_create( "\w[\rМеню Оружия\w]" , "weapon_menu_vip_Handler" )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon[ pPlayer ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rВск Трансформер\w]" , "1" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Вск Трансформер]" , "1" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon2[ pPlayer ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rКров Болт\w]" , "2" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Кров Болт]" , "2" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon3[ pPlayer ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rПовелитель Молний\w]" , "3" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Повелитель Молний]" , "3" , ADMIN_KICK )
 
    if( get_user_flags( pPlayer ) & ADMIN_KICK && g_menuBlockWeapon4[ pPlayer ] < 1 )
    menu_additem( g_AdminMenu , "\w[\rВзять\w] \w[\rДжек Хаммер Огненный\w]" , "4" , ADMIN_KICK )
    else
    menu_additem( g_AdminMenu , "\d[Взять] [Джек Хаммер Огненный]" , "4" , ADMIN_KICK )

    menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

    menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

    menu_display( pPlayer , g_AdminMenu , 0 )
}

public weapon_menu_vip_Handler( pPlayer , pMenu, pItem )
{
    if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_KICK)
    {
        menu_destroy( pMenu )
        return PLUGIN_HANDLED;
    }

    new pData[ 6 ], pName[ 64 ], pAccess, pCallback

    menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

    new pKey = str_to_num( pData )

    switch( pKey )
    {
    case 1:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }

            give_vsk94_transformer(pPlayer)
            PrintChatColor( pPlayer ,  "!yТы взял !g[Вск Трансформер]!y!" )
            g_menuBlockWeapon[ pPlayer ]++
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
        }
    case 2:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon2[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    case 3:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon3[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    case 4:
        {
            if(!is_user_alive(pPlayer))
            return PLUGIN_HANDLED;

            if(g_menuBlockWeapon4[ pPlayer ] >= 1)
            {
                PrintChatColor( pPlayer ,  "!yВы уже брали оружие в этом раунде!" )
                weapon_menu_vip( pPlayer )
                return PLUGIN_HANDLED
            }
        }
    }

    menu_destroy( pMenu )
    return PLUGIN_HANDLED
}

stock PrintChatColor( const id , const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
 
    replace_all(msg, 190, "!g", "^4" ) // Green Color
    replace_all(msg, 190, "!y", "^1" ) // Default Color
    replace_all(msg, 190, "!team", "^3" ) // Team Color
 
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText" ), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
Всё просто:
Ты используешь плагин без того чтобы прописать нативы в zombie_plague40.
Тебе надо было в zombie_plague40 добавить такие команды:
Найти строчку: // External additions natives
Добавить это в конец:
register_native("zp_force_open_admenu", "native_force_open_admenu", 1)
Потом:
Найти: [Custom Messages]
Перед ним добавить это:
public native_force_open_admenu(id)
{
show_menu_admin(id)
}

Ну и потом компилируй.
 

NeTvoyKenji

Пользователь
Регистрация
27 Мар 2019
Сообщения
423
Симпатии
47
victormevsa, Почти три года прошло, зачем ты поднимаешь древнюю тему?
perfectblood0 Закрой от греха подальше.
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу