Page 1 of 1
Нужна не большая помощь в скрипте
Posted: 2014-04-28 02:27:32
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
Re: Нужна не большая помощь в скрипте
Posted: 2014-04-28 02:41:31
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')
Если есть сообщение физла то будет крутить по кругу без конца, так как очистки журнала в цикле нет.
Re: Нужна не большая помощь в скрипте
Posted: 2014-04-28 03:12:36
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')
Если есть сообщение физла то будет крутить по кругу без конца, так как очистки журнала в цикле нет.
спасибо
Re: Нужна не большая помощь в скрипте
Posted: 2014-04-28 04:51:05
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 сделать исключение и вписать некоторые ники ? заранее большое спасибо
Re: Нужна не большая помощь в скрипте
Posted: 2014-04-28 06:06:18
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
Регистр букв обязательно сверь. Если на сервере маленькие а тут заглавные работать не будет.
Re: Нужна не большая помощь в скрипте
Posted: 2014-04-28 06:37:07
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
вот эта тема работает если из инвиза касты идут а как там переделать не догоняю