Yoko

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

All times are UTC+02:00




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
PostPosted: 2013-10-03 11:44:08 
Offline
User avatar

Joined: 2013-09-29 14:17:07
Posts: 16
Code:
sub AllNames()
   uo.ignorereset()
   repeat
      uo.findtype("-1","-1","ground")
      if uo.getGraphic("finditem") == "0x0ece" || uo.getGraphic("finditem") == "0x2006" then
         uo.click("finditem")
      endif
      uo.ignore("finditem")
   until not uo.findcount()
   uo.ignorereset()
endsub


Скрипт не выводит имена останков (картинка - скелет с костями разных видов - 0x0ece, 0x0ecf, 0x0ed2 ...)
С трупами все ОК, с останками всех типов - проблемы.

// Режу конкретный труп, беру тип лежачего скелета, добавляю в скрипт, запускаю - и ничего ((


Top
   
PostPosted: 2013-10-03 13:25:21 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Не факт что поможет, но попробуй сравниваемый тип большими буквами, все кроме х
Или поиск по массиву типов сделай


Top
   
PostPosted: 2013-10-03 13:44:17 
Offline
User avatar

Joined: 2013-09-29 14:17:07
Posts: 16
Большими буквами - помогло.

Кстати, при включенном Corpse autoopen - скелеты не открываются.

Где можно найти ИД всех типов скелетов? А то я руками уже 3 штуки нашёл, уверен что есть еще.


Top
   
PostPosted: 2013-10-03 14:12:11 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Я вообще не пойму, как эта галочка работает, надо разобраться с ней)
Типы в инсайд уо посмотри.


Top
   
PostPosted: 2013-10-03 20:43:47 
Offline
User avatar

Joined: 2013-09-29 14:17:07
Posts: 16
Code:
sub allnames()
   var i
   DIM type[10]
   type[0] = "0x2006"
   type[1] = "0x0ECA"
   type[2] = "0x0ECB"
   type[3] = "0x0ECC"
   type[4] = "0x0ECD"
   type[5] = "0x0ECE"
   type[6] = "0x0ECF"
   type[7] = "0x0ED0"
   type[8] = "0x0ED1"
   type[9] = "0x0ED2"
   uo.ignorereset()
   for i = 0 to 9
      uo.findtype( type[i], "-1", "ground" )
      while uo.findcount()
         uo.click( "finditem" )
         uo.ignore( "finditem" )
         uo.findtype( type[i], "-1", "ground" )
      wend
   next
   uo.ignorereset()
endsub


Все вроде работает, но с некоторыми оговорками.

Во-первых, когда трупов несколько - часто по нескольким из них не кликает, хотя в логе видно что найдены все (не отрабатывает uo.click).
Во-вторых, половина надписей remains of ... и др появляются не над трупами а в произвольных местах (каждый раз в разных) и вытекающее отсюда - надписи от нескольких трупов появившись в одном месте - сливаются.

Image


Top
   
PostPosted: 2013-10-03 20:49:59 
Offline
User avatar

Joined: 2013-05-28 13:13:02
Posts: 149
Lemah wrote:
Все вроде работает, но с некоторыми оговорками.

Во-первых, когда трупов несколько - часто по нескольким из них не кликает, хотя в логе видно что найдены все (не отрабатывает uo.click).
Во-вторых, половина надписей remains of ... и др появляются не над трупами а в произвольных местах (каждый раз в разных) и вытекающее отсюда - надписи от нескольких трупов появившись в одном месте - сливаются.



Подозреваю что сервер фильтрует слишком частые клики

_________________
Русский Сервер Ultima Online High Seas Adventures
Legendary


Top
   
PostPosted: 2013-10-03 21:12:00 
Offline
User avatar

Joined: 2013-09-29 14:17:07
Posts: 16
Добавил задержки вплоть до секундной.

Code:
      while uo.findcount()
         uo.click( "finditem" )
         uo.ignore( "finditem" )
         uo.findtype( type[i], "-1", "ground" )
         wait(500)
      wend


На то пропускает трупы или нет - проверить пока не успел, но координаты надписей продолжают промахиваться.


Top
   
PostPosted: 2013-10-04 04:37:48 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
С задержкой будет нормально по всем кликать.
Координаты надписи - последнее место, куда ты ткнул мышкой на экране, если только зашел и не нажимал мышь - левый верхний угол. Это актуально для предметов на земле, предметы в контейнерах показывают надпись где надо.


Top
   
PostPosted: 2013-10-04 06:03:24 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Кнопка Allname в игре не решит ваших проблем? Зачем генерировать такое количество трафика за секунду + не нужного спама?
Кликать в трупы...
1) их можно просто открыть
2) можно подправить файлы чтобы над трупом висел весёлый чупачупс и открывать можно было кликом в него.
3) Если уж маньячить то я бы спрятал всех вокруг (что как раз и без кликов и без пауз можно сделать) и оставил одни кости, а потом уже Allname

PS
Quote:
куда ты ткнул мышкой на экране, если только зашел и не нажимал мышь

:mrgreen: Помню на 55R сфере с отключенным спам фильтром скриптом игровым чаром тыркнешь в толпе "произнести 500 пробелов" Потом делаешь чуть шаг в сторону чтобы какой небидь дерево было от чара "на 11 часов" и начинаешь писать
- Привет! Йа Дерево! Я Хочу дать вам квест после которого вы получите МНОГО ЗОЛОТА!!!
Надпись появляется НАД деревом для всех присутствующих на экране. Шок, Веселье, поиски ГМ (который спокойно спал). Кто то ломился в направлении квеста, что вызывало еще больший восторг :)

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2013-10-04 11:26:05 
Offline
User avatar

Joined: 2013-09-29 14:17:07
Posts: 16
Mirage wrote:
Кнопка Allname в игре не решит ваших проблем? Зачем генерировать такое количество трафика за секунду + не нужного спама?
Кликать в трупы...
1) их можно просто открыть
2) можно подправить файлы чтобы над трупом висел весёлый чупачупс и открывать можно было кликом в него.
3) Если уж маньячить то я бы спрятал всех вокруг (что как раз и без кликов и без пауз можно сделать) и оставил одни кости, а потом уже Allname

PS
Quote:
куда ты ткнул мышкой на экране, если только зашел и не нажимал мышь

:mrgreen: Помню на 55R сфере с отключенным спам фильтром скриптом игровым чаром тыркнешь в толпе "произнести 500 пробелов" Потом делаешь чуть шаг в сторону чтобы какой небидь дерево было от чара "на 11 часов" и начинаешь писать
- Привет! Йа Дерево! Я Хочу дать вам квест после которого вы получите МНОГО ЗОЛОТА!!!
Надпись появляется НАД деревом для всех присутствующих на экране. Шок, Веселье, поиски ГМ (который спокойно спал). Кто то ломился в направлении квеста, что вызывало еще больший восторг :)


Часто сталкиваюсь с ситуацией когда над разрезаным трупом стоит 10 человек. Игровой All-Names не выводит имена порезаных трупов (скелетов), по Alt-Shift не попасть т.к. сверху все заграждают надписи Left Arm, Torso и т.д. Плюс надо знать синий или нет труп тобы лутать его.

П.С. Я тоже пока сделал скрипт который прячет все части тела и другой мусор на экране. Хочу сделать это патчем клиента - заменить их на невидимые текстуры, но пока не получается.
В InsideUO нашел все мешающие текстуры, пробовал заменять их Multipatcher-ом на разные невидимые (по аналогии с tree-hack), но не получается. Если подскажешь как сделать это - буду благодарен.


Top
   
PostPosted: 2013-10-04 11:55:25 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
А не проще вместо клика использовать uo.useobject на кости? Снизить дистанцию поиска только до 3.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 14 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