Page 1 of 1

Проблема с грабом

Posted: 2008-01-31 07:45:02
by Avel Mink
ПРоблема в том что нижеприведенный скрипт подбирает любое кол-во руды кроме 1 единицы , пишет что находит, но не подбирает зараза, не могу понять в чем причина

Code: Select all

sub Pickup_ore()

	var a, Exit 

	DIM Ore[4] 
	Ore[0] = 0x19B9 ## - 4 and more ore 
	Ore[1] = 0x19B7 ## - 1 ore 
	Ore[2] = 0x19BA ## - 2 ore 
	Ore[3] = 0x19B8 ## - 3 ore 
	
	UO.Exec('set finddistance 3')
	for a = 0 to 3 
		exit=0 
		repeat 
		uo.FindType(Ore[a], '-1', '1') 
		if uo.GetQuantity('finditem') > 0 then 
			uo.Grab('0', 'finditem') 
			wait(300)
			CheckLag()
		else 
			exit=1 
		End if 
		until Exit==1 
	next 	
end sub 

Posted: 2008-01-31 09:24:19
by Nmy
Попробуй вместо

Code: Select all

uo.Grab('0', 'finditem')
поставить

Code: Select all

uo.moveitem("finditem")

Posted: 2008-01-31 11:32:13
by AGRS
Ошибка в строке

Code: Select all

if uo.GetQuantity('finditem') > 0 then
uo.GetQuantity даст нулевой результат в том случае, если в стопке 1 предмет.

Для проверки результатов работы UO.FindType() используется функция UO.FindCount()

Posted: 2008-02-01 05:48:34
by Avel Mink
Спасибо, помогло