PDA

Просмотр полной версии : Бот зациклился


klanz
18.05.2008, 17:44
создал макрос на основе некоторых с условиями, но одно условие мешает работе. что сделать?
automacro ready {
console /You are now in the game/
delay 5
call kach
run-once 1
}

macro kach {
$imhere = $.map
if ($imhere == aldebaran) goto baran #<--- вот это условие глючит
if ($imhere == xmas_fild01) goto xmasfild
if ($imhere == xmas) goto xmas
:baran
do move 197 70
do conf saveMap aldebaran
do conf sellAuto 1
do conf sellAuto_npc aldeba_in 94 56
do conf storageAuto 0
do conf storageAuto_npc aldebaran 143 119
do conf storageAuto_npc_type 3
do conf storageAuto_npc_steps c r0 n
do autosell
pause 5
do autobuy
do move 94 38
goto xmasfild
:xmasfild
pause 3
do move 168 166
pause 5
do talknpc 168 168 c r1 c c c
pause 5
log ================================================
log = Мы в Люти. Осталось только добежать до ворот
log ================================================
do move xmas
pause 5
goto end
:xmas
log ============================================
log = Таки добрались. Идем на игрушечную фабрику
log ============================================
do move 143 314
pause 5
do conf lockMap xmas_dun01
goto end
:end
pause 10
release ready
}
бот в баране бежит в магаз, выходит, реагирует на смену карты и опять бежит в магаз.
только не пишите, мол, создай простой макрос без заморочек и всё будет гууд. я хочу узнать что нужно делать с этим

fantom
18.05.2008, 17:54
Попробуй залочить автомакрос

macro kach {
lock ready

Ну и соот. убрать run-once 1

klanz
18.05.2008, 21:26
не помогло, всё как и было

4epT
19.05.2008, 20:55
а ты поменяй строчки местами:
if ($imhere == aldebaran) goto baran
if ($imhere == xmas_fild01) goto xmasfild
и я подозреваю что у тебя бот начнёт уже ругаться на "if ($imhere == xmas_fild01)", да??

-а это о чём говорит??
+правельно о том что тут не правельный синтаксис!
-а почему он не правельный??
+а потому, что "xmas_fild01" - это нефига не числовое значение и не переменная, а просто текст, а его нада хотя бы в кавычки довавить.. если и это не прокатит, то нада выше придумать новую переменную ($a = xmas_fild01) и сравнивать уже равенство переменных ;)