Иконка ресурса

Hide Slash 1.2

Нет прав для скачивания
Сообщения
1,304
Реакции
2,303
Помог
57 раз(а)
Melodyne, PLUGIN_HANDLED прервёт дальнейшую "рассылку" -> все плагины в plugins.ini, расположенные ниже вашего плагина, не отловят команду со слешем. Т.е. если например ваш плагин выше плагина /rs, то /rs не сработает.

Вот то, что вам нужно:
Код:
#define PLUGIN_HANDLED_MAIN 2   /* to use in client_command(), continue all plugins but stop the command */
 
Сообщения
43
Реакции
6
Я прошу прощения но я не понимаю или не так понял описание но при установки на сервер перестали работать многие команды после / а чем он так нужен?
 

d3m37r4

111111
Сообщения
1,454
Реакции
1,194
Помог
10 раз(а)
klopikus, прочти комментарий выше.
 

Oli

Сообщения
5
Реакции
0
BlackSignature, здравствйте!
Заменил PLUGIN_HANDLED на PLUGIN_HANDLED_MAIN. Теперь команды работают, но сообщение со слэшем выводится в чат.
 
Сообщения
1,304
Реакции
2,303
Помог
57 раз(а)
Oli, что за чат-менеджер используется? вероятно в нём и дело. Не подавляет сообщения со слешем, вместо этого выводя их в чат.
 

Oli

Сообщения
5
Реакции
0
BlackSignature, обратил сейчас внимание на это. Этот плагин отключил, а в своей системе чата дописал проверку на слэш в начале сообщения. Спасибо большое! :)
 
Сообщения
103
Реакции
1
на сервер перестали работать многие команды после /...
 
Сообщения
893
Реакции
149
Помог
25 раз(а)
Mizer, Замени код.
Diff:
-return PLUGIN_HANDLED
+return PLUGIN_HANDLED_MAIN
 
Сообщения
2,751
Реакции
3,017
Помог
61 раз(а)
C-like:
/**
 * This plugin for AMXMODX is designed to hide commands that start with the character "/" or any other prefix specified.
 * It intercepts messages sent to players and checks if the message starts with one of the prefixes defined in the `g_prefixes` array.
 * If the message starts with one of these prefixes, the plugin blocks it from being sent.
 *
 * A key aspect of how this plugin works is that it blocks the final output (sending the message to the player), not the execution of the command on the server.
 * As a result, it does not interfere with command handlers, such as plugins with /top15 and other similar commands.
 * This means that the plugin can be placed anywhere in the plugins.ini list without causing any problems.
 *
 * Key features of the plugin:
 * 1. Hides commands starting with the "/" character.
 * 2. Uses the `g_prefixes` array to define prefixes to be blocked.
 * 3. Provides the `amx_blockslashcmds` variable to enable/disable the locking function.
 * 4. Intercepts messages using the `UserMsg_SayText` hook.
 * 5. Blocks the final output of the message, not the execution of the command on the server.
 **/

#include amxmodx

// Settings
static g_prefixes[][] = {
    // "/top15",
    // "/statsMe",
    // "/rs",
    "/",
}

static amx_blockslashcmds

public plugin_init() {
    register_plugin("Hide `/` cmds", "1.0.0", "Dev-CS.ru")

    register_message(get_user_msgid("SayText"), "UserMsg_SayText")

    bind_pcvar_num(create_cvar("amx_blockslashcmds", "1"), amx_blockslashcmds)
}

public UserMsg_SayText(msgid, dest, receiver) {
    if (amx_blockslashcmds <= 0)
        return PLUGIN_CONTINUE

    if (get_msg_args() < 4)
        return PLUGIN_CONTINUE

    static message[256]
    get_msg_arg_string(4, message, charsmax(message))

    for (new i; i < sizeof (g_prefixes); i++) {
        new bool: substringFound = strncmp(
            message, g_prefixes[i],
            strlen(g_prefixes[i]),
            .ignorecase = true
            ) == 0

        if (substringFound)
            return PLUGIN_HANDLED
    }

    return PLUGIN_CONTINUE
}
 
Сообщения
126
Реакции
4
Помог
1 раз(а)
SergeyShorokhov, если указать точку или запятую - тоже будет блокировать?
 
Сообщения
2,751
Реакции
3,017
Помог
61 раз(а)
Alexs, любые префиксы, которые укажете
При такой настройке:
C-like:
// Settings
static g_prefixes[][] = {
    ".top",
    "-statsMe",
    "/r",
}
заблокирует любую строку, которая начинается с .top или -statsMe или /r
 
Последнее редактирование:
Сообщения
677
Реакции
579
Предупреждения
8
Помог
9 раз(а)
Алексеич, ахахахах какой сергей и какой дев. Этот код гуляет уже сотни лет 😂
 

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

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