Участник
Пользователь
- Сообщения
- 61
- Реакции
- 24
- Помог
- 1 раз(а)
Возникло несколько вопросов по плагину https://dev-cs.ru/threads/82/, первое, вдруг кто то уже занимался этим и есть решение, как выложено на первой странице, о настройке античитов для данной системы наказания, в теме самого плагина https://dev-cs.ru/threads/82/#post-2602 .
1. Причина наказания в худ. Кому нибудь удалось вывести Причину у наказанного игрока в худ, что бы следящие за ним сразу видели за что наказан человек? Пробовал вот так, ошибок нет, но и причины нет, я так понимаю все так легко не сработает, нужно информацию из sql подгружать, но такое к сожалению не умею. Может кто нибудь подсказать, реализуемо ли такое и помочь по коду?
2. Кто нибудь пытался интегрировать данную систему наказания в тот же вотебан. По принципу, для каждой причины свои буквы. Так как нет например смысла блокировать стрельбу тому кто в микрофон флудит. А дабы не терять онлайн, банить таких тоже в последнее время стало совсем не выгодно. пусть бегает, стреляет и думает что у него мик пашет и его "бредни" кто то слышит. А в случае читера, уже можно выдавать любые буквы. В данном вопросе совсем не понимаю как в массив причин добавить еще и поле с буквами, точнее как с ними потом работать в меню и при наказании. На примере lite_voteban пытался. начало понятно, а дальше с менюшками, уже ужас какой то начинается.
Но дальше во всех плагинах вотебанов что находил в которых есть возможность выбрать причину, начинается работа с причиной в меню, и дальше моих знаний не хватает, как в меню работать с такими данными.
Исходник одного из них, прикрепил.
С самим наказанием в целом тоже более менее понятно, Код наверное будет таким.
Но с менюшками, и как эти данные правильно в плагине передавать с массива в меню игрока, потом в меню голосования и сохранять перед наказанием, не разобрался. Буду благодарен за Вашу помощь.
1. Причина наказания в худ. Кому нибудь удалось вывести Причину у наказанного игрока в худ, что бы следящие за ним сразу видели за что наказан человек? Пробовал вот так, ошибок нет, но и причины нет, я так понимаю все так легко не сработает, нужно информацию из sql подгружать, но такое к сожалению не умею. Может кто нибудь подсказать, реализуемо ли такое и помочь по коду?
Код:
#if defined OBSERVER_HUD_POSITION
public HookStartObserver(const id, const reason[])
{
remove_task(OBSERVER_TASK_ID + id);
set_task(1.0, "TaskObserver", OBSERVER_TASK_ID + id, .flags = "b");
}
public HookStarSpawn(const id, reason[])
{
remove_task(OBSERVER_TASK_ID + id);
}
public TaskObserver(id, const reason[])
{
id -= OBSERVER_TASK_ID;
if (get_member(id, m_iObserverLastMode) != 4) {
return PLUGIN_CONTINUE;
}
new player = get_member(id, m_hObserverTarget);
if (!isPlayer(player) || !is_user_connected(player)) {
return PLUGIN_CONTINUE;
}
if (!CheckBit(g_IsBlocked, player)) {
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 51, 204, OBSERVER_HUD_POSITION, 0, 1.0, 1.0);
ShowSyncHudMsg(id, g_MsgHud, "ИГРОК НАКАЗАН. Причина: %s", reason);
return PLUGIN_CONTINUE;
}
#endif
2. Кто нибудь пытался интегрировать данную систему наказания в тот же вотебан. По принципу, для каждой причины свои буквы. Так как нет например смысла блокировать стрельбу тому кто в микрофон флудит. А дабы не терять онлайн, банить таких тоже в последнее время стало совсем не выгодно. пусть бегает, стреляет и думает что у него мик пашет и его "бредни" кто то слышит. А в случае читера, уже можно выдавать любые буквы. В данном вопросе совсем не понимаю как в массив причин добавить еще и поле с буквами, точнее как с ними потом работать в меню и при наказании. На примере lite_voteban пытался. начало понятно, а дальше с менюшками, уже ужас какой то начинается.
Код:
enum _:DATA { reson[64], flag[32]}
new g_aBanReasons[][DATA] =
{
{ "Оскорбление", "de" },
{ "Сервер 18+", "de" },
{ "Флуд в Микрофон", "de" },
{ "Реклама", "de" },
{ "Читер" "ade" },
{ "Скрипты" "bde" },
{ "Заблокировать игроку все!" "abcde" }
};
Исходник одного из них, прикрепил.
С самим наказанием в целом тоже более менее понятно, Код наверное будет таким.
Код:
server_cmd("amx_sb #%d %s %d ^"%s^"", get_user_userid(g_iVictim), g_sBanReason[flag], VB_BANTIME, g_sBanReason[reson]);
Вложения
-
9.3 KB Просмотры: 2