|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
уважаемые need help.( anti_say плаг )
|
|
mozart | Дата: Понедельник, 17.11.2008, 02:00:00 | Сообщение # 1 |
Лейтенант
Группа: Пользователи
Сообщений: 46
Статус: Не в сети
| не идет у меня на версии 1.8.0 . 1.8.1 при компилировании исходника все впорядке оши6ок нет при 3пуске - run time error .. при включении debug ука3ало на 44 строку кажется.очень хо4еться что6 он ра6отал а вот 3нание pawn у меня никакого для ....Code #include <amxmodx> #include <amxmisc>
new cheater_banned = 0
stock const CheatReports[128][128]
public plugin_init() { register_plugin("Cheat Messages Ban","1.4","dr.aft")
register_clcmd("say", "CheckCheatReport") register_clcmd("say_team", "CheckCheatReport")
register_cvar("anti_say_bantime", "99999999") // 5 Days BAN (7200 minutes) register_cvar("anti_say_bantype", "1") // 3 - Kicking only 2 - AMXBANS, 1 - IP, 0 - SteamID
set_task(1.0, "EnableAntiCheat") }
new antisaylog[64]
public EnableAntiCheat() { new antisayconfig[64] get_configsdir(antisayconfig, 64) format(antisaylog, 63, "%s/antisay.log", antisayconfig) format(antisayconfig, 63, "%s/antisay.ini", antisayconfig) new line = 0 new textsize = 0 new text[128] new tempstr[128] new i = 0
if (file_exists(antisayconfig)) { while(read_file(antisayconfig,line,text,255,textsize)) { f ormat(tempstr,128,"%s",text) CheatReports[i++]=tempstr // ВОТ ЕТО line++ } } }
public Ban(id) { new cheatername[32], ip[32], authid[32] get_user_name(id, cheatername, 31) get_user_ip(id, ip, 31, 1) get_user_authid(id, authid, 31)
client_print(0, print_chat, "[eXtreme ANTICHEAT] - Player '%s' - Cheat 'MultiHack'", cheatername, get_cvar_num("anti_say_bantime")) switch(get_cvar_num("anti_say_bantype")) { case 0: server_cmd("banid %d #%d Multihack; writeid", get_cvar_num("anti_say_bantime"), get_user_userid(id)) case 1: server_cmd("addip %d %s; writeip", get_cvar_num("anti_say_bantime"), ip) case 3: client_cmd(id, "quit") default: server_cmd("amx_ban %d #%d Multihack", get_cvar_num("anti_say_bantime"), get_user_userid(id)) } log_to_file(antisaylog, "^"%s^" <%s> - [%s] - Multihack", cheatername, ip, authid) cheater_banned = 1 }
public CheckCheatReport(id) { new said[192] cheater_banned = 0 new i, j new cheatername[32] get_user_name(id, cheatername, 32) read_args(said, 192) for(i = 0 ; i < sizeof (CheatReports) ; i++) { if(containi(said, CheatReports[i][j]) != -1) { if(cheater_banned == 0) { Ban(id) } } }
} то есть "I" есть а вот 3а4ем там i++ я ето не 3наю ) то есть у меня 6ыла RHLG еще но. гру3ило с 4мя -5ю серверами комп сильнее счас у6рал - воо6ще не лагает а вот 3а мессаги не 6анит = хо4ется 3нач старый до6рый плагин ()
Сообщение отредактировал mozart - Понедельник, 17.11.2008, 02:05:22 |
|
| |
Hatebreeder | Дата: Понедельник, 17.11.2008, 08:58:04 | Сообщение # 2 |
Подполковник
Группа: Пользователи
Сообщений: 120
Статус: Не в сети
| покажи 44 строку
|
|
| |
F4RR3LL | Дата: Понедельник, 17.11.2008, 14:33:11 | Сообщение # 3 |
Полковник
Группа: Скриптеры
Сообщений: 153
Статус: Не в сети
| Где то тут .. Только что тебе это даст? Quote { while(read_file(antisayconfig,line,text,255,textsize)) { f ormat(tempstr,128,"%s",text) CheatReports[i++]=tempstr line++ } } Quote (mozart) не идет у меня на версии 1.8.0 . 1.8.1 Странно .. У меня прекрасно работает на 1.8.1 ....
=\
|
|
| |
DaTa | Дата: Понедельник, 17.11.2008, 16:22:21 | Сообщение # 4 |
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| амхх тут непричем, или исправь размермассива CheatReports[][] Code stock const CheatReports[128][128] Code Например на stock CheatReports[512][128] и поставь проверку на переполнение массива Code while(read_file(antisayconfig,line,text,255,textsize) && i < sizeof(CheatReports)) { format(tempstr,128,"%s",text) CheatRe ports[i++]=tempstr // ВОТ ЕТО
|
|
| |
mozart | Дата: Понедельник, 17.11.2008, 16:46:25 | Сообщение # 5 |
Лейтенант
Группа: Пользователи
Сообщений: 46
Статус: Не в сети
| спс а то действительно вдруг у меня в ини 6олее 128 строк.. я не считал )
|
|
| |
pike | Дата: Суббота, 27.12.2008, 09:27:26 | Сообщение # 6 |
Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Quote (F4RR3LL) У меня прекрасно работает на 1.8.1 .... У меня так же. Хочу немного изменить , сделать чтение из .ini вида "Название чита" "Текстовое сообщение", только не знаю как
|
|
| |
draft | Дата: Суббота, 27.12.2008, 10:21:46 | Сообщение # 7 |
Полковник
Группа: Пользователи
Сообщений: 225
Статус: Не в сети
| Пользуйся лучше бета-версией ZETA, в неё уже включён antisay.ini (притом на 300 строчек, а могу и больше сделать)
|
|
| |
pike | Дата: Суббота, 27.12.2008, 12:03:07 | Сообщение # 8 |
Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Quote (draft) включён antisay.ini (притом на 300 строчек, а могу и больше сделать) Спасибо, у меня на 500 только не знаю как прикрутить чтение "Название чита" "Текстовое сообщение"
|
|
| |
draft | Дата: Суббота, 27.12.2008, 14:32:28 | Сообщение # 9 |
Полковник
Группа: Пользователи
Сообщений: 225
Статус: Не в сети
| У тебя свой плагин? Используй обычный парсер строки и два двумерных массива - один с названиями чита, другой с чит-строкой. Трёхмерный массив использовать я бы не рекомендовал - слишком много памяти жрёт.
|
|
| |
pike | Дата: Суббота, 27.12.2008, 18:23:04 | Сообщение # 10 |
Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Quote (draft) У тебя свой плагин? Немного измененный anti_say Quote (draft) Используй обычный парсер строки и два двумерных массива Можно пример, я с терминами не разобрался
|
|
| |
draft | Дата: Воскресенье, 28.12.2008, 04:38:08 | Сообщение # 11 |
Полковник
Группа: Пользователи
Сообщений: 225
Статус: Не в сети
| http://www.amxmodx.org/funcwiki.php?go=func&id=58 А вместо одномерных используешь двумерные массивы.
|
|
| |
pike | Дата: Воскресенье, 28.12.2008, 17:53:40 | Сообщение # 12 |
Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| draft, если не затруднит,можете выложить нужные строки ?
|
|
| |
ZHosTik | Дата: Среда, 11.02.2009, 15:41:25 | Сообщение # 13 |
Сержант
Группа: Пользователи
Сообщений: 20
Статус: Не в сети
| Quote (pike) Хочу немного изменить , сделать чтение из .ini вида "Название чита" "Текстовое сообщение", не помню как было раньше но я исправил так log_to_file("antisaylog.txt", " %s | %s | Ban 4itera: %s ^n", ip, cheatername, said) пишет в лог - папку амх, так как я в сетке, то оставил тока айпи
|
|
| |
pike | Дата: Вторник, 08.09.2009, 06:38:09 | Сообщение # 14 |
Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Quote (draft) Используй обычный парсер строки и два двумерных массива - один с названиями чита, другой с чит-строкой Изменил так, "Текст в чате" читает форма в ini Code "Название чита" "Текст в чате" Code public EnableAntiCheat() { new antisayconfig[64] get_configsdir(antisayconfig, 64) format(antisaylog, 63, "addons/logs/cheatmessage.txt", antisayconfig) format(antisayconfig, 63, "addons/config/message.cfg", antisayconfig) new line = 0 new textsize = 0 new text[128] new cheat[128] new chat_text[128] new i = 0
if (file_exists(antisayconfig)) { while(read_file(antisayconfig,line,text,255,textsize)) { p arse(text, cheat, 128, chat_text, 128) CheatReports[i++]=chat_text line++ Как оптимальнее занести "Название чита" при бане ? http://forums.alliedmods.net/showthread.php?t=59328&highlight=anti_say Добавлено (07.09.2009, 18:56:51) --------------------------------------------- Название чита в причине берется из самой нижней строки ini файла Добавлено (08.09.2009, 06:38:09) --------------------------------------------- Разобрался Code parse(text, cheat, 128, chat_text, 128) CheatNames[i] =cheat CheatReports[i++]=chat_text line++
Сообщение отредактировал pike - Понедельник, 07.09.2009, 21:10:59 |
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |