Re: То, что ищут многие...
Posted: 2013-05-16 17:35:06
Прошло 7 лет... эх)
Svasud wrote:Люди, помогите. Я уже замучился искать скрипт на хилинг во время ручного боя для DRW. Просто, чтобы при нажатии, скажем, F4 персонаж снимал оружие и щит, хилился и одевал все обратно. Дайте кто-то ссылку на этот скрипт. Не могу найти...
И еще просьба - никто не встречал скрип на копку айрона в Британии ("шахта" на территории города)? Когда чар не только копает, но еще и ходит и обходит всю эту крученую гору, а потом возращается в начальную точку? И так по кругу. Тоже для ДРВ. Буду очень благодарен!
sub Healing()
uo.WarMode(0)
UO.SetArm('TempWeapon')
UO.Exec ('bandageself')
wait(500)
UO.Arm('TempWeapon')
wait(100)
end sub
sub main()
while not uo.dead()
gomine()
gominback()
gomine()
gosmelt()
smeltore()
gobank()
unloadiron()
gomaxback()
wend
end sub
sub gomine()
go(1459,1510,1)
go(1458,1507,1)
go(1457,1506,1)
go(1455,1505,1)
go(1452,1506,1)
go(1450,1509,1)
go(1450,1512,1)
go(1450,1513,1)
go(1448,1515,1)
go(1451,1517,1)
go(1452,1519,1)
go(1451,1521,1)
go(1448,1522,1)
go(1445,1523,1)
go(1445,1525,1)
go(1447,1527,1)
go(1448,1528,1)
go(1450,1530,1)
go(1452,1529,1)
go(1454,1529,1)
end sub
sub gosmelt()
go(1432,1542,0)
go(1426,1556,0)
end sub
Sub gobank()
go(1430,1570,0)
go(1438,1583,0)
go(1425,1592,0)
go(1425,1622,0)
go(1420,1631,0)
go(1420,1668,0)
go(1436,1671,0)
go(1435,1680,0)
end sub
sub gomaxback()
go(1435,1669,0)
go(1420,1669,0)
go(1420,1631,0)
go(1425,1592,0)
go(1438,1583,0)
go(1430,1570,0)
go(1430,1536,0)
go(1445,1515,0)
go(1453,1502,0)
go(1460,1505,0)
end sub
sub gominback()
go(1446,1533,0)
go(1441,1524,0)
go(1447,1504,0)
go(1460,1504,0)
end sub
sub kopka()
var kirka='0x0E85'
var i,j,x,y,z
var ms1="Try mining"
var ms2="You put"
var ms3="There is no ore"
var ms4="You loosen"
x=uo.getx('self')
y=uo.gety('self')
z=uo.getz('self')
hiding()
for i=-1 to 1
for j=-1 to 1
repeat
uo.deletejournal()
uo.waittargettile(0,x+i,y+j,z)
uo.usetype(kirka)
repeat
wait(100)
until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4)
until uo.injournal(ms1) or uo.injournal(ms3)
next
next
end sub
sub unloadiron()
uo.findtype('0x1BEF','-1','backpack')
while uo.findcount()
uo.say("bank")
wait(1000)
uo.findtype('0x1BEF','-1','backpack')
if uo.findcount() then
uo.moveitem('finditem','all','lastcontainer')
endif
uo.findtype('0x1BEF','-1','backpack')
wend
end sub
sub hiding()
var ms1="You have hidden"
var ms2="You can't"
repeat
uo.deletejournal()
uo.useskill('Hiding')
repeat
wait(100)
until uo.injournal(ms1) or uo.injournal(ms2)
until uo.injournal(ms1)
end sub
sub smeltore()
uo.findtype('0x19B9','-1','backpack')
while uo.findcount()
uo.useobject('finditem')
wait(500)
uo.findtype('0x19B9','-1','backpack')
wend
end sub
sub go(x,y,k)
VAR i
VAR dir,ldir,rdir,key,olddir
VAR dx,dy,Exit=0
VAR CacheLimit=9,CacheIndex="Text"
DIM CacheX[10], CacheY[10]
CacheX[0]="Test"
While Exit<>1
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then ; GoSE
dir=3
ldir=2
rdir=4
key=40 ; DownArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=0
rdir=1
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=5
rdir=6
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx>0 AND dy<0 Then ; GoNE
dir=1
ldir=0
rdir=2
key=39 ; RightArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=6
rdir=7
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy>0 Then ; GoSW
dir=5
ldir=4
rdir=6
key=37 ; LeftArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==6 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy<0 Then ; GoWN
dir=7
ldir=6
rdir=0
key=38 ; UpArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then ; GoE
dir=2
key=34 ; PgDown
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoNE
dir=1
ldir=1
rdir=0
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 Then ; GoW
dir=6
key=36 ; Home key
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then ; GoS
dir=4
key=35 ; End
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=6
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dy<0 Then ;GoN
dir=0
key=33 ; PgUp
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoWN
dir=7
ldir=7
rdir=6
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
Wend
if k==1 then
kopka()
endif
end sub
sub StepEdit(x,y,dir,key)
VAR walkwait=100
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
If x==UO.GetX() AND y==UO.GetY() Then
ErrLevel=1
Endif
Endif
Return ErrLevel
end sub
sub StepArrow(x,y,dir,ldir,rdir,key)
VAR walkwait=100
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
CheckLag()
Endif
Endif
If UO.GetX()==x AND UO.GetY()==y Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
CheckLag()
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
ErrLevel=1
Endif
Endif
Endif
Return ErrLevel
end sub
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
Wait(50)
until UO.InJournal('backpack')
end sub
sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('Guard')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub
sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
Code: Select all
sub kopka()
var kirka='0x0E85'
var i,j,x,y,z
var ms1="Try mining|You put|There is no ore|You loosen"
var ms2="Try mining|There is no ore"
x=uo.getx('self')
y=uo.gety('self')
z=uo.getz('self')
hiding()
for i=-1 to 1
for j=-1 to 1
repeat
uo.deletejournal()
uo.waittargettile(0,x+i,y+j,z)
uo.usetype(kirka)
repeat
wait(100)
until uo.injournal(ms1)
until uo.injournal(ms2)
next
next
end sub
sub unloadiron()
uo.findtype('0x1BEF','-1','backpack')
uo.say("bank") ; БАНК достаточно сказать 1 раз. Он будет открыт до тех пор пока чар не сойдет с тайла, даже если закрыть окно банка.
while uo.findcount()
uo.moveitem('finditem','all','lastcontainer')
wait(1000)
uo.findtype('0x1BEF','-1','backpack')
wend
end sub
Mirage wrote:Шо эта?
Mirage wrote:аа артефакт... Жаль при опознании не показывается сколько времени назад сделана вещь. Можно было бы посмотреть исторический ли это предмет или подделка однофамильца.
Scripts Writer wrote:Не говори
не знаю как на оскоме 2, а на оскоме фри точно не будет работать стабильно, если приходит к дереву и то рубит то нет, это вот из-за этого uo.waittargettile(type,x,y,z)Saideus wrote:Ребят проблема в следующем , есть скрипт я в нем разобрался более менее но как где поменять на русский шрифт физлы с руны , когда дерево вырублено и.т.д не допераю может кто подсказать? и вообще кто знает на Оскоме 2 он работает корректно ? а то я на нем 4 дерева рубанул еще не знаю относит ли он домой нет
Scripts Writer wrote:Code: Select all
####################
# Качаем Tailoring #
####################
sub Tailoring()
var cloth=0x175D # Type of cloth
var sew=0x404733DB # ID of a sewing kit
var sash=0x1541 # Type of created item(i made body sashes)
var scissors=0x404733DD # Type of anything to cut created items
var bandage=0x0E21 # Type of bandages
var to=0x401E340D # Where to put bandages and to get clothes
var type1=0x0C77 # Type of food1
var type2=0x0C6D # Type of food2
var k,l
l=0
while uo.SkillVal('Tailoring','1') < 1000
uo.FindType(cloth,'-1','backpack')
if uo.GetQuantity('finditem') < 20 then
GetItem(cloth,100,to,'backpack')
end if
uo.WaitMenu('Cloth','Misc','Misc','sash') # Menu
uo.WaitTargetObject('finditem')
uo.UseObject(sew)
uo.DeleteJournal()
k=0
repeat
wait(100)
k=k+1
until uo.InJournal('put') || uo.InJournal('fail') || k>100
if uo.InJournal('put') then
uo.FIndType(sash,'-1','backpack')
while uo.FIndCount()
uo.FIndType(sash,'-1','backpack')
uo.WaitTargetObject('finditem')
uo.UseObject(scissors)
wait(750)
wend
end if
CheckLag()
Move(bandage,'all','backpack',to)
l=l+1
if (l>100) then
EatFood(type1,type2)
l=0
end if
wend
end sub
##########
# Eating #
##########
sub EatFood(carrot , onion)
var i
for i=0 to 5
uo.FindType(carrot,'-1','backpack')
if uo.FindCOunt() then
uo.UseObject('finditem')
wait(750)
else
if not uo.FindCount() then
uo.FindType(onion,'-1','backpack')
if uo.FindCount() then
uo.UseObject('finditem')
wait(750)
else
uo.Print('No food...')
end if
end if
end if
wait(500)
next
end sub
###########
# GetItem #
###########
sub GetItem(type, quantity, where , to)
uo.FindType(type,'-1',where)
if uo.FindCount() then
uo.moveitem('finditem',quantity,to)
wait(750)
end if
end sub
###############
# Moving item #
###############
sub Move(type,quantity,where,to)
uo.FindType(type,'-1',where)
if uo.GetQuantity('finditem') > 100 then
uo.moveitem('finditem',quantity,to)
wait(750)
end if
end sub
############
# CheckLag #
############
sub CheckLag()
uo.DeleteJournal('backpack')
uo.Click('backpack')
repeat
wait(100)
until uo.InJournal('backpack')