Yoko

All sides of Injection
It is currently 2025-12-25 00:11:04

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2005-08-19 16:17:33 
Offline

Joined: 2004-12-13 01:27:00
Posts: 190
У меня не стоит изи уо, и вообще не хачу его ставть, можно ли его скрипт на спарраинг представить БЕЗ изиуо??
Code:
sub sparring()
   VAR Char1='0x000C97E6'
   VAR Char2='0x00018410'
   VAR Enemy, ESelf, EEnemy
   VAR Weapon, Shield, WpnType, ShldType
   VAR TazikType='0x1008',BloodBndg='0x0E20'
   VAR MinLife=60
   

   if UO.GetSerial('self')==Char1 then
      Enemy=Char2
      EEnemy=90
      ESelf=80
   else
      Enemy=Char1
      EEnemy=80
      ESelf=90
   endif

   Weapon=UO.ObjAtLayer('Rhand')
   If Weapon<>"" Then
      WpnType=UO.GetGraphic(Weapon)
   Endif

   Shield=UO.ObjAtLayer('Lhand')
   If Shield<>"" Then
      ShldType=UO.GetGraphic(Shield)
   Endif
   
   UO.SetEasyUO(ESelf,"0")

   while NOT UO.Dead()
   
      repeat
         wait(500)
      until UO.GetEasyUO(ESelf)=="0" AND UO.GetEasyUO(EEnemy)=="0"
      
      UO.Exec("warmode 1")
      UO.Attack(Enemy)
      
      while UO.Life>=MinLife AND UO.GetEasyUO(EEnemy)=="0"
         wait(100)
      wend

      UO.SetEasyUO(ESelf,"1")
      UO.Exec("warmode 0")
      wait(1000)
      UO.Exec("warmode 0")

      UO.FindType('0x0E21','0x0000','backpack')
      If UO.GetQuantity('finditem')<20 Then
         UO.FindType('0x0E20','0x0000','backpack')
         UO.WaitTargetType(TazikType)
         UO.UseObject('finditem')
         wait(1000)
      Endif

      while UO.Life<UO.Str
         UO.DeleteJournal()
         UO.BandageSelf()
         Repeat
            wait(500)
         Until UO.InJournal('put') OR UO.InJournal('help') OR UO.InJournal('cure')
      wend

      If Shield<>"" Then
         UO.Equipt('Lhand',ShldType)
         wait(2000)
      Endif

      If Weapon<>"" Then
         UO.Equipt('Rhand',WpnType)
         wait(2000)
      Endif
      
      UO.UseSkill('Spirit Speak')
      wait(3000)
      UO.SetEasyUO(ESelf,"0")
   wend
end sub




Top
   
 Post subject:
PostPosted: 2005-08-19 16:18:50 
Offline
Expert!
User avatar

Joined: 2005-01-15 19:15:05
Posts: 791
Location: Dragon World
Все боевые качал этим скриптом:
Code:
sub fight()
while 1
   gotoxy(2020,532,0) ;координаты куда подходить к противнику
   UO.usetype("0x1B76") ;тип щита
   uo.usetype("0x0F51") ;тип оружия
   UO.Exec("attack 0x00053A88") ;айди 2-го чара
   Repeat
      wait (500)
   if uo.injournal("destroyed")then
   UO.usetype("0x0ec2") ;тип оружия
   uo.deletejournal()
   endif
   Until ((UO.GetHP("0x0028FFEC") <100)or (UO.GetHP("0x00053A88")  <120)) ;жизни 1-го и 2-го чара
   repeat
   UO.Exec("warmode 0") ;выключаем вар мод
   UO.Press(35) ;код клавиши End
   UO.Press(35) ;код клавиши End
   until (uo.GetY() < 534) ;координаты по Y куда отходить чтобы лечить(ся)
      UO.DeleteJournal()
   Repeat
      UO.Usetype("0x0E21") ;Bandages
      UO.Exec("waittargetobject 0x00053A88") ;айди 2-го чара
      wait(3500)
   Until (UO.InJournal("need you"))
      UO.DeleteJournal()
   Repeat
      UO.Usetype("0x0E21") ;Bandages
      UO.Exec("waittargetobject 0x0028FFEC")  ;айди 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


sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


Top
   
 Post subject:
PostPosted: 2005-08-19 16:22:42 
Offline

Joined: 2004-12-13 01:27:00
Posts: 190
у мя складывается такое впечатление, что лео сидит на юоко форуме и каждую минуту тыкает F5 )))

Но всё же не очень я понимаю со строкой:

Code:
 until (uo.GetY() < 534) ;координаты по Y куда отходить чтобы лечить(ся) 


Top
   
 Post subject:
PostPosted: 2005-08-19 16:37:43 
Offline
Expert!
User avatar

Joined: 2005-01-15 19:15:05
Posts: 791
Location: Dragon World
Вместо 534 вставь координату по оси Y куда отходить лечится.


Top
   
 Post subject:
PostPosted: 2005-08-20 00:06:03 
Offline

Joined: 2004-12-13 01:27:00
Posts: 190
2Leo: Вот я допустим с другом решил покачать боевой скилл, я первым чаром только буду отходить хелится, а вот второй будет потихоньку умирать? Я конешно придумал как вставить хелинг второму, но это как то ботски получилось :( Яж только учусь писать эти скрипты)

Я придумал через журнал, типа если в журнале бандажится чар, то второй тоже юзает их... но не как не магу понят как сделать чтобы было нормально и по человечески...


Top
   
 Post subject:
PostPosted: 2005-08-20 13:04:21 
Offline
Expert!
User avatar

Joined: 2005-01-15 19:15:05
Posts: 791
Location: Dragon World
Dron D. wrote:
2Leo: Вот я допустим с другом решил покачать боевой скилл, я первым чаром только буду отходить хелится, а вот второй будет потихоньку умирать? Я конешно придумал как вставить хелинг второму, но это как то ботски получилось :( Яж только учусь писать эти скрипты)

Я придумал через журнал, типа если в журнале бандажится чар, то второй тоже юзает их... но не как не магу понят как сделать чтобы было нормально и по человечески...


В этом скрипте первый чар лечит и себя и второго чара. Выбераете у кого хилинг больше, тот скрипт и будет запускать. Лучше всего отходить на 2 шага.


Top
   
 Post subject:
PostPosted: 2005-08-23 00:47:56 
Offline

Joined: 2004-09-19 06:19:12
Posts: 20
Code:
                  sub fight() 

                  var x1,y1,y2,y3
                  var tmp_weap = "set_tmp"
                  uo.addobject('MyID',0x001F948A)

                  uo.print('!!Укажи напарника!! ')
                  uo.exec('addobject Partner')
                  while uo.targeting()
                  wait(100)
                  wend   
                  x1 = uo.LastTile(1)
                  y1 = uo.LastTile(2)+1
#                  y2 = y1+2
                  y3 = y1+1
                  uo.setarm(tmp_weap)
                 
                  while 1
                  gotoxy(x1,y1,0)
                  uo.arm(tmp_weap)
                  UO.usetype("0x1B76") 
                  uo.usetype("0x0EC2")

                  UO.Exec("attack Partner")
                  Repeat
                  wait (500)
                  if uo.injournal("destroyed")then
                  UO.usetype("0x0EC2") 
                  uo.deletejournal()
                  endif
                  Until ((UO.GetHP("MyID") <75) or (UO.GetHP("Partner") <100))
                  repeat
                  UO.Exec("warmode 0")

                  UO.Press(35) # Нажимает End
                  UO.Press(35) # Нажимает End
                  until (gotoxy(x1,y3,0)) 
                  UO.DeleteJournal()
                  UO.say ("Забинтую как мумию!")
                  Repeat
                  UO.Usetype("0x0E21") #Bandages
                  UO.Exec("waittargetobject Partner")
                  wait(3500)
                  Until (UO.InJournal("need you"))
                  UO.DeleteJournal()
                  Repeat
                  UO.Usetype("0x0E21") #Bandages
                  UO.Exec("waittargetobject MyID")
                  wait(3500)
                  Until (UO.InJournal("need healing"))
                  wend
                  end sub
                 ...
                 ...
                 ...



Помоему так немного лучше. :roll:


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 15 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited