Стенка, Стенка , Фаер Филд.
Code:
sub st()
####################
#автор:CONDOMchick #
####################
uo.deletejournal()
VAR x1,x2,y1,y2,sx,sy,limit
x1=0
x2=0
y1=0
y2=0
uo.Set('finddistance','8')
na:
uo.findtype('0x0080',-1,'ground')
if uo.findcount()>0 then
sx=str(uo.getx('finditem'))
sy=str(uo.gety('finditem'))
if x1==1 and x2==1 or y1==1 and y2==1 then
GOTO pox
endif
if sx==str(uo.getx('laststatus')+1) and sy==str(uo.gety('laststatus')) then
x1=1
endif
if sx==str(uo.getx('laststatus')-1) and sy==str(uo.gety('laststatus')) then
x2=1
endif
if sx==str(uo.getx('laststatus')) and sy==str(uo.gety('laststatus')+1) then
y1=1
endif
if sx==str(uo.getx('laststatus')) and sy==str(uo.gety('laststatus')-1) then
y2=1
endif
uo.ignore('finditem')
GoTo na
endif
pox:
uo.ignorereset()
uo.print(str(x1)+str(x2)+str(y1) + str(y2))
if x1==0 and x2==0 and y1==0 and y2==0 then
uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
endif
if y1==1 and y2==1 then
if str(uo.getx())>str(uo.getx('laststatus')) then
uo.waittargettile("400",str(uo.getx('laststatus')+1),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
else
uo.waittargettile("400",str(uo.getx('laststatus')-1),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
endif
endif
if x1==1 and x2==1 then
if str(uo.gety())>str(uo.gety('laststatus')) then
uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')+1),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
else
uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')-1),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
endif
endif
limit=0
#or not uo.injournal('Target is not') or not uo.injournal('sufficient mana')
while not uo.injournal('In Sanct Ylem')
wait(100)
limit=limit+1
if limit==100 then
goto end
endif
wend
uo.msg(' ')
wait(50)
uo.msg(' ')
wait(50)
uo.msg(' ')
end:
end sub
Стенка, Стенка , Фаер Филд.
Code:
sub main()
###############
#автор:DokKor #
###############
UO.Print("Hello from function MAIN")
end sub
Sub abs(n)
if n < 0 then
return n*(-1)
else
return n
end if
end sub
sub WS_X_WS()
; -----------------------------------------------------
var LTimer, MyMana
var mX = UO.GetX('laststatus')
var mY = UO.GetY('laststatus')
var mZ = UO.GetZ('laststatus')
var mT = '400'
; -- Wall of Stone # 1 --------------------------------
if UO.GetX('laststatus') > UO.GetX('self') then
UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(100)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Wall of Stone # 2 --------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(100)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Fire Field ---------------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Fire Field')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Fire Field')
endif
end sub
Обсуждение этих скриптов находится
здесь