Yoko
http://forum.yoko.com.ua/

баг uo.findtype
http://forum.yoko.com.ua/viewtopic.php?f=4&t=7424
Page 1 of 2

Author:  doomstar [ 2006-04-19 12:26:56 ]
Post subject:  баг uo.findtype

я давно страдаю от одного бага, при котором обьекты изначально имеют правильный ID а потом вдруг имеют ID 0xFFFFFFFF.
Я решил подробнее разобраться с проблемой, вот мои результаты:

Кладу на землю кувшинчик:
Code:
ID=0x400F4C9A Type=0x1F9D WUKWLMD Name=
Quantity: 1  Colour: 0x0000  Layer: 0  Has: 0
X=1426 Y=1695 Z=0 C=0xFFFFFFFF F=0x20


делаю в консоле ,ignore 0x400F4C9A. смотрим его опять:
Code:
ID=0x400F4CA4 Type=0x0FF6 YUKWLMD Name=
Quantity: 1  Colour: 0x0000  Layer: 0  Has: 0
X=1427 Y=1696 Z=0 C=0xFFFFFFFF F=0x20 ignored


Теперь перетаскиваем этот кувшинчик себе в пак:
Code:
ID=0xFFFFFFFF Type=0x0FF6 6? Name=
Quantity: 1  Colour: 0x0000  Layer: 0  Has: 1
X=129 Y=67 Z=0 C=0x40141BAA F=0x20 ignored


И видим ужасную вещь... ID кувшинчика почемуто решило умереть.
Этот глюк возникает иногда по непонятным причинам (тоесть не только при таскании кувшинчиков).

Пожалуйста разбиритесь, ибо ignore("finditem") такие ID не игнорит и цикл поиска через fyndtype зацикливается на этой веще до бесконечности...

А вообще в идеале, чтобы создавался массив FindItems[n]
Тогда проблем с зацикливанием не будет
Да и в перловом скрипт-модуле будет больше возможностей! )

Author:  Scripts Writer [ 2006-04-19 12:32:55 ]
Post subject: 

тип после игнора изменяется. Посмотри сам

Author:  Scripts Writer [ 2006-04-19 12:35:52 ]
Post subject: 

flake wrote:
Скорее он изменяется после перетаскивания. Игнор никак не может изменить тип вещи.


я так понимаю автор ищет командой uo.FindType по первому типу, но по его кодам-во 2 ом и 3ем случае он изменённый.

Author:  flake [ 2006-04-19 12:36:48 ]
Post subject: 

Уже как то была похожая тема, там кто-то обьяснил эту проблему. Щас поищу.

Author:  doomstar [ 2006-04-19 14:38:47 ]
Post subject: 

ой, с выводами INFO запутался мальца, просто один кувшинчиков у меня была туча и некоторые были заполненые некоторые нет.
Но идея вобщем остаётся такойже.. если вещь заигнорена и её перетащить с земли в пак, то её ID умрёт

Author:  doomstar [ 2006-04-19 14:41:37 ]
Post subject: 

Пока разбирался с этой проблемой нашёл выход...
перед перетаскиванием в пак снять с вещи игнор, потом перетащить в пак, потом проверить наличие вещи в паке. Если вещи в паке нету - вернуть игнор на место.

Code:
sub TakeAllFromGround() {
   uo::ignorereset();
   $bpack=uo::getserial('backpack');
   uo::set("finddistance","1");
   uo::findtype("-1","-1","ground");
   while(uo::findcount()) {
      $ser=uo::getserial("finditem");
      uo::print($ser);
      if($ser ne uo::getserial('self')) {
         uo::ignore($ser,"off");
         uo::grab(0,$ser);
         &wait(650);
      }
      if(uo::containerof($ser) ne $bpack) {
         uo::ignore("finditem","on");
         uo::print("Can't GET");
      }
      uo::findtype("-1","-1","ground");
   }
   uo::ignorereset();
}


Сори за синтаксис, перехожу на перловый script.dll :)
(кстати всем рекомендую)

Author:  Grin [ 2006-04-19 14:51:39 ]
Post subject: 

Скоро будудома;) добъю трасивовку%)

Author:  admir [ 2006-04-19 16:20:29 ]
Post subject: 

Code:
uo::containerof($ser)

что это ?
все понял )
Возвращает параметр обьекта object (по умолчанию - персонажа игрока) - контейнер, в котором находится. 0xFFFFFFFF означает неизвестно или на земле.

Author:  Destruction [ 2006-04-19 16:51:42 ]
Post subject: 

Я чего скажу, после длительного поиска с игнором одних и тех же объектов в сумочке на полу, они стали иметь ID = 0xFFFFFFF и помог мне перезапуск Injection.

Массив найденных вещей я организовал тут: viewtopic.php?p=40604#40604

Author:  Edred [ 2006-04-19 20:41:14 ]
Post subject: 

Ресенд не пробовали в качестве лекарства?

Author:  Destruction [ 2006-04-19 21:25:59 ]
Post subject: 

Edred wrote:
Ресенд не пробовали в качестве лекарства?

Не лечит. Пробывал.

Author:  doomstar [ 2006-04-20 21:13:14 ]
Post subject: 

угу, нелечит...
YOKO, замути нам командочку обнуления памяти инжекта, чтобы глюки оттуда убирать.
Типа обнуляем память, потом делаем resend, открываем все сумки заного и опана - инжа в здравой памяти ))

Author:  Grin [ 2006-04-21 00:34:06 ]
Post subject: 

для зануления когдато был такой форгет... но сработает ли...

Author:  Destruction [ 2006-04-21 00:47:15 ]
Post subject: 

Grin wrote:
для зануления когдато был такой форгет... но сработает ли...

Форгет - забывает что-то там в инже, т.е. с параметром, а что я ему дам в качестве параметра?

Author:  Grin [ 2006-04-21 00:51:10 ]
Post subject: 

Так просили зануление вот и держите;)
может в в сочетании с игнором оно както работать будет более норм..
у меня нету "свежих" исходников...

Author:  Destruction [ 2006-04-21 00:52:49 ]
Post subject: 

Grin wrote:
Так просили зануление вот и держите;)
может в в сочетании с игнором оно както работать будет более норм..
у меня нету "свежих" исходников...

Кто бы сомневался :-D

Нифига оно не поможет. Что мы будем забывать? FindItem? А он у нас 0xFFFFFFF...

Author:  Grin [ 2006-04-21 00:56:24 ]
Post subject: 

Эх..
Ну ты прежде чем игнорить зная обаге возми да и запомни серийник...
а можеи и за игнореное сразу забыть;)
а может...
Короче нужен штат людей что бы проверить все варианты;)

Author:  Destruction [ 2006-04-21 01:01:28 ]
Post subject: 

Grin wrote:
Эх..
Ну ты прежде чем игнорить зная обаге возми да и запомни серийник...
а можеи и за игнореное сразу забыть;)
а может...
Короче нужен штат людей что бы проверить все варианты;)

Кароче этот штат людей всё проверил и отправляется в Request всем топиком.

Author:  doomstar [ 2006-04-21 23:31:10 ]
Post subject: 

А реально ваще промутить всё это дело, чтобы не терялис ID объектов в инже? А то стабильность макросов сильно снижается из-за этого лага... Вот у мя макрос только от этого дела и останавливается. Потомучто нистого ни ссиго обект с которым он работает теряет ID и всё ( имее зацикл.

Author:  Grin [ 2006-04-21 23:45:02 ]
Post subject: 

все реально только руки связаны;)

Page 1 of 2 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/