|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
|
Поиск нужного мне файла на стороне клиента
|
|
| REVIL | Дата: Воскресенье, 21.09.2008, 00:33:33 | Сообщение # 1 |
|
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Не в сети
| Помогите пожалуста в написании скрипта... Цель скрипта найти мне нужный фаил на стороне клиента, и если он есть то записать в мой лог....или далее уже забанить этого игрока скрипт по идее похож на скрип Smook_FIx [code #include <amxmodx> public plugin_precache() { register_plugin("Smoke FIX", "0.1", "many") force_unmodified(force_exactfile, {0, 0, 0}, {0, 0, 0}, "sprites/gas_puff_01.spr") } ][/code] Code #include <amxmodx>
пробую так но скрип не компилится public plugin_init() { register_plugin("4iter", "0.1", "REVIL") }
public client_connect(id){ new name[32] get_user_name(id,name,31) if (force_unmodified(force_exactfile, {0, 0, 0}, {0, 0, 0}, "../DemoPlayer.cfg")) >0 { log_amx("'%s' 4iter", name)} } В даном скримте я ищю фаил, указаный выше.... он 100% процентов должен быть у читера в папке с самой Халвой..... если он есть то нада записать его в лог или забанить.... существет еще ряд файлов которые мне надо найти...но это уже будет по аналогии... фаил можно искать когда игрок конектися к серверу или уже приконектился Надеюсь обяснять не надо зачем мне искать этот фаил? Заранее буду благодарен..... если конешно такая тема была..простите не нашел ни с помошью поиска ни так.....
|
| |
|
|
| DaTa | Дата: Воскресенье, 21.09.2008, 01:24:35 | Сообщение # 2 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| force_unmodified можно применять только в plugin_precache, если этот файл не будет обнаружен - то игрок будет кикнут вообще проверить существует ли файл на клиенте - не особо возможно, хотя есть пару способов, например precache файл, и смотреть - качает ли клиент его с сервера, если не качает - файл существует, но вроде нужно движок ламать, т.е. не средствами амхх скриптинга...
|
| |
|
|
| REVIL | Дата: Воскресенье, 21.09.2008, 03:42:29 | Сообщение # 3 |
|
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Не в сети
| завтра(точнее уже сегодня,но попзже) попробую с plugin_precache помудрить....... Ты же сам говоришь что ,если фаил будет не обнаружен... то будет кик.... а мне всего лишь нада что не кик а в лог записало..... и подскажите пожалуста что обозначает force_exactfile???... Чесно я чето не пойму........ на примере тогоже скрипта фикса дыма...... скрипт ищет есть ли фаил у клиента.......если его нет, то он автоматом скачивается(если это спрайт)или кик(если это дллка) а вот в лог записать оно не хочет что ли? получается так DaTa??? неужели нет просто проверки ? Насчет скачиивания фала........ оно отпадает..... так как у простых смертных его не должно быть, подключившись к контре они его все начнут скачивать....... так что тогда смысл пропадаетв этом скрипте, я ведь его хочу так попалить и забанить.......
Сообщение отредактировал REVIL - Воскресенье, 21.09.2008, 03:43:44 |
| |
|
|
| DaTa | Дата: Воскресенье, 21.09.2008, 16:36:09 | Сообщение # 4 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| force_unmodified нужен для проверки идентичности файла на стороне клиента, т.е. ты регистрируешь файл, который нужно проверить. сервер(движок) отправляет запрос клиенту на, например, хеш этого файла, получает, сравнивает, если разные - кикает в этот момент мод ничего не подозревает о происходящем, т.е. средствами амхх это не проверяемо еще есть вариант ловли "Unable to transfer", но я об этом мало что знаю, может помогут более осознанные участники форума насколько я знаю, можно хакнуть движок, как-то хукнуть вызов кика движком, но я в подобном не шарю... Добавлено (2008-09-21, 4:36 Pm) --------------------------------------------- вроде реально проверить, есть ли данный файл с таким же содержанием на клиенте, но тут амхх не поможет Средствами metamod: 1) ForceUnmodified(force_exactfile) на серверы проверяемые файлы 2) хукать http://metamod.org/dllapi_notes.html#InconsistentFile в pre версии, проверять имя файла. Если проверяемое - у клиента нету этого файла, записать временную информацию, что этого файла нету, блокировать вызов, возвращать 0; иначе игнорировать вызов. 3) если клиент зашел на сервер, и для какого-то файла не вызывалась InconsistentFile - значит она у него есть, и такого же содержания, что и на сервере.
|
| |
|
|
| pike | Дата: Воскресенье, 03.05.2009, 12:45:52 | Сообщение # 5 |
 Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Code public plugin_precache() { new conffile[200] new configdir[200] get_configsdir(configdir,199)
format(conffile,199,"%s/precache.ini",configdir)
if(!file_exists(conffile)) {
log_to_file("addons\hlguard\logs\wallhack.txt","%s %s", conffile, configdir) return 0 } new lines = file_size(conffile,1) new file[1024], len for(new i=0;i<=lines;i++) { read_file(conffile,i,file,1023,len) if(equal(file,"")) continue; if(!equal(file,";",1)) precache_generic(file); } return PLUGIN_HANDLED } Не кикает при отсутствии файла,указанного в precache.ini ( в лог не пишет почему то), но как поймать это у клиента, качает или нет ? draft решил эту проблему в ZETA
Сообщение отредактировал pike - Воскресенье, 03.05.2009, 12:47:04 |
| |
|
|
| Koka | Дата: Пятница, 08.05.2009, 18:44:50 | Сообщение # 6 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| draft решил эту проблему путем создания "секретного" конфига на клиенте с некоторым setinfo значением, после присоединении игрока выполняется этот конфиг и если чтото там > или < то кикает...
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
|
| |
|
|
| pike | Дата: Вторник, 28.07.2009, 08:51:45 | Сообщение # 7 |
 Полковник
Группа: Пользователи
Сообщений: 207
Статус: Не в сети
| Quote (Koka) выполняется этот конфиг О, и precache файла выполняется при коннекте. Добавлено (2009-05-19, 0:00 Am) --------------------------------------------- Quote (Koka) создания "секретного" конфига на клиенте с некоторым setinfo значением, после присоединении игрока выполняется этот конфиг и если чтото там > или < то кикает. Бред. Добавлено (2009-07-28, 8:51 Am) --------------------------------------------- Как реализовать кик клиента при наличии точно такого же файла ?
Сообщение отредактировал pike - Вторник, 18.08.2009, 10:01:16 |
| |
|
|
 | AMX Mod X Russian Community © 2006-2026  |  |
|
| |