Page 1 of 2

Помогите с проблемой в скрипте "Спаринг"

Posted: 2005-02-08 19:37:06
by HellFire
вот скрипт...все работате нормально НО,когда хп становится мало и чар должен отходить ,он либо ваще не отходит ,либо отходит очень очень...далеко...и потом там стоит..помогите плз!
Надоело каждую минуту вырубать и врубать скрипт заново...(((

Code: Select all

sub fight()
while 1
   gotoxy(1817,802,0) # координаты куда подходить к противнику
   UO.usetype("0x1B77") # тип щита
   uo.usetype("0x0EC2") # тип оружия
   UO.Exec("attack 0x000AECD9") #айди 2-го чара
   Repeat
      wait (500)
   if uo.injournal("destroyed")then
   UO.usetype("0x0EC2") # тип оружия
   uo.deletejournal()
   endif
   Until ((UO.GetHP("0x001AD865") <75)or (UO.GetHP("0x000AECD9")  <100)) #
#жизни 1-го и 2-го чара
   repeat
   UO.Exec("warmode 0") # выключаем вар мод
   UO.Press(35) # код клавиши End
   UO.Press(35) # код клавиши End
   until (uo.GetY() < 803)# координаты по Y куда отходить чтобы лечить(ся)
      UO.DeleteJournal()
   Repeat
      UO.Usetype("0x0E21") #Bandages
      UO.Exec("waittargetobject 0x000AECD9") # айди 2-го чара
      wait(3500)
   Until (UO.InJournal("need you"))
      UO.DeleteJournal()
   Repeat
      UO.Usetype("0x0E21") #Bandages
      UO.Exec("waittargetobject 0x001AD865")  # айди 1-го чара
      wait(3500)
   Until (UO.InJournal("need healing"))
wend
end sub

sub gotoxy(x,y,prec)
var ld=0,ldc=0
var dx,dy
var mx,my
var ox,oy,mk,k
#uo.print(">")
#uo.track("1",str(x),str(y))
start:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if not ldc then
uo.print(STR(dx))
end if
if dx<3 then
mk=70
else
mk=15
end if
ox=mx
oy=my
for k=1 to mk
mx=UO.GetX()
my=UO.GetY()
if mx<>ox or my<>oy then
goto sdidapl
end if
wait(10)
next
sdidapl:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if ld==dx then
ldc=ldc+1
if ldc>100 then
uo.print("Can not reach location!")
return
end if
else
ld=dx
end if
if mx==x then
if my==y then
return
endif
if my>y then
#UO.Print("UR")
UO.Press(33)
goto start
endif
#UO.Print("DL")
UO.Press(35)
goto start
end if
if mx<x then
if my>y then
#UO.Print("R")
UO.Press(39)
goto start
endif
if my==y then
#UO.Print("DR")
UO.Press(34)
goto start
endif
#UO.Print("D")
UO.Press(40)
goto start
end if
if my<y then
#UO.Print("L")
UO.Press(37)
goto start
endif
if my==y then
#UO.Print("LU")
UO.Press(35)
goto start
endif
#UO.Print("U")
UO.Press(38)
goto start
end sub

sub Healing()
   UO.SetArm('CWeapon')
   UO.Exec("bandageself")
   wait(500)
   
   UO.Arm('CWeapon')
end sub

(Топик правлен ВЕТРОМ)

Posted: 2005-02-09 09:01:39
by Goggy
Знаешь.. ну так просто лень всю эту билиберду не структурированную читать, да ещё и разбираться :roll:

Это был тонкий намёк :wink:

Posted: 2005-02-09 17:52:45
by HellFire
ХЕЛП! :cry:

Posted: 2005-02-09 18:26:58
by Savage
HellFire wrote:ХЕЛП! :cry:

Попробуй здесь:
until (uo.GetY() < 803)# координаты по Y куда отходить чтобы лечить(ся)

знак < исправить на >

Posted: 2005-02-09 20:39:20
by HellFire
Savage wrote:
HellFire wrote:ХЕЛП! :cry:

Попробуй здесь:
until (uo.GetY() < 803)# координаты по Y куда отходить чтобы лечить(ся)

знак < исправить на >

ok

Posted: 2005-02-10 19:54:40
by HellFire
поменял...теперь он не отходит вниз до пока обочтонить не упрется,а отходит на 3 клетки от противника (с любыми координатами),а оттуда бинтами не достать до противника чтобы вылечить...
З.Ы. а влияет ли то где стоит 1ый чар а где 2ой...чар лечаший у меня стоит снизу,а 2ой выше...

Posted: 2005-02-10 19:58:45
by HellFire
попробовал поменяться местами..результат такой же: мой чар отходит вниз до упора :roll:

Posted: 2005-02-10 20:14:33
by HellFire
на работу скрипта может влиять то, что я паралельно играю в другую онлайн игру типо БК? :?:

Posted: 2005-02-10 21:01:12
by Goggy
HellFire wrote:на работу скрипта может влиять то, что я паралельно играю в другую онлайн игру типо БК? :?:


НЕТ!

Posted: 2005-02-10 21:03:01
by Goggy
попробу тогда ещё один

Code: Select all

UO.Press(35) # код клавиши End 



убрать!

Posted: 2005-02-10 21:11:08
by HellFire
Goggy wrote:попробу тогда ещё один

Code: Select all

UO.Press(35) # код клавиши End 



убрать!

там 2 такие строчки...убирать обе?

Posted: 2005-02-10 21:32:50
by Goggy
нет тока одну!
попробуй

Гыы.. если две то как он ходить будет??? :lol:

Posted: 2005-02-12 00:17:05
by SAMURAI
Одно могу сказать, я его не стал бы постить тогда если бы траблы были...
Ручками правим координаты, ато наверняка раком ввёл.) Если что непонятно - знаешь куда стучать :wink: :mrgreen:

Posted: 2005-02-14 18:51:32
by HellFire
SAMURAI wrote:Одно могу сказать, я его не стал бы постить тогда если бы траблы были...
Ручками правим координаты, ато наверняка раком ввёл.) Если что непонятно - знаешь куда стучать :wink: :mrgreen:

Ввел все правильно! Может я такой невезучий просто) :roll:

Posted: 2005-02-14 18:53:39
by HellFire
Goggy wrote:нет тока одну!
попробуй

Гыы.. если две то как он ходить будет??? :lol:

Ну убрал...если убереш 1 он не отходит когда надо лечится,а делает ето прямо в бою) :|

Posted: 2005-02-14 18:54:41
by SAMURAI
HellFire wrote:Ввел все правильно! Может я такой невезучий просто) :roll:
:shock: Незнаю, у меня всё работает всё качается :lol:
Значит несудьба :mrgreen:

Posted: 2005-02-14 19:43:53
by HellFire
SAMURAI wrote:
HellFire wrote:Ввел все правильно! Может я такой невезучий просто) :roll:
:shock: Незнаю, у меня всё работает всё качается :lol:
Значит несудьба :mrgreen:

ты был прав!))) я раком коечто сделал) точнее я не поменял ХП чаров :lol: ...теперь все более-менее работает. Всем спасибо! :wink:
З.Ы. Тема закрыта)

Posted: 2005-02-15 19:07:26
by HellFire
З.Ы.Пороботал скрипт без лагов гдето 1 час))) после начал снова сбиваться...постоянно либо лечить противника не отходя от него,либо отходить вниз поко во что-нибудь не упрется
HELP! :cry:

Posted: 2005-02-15 19:53:35
by SAMURAI
Ты непервый такой - просто это из-за лагов...
Проверено и доказано, заглядывай чаще в окно УО вот и всё :mrgreen:

Posted: 2005-02-15 20:21:23
by HellFire
SAMURAI wrote:Ты непервый такой - просто это из-за лагов...
Проверено и доказано, заглядывай чаще в окно УО вот и всё :mrgreen:

:cry: