sub st() 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
sub st() 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
sub st() 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
Работает так: ИЩет стены, если ненашло стен "у объекта" , ставит под ноги, если нашло одну стену (которая уже под ногами), ставит стены -1 координата .