PDA

Просмотр полной версии : Обход Антибота


DrumBass
23.09.2009, 12:18
Возможно такое уже было,но я искал ненашол...Анти бот впринцепи простенький

При входе в игру портает на локу,там говориш с НПЦ.1 он просит ввести ваш ник (это я уже сделал)затем сразу же прости ввести число,число без всяких приколов,просто даёт число которое надо ввести,вот на этом у меня ошибку пишет [macro] guard error =/

вот сам анти-бот
[Sep 23 11:12:05 2009.62] BotBlocker: [BotBlocker]
[Sep 23 11:12:05 2009.63] BotBlocker: Ботам запрещен вход в этот мир!
[Sep 23 11:12:05 2009.63] BotBlocker: Чтоб доказать что ты не бот ответь на следущие вопросы
[Sep 23 11:12:05 2009.63] BotBlocker: Auto-continuing talking
[Sep 23 11:12:05 2009.75] BotBlocker: [BotBlocker]
[Sep 23 11:12:05 2009.75] BotBlocker: ПРЕДУПРЕЖДАЮ!!!
[Sep 23 11:12:05 2009.76] BotBlocker: Если ты сейчас выйдешь из игры я не смогу тебя телепортировать на прежнее место и я забуду место твоего сохранения!
[Sep 23 11:12:05 2009.77] BotBlocker:
[Sep 23 11:12:05 2009.77] BotBlocker: Если ты 3 раза дашь неправильный ответ к тебе будет применена штрафная санкция!
[Sep 23 11:12:05 2009.78] BotBlocker: Auto-continuing talking
[Sep 23 11:12:05 2009.87] BotBlocker: [BotBlocker]
[Sep 23 11:12:05 2009.87] BotBlocker: 1 Введи свой ник:
[Sep 23 11:12:05 2009.88] BotBlocker: Type 'talk text' (Respond to NPC)
[Sep 23 11:12:06 2009.12] BotBlocker: 2 Введи следущее число: 16088
[Sep 23 11:12:06 2009.12] BotBlocker: Type 'talk num <number #>' to input a number.
[Sep 23 11:12:07 2009.12] [macro] guard error: error in 2: syntax error

вот мой макрос,делал на подобии черта
do talk @npc (215 126)
do talk text Гитлер
console /BotBlocker: 2 введите следущее число: (\d+)/
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
}
}

помогите найти ошибку

4epT
23.09.2009, 20:18
у тебя должно быть 2 АМ которые реагируют соответственно на строчки:
"1 Введи свой ник:" и "2 Введи следущее число: 16088"

DrumBass
23.09.2009, 20:51
Вот уже дали ответ на это )) Спасибо большое автору,очень благодарен!)

macro guard_talk{
release guard_name
release guard_num

do talk @npc (215 126)
}

automacro guard_name{
console /1 Введи свой ник:/
run-once 1
call {
do talk text Гитлер
}
}

automacro guard_num{
console /2 Введи следущее число: (\d+)/
run-once 1
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
}
}

NiZza
04.10.2009, 14:43
у меня работает вроде все , только проблема в том что это все работает в ручную.... в мануал режиме... вроде типо научил бота , должно быть все ок! НО не че не ок((( только ручками.... как это все дело автоматизировать ..?

[BMP]
04.10.2009, 16:15
у меня работает вроде все , только проблема в том что это все работает в ручную.... в мануал режиме... вроде типо научил бота , должно быть все ок! НО не че не ок((( только ручками.... как это все дело автоматизировать ..?


automacro talkToGuard {
map здесь название карты, где стоит нпц
run-once 1
call guard_talk
}

macro guard_talk{
release guard_name
release guard_num

do talk @npc (215 126)
}

automacro guard_name{
console /1 Введи свой ник:/
run-once 1
call {
do talk text Гитлер
pause 3
release talkToGuard
}
}

automacro guard_num{
console /2 Введи следущее число: (\d+)/
run-once 1
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
pause 3release talkToGuard
}
}


Краткое содержание изменений:
для того, чтобы бот отвечал в автоматическом режиме в макрос нужно добавить автомакрос, который будет НАЧИНАТЬ разговор с неписью.

Airobot
04.10.2009, 19:38
;27130']
do talk text Гитлер


Вот это совсем не по джедайски, если 20 ботов, и их периодически банят, то задолбаешся править макросы.
$::Globals::char->{'name'} тута есть твой ник =)
Хз можно ли выкладывать готовое решение...

[BMP]
04.10.2009, 19:43
Вот это совсем не по джедайски, если 20 ботов, и их периодически банят, то задолбаешся править макросы.
$::Globals::char->{'name'} тута есть твой ник =)
Хз можно ли выкладывать готовое решение...

Я сам тоже так делаю - просто взял макрос, который был выше и просто добавил пару строчек. ))))) Рефакторинг не входил в мои планы )))

NiZza
04.10.2009, 20:45
:(:(:(:(

[BMP]
04.10.2009, 21:05
Покажи макрос

PS: У меня все великолепно работает ))))

NiZza
04.10.2009, 22:31
;27141']Покажи макрос

PS: У меня все великолепно работает ))))

automacro talkToGuard {
map que_god01
run-once 1
call guard_talk
}

macro guard_talk{
release guard_name
release guard_num

do talk @npc (215 126)
}

automacro guard_name{
console /1 Введи свой ник:/
run-once 1
call {
do talk text мой ник)
pause 3
release talkToGuard
}
}

automacro guard_num{
console /2 Введи следущее число: (\d+)/
run-once 1
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
pause 3release talkToGuard
}
}

то что ты писал)))

4epT
05.10.2009, 11:26
быть может спасёт небольшой таймаут:
automacro talkToGuard {
map que_god01
run-once 1
timeout 5
call guard_talk
}

NiZza
05.10.2009, 13:04
быть может спасёт небольшой таймаут:
automacro talkToGuard {
map que_god01
run-once 1
timeout 5
call guard_talk
}

тоже самое , вообще не чего не поменялось ....

masterspirta
08.10.2009, 14:54
automacro talkToGuard {
mapchange que_god01
run-once 1
call{
do talk @npc (215 126)
}
}

automacro guard_name{
console /Введи свой ник:/
call {
do talk text мой ник)
pause 1
}
}

automacro guard_num{
console /Введи следущее число: (\d+)/
call {
pause 2
do talk num $.lastMatch1
}
}
-------------------------------------------------------------
run-once 1 для guard_name guard_num не обязательно
условием для автомакроса talkToGuard должен быть мап ченж

NiZza
08.10.2009, 22:14
automacro talkToGuard {
mapchange que_god01
run-once 1
call{
do talk @npc (215 126)
}
}

automacro guard_name{
console /Введи свой ник:/
call {
do talk text мой ник)
pause 1
}
}

automacro guard_num{
console /Введи следущее число: (\d+)/
call {
pause 2
do talk num $.lastMatch1
}
}
-------------------------------------------------------------
run-once 1 для guard_name guard_num не обязательно
условием для автомакроса talkToGuard должен быть мап ченж

:(

masterspirta
09.10.2009, 11:18
automacro talkToGuard {
mapchange que_god01
run-once 1
call {
do talk @npc (215 126)
}
}
---------------------------------------
Ну ёп твою мать....
Чиатй мини чаво....

NiZza
10.10.2009, 10:03
тоже самое что и было )) до твоего 1го сообщения в этой теме

[BMP]
10.10.2009, 10:37
Судя по скринам, бот не успевает загрузить список НПЦ, до того, как макрос начнет выполняться.
Попробуй следующее:

automacro talkToGuard {
console /NPC Exists: BotBlocker/
run-once 1
call {
do talk @npc (215 126)
}
}


Т.е. Мы запускаем автомакрос, который будет начинать разговор с неписем только тогда, когда
прийдет пакет о том, что оный существует (условия map и mapchange не катят, из-за того, что
они реагируют на смену карты, а пакет, который уведомляет о смене карты приходит намного раньше
чем пакет со списком НПЦ).

ЗЫ: src + debug 2 = rulezzzzzz

NiZza
11.10.2009, 10:43
;27229']Судя по скринам, бот не успевает загрузить список НПЦ, до того, как макрос начнет выполняться.
Попробуй следующее:

automacro talkToGuard {
console /NPC Exists: BotBlocker/
run-once 1
call {
do talk @npc (215 126)
}
}


Т.е. Мы запускаем автомакрос, который будет начинать разговор с неписем только тогда, когда
прийдет пакет о том, что оный существует (условия map и mapchange не катят, из-за того, что
они реагируют на смену карты, а пакет, который уведомляет о смене карты приходит намного раньше
чем пакет со списком НПЦ).

ЗЫ: src + debug 2 = rulezzzzzz

наконец то))) вот целый макрос
automacro talkToGuard {
console /NPC Exists: BotBlocker/
run-once 1
call {
do talk @npc (215 126)
}
}

automacro guard_name{
console /1 Введи свой ник:/
run-once 1
call {
do talk text (свой ник)
pause 3
release talkToGuard
}
}

automacro guard_num{
console /2 Введи следущее число: (\d+)/
run-once 1
call {
log BBo)I(y 4ucLo $.lastMatch1
pause 2
do talk num $.lastMatch1
pause 3release talkToGuard
}
}

спасибо ! :)