RagBot Forum
 

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

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

Ответ
 
Опции темы Опции просмотра
Старый 08.08.2013, 13:45   #1
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию Plugin - responseOnASCIInumber - анализ чисел (букв) в диалоге НПЦ

responseOnASCIInumber.pl

Английская версия

Плагин предназначен для анализа диалогов НПЦ, содержащих цифры (или букв), например:





При этом без плагина в консоле боты вы увидите следующее:
Цитата:
Unknown #110012826: ###################################
Unknown #110012826: ###################################
Unknown #110012826: ###################################
Unknown #110012826: ###################################
Unknown #110012826: ###################################
Unknown #110012826: ###################################
Unknown #110012826: ###################################
А с использованием плагина, вы увидите:



Приступим к настройке. В конфиг кидаем:

Код:
ASCIInumberKiller {
	lengthCharNumber 8
	BgColor ^[D-Fd-f][A-Fa-f0-9][D-Fd-f][A-Fa-f0-9]{3}
}
lengthCharNumber - это ширина числа в символах
Код:
########
##====##   В данном случае ширина числа = 8 символов
##====##
##====##
########
BgColor - цвет фона, если цвет фона не подходит под шаблон по умолчанию, то его можно задать самому, например "^83F52C"

Итак запускаем бота, дожидаемся проверки и сморим в консоль. Если видим только ####, значит у нас не стандартный цвет фона.
1. Закрываем бота
2. В файле ..\src\Network\Receive\kRO\Sakexe_0.pm находим и комментируем строчки:
Цитата:
# Remove RO color codes
$talk{msg} =~ s/\^[a-fA-F0-9]{6}//g;
3. Заново запускаем бота и в консоле увидим:
Цитата:
^83F52C#############^000000#######^83F52C###############
^83F52C - это и есть цвет фона

НПЦ в ответ на своё сообщение могут попросить ввести либо цифры, либо текст. Для автоматического ввода распознанного числа (буквы) надо в консоль ввести команду:
"ASCIInumberKiller num" или "ASCIInumberKiller text".

В консоле должно появиться:
Цитата:
[1] : ##########
[2] : #################
[3] : ###############################
[4] : #############=======###############
[5] : ############==#####==##############
[6] : ############==#####==##############
[7] : #############=======###############
[8] : ############==#####==##############
[9] : ############==#####==##############
[10] : #############=======###############
[ASCIInumber v2.2.1(fix)] Executing command "talk num 8".

Немного об особенностях плагина.
1. Для добавления нового символа в плагин, необходимо из диалога НПЦ мысленно отделить символ от общего фона:
Цитата:
===== ==####== =====
===== ##==#### =====
===== ##====## =====
===== ####==## =====
===== ==####== =====
Получится:
Цитата:
==####==
##==####
##====##
####==##
==####==
И записать его в одну строчку:
Цитата:
==####==##==######====######==##==####==
Затем открываем в текстовом редакторе плагин, ищем строчку "my %digit = (" (в районе 224 строчки) и добавляем полученный символ.


2. Плагин анализирует 7 последних строчек из разговора НПЦ и пытается распознавать символы состоящие из 5 строчек. Настройка количества строк отсутствует (может быть появится в будущем). Есть антиботы которые отображают числа, состоящие их 7 строк. Можно пойти на хитрость и мысленно отбросить 2 крайние строчки (верхние или нижние - не имеет значения):
Цитата:
1: ############==#####################
2: ############==####==###############

3: ############==####==###############
4: ############==####==###############
5: ############=========##############
6: ##################==###############
7: ##################==###############

1: ############========###############
2: ############==####==###############
3: ################==#################
4: ###############==##################
5: ###############==##################
6: ###############==##################
7: ###############==##################
У нас останется:
Цитата:
3: ############==####==###############
4: ############==####==###############
5: ############=========##############
6: ##################==###############
7: ##################==###############

1: ############========###############
2: ############==####==###############
3: ################==#################
4: ###############==##################
5: ###############==##################
Мысленно выделяем наши цифры (в данном случае они состоят из 5-ти строчек и 9 символов)
Цитата:
3: ==####==#
4: ==####==#
5: =========
6: ######==#
7: ######==#

1: ========#
2: ==####==#
3: ####==###
4: ###==####
5: ###==####
Затем преобразуем их в одну строчку и добавляем в плагин:
Цитата:
'==####==#==####==#=========######==#######==#' => 4,

'========#==####==#####==######==#######==####' => 7,

3. Сам по себе плагин предполагает что вы вручную будете вводить команду "ASCIInumberKiller num" или "ASCIInumberKiller text", что не совсем удобно. Поэтому настоящие профи используют данный плагин совместно с другим - reactOnNPC.pl. Если вкратце, то он анализирует каждый диалог с НПЦ и если он совпадает с шаблоном, указанным в конфиге, то плагин выполняет команду.
Изображения
Тип файла: jpg number.jpg (32.2 Кб, 0 просмотров)
Тип файла: gif bkasciicharskn0.gif (98.6 Кб, 0 просмотров)
Тип файла: jpg assssp.jpg (11.6 Кб, 0 просмотров)
Тип файла: jpg 406.jpg (18.5 Кб, 0 просмотров)
Тип файла: jpg console.jpg (79.3 Кб, 0 просмотров)
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума   Ответить с цитированием
Ответ


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

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

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


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