Просмотр полной версии : защита на ввод цифр (плагин reactOnNPC)
Оказался очень полезен для входа на некоторые сервера. Частично обсуждался в теме, посвящённой ZenyRo (http://ragbot.ru/forum/showthread.php?t=998)
Мож есть у кого описание этого плагина, желательно на русском.
А то я так и не врубился как ловить число, если неизвестно в какой строке оно появится.:(
P.S. Не сочтите за флуд, всёж он обсуждался не в этом разделе.
masterspirta
14.01.2008, 14:10
переводить мне влом...если есть конкретный вопрос то давай!
а то я так и не врубился как ловить число, если неизвестно в какой строке оно появится.
в шаблонах можно применить оператор "или" которы обозначается "|", вот от этого и отталкивайся!
Про плагинчек можно почитать тут: reactOnNPC v.1.1.1 (http://forums.openkore.com/viewtopic.php?t=19973) (англ)
копи-пастить впадлу, поэтому можно на русском почитать тут:
reactOnNpc.pl - плагин, диалог с НПЦ с тестом-на-человека (http://rofan.ru/viewtopic.php?t=408)
конкретный вопрос то давай!
Кароче трахаясь с НПС на ЗениРо я дошёл до того что debug 1 включил.
И вот что увидел.
1 моя ошибка была такая что я пытался ловить первую строку так как она есть. /Проверка на бота/ и вот что получил.
[reactOnNPC] NPC message saved (0): "[Ïðîâåðêà íà áîòà]"
естественно потом [reactOnNPC] Matching "[Ïðîâåðêà íà áîòà]" to "/Проверка на Бота/" (0)... doesn't match.
[reactOnNPC] One or more lines doesn't match for "reactOnNPC_0" (0)
Тож непонятно почему искажаются русские буквы но фиг с ним поставил
msg_0 /.*/
Идём дальше тут я наверно всёж шаблон неправильно составил.
/.*\^FFFFFF\d+\^000000(\d+)\^FFFFFF\d+\^000000/
Но прежде чем с шаблоном экспериментировать мне непонятно вот что.
Плагин обрабатываи строки в порядке поступления и перестаёт работать при первом несовпадении. А в какой строке число мы заранее не знаем. Значит шаблон надо одинаковый для всех 4 строк? И где нам или ставить
(\^000000(\d+) | \^FFFFFF\d+)? и как определить из какой строки ответ выдавать или вместо talk num #1~1 можно какуюто сложную конструкцию замутить••••••
Неужто нужна конструкция reactOnNPC talk num @eval(#1~1 + #2~1+ #3~1 + #4~1)
Чегото отвечает, но не то
шаблон у меня msg_1 /.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/ на все 4 строки
считает неправильно:(
alex600, молочага, прям по моим шагам идёшь :) я тоже парился с eval, однако он там не правельно суммирует.. Шаблон у тебя тоже оригенально составлен (не скажу что оптимально, то работает :) )
Кароче видно, что парнишка поработал, можно и помочь ;)
используй:
talk num #1~2#2~2#3~2#4~2
у нас же из четырйх переменных тока онда имеет значение (спасибо masterspirt'y, вовремя навёл на эту мысль)
на счёт косяка с руским, а ты конфиг в утф-8 pапихал?
Значит шаблон надо одинаковый для всех 4 строк?
да
masterspirta
16.01.2008, 00:02
значит шаблон надо одинаковый для всех 4 строк?
он должен обязательно подходить под ВСЕХ(касающиеся случая зени ро, и строк только там де числа) строк, если какая либо строка не попадает под этот шаблон реактоннпц не сработает так как там жостко описывается каждая строка!!
сильно загнуто, но правда тут есть
используй:
Цитата:
talk num #1~2#2~2#3~2#4~2
у нас же из четырйх переменных тока онда имеет значение
Круто а из описания плагина невидно что так можно скорее напрашивается eval. Я ишо пробовал @eval(@eval(@eval(#1~1 + #2~1)+ #3~1) + #4~1) тож не считает.
А ваша констукция работает, ток мой шаблон не идёт лишний 0 вылазит и получается Reacting to NPC. Executing command "talk num 00854700". Придётся ещё думать но пока мозги тупят.:(
Кстати насчет русского 4epT, у тя по русски пишет•••••• У меня вот так
[reactOnNPC] NPC message saved (0): "[Ïðîâåðêà íà áîòà]".
Unknown #110619428: [Проверка на бота]
Похоже плагин не понимает по руски или в коре чет
Кора 204SVN, reactOnNPC v.1.1.1
masterspirta
16.01.2008, 08:30
@eval(#1~1 + #2~1)
не будет работать функция @eval() оценивает переменные, #1~1 или #2~1 одну из них функция оценить не сможет так как ее нет!
Открыл для себя конструктор шаблонов для регулярных выражений.*bravo* А то уменя стоко цифорок в голове не помещалось.Оказывается и мой шаблон должен был работать токо надобыло 2-е совпадение брать (точно как 4epT писал, а я опять по своему делал). Шаблон упростил а проверить не могу Зенька лежит. У них там мобы ботами прикинулись и всем сдаются без боя.
--------------------------------------------------
Докладаю - у меня тоже всё заработало.:)*bravo**ok*
Объединено
Рискнул сделать описание плагина на русском. За ошибки сильно не ругайте, лучше поправте.:)
Почитать по английски и скачать плагин можно тут (http://forums.openkore.com/viewtopic.php?t=19973). Плагин reactOnNPC позволяет автоматически выполнить команду консоли в ответ на обращение к вам NPC (не только ввод чисел). Теоретически получается что эта команда может быть любой, например дисконнект.
Практически плагин интересен возможностью сформировать ответ NPC основанный на его вопросе.
Для настройки плагина в файл config.txt записывается конфигурационный блок.
reactOnNPC command {
type (close|continue|number|responses|text)
useColors (0|1)
msg_0 шаблон текста
msg_1 шаблон текста
.................
.................
}
type - тип диалога с NPC
- close - окно NPC имеет кнопку "close"
- continue - окно NPC имеет кнопку "next"
- number - отображается строка для ввода цифр
- responses - NPC показывает список ответов
- text - отображается строка для ввода текста
useColors 1 - в захват строк включаются коды цветов
msg_0, msg_1 ..... обработчики сообщений NPC. Всё, что говорит NPC записывается плагином. Строки нумеруются с 0,1,2 и пока плагин не завершит работу. Обрабатываются последовательно с использованием функции regexp (програмисты лучше меня знают чё это). Поэтому шаблоны пишем с использованием регулярных выражений посмотреть можно тут (http://www.pcre.ru/docs/perl/text/intro/) и тут (http://rofan.ru/viewtopic.php?t=1302&start=0&postdays=0&postorder=asc&highlight=regexphttp://rofan.ru/viewtopic.php?t=1302&start=0&postdays=0&postorder=asc&highlight=regexp). Результаты обработки можно использовать при формировании команды на ответ. Если нет соответствия между строкой и шаблоном плагин сразу прекращает работу и команда не формируется.
command - команда ответа - может использовать следующие конструкции
- #(№ строки)~(№ совпадения) - ссылка на совпадение regexp
- @eval(выражение) - вычисление простых выражений (математических а может и каких других)
- @resp(шаблон) - используется для поиска по динамически изменяющемуся листу ответов (даже не представляю как это используется)
Простейший пример - выскакивает NPC и просит ввести число в числовое поле. В консоле вы видите
Unknown #110015299: [Проверка на бота]
Unknown #110015299: Ввведите число:12345678912345
А когда идёте клиентом видите всего 4 цифры. Значит невидимые цифры белые - надо выделить цвет.
Должен затыкаться следующей конструкцией
reactOnNPC talk num #1~1 {
type number
useColors 1
msg_0 /.*/
msg_1 /.*\^000000(\d+)/
}
(или msg_1 /.*\^FFFFFF\d+\^000000(\d+)\^FFFFFF\d+\^000000/)
Далее они (админы РО) усложняют вопрос, мы совершенствуем шаблоны и так пока им не надоест.
Тогда они говорят "Мы вам ещё покажем".:)
ВАЖНО: Если Вы всё сделали правильно, но плагин не работает делаем следующее.
- Ищем в файле config.txt строчку debug 0 и меняем на debug 1. После этого у вас в консоле появляется куча ненужной инфы.
- Ищем строчки начинающиеся с [reactOnNPC] смотрим что сохраняет плагим.
- Потом проверям свои шаблоны например тут (http://regexpr.ru/) или тут (http://www.pcre.ru/eval/).
Если и после этого не работает - то не знаю.:)
masterspirta
18.01.2008, 11:18
msg_0, msg_1 ..... обработчики сообщений NPC.
Єто условия а не обработчики, типа consol /.*/ в условии автомакроса!
Всё, что говорит NPC записывается плагином.
Нет не все...только переменные определенные функцией regexp!
А тоесть если мы имеем такой варианет
consol:
Unknown #110015299: [Проверка на бота]
Unknown #110015299: Ввведите число:12345678912345
Код:
reactOnNPC talk num #1~1 {
type number
useColors 1
msg_0 /.*/
msg_1 /.*\^000000(\d+)/
}
То плагин создаст 1 переменную равную (\d+), все остальное пропустит как воду сквозь пальцы!
command - команда ответа - может использовать следующие конструкции
- #(№ строки)~(№ совпадения) - ссылка на совпадение regexp
- @eval(выражение) - вычисление простых выражений (математических а может и каких других)
- @resp(шаблон) - используется для поиска по динамически изменяющемуся листу ответов (даже не представляю как это используется)
Простейший пример - выскакивает NPC и просит ввести число в числовое поле. В консоле вы видите
ОТдели команды от ссылок, это разные веши!
#1~1 именованый указатель на масив типа Хеш! (читаю верблюда только первые 30стр прочитал, могу ошибиться)
--------------------------------------------------------------------------------------------
Ну а ваще зашибись...подправиш мона и мона в мини чаво
Єто условия а не обработчики
Мож тогда написать "шаблоны обработки текстовых строк"
Нет не все...только переменные определенные функцией regexp!
Ну когда смотришь через Дебаг то видно, что но сначала сохраняет как есть потом начинает обрабатывать.
[reactOnNPC] NPC message saved (0): "[Ïðîâåðêà íà áîòà]".
Unknown #110015299: [Проверка на бота]
[reactOnNPC] NPC message saved (1): "^000000^FFFFFF^000000^FFFFFFÂâåäè: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000".
Unknown #110015299: ^000000^FFFFFF^000000^FFFFFFВведи: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000
[reactOnNPC] NPC message saved (2): "^000000^FFFFFF^000000Ââåäè: ^FFFFFF1828967058^0000002952^FFFFFF027868^000000".
Unknown #110015299: ^000000^FFFFFF^000000Введи: ^FFFFFF1828967058^0000002952^FFFFFF027868^000000
[reactOnNPC] NPC message saved (3): "^000000^FFFFFF^FFFFFF^FFFFFFÂâåäè: ^FFFFFF347900^000000^FFFFFF861074^000000^FFFFFF733 982^000000^FFFFFF^000000".
Unknown #110015299: ^000000^FFFFFF^FFFFFF^FFFFFFВведи: ^FFFFFF347900^000000^FFFFFF861074^000000^FFFFFF733 982^000000^FFFFFF^000000
[reactOnNPC] NPC message saved (4): "^000000^FFFFFF^FFFFFFÂâåäè: ^FFFFFF223811^000000^FFFFFF631219^000000^FFFFFF805 86^000000^FFFFFF^000000".
Unknown #110015299: ^000000^FFFFFF^FFFFFFВведи: ^FFFFFF223811^000000^FFFFFF631219^000000^FFFFFF805 86^000000^FFFFFF^000000
NPC Exists: Unknown #110015299 (211, 161) (ID 110015299) - (0)
[reactOnNPC] onNPCAction type is: number.
[reactOnNPC] Matching "[Ïðîâåðêà íà áîòà]" to "/.*/" (0)... [Jan 17 08:54:32 2008.88] regexp ok.
[reactOnNPC] Matching "^000000^FFFFFF^000000^FFFFFFÂâåäè: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000" to
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (1)... [Jan 17 08:54:32 2008.91] regexp ok.
[reactOnNPC] Matching "^000000^FFFFFF^000000Ââåäè: ^FFFFFF1828967058^0000002952^FFFFFF027868^000000" to
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (2)... [Jan 17 08:54:32 2008.93] regexp ok.
[reactOnNPC] Matching "^000000^FFFFFF^FFFFFF^FFFFFFÂâåäè: ^FFFFFF347900^000000^FFFFFF861074^000000^FFFFFF733 982^000000^FFFFFF^000000" to
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (3)... [Jan 17 08:54:32 2008.96] regexp ok.
[reactOnNPC] Matching "^000000^FFFFFF^FFFFFFÂâåäè: ^FFFFFF223811^000000^FFFFFF631219^000000^FFFFFF805 86^000000^FFFFFF^000000" to
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (4)... [Jan 17 08:54:32 2008.99] regexp ok.
[reactOnNPC] Reacting to NPC. Executing command "talk num 2952".
Unknown #110015299: Type 'talk num <number #>' to input a number.
[reactOnNPC] onNPCAction type is: close.
[reactOnNPC] Conditions for reactOnNPC_0 not met.
Unknown #110015299: Done talking
А если отвечаешь неправильно, то он продолжает сохранение msg_5, msg_6 и.т.д
ОТдели команды от ссылок, это разные веши!
А вот это к сожалению мне трудно сформулировать. Всётаки я не програмист потому и писал для таких как я.
А если говорить про мини чаво то надеюсь найдётся кому подправить.:)
masterspirta
18.01.2008, 12:04
Ну когда смотришь через Дебаг то видно, что но сначала сохраняет как есть потом начинает обрабатывать.
[reactOnNPC] NPC message saved (0): "[Проверка на бота]".
Unknown #110015299: [Проверка на бота]
[reactOnNPC] NPC message saved (1): "^000000^FFFFFF^000000^FFFFFFВведи: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000".
.
.
.
.
.
.
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (4)... [Jan 17 08:54:32 2008.99] regexp ok.
[reactOnNPC] Reacting to NPC. Executing command "talk num 2952".
Unknown #110015299: Type 'talk num <number #>' to input a number.
[reactOnNPC] onNPCAction type is: close.
[reactOnNPC] Conditions for reactOnNPC_0 not met.
Unknown #110015299: Done talking
А если отвечаешь неправильно, то он продолжает сохранение msg_5, msg_6 и.т.д
Где ты видиш что здесь что то ктото сохраняет?
---------------------------------------------------------
1)Сначала срабатывает плагин, он настроен на прием сообщений от нпц, и будет писать [reactOnNPC] при любом раскладе если ты имееш дело с НПцюгами.
2)Потом он проверяяет соотвецтвиие коду тобой написаного в конфиге, с тем что отсылает НПЦ
[reactOnNPC] Matching "^000000^FFFFFF^000000^FFFFFFВведи: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000" to
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (1)... [Jan 17 08:54:32 2008.91] regexp ok.
При совпадении(условие правильно) получаем "regexp ok." (все зашибись)...в этот же момент, если ты определил в коде захват чего нить(присвоения переменной какого либо участка строки), переменной или ячейки массива или хешу присваивается
какоето значения)))
----------------------------------------------------------------------------------------------------
Получиная переменная имеет тип строка без интерполяции*...
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (это с интерполяцией)
'/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/' (это без интерполяцией)(как видиш так и есть, тут регулярные выражения не работают)
Так как у нас строка а не число даже если тайп number(нужно для того что б норм работал скрипт), функция @eval нужна для обработки его как число а ни как нить ещо(перевод из строки в число и обратно в строку)!
[reactOnNPC] NPC message saved (1): "^000000^FFFFFF^000000^FFFFFFÂâåäè: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000".
.................................................. .
.................................................. ...
.................................................
[reactOnNPC] Matching "^000000^FFFFFF^000000^FFFFFFÂâåäè: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000" to "/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (1)... regexp ok.
[Где ты видиш что здесь что то ктото сохраняет?
Мож я канеш и неправильно понял сильно спорить не буду.
masterspirta
18.01.2008, 13:14
ыч....я незрячий)))
да сохраняет в буфер!!!! но все выше тож правда))
При совпадении(условие правильно) получаем "regexp ok." (все зашибись)...в этот же момент, если ты определил в коде захват чего нить(присвоения переменной какого либо участка строки), переменной или ячейки массива или хешу присваивается
какоето значения)))
----------------------------------------------------------------------------------------------------
Получиная переменная имеет тип строка без интерполяции*...
"/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/" (это с интерполяцией)
'/.*\^FFFFFF\d+\^00000(0|0(\d+))\^FFFFFF\d+\^000000/' (это без интерполяцией)(как видиш так и есть, тут регулярные выражения не работают)
Я тут ничё не понял.=-o Глубоко копаешь, а я писал гайд для нубов.:)
Подскажи - почему у меня при сохранении плагином строк в буфер корёжатся русские буквы.:( Вроде все конфиги в UTF.
masterspirta
18.01.2008, 13:37
у самого такая дрянь....притом привсем что ники игроков в правом окне статуса пишет норм и в консоли их ники норм!!! млжет попробывать файл лог консоли в ютф всунуть?! хз я на этом свое внимание не заострял!!
а причём тут лог консоли. всё остальное там нормально и лайк адекватно с русским работает. может надо чёт в плагине подкрутить••••••
masterspirta
18.01.2008, 13:57
хз может быть!! я ж говорю что мне побоку....оно мне не мешает! када будет мешать будем бороться ))
--------------------------
обед!)) а я ещо не садился за мак для прокачки до 2й профы!!!
ну мож кто другой заинтересуется, а твой мак тут все ждут
-----------------------------------------
а у нас уже скоро ужин.:)
будет время подправлю и добавлю в "мини чаво", молодец
msg_0 - я бы написал что это и есть текс сообщения.
Т.е. плагин наш регирует не на отдельную какую-то строчку, а на сообщение. И чтобы плаг сработал нам нужно в конфиге написать шаблон этого сообщения.
никогда не дружил с реакт он нпц... спасибо алексу за расталковку.., хотя с шаблонами йа так никуйа и не понял х_х
никогда не дружил с реакт он нпц
Скажу честно, разобравшись немного с плагином у меня возникло ещё больше вопросов к нему. Ещё я понял, что в случае с ZenyRO это кувалдой по таракану, теперь вхожу туда макросом:p Подозреваю что тут много таких просто они скромно помалкивают;)
П.С. А больше всего в плагине меня бесит что он корёжит руские буквы. Не люблю когда обижают родную речь]:->
alex600, а чё за макросик?
Аналогично, ловлю шаблоном консоль и выдаю talk num. достаточно поймать 1 нужную строчку и всё.:)
а строчки у тебя в консоли что-то типо:
Unknown #110015299: ^000000^FFFFFF^000000^FFFFFFВведи: ^FFFFFF666452^000000^FFFFFF71354^000000^FFFFFF3500 18^000000^FFFFFF^000000
м?
угу такие:):) всему остальному это не мешает.
ну так ты накалякай этот способ, тебе спасибо скажут ;)
ну так ты накалякай этот способ
=-o Ты ж сам пишешь, что надо учить людей думать а не дарить им готовые конфиги=-o
алгоритм такой.
1. правим кору, чтобы не удаляла информацию о цвете а выводила в консоль со спецтэгом.
2. ловим в консоле трёп нпц шаблоном regexp.
3. выдаём в качестве ответа нужное совпадение.
4. топаем бить мобов.:)
Всё.
______________________________________
Если надо в понедельник подробно отпишусь в теме про зениро - щас влом.
Выложу свои конфиги - все кто немог попасть на зениро - вперёд - атака ботов назначена на 28-е:)
=-o Ты ж сам пишешь, что надо учить людей думать а не дарить им готовые конфиги=-o
алгоритм такой.
1. правим кору, чтобы не удаляла информацию о цвете а выводила в консоль со спецтэгом.
2. ловим в консоле трёп нпц шаблоном regexp.
3. выдаём в качестве ответа нужное совпадение.
4. топаем бить мобов.:)
Всё.
______________________________________
Если надо в понедельник подробно отпишусь в теме про зениро - щас влом.
Выложу свои конфиги - все кто немог попасть на зениро - вперёд - атака ботов назначена на 28-е:)
сам себе противоречишь)))
ЗЫ На примерах разбирать всегда легче х_Х
сам себе противоречишь
Русская душа ваще протоворечива особенно в субботу вечером.
Но за базар на руси всегда отвечали поэтому хоть после плагина Витта инфа уже неактуальна я там отписался.
Ligollas
03.02.2008, 20:43
Люди кто сможет помоч, решить проблемку, скоторой я сталкнулся на сервере Екораго.сылка( http://ecoragon.net.ru/ ) Так вчом проблема я вам скажу , еще день назад был вродь норм сервер банили ботав если попадались, ну вот однажды появилась такая фигня Появляеца окно и пишет выберете язык, ну выбираю допустип русский , потом пишет введити число допустип 5 14 15 , и т.п.
Я не знаю что мне делать ток розабрался более мение с опенкор и тут как назло появился антибот:(
Пожалуйста помогите мне решить эту проблему, если сможете зайдите на этот сервер, и сами своими глазами увидите, и поймёте какая ситуация там.
Если сможете решить проблему скажите что мне делать с самого начала.
Зарание благодарю;)
Сори зыбл выложить насиройки на сервак. Вот он
[Sevstar : Odin]
ip 85.30.226.152
port 6900
master_version 2
version 20
serverType 8
private 1
а вот и скины, надеюсь поможет!
313314
Ligollas, ты бы хоть имя зачирикал своё..
ой да эта защита - фигня :)
кароче вот плагинчик от vitta (http://ragbot.ru/forum/showpost.php?p=16295#16295)
на сколько я понимаю, тебе вместо "FFFFFF" нужно прописать синий цвет
if($msg =~ /^000000(d+)^FFFFFF/){
Для того чтобы узнать правельные "символы цвета" надо разрешить коре отображать в консоле коды цветов. Для этого берём файл src\network\Recive.pm Ищём строчки:
# Remove RO color codes
$talk{msg} =~ s/\^[a-fA-F0-9]{6}//g;
И заменяем на:
# Remove RO color codes
# $talk{msg} =~ s/\^[a-fA-F0-9]{6}//g;
Теперь в консоли идёт полный текст со спецтегами цветов.
тока тебе нада же ещё выбрать русский язык..
ну для этого ожно придумать простенький макрос:
automacro antibot {
console /Select Your Language/
delay 3
call {
do talk resp 0
}
}
дальше больжен сработать плагинчек
Ligollas
03.02.2008, 23:39
4epT, Спабибо тебе большое, аж не верицо ::)))
Ligollas, ты бы хоть имя зачирикал своё..
Ligollas, А скрины свои так и оставишь для админов Екораго.:d
Кстати тамошний админчик (один из) был завсегдатым в этом месте :) и оговорит ему постучались, чтобы он обошёл защиту на этом серваке.. как же нюб попалился :)) Ligollas, это был не ты?
Ligollas
06.02.2008, 18:40
привет, выглядит немного смешно наверно, это я написал ему(гм), в аську
нащет антибота, это было еще до таво как ты мне помог решить проблему с антиботам :), кстати когда я увидел что ты отписал мне, я все зделал как ты сказал, и смотрю бот уже начал бегать,я от радости сразу же начал отписовать тебе, и тут я обращаю внимание на то что уже не было антибота. наверно смешно вышло..а ы сним в хороших отношениях?? мне кажеться что он забил на этот серве:(
Ligollas, это наверно после моих рахговоров они убрали, т.к. я объяснил что от этого пострадают только настоящие игроки ;)
Здравствуйте :) Замечательный форум, много нового узнала, но к сожалению кое-что применить на практике не удается, так как унас на сервере поставили какого уж совсем страшного анти-бота :) Если честно, лично я вообще не вижу решения этой проблемы, но решила всетаки обратится к знающим людям, вдруг свершится чудо и есть все-таки способ обойти анти-бота. В общем основа проста: просят ввести цифры. Но цифры эти отображаются ввиде картинок на экране(на скринах видно) Когда бот ловит то сразу показывает первую цифру, потом надо нажать ентер, покажется вторая, еще раз, и третья. В боте это выглядет так:
You are in Frozen state
[GM] Полиция: Мне очень жаль Вас отвлекать, но я должен проверить, игрок вы или бот.
Unknown #110011595: [Полиция]
Unknown #110011595: Введите номер:
Unknown #110011595:
Unknown #110011595: 1 попытка из 5
Unknown #110011595: девяносто секунд(ы) до конца времени на ответы
Unknown #110011595: Auto-continuing talking
Unknown #110011595: Auto-continuing talking
Unknown #110011595: Auto-continuing talking
Unknown #110011595: Auto-continuing talking
NPC Exists: Unknown #110011595 (286, 221) (ID 110011595) - (0)
Unknown #110011595: Type 'talk num <number #>' to input a number.
Can't loot item...wait...
Can't loot item...wait...
Can't loot item...wait...
Can't loot item...wait...
Can't loot item...wait...
Failed to take Clover (1) from (286, 221) to (286, 220)
Target died
Calculating random route to: Prontera Field(prt_fild08): 109, 303
Т.е входные данные вообще не видны.. мне кажется можно както распознать эти картинки.. только как? Помогите пожалуйста.. чем можете :)
картинки с цифрами явно уже в клиенте в грф, с сервера идёт пакет с командой на отображение. эта задачка для тех кто умеет анализировать пакеты ро:-[
http://forums.openkore.com/viewtopic.php?t=32797
оно? Если не оно, то там в плагинах был плагин как-раз для этого случая.
Спасибо за подсказки.
Картинки нашла, (имена bkd0,bkd1,bkd2,bkd3,bkd4,bkd5,bkd6,bkd7,bkd8,bkd9) плагин вставила куда надо, да только бот реагирует все так же, нет строчки с именем картинки. И еще, так и не поняла откуда берется файл respImageTable.txt у меня такого нет.
Попробуй включить в конфиге debug 1 может гдето появится имя картинки. Если появится а плагин не пойдёт моно будет макросом сделать я так понял соответствие картинки цифре у тя есть. Ежли появится имя картинки вылож кусок лога со строчкой.
Кажется получилось, всмысле осталось научить его отвечать на цифры)
[GM] Полиция: Мне очень жаль Вас отвлекать, но я должен проверить, игрок вы или бот.
[Feb 14 19:37:16 2008.21] Received packet: 00B4 Handler: npc_talk
[Feb 14 19:37:16 2008.21] Unknown #110011595: [Полиция]
[Feb 14 19:37:16 2008.21] Received packet: 00B4 Handler: npc_talk
[Feb 14 19:37:16 2008.21] Unknown #110011595: Введите номер:
[Feb 14 19:37:16 2008.21] Received packet: 00B4 Handler: npc_talk
[Feb 14 19:37:16 2008.22] Unknown #110011595:
[Feb 14 19:37:16 2008.22] Received packet: 00B4 Handler: npc_talk
[Feb 14 19:37:16 2008.22] Unknown #110011595: 1 попытка из 5
[Feb 14 19:37:16 2008.22] Received packet: 00B4 Handler: npc_talk
[Feb 14 19:37:16 2008.22] Unknown #110011595: девяносто секунд(ы) до конца времени на ответы
[Feb 14 19:37:16 2008.23] Received packet: 00B5 Handler: npc_talk_continue
[Feb 14 19:37:16 2008.24] Unknown #110011595: Auto-continuing talking
[Feb 14 19:37:16 2008.24] Sent talk continue: CB A4 8E 06
[Feb 14 19:37:16 2008.24] Received packet: 0195 Handler: actor_name_received
[Feb 14 19:37:16 2008.25] Player Info for 110121438 (not on screen): Picky
[Feb 14 19:37:16 2008.26] Received packet: 01B3 Handler: npc_image
[Feb 14 19:37:16 2008.26] NPC image: bkd5.bmp (0)
[Feb 14 19:37:16 2008.26] Received packet: 00B5 Handler: npc_talk_continue
[Feb 14 19:37:16 2008.26] Unknown #110011595: Auto-continuing talking
[Feb 14 19:37:16 2008.27] Sent talk continue: CB A4 8E 06
[Feb 14 19:37:16 2008.28] Received packet: 01B3 Handler: npc_image
[Feb 14 19:37:16 2008.28] NPC image: bkd6.bmp (0)
[Feb 14 19:37:16 2008.28] Received packet: 00B5 Handler: npc_talk_continue
[Feb 14 19:37:16 2008.28] Unknown #110011595: Auto-continuing talking
[Feb 14 19:37:16 2008.29] Sent talk continue: CB A4 8E 06
[Feb 14 19:37:16 2008.29] Received packet: 01B3 Handler: npc_image
[Feb 14 19:37:16 2008.30] NPC image: bkd0.bmp (0)
[Feb 14 19:37:16 2008.30] Received packet: 00B5 Handler: npc_talk_continue
[Feb 14 19:37:16 2008.30] Unknown #110011595: Auto-continuing talking
[Feb 14 19:37:16 2008.30] Sent talk continue: CB A4 8E 06
[Feb 14 19:37:16 2008.31] Received packet: 0078 Handler: actor_display
[Feb 14 19:37:16 2008.31] NPC Exists: Unknown #110011595 (229, 135) (ID 110011595) - (0)
[Feb 14 19:37:16 2008.31] Received packet: 0142 Handler: npc_talk_number
[Feb 14 19:37:16 2008.32] Unknown #110011595: Type 'talk num <number #>' to input a number.
Что-то не хочет он реагировать на плагин responseOnNPCImagе, я его просто скопировала с сайта, вставила в тхт, в папку с плагинами. в формате тхт он его, ес-но не воспринимает, но если менять расширание на pl выдает ошибку при загрузке, как поступить?
В написании плагинов я ваще ничё не смыслю, надеюсь тебе ктонить ещё подскажет а ты пока ищи всю инфу о плагине на всех форумах, может ему надо прописывать соответствие между картинкой и цифрой.
Вопрос - в товоём логе приходит 3 картинки это што надо вводить 3 цифры, например talk num 560••••••
да, именно так, три картинки по очереди, три цифры.
10 минутное исследование по сылке указанной витом показало.
1. плагин responseOnNPCImagе работает в паре с плагином reactOnNPC. reactOnNPC ловит имя файла и вызывает responseOnNPCImagе.
2. respImageTable.txt ты должна сделать сама чтото типа
bkd0 0
bkd1 1
.....
.....
bkd9 9
3. самая проблема втом что в примерах 1 цифра а у тебя 3.
Не сдавайся, решение должно быть.:)
П.С. Возможно надо чтоб кто-то подправил плагин.
respImageTable.txt у меня есть, я его сразу же сделала, по той же ссылке есть пример, и ассоциацию названий картинок с цифрами провела) но дело втом что плагин responseOnNPCImagе не работает. reactOnNPC работает, с ним все нормально. А первый нет, т.к. бот просто его не воспринимаент как плагин. Не знаю как его заставить видеть его. Собственно в этом вся проблема.
Да действительно Коре не нравится эта строчка плагина
use Commands qw(run register unregister);
Ну эт вопрос к спецам.
Кстати чё за сервер••••••
masterspirta
15.02.2008, 13:37
мдяя....
Все должно работать!
Не раз уже читал факи и мануалы и тп и тд по минимапам...Сам не пользовался, но уверен что responseOnNPCImagе рабочий.
По опыту нахождения ответов на вопросы тех кто ко мне обращаются, уверен что проблема в невнимательности прочтения описаний или прочтения описаний не в полной мере!
Да действительно Коре не нравится эта строчка плагина
use Commands qw(run register unregister);
Ну эт вопрос к спецам.
Попробуй заменить ее на:
use Commands;
или вообще удали ее.
Кстати чё за сервер••••••
Угу, что за сервер?
#use Commands qw(run register unregister);
сделали так.
теперь вот что пишется в логе:
You are in Frozen state
[Feb 16 20:43:50 2008.69] NPC image: mets_alpha.bmp (0)
[Feb 16 20:43:50 2008.70] [responseOnNPCImage] Image name >> "mets_alpha.bmp"
[Feb 16 20:43:50 2008.72] [GM] Полиция: Мне очень жаль Вас отвлекать, но я должен проверить, игрок вы или бот.
[Feb 16 20:43:50 2008.74] [reactOnNPC] NPC message saved (0): "[^0000FFÏîëèöèÿ^000000]".
[Feb 16 20:43:50 2008.75] Unknown #110011595: [Полиция]
[Feb 16 20:43:50 2008.76] [reactOnNPC] NPC message saved (1): "Ââåäèòå íîìåð:".
[Feb 16 20:43:50 2008.78] Unknown #110011595: Введите номер:
[Feb 16 20:43:50 2008.79] [reactOnNPC] NPC message saved (2): " ".
[Feb 16 20:43:50 2008.80] Unknown #110011595:
[Feb 16 20:43:50 2008.81] [reactOnNPC] NPC message saved (3): "^03015C^AB36771^000000 ïîïûòêà èç ^391A465^000000".
[Feb 16 20:43:50 2008.82] Unknown #110011595: 1 попытка из 5
[Feb 16 20:43:50 2008.84] [reactOnNPC] NPC message saved (4): "^4A9433 ^8F8F8A^866582äåâÿíîñòî ^64C0C6^000000^696A2B ñåêóíä(û) äî êîíöà âðåìåíè íà îòâåòû".
[Feb 16 20:43:50 2008.85] Unknown #110011595: девяносто секунд(ы) до конца времени на ответы
[Feb 16 20:43:50 2008.86] [reactOnNPC] onNPCAction type is: continue.
[Feb 16 20:43:50 2008.87] Unknown #110011595: Auto-continuing talking
[Feb 16 20:43:50 2008.89] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.11] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.12] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.14] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.15] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.16] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.18] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.20] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.21] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.23] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.24] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.26] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.28] Can't loot item...wait...
[Feb 16 20:43:50 2008.28] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.30] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.31] NPC image: bkd4.bmp (0)
[Feb 16 20:43:50 2008.31] [responseOnNPCImage] Image name >> "bkd4.bmp"
[Feb 16 20:43:50 2008.31] [reactOnNPC] onNPCAction type is: continue.
[Feb 16 20:43:50 2008.32] Unknown #110011595: Auto-continuing talking
[Feb 16 20:43:50 2008.32] Monster Moved: Santa Poring (0) - (154, 62) -> (146, 66)
[Feb 16 20:43:50 2008.32] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.33] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.34] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.36] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.38] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.39] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.42] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.44] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.46] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.48] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.50] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.55] Monster Moved: Super Picky (1) - (180, 55) -> (181, 55)
[Feb 16 20:43:50 2008.55] NPC image: bkd7.bmp (0)
[Feb 16 20:43:50 2008.55] [responseOnNPCImage] Image name >> "bkd7.bmp"
[Feb 16 20:43:50 2008.55] [reactOnNPC] onNPCAction type is: continue.
[Feb 16 20:43:50 2008.55] Unknown #110011595: Auto-continuing talking
[Feb 16 20:43:50 2008.55] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.56] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.57] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.59] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.60] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.62] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.64] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.65] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.67] Can't loot item...wait...
[Feb 16 20:43:50 2008.67] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.69] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.70] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.71] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.73] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.74] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.76] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.77] NPC image: bkd8.bmp (0)
[Feb 16 20:43:50 2008.78] [responseOnNPCImage] Image name >> "bkd8.bmp"
[Feb 16 20:43:50 2008.78] [reactOnNPC] onNPCAction type is: continue.
[Feb 16 20:43:50 2008.78] Unknown #110011595: Auto-continuing talking
[Feb 16 20:43:50 2008.78] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.79] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.82] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.83] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.84] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.85] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.87] Planning to take Feather of Birds (0), distance 1
[Feb 16 20:43:50 2008.88] NPC Exists: Unknown #110011595 (169, 69) (ID 110011595) - (0)
[Feb 16 20:43:50 2008.89] [reactOnNPC] onNPCAction type is: number.
[Feb 16 20:43:50 2008.89] Unknown #110011595: Type 'talk num <number #>' to input a number.
Так что нифига он не отвечает, а пишет мне зачем-то названия картинок :) Нормального описания к этому плагину нет, даже на английском, во всяком случае я не нашла..
Сервер частный, сетевой, выхода в инет не имеется :)
Уже что-то.
Сервер частный, сетевой, выхода в инет не имеется
Ну значит взглянуть на него никто не сможет.
пишет мне зачем-то названия картинок
Это он Debug 1 отрабатывает. Значит имена картинок принимает. Теперь надо думать почему он ничего не выдаёт.
может макрос надо какой-нить написать? жаль я в этом абсолютно не шарю..
у меня уже просто дело принципа, заставить его работать, ночами уснуть не могу ))
а что ты вписываешь в конфиг? напиши сюда этот блок для плагина.
может макрос надо какой-нить написать?
Есть одна идея, ежли не выйдет с плагином, поделюсь. Хотя с плагином надо разобраться до конца так что давай свой конфиг.
ночами уснуть не могу
А вот это ты зря:)
Эм.. я чувствую себя последним ламером) я не знала что туда надо что-то вписывать)
reactOnNPC talkImage num {
type number
msg_0
msg_1
}
Я так понимаю, что-то вроде этого? Но что конкретно (: Подскажите пожалйста (:
Почти случайно наткнулся на инфу на РОФАНЕ
http://rofan.ru/viewtopic.php?t=409&postdays=0&postorder=asc&start=75
Вроде проблема была решена токо там в архиве нет конфига внимательно посмотри его пост.
Ежли получится отпишись для будещего:)
отвечает только последнюю цифру.. абсолютно не поняла, как он заставил все три говорить, буду думать, если придумаю напишу..
Нашла разницу в логах. Его лог:
[Nov 14 00:46:03 2007.12] NPC image: bkd4.bmp (0)
[Nov 14 00:46:03 2007.12] [ImageNumbers] Image >> bkd4.bmp .
[Nov 14 00:46:03 2007.12] [responseOnNPCImage] Image name >> "bkd4.bmp"
[Nov 14 00:46:03 2007.12] Unknown #110011594: Auto-continuing talking
[Nov 14 00:46:03 2007.12] [reactOnNPC] onNPCAction type is: continue.
[Nov 14 00:46:03 2007.12] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Nov 14 00:46:03 2007.13] [reactOnNPC] Conditions for reactOnNPC_1 not met.
[Nov 14 00:46:03 2007.13] [reactOnNPC] Conditions for reactOnNPC_2 not met.
[Nov 14 00:46:03 2007.13] Can't loot item...wait...
[Nov 14 00:46:03 2007.13] Monster Moved: Poring (1) - (265, 344) -> (265, 344)
[Nov 14 00:46:03 2007.14] Planning to take Sticky Mucus (0), distance 1
[Nov 14 00:46:03 2007.23] NPC image: bkd3.bmp (0)
[Nov 14 00:46:03 2007.23] [ImageNumbers] Image >> bkd3.bmp .
[Nov 14 00:46:03 2007.23] [responseOnNPCImage] Image name >> "bkd3.bmp"
[Nov 14 00:46:03 2007.23] Unknown #110011594: Auto-continuing talking
[Nov 14 00:46:03 2007.23] [reactOnNPC] onNPCAction type is: continue.
[Nov 14 00:46:03 2007.24] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Nov 14 00:46:03 2007.24] [reactOnNPC] Conditions for reactOnNPC_1 not met.
[Nov 14 00:46:03 2007.24] [reactOnNPC] Conditions for reactOnNPC_2 not met.
[Nov 14 00:46:03 2007.24] Planning to take Sticky Mucus (0), distance 1
[Nov 14 00:46:03 2007.34] NPC image: bkd0.bmp (0)
[Nov 14 00:46:03 2007.34] [ImageNumbers] Image >> bkd0.bmp .
[Nov 14 00:46:03 2007.34] [responseOnNPCImage] Image name >> "bkd0.bmp"
[Nov 14 00:46:03 2007.34] Unknown #110011594: Auto-continuing talking
[Nov 14 00:46:03 2007.35] [reactOnNPC] onNPCAction type is: continue.
[Nov 14 00:46:03 2007.35] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Nov 14 00:46:03 2007.35] [reactOnNPC] Conditions for reactOnNPC_1 not met.
[Nov 14 00:46:03 2007.35] [reactOnNPC] Conditions for reactOnNPC_2 not met.
[Nov 14 00:46:03 2007.35] Planning to take Sticky Mucus (0), distance 1
[Nov 14 00:46:03 2007.53] NPC Exists: Unknown #110011594 (265, 342) (ID 110011594) - (0)
[Nov 14 00:46:03 2007.54] Unknown #110011594: Type 'talk num <number #>' to input a number.
[Nov 14 00:46:03 2007.55] [reactOnNPC] onNPCAction type is: number.
[Nov 14 00:46:03 2007.56] [reactOnNPC] Reacting to NPC. Executing command "ImageNumbers num".
[Nov 14 00:46:04 2007.15] [ImageNumbers] Executing command "talk num 430".
А в моем:
[Feb 21 18:48:29 2008.74] [reactOnNPC] onNPCAction type is: continue.
[Feb 21 18:48:29 2008.74] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Feb 21 18:48:29 2008.74] Unknown #110011595: Auto-continuing talking
[Feb 21 18:48:29 2008.77] NPC image: bkd9.bmp (0)
[Feb 21 18:48:29 2008.78] [ImageNumbers] Image >> bkd9.bmp .
[Feb 21 18:48:29 2008.78] [responseOnNPCImage] Image name >> "bkd9.bmp"
[Feb 21 18:48:29 2008.81] [reactOnNPC] onNPCAction type is: continue.
[Feb 21 18:48:29 2008.81] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Feb 21 18:48:29 2008.81] Unknown #110011595: Auto-continuing talking
[Feb 21 18:48:29 2008.86] NPC image: bkd9.bmp (0)
[Feb 21 18:48:29 2008.87] [ImageNumbers] Image >> bkd9.bmp .
[Feb 21 18:48:29 2008.87] [responseOnNPCImage] Image name >> "bkd9.bmp"
[Feb 21 18:48:29 2008.87] [reactOnNPC] onNPCAction type is: continue.
[Feb 21 18:48:29 2008.87] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Feb 21 18:48:29 2008.88] Unknown #110011595: Auto-continuing talking
[Feb 21 18:48:29 2008.91] NPC image: bkd3.bmp (0)
[Feb 21 18:48:29 2008.91] [ImageNumbers] Image >> bkd3.bmp .
[Feb 21 18:48:29 2008.91] [responseOnNPCImage] Image name >> "bkd3.bmp"
[Feb 21 18:48:29 2008.92] [reactOnNPC] onNPCAction type is: continue.
[Feb 21 18:48:29 2008.92] [reactOnNPC] Conditions for reactOnNPC_0 not met.
[Feb 21 18:48:29 2008.92] Unknown #110011595: Auto-continuing talking
[Feb 21 18:48:29 2008.94] [reactOnNPC] onNPCAction type is: number.
Т.е он записывает все в одну переменную и конечно выдает только последний результат.
Ищем эти строки в плагине reactOnNPC:
my $i = 0;
while (exists $config{"reactOnNPC_$i"}) {
if (
!$config{"reactOnNPC_$i"}
|| !main::checkSelfCondition("reactOnNPC_$i")
|| ($config{"reactOnNPC_${i}_type"} && $config{"reactOnNPC_${i}_type"} ne $type)
) {
debug "[reactOnNPC] Conditions for reactOnNPC_$i not met.\n", "reactOnNPC";
$i++;
next;
Я не знаю, что это значит, но вижу только одну переменную i. Как же сделать тчоб он брал три переменные, записывал в них по очередно, а потом вызывал их все вместе на ответ? =-o
Я не понимаю этот язык плагина.. Может просто скопировать эти строки три раза поменяв имена переменных?))
З.Ы. я не скачала его архив т.к. не смогла там зарегистрироватся, если в его плагине все так же как в моих, то вообще не представляю, что он намутил (: alex600, можешь глянуть? (:
моё я, я в Перле понимаю не больше твоего, я ваще програмированием не занимаюсь, это тебе к Чорту или Виту. Выкладываю тот архив непонимаю почему ты там не зарегилась.
У него ещё плагин подвязан responseOnImageNumbers причём этот Редиска]:-> не выложил свой конфиг и в посте возможно не всё описал. Посмотри мож чё поймёшь.:)
while (exists $config{"reactOnNPC_$i"})
Исть идея - мож у него в конфиге 3 блока для reactOnNPC
П.С. Пока форум не починят больше не зайду.]:->]:->
в общем, если прописать в конфиги 3 этих блока, то да, лог становится таким же как и у этого типа, но отвечает все равно только одну и последнюю, заменила плагины на те, что в архиве, та же фигня, я хз че делать.. а у нас еще и вайп намечается.. (: в общем некрасиво все получается
Обрати внимание на этот кусок плагина.
sub onCmd {
my (undef, $args) = @_;
my $i = 0;
for ($i=0 ; $i < @tempImage ; $i++) {
}
if ($tempImage[3] ne '') {
$tempImage = $tempImage[0].$tempImage[1].$tempImage[2].$tempImage[3];
$tempImage =~ s/\D//g;
$cmd = "talk $args " . $tempImage; message "[ImageNumbers] Executing command \"$cmd\".\n", "success";
Commands::run($cmd);
undef @tempImage;
undef $tempImage;
}
Наверно всетаки конфиг должен быть сложнее иди тут надо что-то поменять.
У меня мыслей больше нет, Витт, помоги человеку.
Эх, тяжело вот так вот что-то советовать, когда сам не можешь это попробовать(может есть какой-нить сервер в интернете, где такая же шняга стоит?).
Но судя по тому, что писал Stack, в конфиг надо добавить:
reactOnNPC talkImage num {
type number
msg_0 /.*/
msg_1 /.*/
msg_2 /.*/
msg_3 /.*/
msg_4 /.*/
}
В конфиге это и написано, причем три раза (: иначе бы он вообще ничего не отвечал. Меня вот смущает, что во всех плагинах стоит одна единственная переменная i (:
Наверняка где-то еще есть такое, но у меня инет ограничен очень, чтобы искать подобные сервера (:
А Stack походу гений, и сам не понял что изменил, что все заработало)
Stack просто не привёл свой конфиг но вы же видите кокой плагин у него отвечает
[reactOnNPC] Reacting to NPC. Executing command "ImageNumbers num".
[ImageNumbers] Executing command "talk num 430".
Эту команду регистрирует плагин responseOnImageNumbers Поэтому я и обращаю ваше внимание на куски из него. Если б я понимал в Перле я б сказал как он работает а так я анализирую полуинтуитивно потому и предложил Виту посмотреть. Еслиб я имел возможность экспериментировать я бы поигрался с этим плагином. Для начала в конфиг надо добавить
reactOnNPC ImageNumbers num {
type number
}
а возможно и
reactOnNPC ImageNumbers num {
type number
msg_0 /.*/
msg_1 /.*/
msg_2 /.*/
msg_3 /.*/
msg_4 /.*/
}
блок
reactOnNPC talkImage num {
type number
msg_0 /.*/
msg_1 /.*/
msg_2 /.*/
msg_3 /.*/
msg_4 /.*/
}
возможно не нужен вообще:)
Kuntsevich
28.02.2008, 17:45
Подобный антибот стоит на turnro.net. Сам сейчас пытаюсь разобратся. Только файлы картинок с номерами называются #BKD0, #BKD1...
Kuntsevich, дай настройки на сервер, я тож попробую.:)
Пробуй...
[turnro]
ip 83.219.128.194
port 6900
master_version 2
version 22
serverType 8
serverEncoding Russian
Насчет плагина:
Вроде там всё нормально написано...
Немного извратный способ - но работает.:)
То, что на turnro сделали имена файлов с катринками типа #bkd0, #bkd1... делает невозможным использование файла respImageTable.txt . Потому я решил написать макрос.
И вот что вышло.
automacro antibot13 {
console /bkd(\d)/
call {
if (@config(myVar) == 0) goto N1
if (@config(myVar) == 1) goto N2
if (@config(myVar) == 2) goto N3
goto exit
:N1
do conf myNum1 $.lastMatch1
do conf myVar 1
do talk cont
goto exit
:N2
do conf myNum2 $.lastMatch1
do conf myVar 2
do talk cont
goto exit
:N3
do conf myNum3 $.lastMatch1
do conf myVar 0
do talk cont
pause 5
log Numbers= @config(myNum1)@config(myNum2)@config(myNum3)
do talk num @config(myNum1)@config(myNum2)@config(myNum3)
:exit
}
}
Далее в конфиге нужен блок переменных.
myVar 0
myNum1 0
myNum2 0
myNum3 0
в конфиге должен быт запрет на автопродолжение разговора с НПЦ
autoTalkCont 0 иначе макрос не успевает отработать.
ВАЖНО для работы макроса нужно в плагины положить плагин responseOnImageNumbers.pl
Конфигурировать его не надо. Если будет ошибка при старте Коры надо в плагине найти и закомментить строчку #use Commands qw(run register unregister); Никаких других плагинов типа reactOnNPC.pl быть не должно.
Вот результат
П.С. Не люблю когда злобные пираты-админы обижают маленьких ботиков.:))
Сделала все как ты сказал, но у меня получается вот такой вот лог:
[GM] Полиция: Мне очень жаль Вас отвлекать, но я должен проверить, игрок вы или бот.
[Mar 4 18:56:39 2008.68] Unknown #110011595: [Полиция]
[Mar 4 18:56:39 2008.70] Unknown #110011595: Введите номер:
[Mar 4 18:56:39 2008.71] Unknown #110011595:
[Mar 4 18:56:39 2008.71] Unknown #110011595: 1 попытка из 5
[Mar 4 18:56:39 2008.72] Unknown #110011595: девяносто секунд(ы) до конца времени на ответы
[Mar 4 18:56:39 2008.74] Unknown #110011595: Auto-continuing talking
[Mar 4 18:56:39 2008.80] Monster Pupa (2) is casting Metamorphosis on itself (time 2000ms)
[Mar 4 18:56:39 2008.81] [ImageNumbers] Image >> bkd1.bmp .
[Mar 4 18:56:39 2008.91] [macro] automacro antibot13 triggered.
[Mar 4 18:56:40 2008.39] [responseOnNPCImage] Image name >> "bkd1.bmp"
[Mar 4 18:56:40 2008.39] [macro] automacro antibot13 triggered.
[Mar 4 18:56:40 2008.39] Unknown #110011595: Auto-continuing talking
[Mar 4 18:56:40 2008.41] [ImageNumbers] Image >> bkd2.bmp .
[Mar 4 18:56:40 2008.41] [macro] automacro antibot13 triggered.
[Mar 4 18:56:40 2008.41] [responseOnNPCImage] Image name >> "bkd2.bmp"
[Mar 4 18:56:40 2008.42] [macro] automacro antibot13 triggered.
[Mar 4 18:56:40 2008.42] Unknown #110011595: Auto-continuing talking
[Mar 4 18:56:42 2008.15] Config 'myNum1' set to 2 (was 0)
[Mar 4 18:56:42 2008.92] [ImageNumbers] Image >> bkd7.bmp .
[Mar 4 18:56:42 2008.92] [macro] automacro antibot13 triggered.
[Mar 4 18:56:42 2008.93] [responseOnNPCImage] Image name >> "bkd7.bmp"
[Mar 4 18:56:42 2008.95] [macro] automacro antibot13 triggered.
[Mar 4 18:56:42 2008.96] Unknown #110011595: Auto-continuing talking
[Mar 4 18:56:43 2008.39] Monster Pupa (2) changed to Creamy
[Mar 4 18:56:43 2008.43] NPC Exists: Unknown #110011595 (98, 315) (ID 110011595) - (0)
[Mar 4 18:56:43 2008.49] Unknown #110011595: Type 'talk num <number #>' to input a number.
[Mar 4 18:56:43 2008.50] Config 'myNum1' set to 7 (was 2)
[Mar 4 18:56:44 2008.44] Config 'myVar' set to 1 (was 0)
[Mar 4 18:56:45 2008.51] BotKillerFnc1: [Полиция]
[Mar 4 18:56:45 2008.61] BotKillerFnc1: Не верно, правильный ответ: 127
Что бы это, черт возьми, значило? (:
Что бы это, черт возьми, значило? (:
Это значит, что ты невнимательно прочитала.:stop:
1ImageNumbers] Image >> bkd1.bmp .
[Mar 4 18:56:39 2008.91] [macro] automacro antibot13 triggered.
[Mar 4 18:56:40 2008.39] [responseOnNPCImage] Image name >> "bkd1.bmp"
[Mar 4 18:56:40 2008.39] [macro] automacro antibot13 triggered. У тя макрос срабатывает 2 раза на 1 цифру - значит 1 плагин удали.
2.Unknown #110011595: Auto-continuing talking Автоответ в конфиге надо отключить иначе макрос не успевает записать переменные. Макрос сам нажмёт кнопку "продолжить". РеактОнНПС тоже убери и убери все настройки для плагинов. Тут что-то одно, иначе они будут мешать друг-другу.:)
да-да-да :) дошло буквально через пять минут, что плагины другие нужно то убрать :)
спасибо, alex600, ты гений (: и все гениальное - просто (:
блин (: у меня ка кобычно сразу ниче не получается) автоответ стоит ноль, все плагины ненужные кроме responseOnImageNumbers удалила, вроде все проверила, а все равно макрос не успевает срабатывать, т.к. кора почему-то автоматически завершает диалог. Вообще все убрала где встречается словосочетание autotalk и т.д. а все равно завершает. Что это еще может быть?
Я немного не тот параметр писал, сам запутался чё делал:-[ Нужен
autoTalkCont 0
Ваще я сейчас пытаюсь переделать responseOnImageNumbers под алгоритм своего макроса, есть надежда на успех:)
Доделал и проверил - смотреть тут (http://ragbot.ru/forum/showpost.php?p=17886&postcount=1):-[
ДА! Работает! (: Слава тебе (: *ok**ok* :))
Единственное, я заинтересовалась, как твой плагин ассоциирует цифры, если respImageTable не используется? (:
Надеюсь админы этих серверов тоже не поймут, а то придётся плагин усложнять.:d
Значит ты мне не раскроешь секрет? (: А если на ушко? (:
помагите пожалуйсто, я играю на локальном сервере г. Кургана, сервер - LocalRO, ранее был CitrusRO, у меня бот работает, но там поставили защиту, когда заходишь в игру там сразу вылазит окошко чтобы ввести данное число, к примеру число 87241, а до него стоят пробелы т.е. пустое место, число всегда требует ввести одного цвета, чёрного какое оно там и есть, и каждый раз при заходе в игру это число меняяется, дак вот я незнаю какие настройки делать, если не сложно выложите сюда пожалуйсто настройки, или скажите что в конфиге писать чтобы при заходе через бота видно было это число, и чтобы можно было его вводить через бота. Настройки сервера:
XKore_ID
XKore_listenIp 10.247.247.101
XKore_listenPort 6900
master_version 111
version 21
XKore_publicIp 10.247.247.101
XKore_proxyAllowed_IP
gendolf, посмотри эту тему: http://ragbot.ru/forum/showthread.php?t=2627
ну и если не поможет, то выложи скрин этих цифр.
неа не поомогло( пишет Unknown packet - 7800
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
You are sitting.
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
а потом ниже жёлтым пишет
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000081: *Drool*
[dist=unknown] Unknown #2000028: *Good Game*
[dist=unknown] Unknown #2000081: *Heh*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000028: *Ok*
[dist=unknown] Unknown #2000028: *Good Game*
[dist=2.2] Unknown #2000028 (0): *Fist*
[dist=2.8] Unknown #2000028 (0): *Wave*
[dist=4.5] Unknown #2000028 (0): *Wave*
[dist=2.8] Unknown #2000028 (0): *Peace*
Friend Sensor has connected
[dist=2.2] Unknown #2000028 (0): *Peace*
[dist=2.8] Unknown #2000028 (0): *Peace*
[dist=3.2] Unknown #2000028 (0): *Wave*
Unknown packet - 8600
[dist=1.4] Unknown #2000028 (0): *Peace*
[dist=1.4] Unknown #2000028 (0): *Wave*
[dist=1] Unknown #2000028 (0): *Peace*
и там ваще ничё не пишет в боте что типо введите число, и его не показывает,ваще не определяет какое число там надо ввести, или оно само должно ввести число? и там всякие пакеты пишет неизвестные жёлтым
Unknown packet - EB00
Unknown packet - 9600
[Unknown packet - 9500
Unknown packet - 9500
Unknown packet - 8600
Unknown packet - 9500
там с буквами разными ещё пакеты
Тоже самое
Unknown packet - 7800
Unknown packet - 0600
Unknown packet - 8700
Unknown packet - 9500
gendolf, вобщем качаешь последнюю версию бота(на рофане сборка новее, и там есть сервер_тайп 8_2). В настройках сервера меняешь сервер тайп с 8 на 8_2. Ну и экстрактором пакетов извлекаешь новый ресивпакетс с клиента. Тогда не будет ункноун пакетов писать.
P.S:Что-то я не вижу скрина с клиента с цыфарками]:->
P.P.S: Если это именно тот антибот(скрина то нету), то должен всё сам вводить.
vitt,
Ладно, Вит, кинь сюда ссылку с новым ботом на рофане, я хоть поставлю топик(
соря забыл затереть, вот скрин когда просит ввести число
vitt, я скачал новую версию бота 2.0.6 поменял сервер тайп на 8_2, пробовал 8 оставить, сделал файл екстрактером пакетов, поместил в tables, и файлик от антибота тот с настройками aabot поместил в папку плагинс, всё сделал как надо, пробовал по разному всё равно когда подрубится пишет анкнаун пакет, уже поменьше их стало, но ни какой номер для ввода не выдаёт, и сам ничего не вводит при проверке((( вот что пишет скрин посмотрите
Во, видно, что ты что-то таки делаешь, а не сидишь и клянчишь чтобы тебе все сделали, как многие другие :)
Добавь в ресивпакетс.тхт такую строчку:
001E 2
и все должно запахать(не будет этого ункноун пакета, и ты войдешь в игру ботом).
всё работает!бот сам вводит номер проверки, спасибо всем больше за помощь!!! :cool:
я вот счас запустил бота версии 2.0.4 в нём опций многа есть, удобный он, хочу его пользовать, но там щас тоже пишет Unknown packet - 0069 в этом случае что надо прописать в ресивпакетс.тхт ? а всё разобрался, я из бота 2.0.6 файл recvpackets скопировал и в папку своего многофункционального бота, в папку tables и всё работают щас обе версии!!! :)
вот у меня боты рабочие версии 2.0.4 и 2.0.6, оба работают в режиме xKore 0 и в xKore1, я вот настроил на xKore2 запускаю бота вылазит ошибка и всё(на скрине), а в клиенте всё как положено 2 выбора куда подрубатся, на серв или на xKore2, и вот я незнаю что в файле sclientinfo писать в строке <desc>Ragnarok Client Information и в строках <servicetype>korea</servicetype>, <servertype>sakray</servertype>, и ваще в строках aid <> что писать надо? а то я с натроек русро скопировал, ошибку выдаёт, где брать эти настройки? или если кто нибудь знает как их делать сделайте пожалуйсто и напишите сюда вот инфа серва # XKore 2 / Proxy configuration
XKore_ID
XKore_listenIp 10.247.247.101
XKore_listenPort 6900
master_version 111
version 21
XKore_publicIp 10.247.247.101
XKore_proxyAllowed_IP
подскажите пожалуйсто где брать настройки которые я перечислил, или как их сделать?
во всё работает ошибку не выдаёт эту больше, я просто в конфиге в строках secureAdminPassword и Password прописал свой пароль, но теперь я запускаю бота,(как я понимаю в режиме xKore2 бот не просит зайти в клиент) потом захожу в клиент выбираю просто сервер, захожу и в боте пишет что кто то логинтся в (скрин2) посмотрите, потом он сам перлогинивается и подрубается,а в игре пишет что кто то уже играет под этим логином(скрин), и это пишет если даже заходишь в игру и выбираешь чтобы подрубиться в xKore2, скажите как сделать чтобы с клиента не кикало?
gendolf, а как X-Kore 2 связано с темой "защита на ввод цифр (плагин reactOnNPC)", в которой ты пишешь? Пиши в другой теме.
сорри я просто не нашёл куда писать, а посоветовать по этому поводу что нибудь можете?
помогите, как сделать. У меня задача такая: подойти к npc>>поговорить с ним 2 раза>ввести своё имя>ввести его случайное число(оно всегда стоит последним в диалоге).
macro kassir1 {
Do move 70 46
pause 2
Do talknpc 80 45
:end
pause 1
Do talknpc 80 45
pause 1
c Name
pause 1
num $.lastMatch1
pause 1
:end
}
в чем ошибка?
Mac6ka,где у тебя АМ который запускает этот макрос?
Mac6ka,где у тебя АМ который запускает этот макрос?
у меня сам макрос запускается, но пишет что не правильный синтаксис
еще пробовала так:
macro kassir1 {
Do move 67 46
pause 2
Do talknpc 69 45 с с с r1 c Name c num $.lastMatch1
pause 1
:end
}
в чем ошибка?
do пишется с маленько
$.lastMatch1 - это что такое?
:end - это вообще откуда тут? и зачем
это у тебя макрос написан и сам по себе он не запуститься! Чтобы оно запустилось автоматически тебе нужно написать набор условий при которых будет запускаться этот макрос (читай в гайде про автомаросы)
do пишется с маленько
$.lastMatch1 - это что такое?
:end - это вообще откуда тут? и зачем
это у тебя макрос написан и сам по себе он не запуститься! Чтобы оно запустилось автоматически тебе нужно написать набор условий при которых будет запускаться этот макрос (читай в гайде про автомаросы)
у меня это часть макроса!! все остальное идет хорошо
тогда у меня вопрос как написать последнее число в разговоре нпс, $.lastMatch1 - предположительно это и было то самое число=)))))
может это надо использовать?
@arg ("<набор слов>", <n>)
Показывает <n>-ное слово из <набор слов>, или пробел, если <n> больше количества слов в <набор слов>.
есть у кого ввод цифр на антибота на ванро хр? версия 206SVN6458
Mac6ka, чтобы использовать "$.lastMatch1 " у тебя в условиях АМ должно быть "console блаблабла"
qwertypol
18.08.2009, 19:01
почитав темы по обходу антибота не нашёл похожих.
http://s40.radikal.ru/i087/0908/11/96f5475fbe7ct.jpg (http://radikal.ru/F/s40.radikal.ru/i087/0908/11/96f5475fbe7c.jpg.html)
Как обойти такой антибот?
Сервер http://nyuro.ru/rose/
masterspirta
21.08.2009, 17:11
в принципе решаеться все обычным ммакросом...скинь пожплуста текст консоли.
Принцип аналогичен с плагином реактнпц с опредилем чисел составленных из символом...
Вопрос только как это сообщение тебе приходит в консоль, построчно или одним сообщением...
если одним сообщением то все оч легко.
намек
console /||(.*)||(.*)||(.*)||(.*)||
||(.*)||(.*)||(.*)||(.*)||
||(.*)||(.*)||(.*)||(.*)||
||(.*)||(.*)||(.*)||(.*)||
||(.*)||(.*)||(.*)||(.*)||/
красное соотвецтвует
+000000+ - - > lastmach1
+++++00+ - - > lastmach5
+000000+ - - > lastmach9
+++++00+ - - > lastmach13
+000000+ - - > lastmach17
получаем 20 переменных теперь нам нада 1,5,9,13,17 переменная
теперь
создаем базу цифр
param3 ="+000000+"
param33 ="+++++00+"
param333 ="+000000+"
param3333 ="+++++00+"
param33333 ="+000000+"
теперь
if (param3=lastmach1 && param33=lastmach5 && param333=lastmach9 && param3333=lastmach13 && param33333=lastmach17)
если условие верно то значит первое число 3....
ну вообщем так далее и тому подобно
masterspirta, для этих же целей существует плагин responseOnASCIInumber
masterspirta
25.08.2009, 14:19
да, но это плагин....а я предлагаю макрос и принцип макроса....responseOnASCIInumber никто не отменял....и если я не ошибаюсь то этот плагин заточен на считывание от НПЦ окошка...не думаю что сложно поменять на консоль но все же....
всё в куче будет выглядеть как-то так:
automacro antiantibot {
console /тут надо ввести строчку/
call {
$param3 = +000000+
$param33 = +++++00+
$param333 = +000000+
$param3333 = +++++00+
$param33333 = +000000+
if ($param3 = $.lastmach1 && $param33 = $.lastmach5 && $param333 = $.lastmach9 && $param3333 = $.lastmach13 && $param33333 = $.lastmach17) goto end
log цифра не известна
:end
do talk num 3
}
}
не претендует на работоспособный, использовать просто как каркас, у кого есть готовый выкладывайте ;)
Вот вам скрин консоли бота, может кто-нибудь готовый макрос сделает)
http://s50.radikal.ru/i127/0909/94/0c140335b4cc.jpg
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc. Перевод: zCarot