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

Voice protection 0.3

Нет прав для скачивания
Сообщения
1,536
Реакции
2,324
Помог
39 раз(а)
Пользователь Tranquillity разместил новый ресурс:

Voice protection - Блокировка микрофона вновь пришедшим игрокам

Данный плагин блокирует возможность общения для вновь пришедших игроков, то есть, выполняет функцию защиты от хулиганов, которые заходят с сервера на сервер и флудят в микрофон и/или чат. Также плагин может послужить в качестве защиты от рекламы при помощи некоторых видов ботов.
Блокировка автоматически снимается, когда игрок достигает определённого числа фрагов, настраивается константой. Предусмотрена возможность освободить от блокировки игроков с иммунитетом, также настраивается...
Узнать больше об этом ресурсе...
 
Сообщения
152
Реакции
17
Помог
2 раз(а)
а тут одна настройка общая на голосовой чат и текстовый? правильно понимаю?
а 3 это что? вывод предупреждений в чат или ошибаюсь?


#define USE_IMMUNITY ADMIN_BAN // comment out this line if you don't want use immunity
#define USE_CHAT_PROTECTION // comment out this line if you don't want use chat protection
// #define USE_NOTIFICATIONS // comment out this line if you don't want use notifications
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
а тут одна настройка общая на голосовой чат и текстовый? правильно понимаю?
#define USE_IMMUNITY для чата и для голосового чата, если есть флаг то не работает блок на этого игрока

а 3 это что? вывод предупреждений в чат или ошибаюсь?
HUD сообщение о том сколько осталось фрагов до получения возможности говорить в микрофон
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
GrafkO, на подобии справки, что для использования голосового или текстового чата нужно иметь определенное количество фрагов. Могу ошибаться, т.к. я только прочел название плагина и комментарии.
 
Сообщения
104
Реакции
38
Помог
1 раз(а)
Жаль что как обычно нету интеграции с GameME
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Я так понимаю, что данный плагин будет не совсем корректно работать, т.к. на многих серверах есть функция очистки игрового счета (kill & death).
12 Сен 2017
А, не заметил запись в стату. Простите.
 

Вложения

Сообщения
264
Реакции
80
Помог
1 раз(а)
полезный плагин. очень хорошо помогает от залетных неадекватов.
 
Сообщения
142
Реакции
23
Помог
1 раз(а)
народ почему не работает иммунитет в исходнике нечего не менял? или эта у меня тока да и при компиляция warning
//AMXXPC compile.exe
// by the AMX Mod X Dev Team
//// voice_protection.sma
//
// F:\╧╨╬├╨└╠╠█\╩╤\Compiler amxmodx 1.8.3\voice_protection.sma(51) : warning 233: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.
// Header size: 820 bytes
// Code size: 2648 bytes
// Data size: 1488 bytes
// Stack/heap size: 16384 bytes
// Total requirements: 21340 bytes
//
// 1 Warning.
// Done.
//
// Compilation Time: 0,37 sec
// ----------------------------------------
Press enter to exit ...
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
sergei, это просто варнинг, client_disconnect замени client_disconnected
 
Сообщения
52
Реакции
60
Помог
2 раз(а)
ImbaSS, толку от этого не много будет, стандартный плагин gameme использует модуль csx, это значит, что избавится от него просто так не получится, тогда можно включить запись в csstats.dat и брать инфу об количестве убийств от туда, в итоге будет намного легче чем воспользоваться сокетами или апи что опубликовали в одной из тем
 
Сообщения
142
Реакции
23
Помог
1 раз(а)
Angerfist, Angerfist, спасибо а не знаешь чета у меня не работает иммунитет пишет что нужна типа 7 фрагов для общения
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
sergei,
C++:
#define USE_IMMUNITY ADMIN_BAN // закомментируйте эту строку, если вы не хотите использовать иммунитет

Есть 2 варианта у меня, почему не работает у тебя иммунитет:
1) Нет данного флага, дабы использовать иммунитет
2) Дефайн закомментирован или указан не существующий флаг
 
Сообщения
142
Реакции
23
Помог
1 раз(а)
Minni, #define USE_IMMUNITY ADMIN_BAN // закомментируйте эту строку, если вы не хотите использовать иммунитет у меня так и стоит но иммунитет не работает
 
Сообщения
142
Реакции
23
Помог
1 раз(а)
Код:
#include <amxmodx>
#include <csstats>
#include <reapi>

#pragma semicolon 1

#define USE_IMMUNITY ADMIN_BAN // comment out this line if you don't want use immunity
#define USE_CHAT_PROTECTION // comment out this line if you don't want use chat protection
#define USE_NOTIFICATIONS // comment out this line if you don't want use notifications

const MIN_FRAGS = 10; // minimum number of frags for unlock client (default: 10)
const Float:GET_STATS_DELAY = 1.0;

#if defined USE_NOTIFICATIONS
new g_HudSyncObj;
#endif

new g_Frags[MAX_CLIENTS + 1];

public plugin_init() {
register_plugin("Voice protection", "0.3", "AMXX.Shop");
register_dictionary("voice_protection.txt");
if(!has_vtc()) {
set_fail_state("VTC is required for plugin work!");
}
RegisterHookChain(RG_CBasePlayer_Killed, "RGCBasePlayerKilledPost", true);
#if defined USE_CHAT_PROTECTION
register_clcmd("say", "CmdSay");
register_clcmd("say_team", "CmdSay");
#endif
#if defined USE_NOTIFICATIONS
g_HudSyncObj = CreateHudSyncObj();
#endif
}

public client_putinserver(id) {
if(is_user_bot(id) || is_user_hltv(id)) {
return;
}
#if defined USE_IMMUNITY
if(get_user_flags(id) & USE_IMMUNITY) {
g_Frags[id] = MIN_FRAGS;
} else {
set_task(GET_STATS_DELAY, "GetStats", id);
}
#else
set_task(GET_STATS_DELAY, "GetStats", id);
#endif
}

public client_disconnected(id) {
remove_task(id);
}

public GetStats(const id) {
new Stats[8], BodyHits[8];
get_user_stats(id, Stats, BodyHits);
if((g_Frags[id] = Stats[0]) < MIN_FRAGS) {
VTC_MuteClient(id);
}
}

public RGCBasePlayerKilledPost(const Victim, const Attacker) {
if(!is_user_connected(Attacker) || g_Frags[Attacker] >= MIN_FRAGS || Victim == Attacker) {
return;
}
if(++g_Frags[Attacker] == MIN_FRAGS) {
VTC_UnmuteClient(Attacker);
}
#if defined USE_NOTIFICATIONS
else {
set_hudmessage(128, 128, 128, _, 0.25, _, _, 10.0, _, _, -1);
ShowSyncHudMsg(Attacker, g_HudSyncObj, "%L^n%L", Attacker, "VP_TO_BEGIN", Attacker, "VP_NEED_YET", MIN_FRAGS - g_Frags[Attacker]);
}
#endif
}

#if defined USE_CHAT_PROTECTION
public CmdSay(const id) {
if(!is_user_connected(id)) {
return PLUGIN_HANDLED;
}
new Args[10];
read_args(Args, charsmax(Args));
remove_quotes(Args);
if(Args[0] == '/') {
return PLUGIN_HANDLED_MAIN;
}
if(g_Frags[id] < MIN_FRAGS) {
client_print(id, print_chat, "%L %L", id, "VP_TO_BEGIN", id, "VP_NEED_YET", MIN_FRAGS - g_Frags[id]);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
#endif
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
sergei, проверьте у себя наличие флага d или попробуйте выставить на другой флаг, ибо с плагином все нормально.
 
Сообщения
142
Реакции
23
Помог
1 раз(а)
Minni, все разобрался он у меня был прописан в верху я прописал в самый конец в plugins.in все работает отлично всем спосибо
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
sergei, это и так должно было быть понятно, что плагин, который берет стату из другого плагина, должен быть ниже него, т.к. есть порядок загрузки плагинов. Не зря же создатели различных античитов или статистик советуют, или же требуют, чтобы их плагин был в начале списка.
 
Последнее редактирование:
Сообщения
104
Реакции
38
Помог
1 раз(а)
ex3m777, Я так понимаю ключевое слово "Легче" и просто лень делать что ли ?
 
Сообщения
52
Реакции
60
Помог
2 раз(а)
ImbaSS, легче в плане оптимизации
22 Окт 2017
if(++g_Frags[Attacker] == MIN_FRAGS)
--->
if(++g_Frags[Attacker] >= MIN_FRAGS)

в 67 строке чтобы не выводило сообщения типо осталось 0 врагов для разблокировки чата
22 Окт 2017
не помогло, все ровно выводит при первой смерти осталось 0 фрагов для доступа к голосовому чату
 

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

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