Добавить функцию недоступно на этой карте

Сообщения
264
Реакции
80
Помог
1 раз(а)
Добрый вечер, с наступающим новым годом. :yes3: (особенно скриптеров, всех благ вам..:thank_you: И новых знаний в новом году)
Имею я один плагин, встала задача сделать что-бы плагин на определённых картах (типа: awp, 35hp, aim, fy) не давал доступа к командам. (/wss, /ak47, /m4a1) А просто писал в чат: Недоступно на этой карте!
Подскажите как это реализовать? Может есть моменты где можно подсмотреть и взять оттуда? Скажу честно, сам ничего не делал.. по причине того что не знаю, как это реализовать. Были бы хоть примеры, попытался бы делать. Вообщем благодарю всех за внимание.
Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

#define PLUGIN "Addon Skin System"
#define VERSION "1.3"
#define AUTHOR "REVO"

#define FLAG_ACCESS ADMIN_LEVEL_G

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /wss", "in_chat")
    register_clcmd("say /ak47", "in_chat")
    register_clcmd("say /m4a1", "in_chat")
}

public in_chat (id)
{
    if (!is_user_alive(id))
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] Скины оружий доступны только ^3живым ^4игрокам^1!")
        return PLUGIN_HANDLED
    }
    if (~get_user_flags(id) & FLAG_ACCESS)
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] ^3Скины оружий доступны только ^4VIP ^3игрокам^1.")
        return PLUGIN_HANDLED
    }
    return PLUGIN_HANDLED_MAIN
}
 

d3m37r4

111111
Сообщения
1,454
Реакции
1,194
Помог
10 раз(а)
REVO, попробуй так
Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

#define PLUGIN "Addon Skin System"
#define VERSION "1.3"
#define AUTHOR "REVO"

#define FLAG_ACCESS ADMIN_LEVEL_G

new szMapPrefix[4], bool:g_bMapsBlock;
new const g_iMapPrefix[][] = { "awp_", "aim_", "35hp", "fy_", "$" };

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
  
    register_clcmd("say /wss", "in_chat")
    register_clcmd("say /ak47", "in_chat")
    register_clcmd("say /m4a1", "in_chat")

    get_mapname(szMapPrefix, charsmax(szMapPrefix)); 
    for(new i; i < sizeof g_iMapPrefix; i ++)
    {           
        if(containi(szMapPrefix, g_iMapPrefix[i]) != -1)
        { 
            g_bMapsBlock = true;
            break;
        }
    }

}

public in_chat (id)
{ 
    if (g_bMapsBlock)
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] Данная команда недоступна на текущей карте!")
        return;
    }

    if (!is_user_alive(id))
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] Скины оружий доступны только ^3живым ^4игрокам^1!")
        return;
    }
    if (~get_user_flags(id) & FLAG_ACCESS)
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] ^3Скины оружий доступны только ^4VIP ^3игрокам^1.")
        return;
    }
}
 
  • Нравится
Реакции: REVO
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Я бы сделал кваром amx_skin_enabled
Код:
#include <amxmodx>

new g_pcvarEnabled;

public plugin_init() {
    g_pcvarEnabled = register_cvar("amx_skin_enabled", "1")
   
    register_clcmd("say /wss", "in_chat")
    register_clcmd("say /ak47", "in_chat")
    register_clcmd("say /m4a1", "in_chat")
}

public in_chat (id)
{
    if (!get_pcvar_num(g_pcvarEnabled))
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] Недоступно на этой карте!")
        return PLUGIN_HANDLED
    }
   
    if (!is_user_alive(id))
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] Скины оружий доступны только ^3живым ^4игрокам^1!")
        return PLUGIN_HANDLED
    }
    if (~get_user_flags(id) & FLAG_ACCESS)
    {
        client_print_color(id, print_team_default, "^1[^4WSS^1] ^3Скины оружий доступны только ^4VIP ^3игрокам^1.")
        return PLUGIN_HANDLED
    }
    return PLUGIN_HANDLED_MAIN
}
А теперь уже используя конфиг карт addons/amxmodx/configs/maps/prefix_awp.cfg
amx_skin_enabled 0
Ну и для того чтобы включалось на остальных картах в addons/amxmodx/configs/amxx.cfg
amx_skin_enabled 1

Детали тут: https://dev-cs.ru/threads/608/
 

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

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