Есть вот такая простенькая догонялка. Подправьте её пожалуйста кто может так чтоб по нажатии на клавишу догонял lasttarget и брал щит с мечом . При повторном нажатии на эту же клавишу переставала догонят и брала лук . Если цель умирала тоже переставала догонят труп.
sub chase() VAR target If UO.Targeting() Then UO.CancelTarget() Endif UO.Print( 'Please, choice of enemy:' ) UO.AddObject( 'enemy' ) While UO.Targeting() wait(100) Wend target = uo.getserial('enemy') while not uo.dead() and target<>"" if UO.GetDistance(target)>1 then Chaser(target) endif wait(100) wend end sub Sub Chaser(Target) VAR dx, dy While uo.getdistance(target) >1 If Target<>"" and uo.getdistance(target) >1 and not uo.dead() Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() If UO.GetDistance(Target)<2 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
|