Page 1 of 1

Агилити на коня

Posted: 2011-01-16 17:37:30
by TEHb o2
Господа имеется собвстенно вот такой макрос
sub Unic()
var Horse='0x001DCBD8'
If NOT UO.ObjAtLayer('Horse') Then
uo.UseObject(Horse)
else
uo.useobject('self')
uo.WaitTargetObject('laststatus')
uo.Msg('All Kill')

Endif

Не подскажете как сделать так чтобы помимо всего прочего он кидал агилку на лошадь?
если не сложно сделайте пожалуйста. А лучше чтобы слез кинул, сел)
спасибо заранее!

Re: Агилити на коня

Posted: 2011-01-16 17:42:43
by Blood Slayer
TEHb o2 wrote:Господа имеется собвстенно вот такой макрос
sub Unic()
var Horse='0x001DCBD8'
If NOT UO.ObjAtLayer('Horse') Then
uo.UseObject(Horse)
else
uo.useobject('self')
uo.WaitTargetObject('laststatus')
uo.Msg('All Kill')

Endif

Не подскажете как сделать так чтобы помимо всего прочего он кидал агилку на лошадь?
если не сложно сделайте пожалуйста. А лучше чтобы слез кинул, сел)
спасибо заранее!


А если так

Code: Select all

sub Unic()
var Horse='0x001DCBD8'
          If NOT UO.ObjAtLayer('Horse') Then 
             uo.UseObject(Horse)
          else
             uo.useobject('self') 
                 wait(100)
             Uo.WaitTargetObject( Horse )
             Uo.Cast('Agility')
                 wait(100)
             uo.WaitTargetObject('laststatus')
             uo.Msg('All Kill') 
Endif 

Re: Агилити на коня

Posted: 2011-01-16 18:53:14
by TEHb o2
неее каст не пойдет никак, каст я и сам бы попробовал сделать а тут просто не очень знаю как делать..... во время драки еще на коня каставать агилити это не так удобно как слез кинул сел)

Re: Агилити на коня

Posted: 2011-01-16 20:32:46
by Blood Slayer
TEHb o2 wrote:неее каст не пойдет никак, каст я и сам бы попробовал сделать а тут просто не очень знаю как делать..... во время драки еще на коня каставать агилити это не так удобно как слез кинул сел)

Тогда обьясни конкректно, что и как надо сделать.

Re: Агилити на коня

Posted: 2011-01-16 21:43:18
by Mirage
Так?

Code: Select all

sub Unic()
var Horse='0x001DCBD8'
          If NOT UO.ObjAtLayer('Horse') Then
             uo.UseObject(Horse)
          else
             uo.useobject('self')
                 wait(100)
             uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
                 wait(100)
             uo.UseObject(Horse)
          Endif
endsub 

Re: Агилити на коня

Posted: 2011-01-16 23:11:42
by TEHb o2
Даа Спасибо большое) только там косяк был я помучался и в итоге в мунитеме вместо хорс айди поставил и все пашет теперь)) спасибо)

Re: Агилити на коня

Posted: 2011-01-17 05:31:46
by Makarov
Mirage wrote:Так?

Code: Select all

             uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
                 wait(100)
             uo.UseObject(Horse)
 

Мираж, плз растолкуй этот кусок мне построчно.

Re: Агилити на коня

Posted: 2011-01-17 07:02:44
by Fistashka
Makarov wrote:
Mirage wrote:Так?

Code: Select all

             uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
                 wait(100)
             uo.UseObject(Horse)
 

Мираж, плз растолкуй этот кусок мне построчно.

Code: Select all

uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")

эта команда перекидывает банку агилити на лошадь 0x0F09 тип банки Horse это id лошади

Code: Select all

                 
wait(100)
uo.UseObject(Horse)

этот кусочек после того как кинул на лошадь банку садится на неё

Re: Агилити на коня

Posted: 2011-01-17 08:51:51
by Mirage
uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
эта команда перекидывает moveitem из пака ^ тип банки агилити0x0F09 на ID лошадь Horse,
вот так точнее :roll:

TEHb o2 wrote:Даа Спасибо большое) только там косяк был я помучался и в итоге в мунитеме вместо хорс айди поставил и все пашет теперь)) спасибо)


надо было вверху без ' ' попробовать ID лошади указать. Но если работает то и фиг с ним :)

Re: Агилити на коня

Posted: 2011-01-17 15:38:24
by Makarov
Mirage wrote:uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")[/code]
эта команда перекидывает moveitem из пака ^ тип банки агилити0x0F09 на ID лошадь Horse,
вот так точнее :roll:

Скажи где ты взял этот синтаксис (вот это: ^), блин в справке я такого не видел, это полностью аналогично uo.moveitem(object,[quantity,containerobject/ground,[x,y,z]]) ?

Fistashka wrote:

Code: Select all

uo.UseObject(Horse)

этот кусочек после того как кинул на лошадь банку садится на неё

Тогда перед ней нужно поставить uo.WarMode(0) чтобы лошадь случайно не атаковать.

Re: Агилити на коня

Posted: 2011-01-17 16:01:51
by Mirage
Плохо искал, внизу посмотри
Не совсем аналогична. Технически "^тип" = "ID предмета в сумке" но практически у меня не работала запись типа:

Code: Select all

uo.moveitem(^0x0F09,0,Horse)

а так работает:

Code: Select all

uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")

уж ХЗ почему.

про вармод не уверен. Конь же не двойным кликом используется. Но надо бы проверить на всякий.

Re: Агилити на коня

Posted: 2011-01-17 16:55:56
by Makarov
Mirage wrote:про вармод не уверен. Конь же не двойным кликом используется. Но надо бы проверить на всякий.

Да, в таком виде uo.UseObject(Horse) лошадь не атакуется

uo.moveitem() - использует объект, то есть ID (тут мой лук из бэкпака выбрасывается на землю и чрез полсекунды подбирается обратно в пак).

Code: Select all

uo.moveitem(0x401edc47,1,'ground')
Wait(500)
uo.moveitem(0x401edc47,1,'backpack')

Чтоб автоматом определить ИД можно применить uo.findtype() и использовать finditem

Code: Select all

uo.findtype(0x13b1, 'my') ; поиск лука по типу в бэкпаке
uo.moveitem('finditem',1,'ground')
Wait(500)
uo.moveitem('finditem',1,'backpack')


а такая конструкция использует тип

Code: Select all

uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")

круто спасибо, получается одна команда применяясь по разному использует либо тип либо ид! :lol:

Re: Агилити на коня

Posted: 2011-01-17 17:06:59
by Mirage
Makarov wrote:круто спасибо, получается одна команда применяясь по разному использует либо тип либо ид! :lol:


У нее не только в этом плюс.
Для меня главный плюс не привязывается к определенному ID объекта и сокращение скрипта на несколько строк:

Code: Select all

sub sort()
   uo.exec ("moveitem '_0x0EFA' '0' 'backpack' 25 20 0");spellbook
   uo.exec ("moveitem '_0x0F9E' '0' 'backpack' 40 20 0");Silver Scissors
   uo.exec ("moveitem '_0x1012' '0' 'backpack' 25 20 0");Key
   uo.exec ("moveitem '_0x1012' '0' 'backpack' 25 23 0");Key
   uo.exec ("moveitem '_0x0E9B' '0' 'backpack' 50 20 0");ступка
   uo.exec ("moveitem '0x40380220' '0' 'backpack' 170 20 0");руна
   uo.exec ("moveitem '0x40F03AEC' '0' 'backpack' 150 20 0");руна
   uo.exec ("moveitem '0x40F03791' '0' 'backpack' 160 20 0");руна
   uo.exec ("moveitem '^0x0A3E' '0' 'backpack' 160 170 0");сундук
end sub

сортировка в паке предметов. И не важно какая книга магии, ступка и ключ...

Re: Агилити на коня

Posted: 2011-01-21 01:05:32
by omi4

Code: Select all

sub Unic()
var Horse='0x001DCBD8'
          If NOT UO.ObjAtLayer('Horse') Then
             uo.UseObject(Horse)
          else
             uo.useobject('self')
                 wait(100)
             uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
                 wait(100)
             uo.UseObject(Horse)
          Endif
endsub 


Мираж строчка
UO.ObjAtLayer('Horse')
хорса здесь не имя переменной а имя слоя. Поэтому все раком работает... чудом. Правь

Re: Агилити на коня

Posted: 2011-01-21 10:55:54
by Mirage
Не пользуюсь такими скриптами потому и забыл. :roll:

Code: Select all

sub Unic()
var IDHorse='0x001DCBD8'
          If NOT UO.ObjAtLayer('Horse') Then
             uo.UseObject(IDHorse)
          else
             uo.useobject('self')
                 wait(100)
             uo.exec ("moveitem '^0x0F08' '0x0000' 'IDHorse' ")
                 wait(100)
             uo.UseObject(IDHorse)
          Endif
endsub

Re: Агилити на коня

Posted: 2011-01-29 02:26:55
by omi4

Code: Select all

sub Unic()
   if not UO.ObjAtLayer('Horse') then
      UO.UseObject('lasthorse')
   else
      UO.UseObject('self')
      UO.MoveItem('_0x0F08',1,'lasthorse')
      UO.WarMode(0)
      UO.UseObject('lasthorse')
   endif
end sub


Копируй алгоритм, а не код. Тогда таких ляпов не будет.

Re: Агилити на коня

Posted: 2011-01-29 14:17:12
by Mirage
Про ластхорс забыл :roll:
Вармод не обязательно - проверили.