Page 1 of 1

All corpses/remains names

Posted: 2013-10-03 11:44:08
by Lemah

Code: Select all

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 ...)
С трупами все ОК, с останками всех типов - проблемы.

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

Re: All corpses/remains names

Posted: 2013-10-03 13:25:21
by Juicy Fruit
Не факт что поможет, но попробуй сравниваемый тип большими буквами, все кроме х
Или поиск по массиву типов сделай

Re: All corpses/remains names

Posted: 2013-10-03 13:44:17
by Lemah
Большими буквами - помогло.

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

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

Re: All corpses/remains names

Posted: 2013-10-03 14:12:11
by Juicy Fruit
Я вообще не пойму, как эта галочка работает, надо разобраться с ней)
Типы в инсайд уо посмотри.

Re: All corpses/remains names

Posted: 2013-10-03 20:43:47
by Lemah

Code: Select all

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

Re: All corpses/remains names

Posted: 2013-10-03 20:49:59
by RL_ka
Lemah wrote:Все вроде работает, но с некоторыми оговорками.

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



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

Re: All corpses/remains names

Posted: 2013-10-03 21:12:00
by Lemah
Добавил задержки вплоть до секундной.

Code: Select all

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


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

Re: All corpses/remains names

Posted: 2013-10-04 04:37:48
by Juicy Fruit
С задержкой будет нормально по всем кликать.
Координаты надписи - последнее место, куда ты ткнул мышкой на экране, если только зашел и не нажимал мышь - левый верхний угол. Это актуально для предметов на земле, предметы в контейнерах показывают надпись где надо.

Re: All corpses/remains names

Posted: 2013-10-04 06:03:24
by Mirage
Кнопка Allname в игре не решит ваших проблем? Зачем генерировать такое количество трафика за секунду + не нужного спама?
Кликать в трупы...
1) их можно просто открыть
2) можно подправить файлы чтобы над трупом висел весёлый чупачупс и открывать можно было кликом в него.
3) Если уж маньячить то я бы спрятал всех вокруг (что как раз и без кликов и без пауз можно сделать) и оставил одни кости, а потом уже Allname

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

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

Re: All corpses/remains names

Posted: 2013-10-04 11:26:05
by Lemah
Mirage wrote:Кнопка Allname в игре не решит ваших проблем? Зачем генерировать такое количество трафика за секунду + не нужного спама?
Кликать в трупы...
1) их можно просто открыть
2) можно подправить файлы чтобы над трупом висел весёлый чупачупс и открывать можно было кликом в него.
3) Если уж маньячить то я бы спрятал всех вокруг (что как раз и без кликов и без пауз можно сделать) и оставил одни кости, а потом уже Allname

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

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


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

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

Re: All corpses/remains names

Posted: 2013-10-04 11:55:25
by Juicy Fruit
А не проще вместо клика использовать uo.useobject на кости? Снизить дистанцию поиска только до 3.