Проблема с автострелкой

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

Проблема с автострелкой

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

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

Post by Mirage »

1) не игнорь :) Таргетнексть
2) зачем str написал - переводишь в числовое и удивляешься Просто

Code: Select all

Uo.Print('Пулька в = ' + name )


Code: Select all

sub sell()
  uo.Exec('addobject Vendor')
  while uo.Targeting()
    wait(100)
  wend
  uo.Say(UO.GetName('Vendor') + ' sell')
end sub
$!@m
Posts: 106
Joined: 2006-08-10 08:25:32

Post by $!@m »

В принципе Мираж дело говорит, лучше использовать УОшный бинд targetnext. Он перебирает по возрастанию ИД, ищет в пределах видимости экрана.

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

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

http://www.surfjunky.com/?r=BloodSlayer
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post 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'а - пытаться осмыслить бесполезно :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

Post by Blood Slayer »

Спасибо, пойду потещу.
Я пока только учусь :oops:

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

Post by Mirage »

Destruction wrote:Все давно придумано..

Читал что uo.ignore( ignore[ i ], 'off' ) не работает. Так разве можно?


Исче вариант (из мыслей):
видишь человечка записываешь с текстовый файл его ID сверяешься с ним и игноришь аля потом когда никого нет по близости удаляешь текстовик и при нахождении переписываешь загоно.... Хотя 99% что не заработает :roll:
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

Post by Blood Slayer »

Mirage wrote:
Destruction wrote:Все давно придумано..

Читал что uo.ignore( ignore[ i ], 'off' ) не работает. Так разве можно?


Исче вариант (из мыслей):
видишь человечка записываешь с текстовый файл его ID сверяешься с ним и игноришь аля потом когда никого нет по близости удаляешь текстовик и при нахождении переписываешь загоно.... Хотя 99% что не заработает :roll:

ТО что мне дали и так работает ... ток ни как не могу сделать чтоб не по дистанци выписывал с игнора, а когда умирает перс ... а так все норм
Я пока только учусь :oops:

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

Post by Mirage »

смерть можно определить по изменению XYZ координатт атакуемого :roll:
Post Reply