Нужна помощь со скриптом на спаринг =(
Moderators: Murderator+, Murderator
Нужна помощь со скриптом на спаринг =(
Помогите пожалуйста... Нашел я скрипт на спаринг,вписал ID чаров вписал оружие щит запускаю скрипт и он мне выдает : What do you want to use this on ? Может быть проблема в координатах ? Хотя вроде все правильно указал .... =(
sub fight()
while 1
gotoxy(1610,1107,0) # координаты куда подходить к противнику
UO.usetype("0x1B76") # тип щита
uo.usetype("0x0EC2") # тип оружия
UO.Exec("attack 0x0144C653") #айди 2-го чара
Repeat
wait (500)
if uo.injournal("destroyed")then
UO.usetype("0x0EC2") # тип оружия
uo.deletejournal()
endif
Until ((UO.GetHP("0x00D6CBD0") <75)or (UO.GetHP("0x0144C653") <100)) #
#жизни 1-го и 2-го чара
repeat
UO.Exec("warmode 0") # выключаем вар мод
UO.Press(35) # код клавиши End
UO.Press(35) # код клавиши End
until (uo.GetY() < 1106)# координаты по Y куда отходить чтобы лечить(ся)
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x0144C653") # айди 2-го чара
wait(3500)
Until (UO.InJournal("need you"))
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x00D6CBD0") # айди 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')
sub fight()
while 1
gotoxy(1610,1107,0) # координаты куда подходить к противнику
UO.usetype("0x1B76") # тип щита
uo.usetype("0x0EC2") # тип оружия
UO.Exec("attack 0x0144C653") #айди 2-го чара
Repeat
wait (500)
if uo.injournal("destroyed")then
UO.usetype("0x0EC2") # тип оружия
uo.deletejournal()
endif
Until ((UO.GetHP("0x00D6CBD0") <75)or (UO.GetHP("0x0144C653") <100)) #
#жизни 1-го и 2-го чара
repeat
UO.Exec("warmode 0") # выключаем вар мод
UO.Press(35) # код клавиши End
UO.Press(35) # код клавиши End
until (uo.GetY() < 1106)# координаты по Y куда отходить чтобы лечить(ся)
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x0144C653") # айди 2-го чара
wait(3500)
Until (UO.InJournal("need you"))
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x00D6CBD0") # айди 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')
Отредактируй пост, выдели весь скрипт и нажми кнопочку Code(выше окна где ты пишешь\редактируешь ответ). Хоть будет читабельно и понятно, и ещё ты весь скрипт выложил, или часть?
Означает нажатие клавиши End, в игре чар сделает шаг на Юг(левый нижний угол экрана), "uo.press" - это команда нажатия клавиши, "35" - это код клавиши.
Code: Select all
uo.press(35)Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Code: Select all
sub Healing()
UO.SetArm('CWeapon')
UO.Exec("bandageself")
wait(500)
UO.Arm('CWeapon')
Code: Select all
end subCode: Select all
###############################################################
### Переменные ###############################################
###############################################################
var enemy, minlife, x, x1, y, y1, n
enemy='0x001568AC' ; ID оппонента
minlife=90 ; Минимальнае количество жизни для отступления
x=4248 ; WayPoint-b X
y=709 ; WayPoint-b y
x1=4253 ; WayPoint-a X
y1=709 ; WayPoint-a y
n=2 ; Направление оппонента при бегстве :)
;0 - север ; верхний правый угол экрана
;1 - северо-восток ; вправо
;2 - восток ; нижний правый угол экрана
;3 - юго-восток ; вниз
;4 - юг ; нижний левый угол экрана
;5 - юго-запад ; влево
;6 - запад ; верхний левый угол экрана
;7 - северо-запад ; вверх
###############################################################
### Начальная функция ########################################
###############################################################
sub main()
uo.print(str(uo.GetDir(enemy)))
uo.setarm('arm')
if uo.life==uo.str then
uo.exec('exec ataka')
else
uo.exec('exec bs')
endif
end sub
sub ataka()
var dist
uo.click(enemy)
; ходилка x,y
while uo.getdistance(enemy)>2
wait(200)
wend
uo.arm('arm')
uo.warmode('1')
uo.attack(enemy)
uo.warmode('1')
uo.attack(enemy)
wait(200)
while uo.life>minlife
dist=uo.getdistance(enemy)
if uo.getdir(enemy)==n || uo.getdistance(enemy)>2 then
uo.warmode('0')
uo.warmode('0')
uo.exec('terminate all; exec bs')
endif
wait(200)
wend
uo.exec('terminate all; exec main')
end sub
###############################################################
### Healing ###############################################
###############################################################
Sub bs()
uo.warmode('0')
uo.warmode('0')
; ходилка x,y
uo.warmode('0')
uo.waittargettype('0x1008')
uo.usetype('0x0E20')
wait(3000)
repeat
ws()
uo.BandageSelf()
wait(3500)
if uo.count('0x0E21')<1 then
uo.waittargettype('0x1008')
uo.usetype('0x0E20')
wait(3000)
endif
until uo.life==uo.str
uo.arm('arm')
wait(2000)
CheckLag()
main()
end sub
Sub ws()
if uo.injournal("world is saving now...") then
while not uo.injournal("world data saving")
wait(100)
wend
endif
CheckLag()
end sub
https://yoko.uokit.com/viewtopic.php?t=6743
Last edited by ADEPT_ABP on 2009-01-13 22:38:58, edited 1 time in total.
Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Code: Select all
; или # - эти символы отделяют "код программы" ( :) ) от комментариев.Играю на drw.ru
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
Использую инжект 505.18 VeNd0r
Начинающий скриптер.
-
666||TORCHKI
- Posts: 257
- Joined: 2006-11-14 16:19:03
- Contact:
Вот ешё можеш попробовать этот.
Почти все боевые на нём кочал и не один раз.
Почти все боевые на нём кочал и не один раз.
Code: Select all
sub main()
VAR E, t, Enemy='0x000A6F7E' , MinHP=70, G=true, L, Weap='0x13F8' ; type of weapon
UO.Attack(Enemy)
UO.DeleteJournal()
while G==true
wait(500)
if not UO.ObjAtLayer("Rhand") then
UO.FindType(Weap,-1,'backpack')
if UO.FindCount() then
UO.Equip('Rhand','finditem')
endif
endif
if UO.InJournal("stay") or UO.Life<MinHP then
UO.Say("stay")
t=UO.Timer()
repeat
E=true
UO.Exec('warmode 0')
wait(500)
if UO.WarMode()==1 then
E=false
UO.Say("stay")
t=UO.Timer()
endif
until E==true and UO.Timer()>=t+30
CheckLag()
UO.SetArm('myarm')
while UO.Life<UO.Str
L=UO.Life
UO.Exec('warmode 0')
DelJ("the")
t=UO.Timer()
UO.Exec('bandageself')
repeat
Wait(500)
until UO.InJournal("You put") or UO.InJournal("barely help") or UO.InJournal("need healing") or UO.Life<L or UO.Timer()>t+100
CheckLag()
if UO.Life<L then
UO.Say("stay")
endif
wend
CheckBandage()
UO.Arm('myarm')
if not UO.InJournal("go") then
UO.Say("go")
repeat
wait(50)
until UO.InJournal("go") or UO.Life<UO.Str
DelJ(UO.GetName()+": go")
repeat
wait(50)
until UO.InJournal("go") or UO.Life<UO.Str
else
UO.Say("go")
endif
UO.DeleteJournal()
UO.Attack(Enemy)
endif
if UO.Dead() then
UO.Exec('warmode 1')
endif
wend
end sub
sub DelJ(s)
VAR MN=UO.InJournal(s)
while MN > 0
UO.SetJournalLine(MN-1, '')
MN=UO.InJournal(s)
wend
end sub
sub CheckLag()
DelJ("backpack")
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
sub CheckBandage()
VAR Banka='0x402A96E6' ; ID of wash basin
UO.waittargetobject(banka)
UO.usetype(0x0e20)
Wait(1000)
end sub