Yoko

All sides of Injection
It is currently 2024-03-29 14:50:13

All times are UTC+02:00




Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next
Author Message
 Post subject: баг uo.findtype
PostPosted: 2006-04-19 12:26:56 
Offline

Joined: 2005-05-21 00:16:16
Posts: 18
я давно страдаю от одного бага, при котором обьекты изначально имеют правильный 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]
Тогда проблем с зацикливанием не будет
Да и в перловом скрипт-модуле будет больше возможностей! )


Top
   
 Post subject:
PostPosted: 2006-04-19 12:32:55 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
тип после игнора изменяется. Посмотри сам


Top
   
 Post subject:
PostPosted: 2006-04-19 12:35:52 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
flake wrote:
Скорее он изменяется после перетаскивания. Игнор никак не может изменить тип вещи.


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


Top
   
 Post subject:
PostPosted: 2006-04-19 12:36:48 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Уже как то была похожая тема, там кто-то обьяснил эту проблему. Щас поищу.


Top
   
 Post subject:
PostPosted: 2006-04-19 14:38:47 
Offline

Joined: 2005-05-21 00:16:16
Posts: 18
ой, с выводами INFO запутался мальца, просто один кувшинчиков у меня была туча и некоторые были заполненые некоторые нет.
Но идея вобщем остаётся такойже.. если вещь заигнорена и её перетащить с земли в пак, то её ID умрёт


Top
   
 Post subject:
PostPosted: 2006-04-19 14:41:37 
Offline

Joined: 2005-05-21 00:16:16
Posts: 18
Пока разбирался с этой проблемой нашёл выход...
перед перетаскиванием в пак снять с вещи игнор, потом перетащить в пак, потом проверить наличие вещи в паке. Если вещи в паке нету - вернуть игнор на место.

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 :)
(кстати всем рекомендую)


Top
   
 Post subject:
PostPosted: 2006-04-19 14:51:39 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Скоро будудома;) добъю трасивовку%)


Top
   
 Post subject:
PostPosted: 2006-04-19 16:20:29 
Offline
User avatar

Joined: 2005-01-13 07:20:54
Posts: 528
Code:
uo::containerof($ser)

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


Top
   
 Post subject:
PostPosted: 2006-04-19 16:51:42 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Я чего скажу, после длительного поиска с игнором одних и тех же объектов в сумочке на полу, они стали иметь ID = 0xFFFFFFF и помог мне перезапуск Injection.

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


Top
   
 Post subject:
PostPosted: 2006-04-19 20:41:14 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Ресенд не пробовали в качестве лекарства?


Top
   
 Post subject:
PostPosted: 2006-04-19 21:25:59 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Ресенд не пробовали в качестве лекарства?

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


Top
   
 Post subject:
PostPosted: 2006-04-20 21:13:14 
Offline

Joined: 2005-05-21 00:16:16
Posts: 18
угу, нелечит...
YOKO, замути нам командочку обнуления памяти инжекта, чтобы глюки оттуда убирать.
Типа обнуляем память, потом делаем resend, открываем все сумки заного и опана - инжа в здравой памяти ))


Top
   
 Post subject:
PostPosted: 2006-04-21 00:34:06 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
для зануления когдато был такой форгет... но сработает ли...


Top
   
 Post subject:
PostPosted: 2006-04-21 00:47:15 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin wrote:
для зануления когдато был такой форгет... но сработает ли...

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


Top
   
 Post subject:
PostPosted: 2006-04-21 00:51:10 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Так просили зануление вот и держите;)
может в в сочетании с игнором оно както работать будет более норм..
у меня нету "свежих" исходников...


Top
   
 Post subject:
PostPosted: 2006-04-21 00:52:49 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin wrote:
Так просили зануление вот и держите;)
может в в сочетании с игнором оно както работать будет более норм..
у меня нету "свежих" исходников...

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

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


Top
   
 Post subject:
PostPosted: 2006-04-21 00:56:24 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Эх..
Ну ты прежде чем игнорить зная обаге возми да и запомни серийник...
а можеи и за игнореное сразу забыть;)
а может...
Короче нужен штат людей что бы проверить все варианты;)


Top
   
 Post subject:
PostPosted: 2006-04-21 01:01:28 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin wrote:
Эх..
Ну ты прежде чем игнорить зная обаге возми да и запомни серийник...
а можеи и за игнореное сразу забыть;)
а может...
Короче нужен штат людей что бы проверить все варианты;)

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


Top
   
 Post subject:
PostPosted: 2006-04-21 23:31:10 
Offline

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


Top
   
 Post subject:
PostPosted: 2006-04-21 23:45:02 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
все реально только руки связаны;)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited