Народ помогите подправить скрипт на мининг

Ask for help

Moderators: Murderator+, Murderator

Post Reply
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Народ помогите подправить скрипт на мининг

Post by kosrk »

В этом скрипте нада отключить хаид я незнаю как его отключить :(



######################################
# в банке должны быть руны в пещеры, помеченные в инжекте как обьекты
# (Закладка Objects !!!! не путать c Object type)
# Mine , Mine1, Mine2, Mine3, Mine4, а в бекпаке обьект Bank - руна к банку
# промаркировать каждую пещеру надо зарание, запустив процедуру MultyMark()
# Для марка, обходя последовательно все точки копания набирать "set"
# (точка копания - центр квадрата 5х5 тайлов, который выкапывается подчистую)
# При окончании марка в текущей пещере набрать "stop" перереколиться в следующюю пещеру и продолжить
# После марка 5 пещер появятся файлы C:\mine4.dat, C:\mine3.dat, C:\mine2.dat, C:\mine1.dat, C:\mine.dat
# После этого можно начинать копку запустив процедуру main() стоя у банка.
# И если в банке будут лежать жаренные фишстеки, чар не применет возможностью ими полакомиться.
# при вероятности дисконнектов перед копкой запускать процедуру Reconnect
#
#
# скрипт с авторесом (при стаке в Брит) Верхнее меню помощи должно быть открыто.
# процедуру minesh(PX,PY) поставить вместо mine(PX,PY) для копки лопатой и разбивания добытых камней на стоунблоки, в паке должна быть кирка
# процедура pod() для экстренного подьема выпавшей из банка руды. Контейнер куда собирать указать в самой процедуре.

################################

var Cont = '0x40A0B65B';ID контейнера в который будет складываться накопанное.
var RC = '0x40B67F97';ID контейнера с регами(дома который)
var RC1 = '0x40BF7DE8';ID контейнера с регами(в банке который)
var Dagg = '0x40AB27BC';ID контейнера с дагерами и бинтами (на случай если копаются элемы)
var food= '0x097B';еда(type) по умолчанию жаренные фишстейки
var q, w, p
var sunduk= '0x40BF7DE8'; ID сундука,в котором лежат мешки с регами и для руды
var f=file("E:\mine.dat")
;var f , mine
var mine

############################### процедура запуска для 5 пещер
# количество пещер может быть уменьшено или увеличено
# удалением или внесением троестрочий вида:
# f=file("C:\mine1.dat")
# mine='Mine1'
# one()

sub main()
repeat

f=file("C:\mine.dat")
mine='Mine'
one()

f=file("C:\mine1.dat")
mine='Mine1'
one()


wait(3000)

until UO.Dead()
end sub
#########
sub tert()
uo.print(str(uo.str*4))
end sub
################################
sub one()
dim PX[50], PY[50]
var Minepoints=0
var i

uo.Print('Loading from file...')
f.open()
Minepoints=safe call f.ReadNumber()
for i=1 to Minepoints
PX[i]=safe call f.ReadNumber()
PY[i]=safe call f.ReadNumber()
next
f.close()
uo.Print('Loaded')
uo.say("Bank")
wait(100)
uo.useobject(sunduk)
wait(1000)
med()
takereg()
Recall(mine)
for p=1 to Minepoints
uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
WalkN(PX[p],PY[p],'')
q=PX[p]
w=PY[p]
uo.Print('Mining...')
UO.Warmode("0")
mine(PX,PY)
;minesh(PX,PY)
next
recall('Bank')
wait(500)
uo.Press(33)
wait(500)
uo.Press(33)
wait(500)
Razg()
end sub
##########################
sub vozvrat(PX,PY)
var i
uo.Print('Move...')
for i=1 to p
uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
WalkN(PX[i],PY[i],'')
next
end sub
########################
sub Mark()
dim PX[50], PY[50]
var Minepoints=0
var i
uo.Print('Start marking...')
for i=1 to 50
UO.DeleteJournal()
uo.Print('Set point '+ str(i))
repeat
wait(500)
if UO.InJournal('stop')then
SaveToFile(i-1,PX,PY)
return
endif
until UO.InJournal('set')
PX[i] = UO.GetX("self")
PY[i] = UO.GetY("self")
uo.Print('Point '+str(i)+' X: '+str(PX[i])+' Y: '+str(PY[i])+'taken')
next
end sub
########################
sub MultyMark()
uo.Print('Cove............ 1')
f=file("C:\mine.dat")
Mark()
uo.Print('Cove............ 2')
f=file("C:\mine1.dat")
Mark()
uo.Print('Cove............ 3')
f=file("C:\mine2.dat")
Mark()
uo.Print('Cove............ 4')
f=file("C:\mine3.dat")
Mark()
uo.Print('Cove............ 5')
f=file("C:\mine4.dat")
Mark()
uo.Print('Marking finished. Ready for mine')
end sub
#############################
sub SaveToFile(mp,PX,PY)
var s=0,k=0
f.open()
f.create()
uo.Print('points = '+ str(mp))
s=safe call f.writeln(mp)
for k=1 to mp
s=safe call f.writeln(str(PX[k])+' '+str(PY[k]))
next
f.close()
end sub

##################################
sub mine(PX,PY)
var x,y,z
VAR LastTimer
UO.Set('finddistance','2')
z=UO.GetZ("self")
for x=-2 to 2
for y=-2 to 2
Hid()
UO.Print(str(x)+" "+str(y))
Repeat
if UO.InJournal('TORMOZ') then
pause()
endif
if uo.injournal('boulder')or UO.count('0x134F') then
boulder()
endif
; if uo.dead() then
; wait(180000)
if uo.dead() then
ressurect(PX,PY)
endif
; endif
UO.DeleteJournal()
UO.Warmode("0")
UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
UO.UseType('0x0E85')
LastTimer=UO.Timer()
Repeat
wait(500)
lookout()
Until UO.InJournal("положили") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("нет обзора") or UO.InJournal("no ore") or UO.InJournal("не удалось") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("ничего нету") or UO.InJournal("другом месте") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
;lookout()
Until UO.InJournal("ничего нету") or UO.InJournal("другом месте") or UO.InJournal("no ore here") or UO.InJournal("нет обзора") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("must wait")
if UO.Weight>(uo.str*4) then
unload(PX,PY)
endif
;wait(4000); ???????????????? ??? ????? ???????
next
next
end sub
#########################################
sub lookout()
if UO.InJournal("elemental") then
killelem()
endif
end sub
#######################################
sub check()
var noto, ser, jor
for jor = 0 to 9
ser = uo.journalserial(jor)
UO.Print(ser)
uo.Print(str(uo.IsNPC("ser")))
if not UO.IsNPC('ser') and not uo.injournal("elemental") and ser <> '0x00000000' then
if uo.waiting() then
uo.canceltarget()
endif
UO.DeleteJournal()
UO.Print('PPPPPP')
;UO.Print(ser)
;recall('Bank')
;Razg()
;wait(180000)
return
endif

next
end sub
#######################################
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Paused")
UNTIL UO.InJournal('GO')
UO.Print("Continue")
endif
end sub
############################################
sub heal()
UO.SetArm('arm')
UO.Exec('bandageself')
wait(500)
UO.Arm('arm')
wait(2000)
end sub
######################################
sub Razg()
VAR a
VAR LastTimer
DIM Ore[12]
Ore[1]=0x19B9; 4 and more ore
Ore[2]=0x19B7; 1 ore
Ore[3]=0x19BA; 2 ore
Ore[4]=0x19B8; 3 ore
Ore[5]=0x0EED; ??????
Ore[6]=0x09AA; ???????
Ore[7]=0x19B9; ????
Ore[8]=0x0F26; ????????
Ore[9]=0x0F8A; pig iron
Ore[10]=0x1422; plaster
Ore[11]=0x1BF2; marble
Ore[12]=0x14EB; map


uo.useobject(sunduk)
wait(1000)
For a=1 to 12
While UO.Count(ore[a])>0
UO.FindType(ore[a],-1,-1)
UO.MoveItem('finditem',0,Cont)
wait(200)
uo.print(ore[a])
Wend
next
eat()
While UO.Count('0x0E20')>0
UO.FindType('0x0E20',-1,-1)
UO.MoveItem('finditem',0,Dagg)
wait(200)
Wend
takereg()
if UO.Mana < 30 then
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("Вы набрали полную ману") OR UO.InJournal("Вы прекратили концентрироваться") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
endif
end sub


#######################################
sub eat()
VAR LastTimer
UO.DeleteJournal()
repeat
LastTimer=UO.Timer()
UO.findtype(food,-1,'backpack')
if UO.findcount('finditem') then
uo.print('eat')
UO.Useobject('finditem')
wait(500)
else
return
end if
Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("Вы ничего не можете") OR UO.Timer()>LastTimer+200
end sub
################################
sub unload(PX,PY)
Recall('Bank')
wait(500)
uo.Press(33)
wait(500)
uo.Press(33)
wait(500)
Razg()
wait(100)
takereg()
wait(100)
Recall(mine)
uo.DeleteJournal()
vozvrat(PX,PY)
end sub
########################################
sub ressurect1(PX,PY)
CheckLag()
UO.LClick(17,13)
wait(1000)
CheckLag()
UO.LClick(17,61)
wait(1000)
CheckLag()
uo.useobject('0x40FD37A9')
wait(100)
uo.useobject('backpack')
wait(1000)
uo.say('bank')
wait(500)
takereg2()
wait(1000)
eat()
wait(1000)
Recall('Bank')
uo.useobject(sunduk)
wait(1000)
wait(180000)
Recall(mine)
uo.DeleteJournal()
vozvrat(PX,PY)
end sub
#############################
sub ressurect(PX,PY)
UO.Exec('warmode 0')
CheckLag()
UO.LClick(17,13)
wait(1000)
CheckLag()
UO.LClick(17,61)
wait(1000)
CheckLag()
WalkN(1483,1636,'')
WalkN(1480,1639,'')
WalkN(1480,1647,'')
WalkN(1468,1649,'')
WalkN(1460,1657,'')
WalkN(1460,1684,'')
WalkN(1463,1690,'')
WalkN(1463,1697,'')
WalkN(1442,1697,'')
WalkN(1430,1697,'')
WalkN(1430,1691,'')
WalkN(1428,1689,'')
WalkN(1428,1684,'')
WalkN(1428,1680,'')
WalkN(1426,1678,'')
uo.useobject('0x40021D98')
wait(100)
uo.useobject('backpack')
wait(1000)
uo.say('bank')
wait(500)
takereg1()
wait(1000)
eat()
wait(1000)
Recall('Bank')
wait(500)
uo.Press(33)
wait(500)
uo.Press(33)
wait(500)
uo.useobject(sunduk)
wait(1000)
Recall(mine)
uo.DeleteJournal()
vozvrat(PX,PY)
end sub
##############################
sub med()
VAR LastTimer
UO.DeleteJournal()
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("Вы набрали полную ману") OR UO.InJournal("Вы прекратили концентрироваться") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
end sub
#########################################
sub takereg()
DIM reg[4]
var i,n
reg[1]='0x0F86'; MR
reg[2]='0x0F7A'; BP
reg[3]='0x0F7B'; BM
reg[4]='0x097B';

UO.UseObject(RC)
for i=1 to 4
while UO.Count(reg[i])<5
UO.FindType(reg[i],-1,RC)
n=UO.Count(reg[i])
UO.Grab(str(5-n),'finditem')
wait(500)
CheckLag()
wend
next
UO.UseObject(RC)
if UO.count('0x0E85') <2 then
UO.FindType('0x0E85',-1,RC)
IF uo.findcount() then
UO.Grab(str(1),'finditem')
wait(500)
CheckLag()
endif
endif
; if not UO.count('0x0E21') then
; UO.FindType('0x0E21',-1,Dagg)
; n=UO.Count(reg[i])
; IF uo.findcount() then
; UO.Grab(str(12-n),'finditem')
; wait(200)
; CheckLag()
; endif
; endif
end sub
#########################################
sub takereg1()
DIM reg[3]
var i,n
reg[1]='0x0F86'; MR
reg[2]='0x0F7A'; BP
reg[3]='0x0F7B'; BM

UO.UseObject(RC1)
for i=1 to 3
while UO.Count(reg[i])<5
UO.FindType(reg[i],-1,RC1)
n=UO.Count(reg[i])
UO.Grab(str(5-n),'finditem')
wait(200)
CheckLag()
wend
next
;UO.UseObject(Dagg)
; if not UO.count('0x0F51') then
; UO.FindType('0x0F51',-1,Dagg)
; IF uo.findcount() then
; UO.Grab(str(1),'finditem')
; wait(200)
; CheckLag()
; endif
; endif
; if not UO.count('0x0E21') then
; UO.FindType('0x0E21',-1,Dagg)
; n=UO.Count(reg[i])
; IF uo.findcount() then
; UO.Grab(str(12-n),'finditem')
; wait(200)
; CheckLag()
; endif
; endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub
######################################
sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(20000)
uo.Say('')
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'
end if
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
####################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub
#################################
sub Recall(dest)
var b
uo.print('Recoll')
for b=1 to 10
uo.deletejournal()
uo.waittargetobject(dest)
uo.cast('Recall',dest)
if WaitForRecall()==1 then
return 1
end if
next
return 0
end sub
###################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var v=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text1 then
return 0
end if
if uo.getX()<>lastX OR uo.getY()<>LastY then
return 1
end if
wait(50)
next
return 0
end sub
################################
sub killelem()
VAR LastTimer, Elem ,i
LastTimer=UO.Timer()
UO.DeleteJournal()
UO.FindType('0x000E',-1,'ground')
Elem=UO.GetSerial('finditem')
UO.Exec('warmode 1')
UO.Attack(Elem)
;WalkN(0,0,Elem)
UO.Say('Dye, mother fucker!')
repeat
wait(2000)
until UO.InJournal('Body') OR LastTimer+300<UO.Timer() or uo.dead(Elem)
UO.Exec('warmode 0')
wait(100)
LastTimer=UO.Timer()
if UO.Life<50 and UO.Count('0x0E21') then
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>170 OR LastTimer+300<UO.Timer()
endif
loot()
WalkN(q,w,'')
end sub
##################################
sub loot()
DIM R[5]
var a
R[1] = 0x0EED # ??????
R[2] = 0x09AA # ???????
R[3] = 0x19B9 # ????
R[4] = 0x0F8A # pig iron
R[5] = 0x19BA # ????, 2 ??????

UO.UseObject('lastcorpse')
wait(100)
uo.exec("warmode '0'")
uo.waittargetobject('lastcorpse')
uo.usetype(0x0F51)
wait(500)

for a=1 to 5
uo.findtype(R[a],"-1","lastcorpse")
if UO.FindCount()>0 and Uo.GetDistance("lastcorpse")<=2 then
UO.Grab("0","finditem")
wait(1500)
end if
wait(10)
next
end sub
###############################==============================================================
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
# serial - Serial of target or "" - string
# walkwait - delay after keypress
# Example:
# WalkN(2080,2113,'') - go to coordinates
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0

While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif

Endif

If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
StepSucess=Go(3,40,300);SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300);WN - UpArrow
StepSucess=Go(1,39,300);NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300);SW - LeftArrow
Endif
Endif
Endif

If dx>0 AND dy<0 Then
StepSucess=Go(1,39,300);NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300);SW - LeftArrow
StepSucess=Go(3,40,300);SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300);WN - UpArrow
Endif
Endif
Endif

If dx<0 AND dy>0 Then
StepSucess=Go(5,37,300);SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300);NE - RightArrow
StepSucess=Go(7,38,300);WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300);SE - DownArrow
Endif
Endif
Endif

If dx<0 AND dy<0 Then
StepSucess=Go(7,38,300);WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300);SE - DownArrow
StepSucess=Go(5,37,300);SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300);NE - RightArrow
Endif
Endif
Endif

Endif

If dx<>0 AND dy==0 Then
If dx>0 Then
StepSucess=Go(2,34,300);E - PgDown
If StepSucess==-1 Then
StepSucess=Go(3,40,300);SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300);NE - RightArrow
Endif
StepSucess=Go(2,34,300);E - PgDown
Endif
Endif

If dx<0 Then
StepSucess=Go(6,36,300);W - Home
If StepSucess==-1 Then
StepSucess=Go(7,38,300);WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300);SW - LeftArrow
Endif
StepSucess=Go(6,36,300);W - Home
Endif
Endif
Endif


If dx==0 AND dy<>0 Then
If dy>0 Then
StepSucess=Go(4,35,300);S - End
If StepSucess==-1 Then
StepSucess=Go(3,40,300);SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300);SW - LeftArrow
Endif
StepSucess=Go(4,35,300);S - End
Endif
Endif

If dy<0 Then
StepSucess=Go(0,33,300);N - PgUp
If StepSucess==-1 Then
StepSucess=Go(1,39,300);NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300);WN - UpArrow
Endif
StepSucess=Go(0,33,300);N - PgUp
Endif
Endif
Endif
Wend
end sub


sub Go(dir,key,walkwait)
VAR x,y, OldDir

x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
;hid()
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()
Endif

If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
UO.Press(key)
wait(walkwait)
Endif

If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If x==UO.GetX() AND y==UO.GetY() Then
UO.Print("Zasada!")
return -1
Else
return 1
Endif
end sub
###########################################
sub pod()
UO.Say('Bank')
repeat
uo.findtype('0x19B9',-1,'ground')
if UO.FindCount() and Uo.GetDistance('finditem')<3 then
uo.moveitem('finditem','1000','0x40FA6B85')
wait(100)
end if
wait(1000)
uo.print("1")
until not UO.FindCount()
end sub
################################################
sub boulder()
if uo.count('0x0E85') then
while uo.count('0x134F')
uo.waittargettype('0x134F')
uo.usetype('0x0E85')
wait(100)
wend
uo.findtype('0x134F',-1,'ground')
if uo.FindCount()then
uo.waittargetobject('finditem')
uo.usetype('0x0E85')
endif
wait(2000)
endif
end sub
################################################
sub minesh(PX,PY)
var x, y,z
VAR LastTimer
uo.LastTile()

UO.Set('finddistance','2')
z=UO.GetZ("self")
for x=-2 to 2
for y=-2 to 2
;Hid()
UO.Print(str(x)+" "+str(y))
Repeat
if UO.InJournal('TORMOZ') then
pause()
endif
if uo.injournal('boulder')or UO.count('0x134F') then
boulder()
UO.Print('boulder')
endif
If UO.targeting() then
uo.canceltarget()
endif
UO.DeleteJournal()
UO.Warmode("0")
UO.WaitTargetTile("1339",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
UO.UseType('0x0F39')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal("положили") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("нет обзора") or UO.InJournal("no ore") or UO.InJournal("не удалось") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("ничего нету") or UO.InJournal("другом месте") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
;lookout()
Until UO.InJournal("ничего нету") or UO.InJournal("другом месте") or UO.InJournal("no ore here") or UO.InJournal("нет обзора") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("must wait")
if UO.Weight>(uo.str*4 - 20) then
unload(PX,PY)
endif
;wait(2000)
next
next
end sub
####################

sub t()
wait(500)
uo.useobject('0x40024C61')
wait(500)
WalkN(2819,461,'')
wait(500)
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Mirage »

Code: Select all

sub mine(PX,PY)
var x,y,z
VAR LastTimer
UO.Set('finddistance','2')
z=UO.GetZ("self")
for x=-2 to 2
for y=-2 to 2
Hid() ; <--------------

Отключить =
;Hid()
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Re: Народ помогите подправить скрипт на мининг

Post by kosrk »

Mirage wrote:

Code: Select all

sub mine(PX,PY)
var x,y,z
VAR LastTimer
UO.Set('finddistance','2')
z=UO.GetZ("self")
for x=-2 to 2
for y=-2 to 2
Hid() ; <--------------

Отключить =
;Hid()

А КАК?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Mirage »

Блин. Если не знаешь что значит закоментировать строку зачем сразу использовать такие скрипты, начни с чегонибудь попроще.
Посмотри уроки хотя бы - все же написано на форуме.

знак ;-точказапятая или #-решетка ПЕРЕД строкой не дают выполниться команде.
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Re: Народ помогите подправить скрипт на мининг

Post by kosrk »

Спасибо большое
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Re: Народ помогите подправить скрипт на мининг

Post by kosrk »

Вроде все начинает копать пару раз копнет и стоит :( пишит

There is nothing here to mini for :( (
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Re: Народ помогите подправить скрипт на мининг

Post by kosrk »

Будто какаята задержка стоит :(
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Mirage »

Code: Select all

Until UO.InJournal("положили") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("нет обзора") or UO.InJournal("no ore") or UO.InJournal("не удалось") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("ничего нету") or UO.InJournal("другом месте") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200


Это динамическая задержка с таймером.
Она ставит скрипт на паузу пока не проскочит КЛЮЧЕВОЕ упомянутое в скобках слово или фраза или не пройдет несколько секунд.
У тебя фраза не прописана. Используешь скрипт с другого сервера.
kosrk
Posts: 20
Joined: 2010-12-02 23:00:07

Re: Народ помогите подправить скрипт на мининг

Post by kosrk »

Извени еще за один вопрос а можно подправить как ни буть тут ?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Mirage »

Code: Select all

Until UO.InJournal("положили") or UO.InJournal("Вот сюда вписываешь сообщение которое пишется перед длительной паузой") or UO.InJournal("can't see")



Code: Select all

Until UO.InJournal("положили") or UO.InJournal("is nothing here to") or UO.InJournal("can't see")...


Возможно нужно поставить в нескольких местах скрипта. Проситай хотя бы уроки - там про это есть тема. + можно посмотреть примеры добывающих скриптов.
Алгоритм работает так:
начало большого цикла
Копаем
ждем ЛЮБОГО сообщения возможного (есть руда нет руды не могу достать не вижу тайла сломался инструмент меня атаковали...)
Ждем сообщения что руда закончилась

тоесть копать будем пока не закончиться руда. Так что тебе нужно вставить фразу что "руды тут нет" в 2 местах.
Blood Slayer
Posts: 124
Joined: 2005-07-14 20:53:05
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Blood Slayer »

Mirage wrote:

Code: Select all

Until UO.InJournal("положили") or UO.InJournal("Вот сюда вписываешь сообщение которое пишется перед длительной паузой") or UO.InJournal("can't see")



Code: Select all

Until UO.InJournal("положили") or UO.InJournal("is nothing here to") or UO.InJournal("can't see")...


Возможно нужно поставить в нескольких местах скрипта. Проситай хотя бы уроки - там про это есть тема. + можно посмотреть примеры добывающих скриптов.
Алгоритм работает так:
начало большого цикла
Копаем
ждем ЛЮБОГО сообщения возможного (есть руда нет руды не могу достать не вижу тайла сломался инструмент меня атаковали...)
Ждем сообщения что руда закончилась

тоесть копать будем пока не закончиться руда. Так что тебе нужно вставить фразу что "руды тут нет" в 2 местах.


Мираж, вот тя прет на все это отвечать :)
Я пока только учусь :oops:

http://www.surfjunky.com/?r=BloodSlayer
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Народ помогите подправить скрипт на мининг

Post by Mirage »

Иногда есть время и нет дел :mrgreen:
А так - я не люблю и не приемлю скриптов которые превращают хорошую игру в состязание скриптоботов.
Когда скрипт ПОМОГАЕТ - это хорошо.
Когда скрипт заменяет игрока - тогда работа ГМа сводиться не понятно к чему.
=> в топку скрипты которые 24/7.
Post Reply