RagBot Forum
 

Вернуться   RagBot Forum > • Всё что касается бота • > Макросы и Плагины

Макросы и Плагины Всё что относится к макросам и плагинам. Сборник готовых макросов.

Ответ
 
Опции темы Опции просмотра
Старый 14.01.2008, 14:02   #1
alex600
Продвинутый
 
Регистрация: 13.12.2007
Адрес: Где-то далеко за Уралом
Сообщений: 200
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Восклицание защита на ввод цифр (плагин reactOnNPC)

Оказался очень полезен для входа на некоторые сервера. Частично обсуждался в теме, посвящённой ZenyRo
Мож есть у кого описание этого плагина, желательно на русском.
А то я так и не врубился как ловить число, если неизвестно в какой строке оно появится.
P.S. Не сочтите за флуд, всёж он обсуждался не в этом разделе.
__________________
Не пойманный - не БОТ
alex600 вне форума   Ответить с цитированием
Старый 14.01.2008, 14:10   #2
masterspirta
Опытный Ботовод
 
Аватар для masterspirta
 
Регистрация: 22.08.2007
Сообщений: 304
Вы сказали Спасибо: 1
Поблагодарили 9 раз(а) в 9 сообщениях
По умолчанию

переводить мне влом...если есть конкретный вопрос то давай!
Цитата:
а то я так и не врубился как ловить число, если неизвестно в какой строке оно появится.
в шаблонах можно применить оператор "или" которы обозначается "|", вот от этого и отталкивайся!
masterspirta вне форума   Ответить с цитированием
Старый 14.01.2008, 19:35   #3
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

Про плагинчек можно почитать тут: reactOnNPC v.1.1.1 (англ)

копи-пастить впадлу, поэтому можно на русском почитать тут:
reactOnNpc.pl - плагин, диалог с НПЦ с тестом-на-человека
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума   Ответить с цитированием
Старый 15.01.2008, 08:28   #4
alex600
Продвинутый
 
Регистрация: 13.12.2007
Адрес: Где-то далеко за Уралом
Сообщений: 200
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Цитата:
Сообщение от masterspirta Посмотреть сообщение
конкретный вопрос то давай!
Кароче трахаясь с НПС на ЗениРо я дошёл до того что 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; 15.01.2008 в 09:57.
alex600 вне форума   Ответить с цитированием
Старый 15.01.2008, 19:40   #5
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

alex600, молочага, прям по моим шагам идёшь я тоже парился с eval, однако он там не правельно суммирует.. Шаблон у тебя тоже оригенально составлен (не скажу что оптимально, то работает )

Кароче видно, что парнишка поработал, можно и помочь

используй:
Цитата:
talk num #1~2#2~2#3~2#4~2
у нас же из четырйх переменных тока онда имеет значение (спасибо masterspirt'y, вовремя навёл на эту мысль)

на счёт косяка с руским, а ты конфиг в утф-8 pапихал?

Цитата:
Значит шаблон надо одинаковый для всех 4 строк?
да
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума   Ответить с цитированием
Старый 16.01.2008, 00:02   #6
masterspirta
Опытный Ботовод
 
Аватар для masterspirta
 
Регистрация: 22.08.2007
Сообщений: 304
Вы сказали Спасибо: 1
Поблагодарили 9 раз(а) в 9 сообщениях
По умолчанию

Цитата:
значит шаблон надо одинаковый для всех 4 строк?
он должен обязательно подходить под ВСЕХ(касающиеся случая зени ро, и строк только там де числа) строк, если какая либо строка не попадает под этот шаблон реактоннпц не сработает так как там жостко описывается каждая строка!!

Комментарий администратора
4epT:
сильно загнуто, но правда тут есть

Последний раз редактировалось masterspirta; 16.01.2008 в 00:10.
masterspirta вне форума   Ответить с цитированием
Старый 16.01.2008, 06:12   #7
alex600
Продвинутый
 
Регистрация: 13.12.2007
Адрес: Где-то далеко за Уралом
Сообщений: 200
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Цитата:
Сообщение от 4epT Посмотреть сообщение
используй:

Цитата:
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
__________________
Не пойманный - не БОТ
alex600 вне форума   Ответить с цитированием
Старый 16.01.2008, 08:30   #8
masterspirta
Опытный Ботовод
 
Аватар для masterspirta
 
Регистрация: 22.08.2007
Сообщений: 304
Вы сказали Спасибо: 1
Поблагодарили 9 раз(а) в 9 сообщениях
По умолчанию

@eval(#1~1 + #2~1)
не будет работать функция @eval() оценивает переменные, #1~1 или #2~1 одну из них функция оценить не сможет так как ее нет!

Последний раз редактировалось masterspirta; 16.01.2008 в 10:14.
masterspirta вне форума   Ответить с цитированием
Старый 16.01.2008, 12:46   #9
alex600
Продвинутый
 
Регистрация: 13.12.2007
Адрес: Где-то далеко за Уралом
Сообщений: 200
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Открыл для себя конструктор шаблонов для регулярных выражений. А то уменя стоко цифорок в голове не помещалось.Оказывается и мой шаблон должен был работать токо надобыло 2-е совпадение брать (точно как 4epT писал, а я опять по своему делал). Шаблон упростил а проверить не могу Зенька лежит. У них там мобы ботами прикинулись и всем сдаются без боя.
--------------------------------------------------
Докладаю - у меня тоже всё заработало.

Комментарий администратора
GoldenShadow:
Объединено
__________________
Не пойманный - не БОТ

Последний раз редактировалось GoldenShadow; 17.01.2008 в 11:22.
alex600 вне форума   Ответить с цитированием
Старый 18.01.2008, 07:23   #10
alex600
Продвинутый
 
Регистрация: 13.12.2007
Адрес: Где-то далеко за Уралом
Сообщений: 200
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Восклицание Микро-Гайд для нубов.

Рискнул сделать описание плагина на русском. За ошибки сильно не ругайте, лучше поправте.

Почитать по английски и скачать плагин можно тут. Плагин 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 (програмисты лучше меня знают чё это). Поэтому шаблоны пишем с использованием регулярных выражений посмотреть можно тут и тут. Результаты обработки можно использовать при формировании команды на ответ. Если нет соответствия между строкой и шаблоном плагин сразу прекращает работу и команда не формируется.
Цитата:
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] смотрим что сохраняет плагим.
- Потом проверям свои шаблоны например тут или тут.
Если и после этого не работает - то не знаю.
__________________
Не пойманный - не БОТ

Последний раз редактировалось alex600; 18.01.2008 в 09:58. Причина: исправление ошибок
alex600 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход антибота - анализ яркости цифр alex600 Макросы и Плагины 7 10.04.2020 21:36
плагин: alertSound Ashley Макросы и Плагины 13 26.02.2011 14:06
Текстовой варпер (ввод карты) vladud2000 Вопросы по Боту 4 10.06.2008 07:56
macro плагин 4epT Новости 7 01.04.2008 13:50
защита Дельф Вопросы по Боту 4 04.05.2007 01:54


Текущее время: 19:16. Часовой пояс GMT +3.