Page 1 of 1

Помогите немного подправить...

Posted: 2006-03-19 15:17:32
by kexwer
Вот скрипт, при появлении ПК он реколиться домой , т.е. всё отлично, но если другой чар рядом выкопал элема то он реколиться домой :(
Можно сделать , так что бы, если в журнале надпись Elemental, то не реколился домой, а продолжал фнкцию, на атаку Элема....


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 uo.InJournal('OOPS') then
if ElementalKill==1 then
uo.PlayWav(DisturbingSound)
uo.Exec('exec ElementalKill')
end if
if ElementalKill==0 then
uo.Exec('exec RecallRune')
end if
end if
if RecallPhysicalDanger==1 then
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 RecallBluePlayer==1 then
if danger==1 and uo.JournalSerial(0)<>uo.GetSerial() then
uo.Exec('exec RecallRune')
end if
end if
wend
end sub

Posted: 2006-03-19 15:23:04
by Scripts Writer

Code: Select all

if uo.InJournal('attacking you') then 
if uo.InJournal('Elemental is attacking you')
end if


возможно так

Posted: 2006-03-19 15:36:29
by kexwer
You Must Die wrote:

Code: Select all

if uo.InJournal('attacking you') then 
if uo.InJournal('Elemental is attacking you')
end if


возможно так



Лучше тогда так ;)

Code: Select all

if uo.InJournal('attacking you') or uo.InJournal('Elemental')  then 
Что делать дальше...
end if

Но при атаке или появлении Элементаля он будет реколиться по руне...
А нужно, чтобы при uo.InJournal('Elemental') включал функцию Killelemental

Posted: 2006-03-19 16:27:07
by Kynep
kexwer wrote:
You Must Die wrote:

Code: Select all

if uo.InJournal('attacking you') then 
if uo.InJournal('Elemental is attacking you')
end if


возможно так



Лучше тогда так ;)

Code: Select all

if uo.InJournal('attacking you') or uo.InJournal('Elemental')  then 
Что делать дальше...
end if

Но при атаке или появлении Элементаля он будет реколиться по руне...
А нужно, чтобы при uo.InJournal('Elemental') включал функцию Killelemental


Попробуй поменять следующее:

Code: Select all

danger=uo.GetNotoriety(uo.JournalSerial(0)) 
if uo.InJournal('OOPS') or uo.InJournal('Elemental') then
if ElementalKill==1 then
uo.PlayWav(DisturbingSound)
uo.Exec('exec ElementalKill')
end if

Posted: 2006-03-19 17:58:02
by kexwer
Спасибо...

Posted: 2006-03-19 18:10:39
by Kynep
kexwer wrote:Спасибо...


Если работает... тогда не за что :D