PDA

Просмотр полной версии : Авто-докупка трэйдеру.


Bart1856
14.05.2008, 00:53
#############################################
###############автопокупка зелий красных ####
#############################################
automacro pokupkapotion {
console /sold out: .*(red|orange) potion/
timeout 60
call {
pause 5
if ($lastmatch1 = $red) goto buyredpotion
if ($lastmatch1 = $orange) goto buyorangepotion
:buyredpotion
do stand
pause 2
do closeshop
pause 1
do talk 1
pause 1
do store
pause 3
do buy 2 100
pause 2
do cart add red potion 100
pause 10
do openshop
do sit
stop
:buyorangepotion
do stand
pause 2
do closeshop
pause 1
do talk 1
pause 1
do store
pause 3
do buy 3 5
pause 2
do cart add orange potion 5
pause 10
do openshop
do sit
stop
}
}
################################################## #####
#################### Конец ############################
################################################## #####

Посмотрите, правильно-ли я всё оформил?
Он не работает, прошу поправьте. Я писал его именно так в файле Control\macros.txt
трайдер сам уже стоит где надо, так что с доступом к нпц проблемы нет(около него). спасибо. Может он ещё и не грузится, т. к. в панели только загрузка файла, а про переменную ничего. я только сегодня начал работать с ботом ,прошу извинить за флад, если что :-[

4epT
14.05.2008, 01:08
нет не правельно, раз не работает.
1. думаю этот шаблон (http://www.pcre.ru/eval/sold%20out%3A%20.*(red%7Corange)%20potion%40%3D%23 %3D%40101%40%3D%23%3D%40sold%20out%3A%203000%20ora nge%20potion/) подойдёт больше:
console /sold out: .*(red|orange) potion/
2. "if *red potion goto buy_red_potion" - это какая-то бредятина, ищи примеры и разбирайся!
скорее там будет что-то вроде:
$soldout = red
if ($.lastMatch1 = $soldout) goto buy_red_potion
...
:buy_red_potion
...

Добавлено через 2 минуты 6 секунд
а вообще у меня был нарисован макрос с использованием условия:
shop "Meat" < 100

Bart1856
14.05.2008, 01:25
Про мясо я видел, поэтому и пришла идея сделать трейдера, который будет автоматом покупать то, что совсем кончилось в магазине, а, на мой взгляд, таким образом, сделать проще всего (когда в логе появится сообщение, что всё продано).

4epT
14.05.2008, 23:39
дак есть тогда условие: soldout

Bart1856
15.05.2008, 09:07
#################
# автопокупка зелий #
################

automacro checkredpotion {
shop "red potion" < 27
call reopenredpotion
run-once 1
}
macro reopenredpotion {
pause 6
do closeshop
$beginpos = $.pos
pause 2
do move 128 74 prt_in
pause 6
do talk 1 (64 125)
pause 2
do store
pause 7
do buy 2 150
pause 14
do cart add red potion
pause 3
do move 135 71
pause 5
do move $beginpos
pause 74
do stand
pause 12
do openshop
delay 600
release checkredpotion
}

Этот вариант работает, но есть проблема, если писать условие в несколько строк(т. е. мне надо, чтобы выполнились сразу оба условия, это работает, как или, а не и, как исправить условие?

4epT
15.05.2008, 22:46
вообще-то несколько строк работает как "И"!!

Bart1856
17.05.2008, 15:31
я знаю, я ставил, чтобы сработало когда

............


shop meat < 87
shop red potion < 118


............
и макрос срабатывал даже если мяса > 200

4epT
18.05.2008, 14:52
насколько я знаю, правельно писать:
shop "Meat" < 87
shop "Red potion" < 118