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 лошади
этот кусочек после того как кинул на лошадь банку садится на неё
Re: Агилити на коня
Posted: 2011-01-17 08:51:51
by Mirage
uo.exec ("moveitem '^0x0F09' '0' 'Horse' ")
эта команда перекидывает
moveitem из пака
^ тип банки агилити
0x0F09 на ID лошадь
Horse,
вот так точнее

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,
вот так точнее

Скажи где ты взял этот синтаксис (вот это:
^), блин в справке я такого не видел, это полностью аналогично uo.moveitem(object,[quantity,containerobject/ground,[x,y,z]]) ?
Fistashka wrote:этот кусочек после того как кинул на лошадь банку садится на неё
Тогда перед ней нужно поставить
uo.WarMode(0) чтобы лошадь случайно не атаковать.
Re: Агилити на коня
Posted: 2011-01-17 16:01:51
by Mirage
Плохо искал, внизу посмотриНе совсем аналогична. Технически "^тип" = "ID предмета в сумке" но практически у меня не работала запись типа:
а так работает:
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() и использовать
finditemCode: 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' ")
круто спасибо, получается одна команда применяясь по разному использует либо тип либо ид!

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

У нее не только в этом плюс.
Для меня главный плюс не привязывается к определенному 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
Не пользуюсь такими скриптами потому и забыл.
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
Про ластхорс забыл
Вармод не обязательно - проверили.