Page 1 of 1

теряется finditem после мувайтема

Posted: 08.07.2005 4:08
by Vizit0r

Code: Select all

 .................................
		findtype(-1,source_container);
		IF FindFullQuantity < 1 then
		a := True
		else
		begin
			MoveItem(finditem,0,backpack, 0,0,0);
			wait(200);
			stime := Now;
			WaitTargetObject(finditem);
			UseSkill('Item Identification');
 .................................
кусок кода. находит айтем. таки-да находит. Перемещает его. действительно переносит. Зато когда я на этот же айтем (ведь ID его не меняется) кинуть таргет - то этот таргет летит куда угодно - на РБ, на ключи, на что угодно вобщем.

Что я делаю не так :?:

Posted: 08.07.2005 4:32
by Miralex
Странно ... MoveItem никак не должен влиять на finditem.

Может твой айтим при попадании в бекпак стыковываеться с другими и принимает их ид?

Posted: 09.07.2005 14:46
by Vizit0r
топоры и шлемы гарантированно ни с чем не стекируются :)))
может этот самый finditem еще не успел в результате мувайтема переехать в БП?
хотя я проверял раза 4 - то же самое.

Posted: 09.07.2005 15:07
by Miralex
может этот самый finditem еще не успел в результате мувайтема переехать в БП?
Возможно.

Попробуй временно увеличить задержку wait(200); до wait(1000);
Также можешь потом это проверить примерно так:

Code: Select all

if (GetParent(finditem) <> backpack) then AddToSystemJournal('Item is not at backpack');
В случае если имеет место неопределенные задержки при передвижении айтимов - советую использовать динамическую задержку.