кривая автозакупка (buyAuto) [не решено]

BugTraq: обнаруженные ошибки и обсуждение их устранения.

Модератор: 4epT

Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

Click, давай проверяй эту телегу :P
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

я? :crazy:
rotazey
Начинающий
Сообщения: 24
Зарегистрирован: Вс июн 08, 2008 3:33 am

Сообщение rotazey »

В общем, бот отказывается на отрез выполнять мои просьбы. :(
На:

Код: Выделить всё

buyAuto Awakening Potion {
	npc morocc 147 102
	standpoint 152 108
	distance
	minAmount 1
	maxAmount 3
}

buyAuto White Potion {
	npc morocc 147 102
	standpoint 152 108
	distance
	minAmount 2
	maxAmount 25
}

buyAuto Arrow {
	npc morocc 147 102
	standpoint 152 108
	distance
	minAmount 25
	maxAmount 900
}  
Он отвечает мне, этим:

Код: Выделить всё

Calculating auto-buy route to: Morroc Town (morocc): 147, 102
И флуд этой строкой в консоли продолжается до бесконечности, при это бот перестает что-либо делать вообще.
При чем при каких-то там его условиях он выполнял авто-закуп. Но сейчас этого не происходит совсем. Очень похожее на описанное здесь. Не появилось ли решение этой проблемы?

Чуть погодя....

Поставила вот так:

Код: Выделить всё

buyAuto Любой предмет(ы) {
	npc morocc 147 102
	standpoint morocc 150 105
	distance
	minAmount 1
	maxAmount 3
}
после чего, еще прочитала вот тут. Тьфу, тьфу, тьфу. Заработало. Но выходит параметр distance - остается "мертвым". Но я еще потестю. :)
config.txt;mon_control.txt;Self Conditions;pickupitems.txt - Знаю на троечку с плюсом. Учусь ^_^
timeouts.txt - Буду учить и нубам советую ^_^
Встал вопрос? Почеши эту тему. Рекомендую новичкам.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

вообщем нуна тут подправить (как я понил):

Код: Выделить всё

my $do_route;
if ($field{name} ne $args->{npc}{map}) {
	# we definitely need to route if we're on the wrong map
	$do_route = 1;
} else {
	my $distance = distance($args->{npc}{pos}, $char->{pos_to});
	# move exactly to the given spot if we specified a standpoint
	my $talk_distance = ($config{"buyAuto_$args->{index}"."_standpoint"} ? 1 : $config{"buyAuto_$args->{index}"."_distance"});
	if ($distance > $talk_distance) {
	$do_route = 1;
	}
}
my $talk_distance
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

а как этот кусок расшифровать?

Код: Выделить всё

t"} ? 1 : $co
Аватара пользователя
Aib0
Бывалый
Сообщения: 961
Зарегистрирован: Чт ноя 16, 2006 12:50 am
Контактная информация:

Сообщение Aib0 »

<x> ? y : z

Если х тогда у, иначе z
Wtf is "OpenKore"?

"What we're dealing with here is a total lack of respect for the law"
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

а как это? если указан standpoint то $talk_distance = 1 иначе $talk_distance = distance

как это standpoint может равняться 1
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

вот и говорю х**ня какая-то, надо сам механизм вообще переделать:
"если задан стандпоинт и наши координаты не равны указанным там, то $do_route = 1"
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

делаем вот так

Код: Выделить всё

-		my $do_route;

-		if ($field{name} ne $args->{npc}{map}) {
-			# we definitely need to route if we're on the wrong map
-			$do_route = 1;
-		} else {
-			my $distance = distance($args->{npc}{pos}, $char->{pos_to});
-			# move exactly to the given spot if we specified a standpoint
-			my $talk_distance = ($config{"buyAuto_$args->{index}"."_standpoint"} ? 1 : $config{"buyAuto_$args->{index}"."_distance"});
-			if ($distance > $talk_distance) {
-				$do_route = 1;
-			}
-		}

		undef $ai_v{'temp'}{'do_route'};
		if ($field{'name'} ne $args->{'npc'}{'map'}) {
			$ai_v{'temp'}{'do_route'} = 1;
		} else {
			$ai_v{'temp'}{'distance'} = distance($args->{'npc'}{'pos'}, $chars[$config{'char'}]{'pos_to'});
			$config{"buyAuto_$args->{index}"."_distance"} = 1 if ($config{"buyAuto_$args->{index}"."_standpoint"});
			if ($ai_v{'temp'}{'distance'} > $config{"buyAuto_$args->{index}"."_distance"}) {
				$ai_v{'temp'}{'do_route'} = 1;
			}
		}

		my $msgneeditem;
-		if ($do_route) {
+		if ($ai_v{'temp'}{'do_route'}) {
и всё работает

протестите плиз если нужно закупиться у нескольких нпц.

Добавлено спустя 14 минут 21 секунду:

да и ещё standpoint prontera 56 180 с названием мапы

Добавлено спустя 8 минут 23 секунды:

лан вроде работает, сам затестил.
коммитю)

207svn6546
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

переименуем в решено?
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

не решено, тема вообще о другом)
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Re: кривая автозакупка (buyAuto) [не решено]

Сообщение Click »

4epT писал(а): да и вообще параметр zeny тут лучше бы обозначал стоимость шмотки а не всего зеней..
это зачем?
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

так запишу, что б не забыть.

1. действительно zeny нуно переименовать в price, сделать, что б он означал стоимость итема и исходя из этого если не хватает денег на всё кол-во покупал столько на сколько хватит. ну конечно же с разнией в максимально нужно и уже находящееся в инвентаре. и добавить в стандартный конф эту опцию, во как. кстати не работает zeny, затестил, если есть такой параметр то он вообще не идёт закупаться, бага.
2. думаю надо добавить параметр типа autoBuyAfterSell 1 который бы при условии, что сработал автобай, втыкал в АИ перед ним автоселл.
3. после этого можно уже думать о булк закупке. Можно добавить опцию в конфиг autoBuy 2. если 0 то не закупаемся, поможет с макросами. если 1 то стандарная закупка. если 2 то булк закупка.

вроде траблы с кривой автозакупкой должны решиться.

Добавлено спустя 41 минуту 2 секунды:

понял почему не работает zeny, видимо нельзя использовать это слово, со словом price работает норм.

Добавлено спустя 14 минут 47 секунд:

хм, но доже если price выставлять хоть больше хоть меньше зеней в нашем кормане, то строчка
inRange($char->{zenny}, $config{"buyAuto_$i"."_price"})
всегда возвращает 0
правда если этот параметр вообще если в конфиге, иначе возвращает 1
почему? О_о
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

http://forums.openkore.com/viewtopic.php?f=36&t=3233
svn6582

zeny=2004

inventory:
Bouquet x 3
Flower x 1
buyAuto Bouquet {
npc prontera 58 182
standpoint
distance 5
price 2000
minAmount 2
maxAmount 5
}

buyAuto Flower {
npc prontera 58 182
standpoint
distance 5
price 2
minAmount 2
maxAmount 5
}

Код: Выделить всё

Auto-buy: Flower
Calculating auto-buy route to: Prontera City, Capital of Rune Midgard (prontera): 58, 182
...
...
Flower Girl: Type 'store' to start buying, or type 'sell' to start selling
----------Flower Girl's Store List-----------
#  Name                    Type               Price
0  Flower                  Non-usable            2z
1  Bouquet                 Non-usable         2000z
-------------------------------
Done talking with Flower Girl.
You lost 2,000 zeny.
Item added to inventory: Bouquet (17) x 1 - Non-usable
Buy completed.
Flower Girl: Type 'store' to start buying, or type 'sell' to start selling
----------Flower Girl's Store List-----------
#  Name                    Type               Price
0  Flower                  Non-usable            2z
1  Bouquet                 Non-usable         2000z
-------------------------------
Done talking with Flower Girl.
You lost 4 zeny.
Item added to inventory: Flower (18) x 2 - Non-usable
Buy completed.
zeny=0
inventory:
Bouquet x 4
Flower x 3

P.S "Auto-buy: Flower" идёт без Bouquet, так как Bouquet нам не надо было шибко, оно не достигло минАмаунт 2, их было 3. Иначе былаб строка "Auto-buy: Bouquet, Flower". Ну это так для себя, а то в 6 утра забеспокоился.
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

А может все-таки оставить параметр zeny, как то минимальное количество зеней, которое должно остаться после покупки(а то сейчас бот будет покупать, пока у него есть зени и может обанкротиться(зени = 0 не есть хорошо)).

Кстати, в SVN6570(и более ранних версиях) у меня параметр zeny работал и я на него не жаловался:
buyAuto Awakening Potion {
npc morocc 147 102
standpoint
distance 10
minAmount 0
maxAmount 3
zeny > 1000
}
........
You are sitting.
s
----------------------- Status -------------------------
........
Zeny: 5,575
........
--------------------------------------------------------
c @zeny 5000
You gained 5,000 zeny.
Number of zenys changed!
Auto-buy: Awakening Potion
Calculating auto-buy route to: Morroc Town (morocc): 147, 102
You are standing.
..........
Ответить