Нужна не большая помощь в скрипте

Ask for help

Moderators: Murderator+, Murderator

Post Reply
lamersz
Posts: 22
Joined: 2010-01-13 15:48:13

Нужна не большая помощь в скрипте

Post by lamersz »

Помогите люди добрые в чем проблема реколится без остановки после физла

Code: Select all

sub RecallRune()
   Terminate()
   uo.PlayWav(DisturbingSound)
   uo.UseType('0x0F0E','0x0631')
   wait(100)
   repeat
      uo.WaitTargetObject('0x418D0000')
      uo.Exec('warmode 0')
      uo.usetype('0x1F4C')
      wait(1800)
   until not uo.InJournal('spell fizzles')
   repeat
      uo.DeleteJournal()
      uo.WaitTargetObject('Rune')
      wait(100)
      uo.Cast('Mark')
      if uo.InJournal('mana for this spell') then
         ManaUp('Bottle')
         wait(100)
      end if
      wait(3000)
   until not uo.InJournal('The spell fizzles.')
   if uo.Life<uo.STR then
      LifeUp('Bottle')
      wait(100)
   end if
   if CycleScript==1 then
      uo.Exec('exec DangerWait')
   end if
   if CycleScript==0 then
      uo.Exec('exec ExitUO')
   end if
end sub
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Нужна не большая помощь в скрипте

Post by Incorrect User »

Code: Select all

   repeat
      uo.WaitTargetObject('0x418D0000')
      uo.Exec('warmode 0')
      uo.usetype('0x1F4C')
      wait(1800)
   until not uo.InJournal('spell fizzles')

Если есть сообщение физла то будет крутить по кругу без конца, так как очистки журнала в цикле нет.
lamersz
Posts: 22
Joined: 2010-01-13 15:48:13

Re: Нужна не большая помощь в скрипте

Post by lamersz »

Incorrect User wrote:

Code: Select all

   repeat
      uo.WaitTargetObject('0x418D0000')
      uo.Exec('warmode 0')
      uo.usetype('0x1F4C')
      wait(1800)
   until not uo.InJournal('spell fizzles')

Если есть сообщение физла то будет крутить по кругу без конца, так как очистки журнала в цикле нет.


спасибо
lamersz
Posts: 22
Joined: 2010-01-13 15:48:13

Re: Нужна не большая помощь в скрипте

Post by lamersz »

Code: Select all

sub ControlOfDanger()
   var Time,danger,Space
   Time=Time()
   Space=' '
   while 1
      uo.DeleteJournal()
      while not uo.InJournal(':')
         wait(100)
      wend
      danger=uo.GetNotoriety(uo.JournalSerial(0))
     
      if PhysicalDanger==1 then
         if uo.InJournal('spirit') then
            uo.TextOpen()
            uo.TextPrint('Был вырублен Ент ' +Space +Time)
            uo.Exec('exec RecallRune')
         end if
         
         if uo.InJournal('attacking you') then
            uo.GetStatus('uo.JournalSerial(0)')
            uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
            uo.TextOpen()
            uo.TextPrint('Вы были атакованы - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
            uo.Exec('exec RecallRune')
         end if
       end if

     
      if SeenDanger==1 then
         if Danger==6 and UO.JournalSerial(0) <> UO.GetSerial() then
            uo.GetStatus('uo.JournalSerial(0)')
            uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
            uo.TextOpen()
            uo.TextPrint('Рядом оказался ПК - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
            uo.Exec('exec RecallRune')
         end if
         
         if Danger==4 and UO.JournalSerial(0) <> UO.GetSerial() then
            uo.GetStatus('uo.JournalSerial(0)')
            uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
            uo.TextOpen()
            uo.TextPrint('Рядом оказался криминал - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
            uo.Exec('exec RecallRune')
         end if
         
         if RecallFromAll==1 then
            if Danger==1 and UO.JournalSerial(0) <> UO.GetSerial() then
               uo.GetStatus('uo.JournalSerial(0)')
               uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
               uo.TextOpen()
               uo.TextPrint('Рядом оказался чар - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
               uo.Exec('exec RecallRune')
            end if
         end if
      end if
   wend
end sub

помогите ще пожалуйста доделать,как сюда добавить рекол если в журнале будет чар кидать из инвиза In Ex Grav ставлю за место attacking you не помогает дело в этом ? while not uo.InJournal(':') как исправить что бы работало и то и другое..или что добавить, и реально еще исправить if RecallFromAll сделать исключение и вписать некоторые ники ? заранее большое спасибо
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Нужна не большая помощь в скрипте

Post by Mirage »

Code: Select all

         if uo.InJournal('attacking you|In Por Ylem|An Mani|Vas Flam|In Nox|Des Sanct|In Flam Grav|Ort Grav|In Jux Hur Ylem|Por Corp Wis|An Ex Por|Corp Por|Vas Ort Flam|In Ex Grav|Vas Flam|Kal Vas Xen|Ort Rel|Ort Sanct|Flam Kal Des Ylem|In Vas Por') then
            uo.GetStatus('uo.JournalSerial(0)')
            uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
            uo.TextOpen()
            uo.TextPrint('Вы были атакованы - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
            uo.Exec('exec RecallRune')
         end if

Регистр букв обязательно сверь. Если на сервере маленькие а тут заглавные работать не будет.
lamersz
Posts: 22
Joined: 2010-01-13 15:48:13

Re: Нужна не большая помощь в скрипте

Post by lamersz »

Mirage wrote:

Code: Select all

         if uo.InJournal('attacking you|In Por Ylem|An Mani|Vas Flam|In Nox|Des Sanct|In Flam Grav|Ort Grav|In Jux Hur Ylem|Por Corp Wis|An Ex Por|Corp Por|Vas Ort Flam|In Ex Grav|Vas Flam|Kal Vas Xen|Ort Rel|Ort Sanct|Flam Kal Des Ylem|In Vas Por') then
            uo.GetStatus('uo.JournalSerial(0)')
            uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
            uo.TextOpen()
            uo.TextPrint('Вы были атакованы - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
            uo.Exec('exec RecallRune')
         end if

Регистр букв обязательно сверь. Если на сервере маленькие а тут заглавные работать не будет.


насчет букв это понятно,ваш вариант не работает...он работает но только когда чар виден а я прошу что бы если человек будет из инвиза кастовать оно работало

Code: Select all

sub AttackEnts()
   uo.DeleteJournal()
   var Enemy='0x00000000'
   repeat
      if uo.InJournal('attacking you') or uo.InJournal('In Ex Grav') or uo.InJournal('In Sanet Ylem') or uo.InJournal('missed you.') or uo.InJournal('An Ex Por') then
         uo.Exec('terminate Lumberjacking')
         Enemy=uo.JournalSerial(uo.InJournal('attacking you')-1)
         ##uo.PlayWav(LumberSound)
         if CastAtAttack==1 then         
            uo.Cast('Magic Arrow',Enemy)
         end if
         uo.DeleteJournal()
         RecallAtAttack()
      end if
      wait(1000)
   until false
end sub

вот эта тема работает если из инвиза касты идут а как там переделать не догоняю
Post Reply