Page 1 of 1
Проблема с автострелкой
Posted: 2009-06-22 13:20:52
by Blood Slayer
Давно тут не был.
Вообщем суть того что я хочу.
Вот скрипт на каст стрелки во всех в радиусе 15 с игнором.
Code: Select all
Sub Ar()
var name
uo.set('finddistance', '15')
uo.ignore('self')
repeat
uo.findtype('0x0190', '-1', 'ground')
if uo.findcount() then
uo.cast('Magic Arrow', 'finditem')
name = Uo.GetName('finditem')
Uo.Print('Пулька в = ' + Str( name ))
wait(1500)
uo.ignore('finditem')
end if
Until Uo.Dead()
end sub
end sub
Думал думал, как сделать так чтобы когда чел усмирает, и приходит опять на арену выписать его из игнор листа, а то послетого как умрет, заходит на аренку и все скрипт его игнорит.
Вообщем помогите кто чем может.
Я бы и сам придумал че нить но так давно не писал что мозг пухнет при чтении скриптов.
Сам с собой развлекаюсь ...
Code: Select all
name = Uo.GetName('finditem')
Uo.Print('Пулька в = ' + Str( name ))
Ладно что русский не видно ... Почему пишет = 0 ?
Posted: 2009-06-22 16:25:54
by Mirage
1) не игнорь

Таргетнексть
2) зачем str написал - переводишь в числовое и удивляешься Просто
Code: Select all
sub sell()
uo.Exec('addobject Vendor')
while uo.Targeting()
wait(100)
wend
uo.Say(UO.GetName('Vendor') + ' sell')
end sub
Posted: 2009-06-22 21:29:47
by $!@m
В принципе Мираж дело говорит, лучше использовать УОшный бинд targetnext. Он перебирает по возрастанию ИД, ищет в пределах видимости экрана.
Чистой инжой - не думаю, что нормально получится, т.к. регистрация смерти - показатель кумарной, едва что по хп отслеживать, но опять-таки, постоянно хп смотреть/куда-то записывать/сверять. Не морочь голову подобным.
Posted: 2009-06-23 13:54:24
by Blood Slayer
Все таки решил добовлять объекты ... терь думаю как и отследивать и удалять после смерти ...
Code: Select all
sub Null()
var name
uo.set('finddistance', '15')
uo.ignore('self')
repeat
uo.findtype('0x0190', '-1', 'ground')
if uo.findcount() then
uo.cast('Magic Arrow', 'finditem')
name = Uo.GetName('finditem')
uo.addobject( Name ,'finditem')
Uo.Print('Пулька в = ' + name )
wait(1500)
uo.ignore( Name )
end if
Until Uo.Dead()
end sub
[/code]
Posted: 2009-06-24 03:36:25
by Destruction
Все давно придумано..
Посмотри мой скрипт:
Code: Select all
sub hello()
DIM ignore[1024]
var i, index = 0
var man = '0x0190'
var woman = '0x0191'
var dst1 = 2 ; со скольки тайлов здороваться
var dst2 = 8 ; со скольки тайлов забывать
uo.ignore( 'self' )
uo.set( 'finddistance', str( dst1 ) )
repeat
uo.findtype( woman, '-1', 'ground' )
if not uo.findcount() then
uo.findtype( man, '-1', 'ground' )
endif
if uo.findcount() then
msg( 'Привет ' + uo.getName( 'finditem' ) + '! :)' )
uo.ignore( 'finditem' )
ignore[ index ] = uo.getSerial( 'finditem' )
index = index + 1
else
wait( 300 )
endif
i = 0
while i < index
if uo.getDistance( ignore[ i ] ) > dst2 then
uo.ignore( ignore[ i ], 'off' )
index = index - 1
if i < index then
ignore[ i ] = ignore[ index ]
endif
else
i = i + 1
endif
wend
until false
endsub
PS: Писалось давно, под накуром, с помощью Grin'а - пытаться осмыслить бесполезно

Posted: 2009-06-24 10:06:37
by Blood Slayer
Спасибо, пойду потещу.
Posted: 2009-06-25 13:16:30
by Mirage
Destruction wrote:Все давно придумано..
Читал что uo.ignore( ignore[ i ], 'off' ) не работает. Так разве можно?
Исче вариант (из мыслей):
видишь человечка записываешь с текстовый файл его ID сверяешься с ним и игноришь аля потом когда никого нет по близости удаляешь текстовик и при нахождении переписываешь загоно.... Хотя 99% что не заработает

Posted: 2009-06-25 13:25:16
by Blood Slayer
Mirage wrote:Destruction wrote:Все давно придумано..
Читал что uo.ignore( ignore[ i ], 'off' ) не работает. Так разве можно?
Исче вариант (из мыслей):
видишь человечка записываешь с текстовый файл его ID сверяешься с ним и игноришь аля потом когда никого нет по близости удаляешь текстовик и при нахождении переписываешь загоно.... Хотя 99% что не заработает

ТО что мне дали и так работает ... ток ни как не могу сделать чтоб не по дистанци выписывал с игнора, а когда умирает перс ... а так все норм
Posted: 2009-06-25 18:34:33
by Mirage
смерть можно определить по изменению XYZ координатт атакуемого
