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

Ask for help

Moderators: Murderator+, Murderator

Post Reply
TEHb o2
Posts: 18
Joined: 2009-04-08 11:14:30
Contact:

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

Post 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

Не подскажете как сделать так чтобы помимо всего прочего он кидал агилку на лошадь?
если не сложно сделайте пожалуйста. А лучше чтобы слез кинул, сел)
спасибо заранее!
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

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

Post 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 
Я пока только учусь :oops:

http://www.surfjunky.com/?r=BloodSlayer
TEHb o2
Posts: 18
Joined: 2009-04-08 11:14:30
Contact:

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

Post by TEHb o2 »

неее каст не пойдет никак, каст я и сам бы попробовал сделать а тут просто не очень знаю как делать..... во время драки еще на коня каставать агилити это не так удобно как слез кинул сел)
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

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

Post by Blood Slayer »

TEHb o2 wrote:неее каст не пойдет никак, каст я и сам бы попробовал сделать а тут просто не очень знаю как делать..... во время драки еще на коня каставать агилити это не так удобно как слез кинул сел)

Тогда обьясни конкректно, что и как надо сделать.
Я пока только учусь :oops:

http://www.surfjunky.com/?r=BloodSlayer
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post 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 
TEHb o2
Posts: 18
Joined: 2009-04-08 11:14:30
Contact:

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

Post by TEHb o2 »

Даа Спасибо большое) только там косяк был я помучался и в итоге в мунитеме вместо хорс айди поставил и все пашет теперь)) спасибо)
Makarov
Posts: 62
Joined: 2010-04-07 14:43:26

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

Post by Makarov »

Mirage wrote:Так?

Code: Select all

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

Мираж, плз растолкуй этот кусок мне построчно.
Fistashka
Posts: 47
Joined: 2008-09-18 21:09:33

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

Post 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)

этот кусочек после того как кинул на лошадь банку садится на неё
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post by Mirage »

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

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


надо было вверху без ' ' попробовать ID лошади указать. Но если работает то и фиг с ним :)
Last edited by Mirage on 2011-01-17 16:07:44, edited 1 time in total.
Makarov
Posts: 62
Joined: 2010-04-07 14:43:26

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

Post 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) чтобы лошадь случайно не атаковать.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post by Mirage »

Плохо искал, внизу посмотри
Не совсем аналогична. Технически "^тип" = "ID предмета в сумке" но практически у меня не работала запись типа:

Code: Select all

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

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

Code: Select all

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

уж ХЗ почему.

про вармод не уверен. Конь же не двойным кликом используется. Но надо бы проверить на всякий.
Makarov
Posts: 62
Joined: 2010-04-07 14:43:26

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

Post 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:
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post 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

сортировка в паке предметов. И не важно какая книга магии, ступка и ключ...
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

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

Post 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')
хорса здесь не имя переменной а имя слоя. Поэтому все раком работает... чудом. Правь
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post 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
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

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

Post 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


Копируй алгоритм, а не код. Тогда таких ляпов не будет.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

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

Post by Mirage »

Про ластхорс забыл :roll:
Вармод не обязательно - проверили.
Post Reply