PDA

Просмотр полной версии : макрос: антибот (введение числа)


4epT
14.03.2007, 15:18
На некоторых серверах стоит защита следующего характера: после убийства N-ного моба спрашивают число от 1 до 1000 ( 5 попыток - время 90 сек). Вот как может выглядеть диалог нпц в консоле Коры:
[GM] Полиция: Я извиняюсь, но я должен знать вы игрок или бот.
Unknown #110013079: [Полиция]
Unknown #110013079: Введите это число:
Unknown #110013079: 943
Unknown #110013079:
Unknown #110013079: 1 из 5
Unknown #110013079: 90 секунд осталось
Unknown #110013079: Auto-continuing talking
NPC Exists: Unknown #110013079 (304, 227) (ID 110013079) - (0)
Unknown #110013079: Type 'talk num <number #>' to input a number.

Вот сам макрос, обходящий сию "защиту":
automacro ment {
console /110013079: (\d+)/
timeout 80
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
}
}
Разъяснения:
1. вот что говорит антибот в первой фразе:
Unknown #110013079: [Полиция]
Unknown #110013079: Введите это число:
Unknown #110013079: 943
Unknown #110013079:
Unknown #110013079: 1 из 5
Unknown #110013079: 90 секунд осталось
автомакрос срабатывает, когда в консоле появится строчка, типо:
110013079: любое число

2. На строчки "Unknown #110013079: 1 ..." и "Unknown #110013079: 90 ..."
он не должен срабатывать, т.к. во-первых не успеет, во-вторых для верности поставил "timeout 80".

Внимание: этот макрос будет работать, только если ID вашего НПЦ: 110013079. Если на Вашем серваке другое ID, то просто замените его.
Если ID нпц периодически менется, то необходима другая конструкция макросов.
Обсуждения ведутся тут (http://ragbot.ru/forum/showthread.php?p=4882#post4882).

Внимание, если макрос содержит русские символы, то тогда файл macros.txt необходимо сохранить в кодировке UTF-8 и закомментировать 1-ю строчку (значком #)