m4ts
Участник
- Сообщения
- 32
- Реакции
- 5
- Баллы
- 8
Вчера решил попробовать реализацию гага с вэба, используя следующий натив:
Интересует более подробное описания работы натива (типы мута 1 / 2 / 3?).
Вводим в серверную консоль команду на тестовый мут:
На выходе:
Тип мута (аргумент после ника) был установлен в единицу, но при этом были заблокированы и чат, и войс, а так же трактуется что игрок гагает себя сам (в базе норм - Server)
zhorzh78
Код:
/**
* Добавление блока игроку
*
* @param id Индекс игрока
* @param typeFunc Тип операции блокировки
* 1- создание
* 2- удаление
* @param blType Тип блока (чат / голос)
* @param blReason[] Причина
* @param blTime Время
* @param printChat Оповестить в чат об операции, false- нет, true- стандартное оповещение о блокировке/разблокировке
*
* @return 0 - блокировка не установлена
* >0 - установлена
*/
native cmsgag_add_user_block(id, typeFunc, blType = 0, blReason[] = "", blTime = 0, bool:printChat = true);
Интересует более подробное описания работы натива (типы мута 1 / 2 / 3?).
Вводим в серверную консоль команду на тестовый мут:
webgag 6aJla6oJl 1 41S2 55
На выходе:
Код:
[debug gagweb] <6aJla6oJl><1><41S2><55>
[gamecms_gagmanager_2.2.5.amxx] *** 6aJla6oJl заблокировал Chat + Voice 6aJla6oJl на 55 minutes. Причина: 41S2
Тип мута (аргумент после ника) был установлен в единицу, но при этом были заблокированы и чат, и войс, а так же трактуется что игрок гагает себя сам (в базе норм - Server)
zhorzh78
- Исходный код
- Код:
#include <amxmodx> #include <amxmisc> #include <gamecms5> #pragma semicolon 1 public plugin_init() { register_plugin("Gag from web", "1.0", "m4ts"); register_concmd("webgag", "concmd_webgag", ADMIN_RCON, "<nick|steamid|userid> <type> <reason> <time>", 1); } public concmd_webgag(const id, level, cid) { if (!cmd_access(id, level, cid, 3)) { return PLUGIN_HANDLED; } enum _: Args { ARG_PLAYER[32], ARG_TYPE[2], ARG_REASON[32], ARG_TIME[4] }; new eData[Args]; read_argv(1, eData[ARG_PLAYER], charsmax(eData[ARG_PLAYER])); new player = cmd_target(id, eData[ARG_PLAYER]); server_print("[debug gagweb] <%s>", eData[ARG_PLAYER]); if (!player) { server_print("[GagWeb] No players find yet"); return PLUGIN_HANDLED; } if (cmsgag_is_user_blocked(player) != -1) { server_print("[GagWeb] This player already gaged"); return PLUGIN_HANDLED; } read_argv(2, eData[ARG_TYPE], charsmax(eData[ARG_TYPE])); read_argv(3, eData[ARG_REASON], charsmax(eData[ARG_REASON])); read_argv(4, eData[ARG_TIME], charsmax(eData[ARG_TIME])); server_print("[debug gagweb] <%s><%s><%s><%s>", eData[ARG_PLAYER], eData[ARG_TYPE], eData[ARG_REASON], eData[ARG_TIME]); cmsgag_add_user_block(player, 1, str_to_num(eData[ARG_TYPE]), eData[ARG_REASON], str_to_num(eData[ARG_TIME])); return PLUGIN_HANDLED; }