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;
}