var x=uo.getx() var y=uo.gety() uo.press(36) #west wait(500) if (x==uo.getx() and y==uo.gety()) then uo.print('низя сюда идти') endif
типа запоминаем текущие координаты чара, делаем шаг и сморим изменились координаты чара или нет.
но не нравится задержка эта на шаг, хочу чтоб чар быстро бегал, да и при лагах может спокойно глючить
а на сколько мне извесно - позволяют, иначе смысл в так называемых догонялках ? в этих скриптах чар бегает за другим чаром причём ооооочень быстро. Могу выложить одну такую для примера.
;----------------------------------------------------------------- ;--------------------------NMY------------------------------------ sub chase() If uo.getglobal('chase')=='On' then uo.setglobal ('chase',0) uo.print(' !!! -= Chase Terminated =- !!! ') uo.exec('Terminate chase') else uo.setglobal('chase','On') uo.print(' !!! -= Chasing =- !!! ') endif
VAR target target = uo.getserial('lasttarget')
while not uo.dead() and target<>"" and uo.getdistance(target) if UO.GetDistance(target)>-1 then uo.say('') Chaser(target) endif wend
uo.setglobal('chase',0) uo.print(' !!! -= Chasing ended =- !!! ') end sub ;----------------------------------------------------------------- sub Chaser(Target) VAR dx, dy While 1 If Target<>"" and not uo.dead() Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() If UO.GetDistance(Target)<0 Then return Endif else Return Endif
If dx<>0 AND dy<>0 Then If dx>0 AND dy>0 Then UO.Press(40) ; DownArrow Endif
If dx>0 AND dy<0 Then UO.Press(39) ; RightArrow Endif
If dx<0 AND dy>0 Then UO.Press(37) ; LeftArrow Endif
If dx<0 AND dy<0 Then UO.Press(38) ; UpArrow Endif Endif
If dx<>0 AND dy==0 Then If dx>0 Then UO.Press(34) ; PgDown Endif
If dx<0 Then UO.Press(36) ; Home key Endif Endif
If dx==0 AND dy<>0 Then If dy>0 Then UO.Press(35) ; End Endif
If dy<0 Then UO.Press(33) ; PgUp Endif Endif Wend end sub
посмарел ходилки, походу без задержки никак не сделать норм обходилку. а без обхода препятствий чар норм бегает)
мона конечно сделать кучу мегапроверок, смотреть тип тайла куда делаешь шаг, смареть стоит ли ктонить в етом тайле, скока у тя стамины итд, но слишком гимора много, проще обходилку с задержкой сделать тада)
если в клиенте выставить постоянный бег, то будет быстро ходить, рывками
для нормального бега нужно определять на несколько тайлов от чара, проходные или нет, для начала нужно переписать всю статику в текстовый файл вот тогда чар будет просто летать