Pozalusta pomogite Mining
Moderators: Murderator+, Murderator
Pozalusta pomogite Mining
Plz skinte proverennij i rabotajy6ij skript na Mining .Nada 4tob on rekolilsa na mesto tama kapal i potom rekolilsa domoi skladival v sunduk i t.d (zelatelno opisanije)(tolko skript kotorim vi polzovalis ) PLZ
-
- Posts: 17
- Joined: 2004-12-25 02:11:37
Вот скрипт...Работа:
-В бэке (две руны, мешок с регами и едой, кирки), в банке мешок для руды
-Чар стоит около банка, ест , реколится по руне в шахту, медетирует, встает в хайд и копает по заданым координатам
-При достяжении определенного веса реколится к банку
-Там в банк ,в мешок(для нее), выкладывает руду, медетирует и все заного...
Во-первых скрипт настроен под шард Антарес(http://www.uoa.ru),
поэтому тебе надо попросить кого-нить его переделать под твой шард(ты почемуто не указал на каком шарде играешь
)
Во-вторых надо указать координаты точек где будет копать...
В-третих попроси чтобы его переделали под дом(т.е чтобы выкладывал руду в сундук...ИД сундука вроде просто поставить вместо ИД банка и убрать UO.SAY('BANK')... точно не уверен...
Его автор :
Beyonder
-В бэке (две руны, мешок с регами и едой, кирки), в банке мешок для руды
-Чар стоит около банка, ест , реколится по руне в шахту, медетирует, встает в хайд и копает по заданым координатам
-При достяжении определенного веса реколится к банку
-Там в банк ,в мешок(для нее), выкладывает руду, медетирует и все заного...
Во-первых скрипт настроен под шард Антарес(http://www.uoa.ru),
поэтому тебе надо попросить кого-нить его переделать под твой шард(ты почемуто не указал на каком шарде играешь

Во-вторых надо указать координаты точек где будет копать...
В-третих попроси чтобы его переделали под дом(т.е чтобы выкладывал руду в сундук...ИД сундука вроде просто поставить вместо ИД банка и убрать UO.SAY('BANK')... точно не уверен...
Его автор :
Beyonder
Code: Select all
var Prec=0
var Speed=1
var MaxTracing=100
var PackForOre='0x40344473'
var PackForRegs='0x4003B122'
var RegCount=10
var MaxWeight=620
var FoodType='0x097B'
sub miner()
var PointCnt=47
dim PointsX[47]
dim PointsY[47]
var iPoint
var iGo
PointsX[0]=1809
PointsY[0]=1051
PointsX[1]=1812
PointsY[1]=1054
PointsX[2]=1812
PointsY[2]=1056
PointsX[3]=1811
PointsY[3]=1056
PointsX[4]=1809
PointsY[4]=1054
PointsX[5]=1809
PointsY[5]=1058
PointsX[6]=1806
PointsY[6]=1057
PointsX[7]=1804
PointsY[7]=1058
PointsX[8]=1801
PointsY[8]=1061
PointsX[9]=1800
PointsY[9]=1062
PointsX[10]=1798
PointsY[10]=1061
PointsX[11]=1799
PointsY[11]=1060
PointsX[12]=1801
PointsY[12]=1058
PointsX[13]=1803
PointsY[13]=1056
PointsX[14]=1800
PointsY[14]=1056
PointsX[15]=1798
PointsY[15]=1054
PointsX[16]=1800
PointsY[16]=1052
PointsX[17]=1798
PointsY[17]=1050
PointsX[18]=1800
PointsY[18]=1048
PointsX[19]=1802
PointsY[19]=1050
PointsX[20]=1804
PointsY[20]=1052
PointsX[21]=1804
PointsY[21]=1050
PointsX[22]=1802
PointsY[22]=1047
PointsX[23]=1803
PointsY[23]=1046
PointsX[24]=1803
PointsY[24]=1043
PointsX[25]=1803
PointsY[25]=1040
PointsX[26]=1803
PointsY[26]=1038
PointsX[27]=1801
PointsY[27]=1036
PointsX[28]=1798
PointsY[28]=1033
PointsX[29]=1801
PointsY[29]=1032
PointsX[30]=1801
PointsY[30]=1029
PointsX[31]=1803
PointsY[31]=1028
PointsX[32]=1805
PointsY[32]=1026
PointsX[33]=1807
PointsY[33]=1028
PointsX[34]=1809
PointsY[34]=1028
PointsX[35]=1811
PointsY[35]=1026
PointsX[36]=1813
PointsY[36]=1028
PointsX[37]=1811
PointsY[37]=1030
PointsX[38]=1808
PointsY[38]=1033
PointsX[39]=1808
PointsY[39]=1035
PointsX[40]=1810
PointsY[40]=1037
PointsX[41]=1807
PointsY[41]=1040
PointsX[42]=1807
PointsY[42]=1042
PointsX[43]=1808
PointsY[43]=1044
PointsX[44]=1807
PointsY[44]=1046
PointsX[45]=1806
PointsY[45]=1049
PointsX[46]=1807
PointsY[46]=1050
UO.AddType('miner tool')
wait(500)
while UO.Targeting()
wait(100)
wend
UO.AddObject('BankRune')
wait(500)
while UO.Targeting()
wait(100)
wend
UO.AddObject('MineRune')
wait(500)
while UO.Targeting()
wait(100)
wend
UnloadToBank()
CheckLag()
GotoRune('MineRune')
while 1
for iPoint=0 to PointCnt-1
GoUntilHit(PointsX[iPoint],PointsY[iPoint])
MineAround()
if UO.Weight>MaxWeight then
FullDrop()
for iGo=0 to iPoint
GoUntilHit(PointsX[iGo],PointsY[iGo])
next
end if
next
wend
end sub
Sub MineAround()
var ix,iy
for ix=-2 to 2
for iy=-2 to 2
Hide()
if UO.Weight<MaxWeight then
MinePoint(UO.GetX()+ix,UO.GetY()+iy,UO.GetZ())
end if
next
next
end sub
Sub MinePoint(X,Y,Z)
var Text1="That is too far away."
var Text2="Try mining elsewhere."
var Text3="There is nothing here to mine for."
var Text40="You have no line of sight to that location"
var Text41="You can't use the %s where it is"
var Text5="You can't see the target"
var Text6="Targeting Cancelled"
var Text7="You put"
var Text8="You loosen some rocks but fail to find any useable ore"
UO.DeleteJournal()
while not UO.InJournal(Text1+'|'+Text2+'|'+Text3+'|'+Text40+'|'+Text41+'|'+Text5)
if UO.WarMode()==1 then
wait(20000)
UO.WarMode(0)
end if
UO.WaitTargetTile("0",str(X),str(Y),str(Z))
UO.UseType('miner tool')
UO.DeleteJournal()
while not UO.InJournal(Text1+'|'+Text2+'|'+Text3+'|'+Text40+'|'+Text41+'|'+Text5+'|'+Text6+'|'+Text7+'|'+Text8)
wait(100)
wend
wend
end sub
Sub Hide()
while not UO.Hidden() and not UO.WarMode()
UO.UseSkill('Hiding')
DeleteJournal('stop trying to hide')
DeleteJournal('hidden yourself well')
DeleteJournal('seem to hide')
DeleteJournal('must wait')
DeleteJournal('canceled')
DeleteJournal('battle')
WaitJournal('hidden yourself well|seem to hide|must wait|battle|stop trying to hide')
wend
end sub
sub WaitJournal(Line)
while not UO.InJournal(Line)
wait(100)
wend
end sub
Sub DeleteJournal(MsgText)
Var MsgNumb
Repeat
MsgNumb=UO.InJournal(MsgText)
If MsgNumb<>0 Then
UO.SetJournalLine(MsgNumb-1, '')
EndIf
Until Not UO.InJournal(MsgText)
endsub
Sub FullDrop()
GotoRune('BankRune')
UnloadToBank()
CheckLag()
GotoRune('MineRune')
end sub
Sub UnloadToBank()
DeleteJournal('Contains')
while not UO.InJournal('Contains')
wait(1000)
UO.Msg('bank')
CheckLag()
wend
DropOres()
GetRegs()
end sub
Sub GetRegs()
UO.UseObject(PackForRegs)
CheckLag()
if UO.Count('0x0F7A')<RegCount then
UO.FindType('0x0F7A','-1',PackForRegs)
UO.Grab(RegCount-UO.Count('0x0F7A'),'finditem')
wait(500)
end if
if UO.Count('0x0F7B')<RegCount then
UO.FindType('0x0F7B','-1',PackForRegs)
UO.Grab(RegCount-UO.Count('0x0F7B'),'finditem')
wait(500)
end if
if UO.Count('0x0F86')<RegCount then
UO.FindType('0x0F86','-1',PackForRegs)
UO.Grab(RegCount-UO.Count('0x0F86'),'finditem')
Wait(500)
end if
DeleteJournal('too full')
while not UO.InJournal('too full')
UO.FindType(FoodType,'-1',PackForRegs)
UO.Grab(1,'finditem')
Wait(500)
UO.UseType(FoodType)
wend
wait(1000)
UO.FindType(FoodType,'-1','backpack')
UO.MoveItem('finditem','0',PackForRegs)
wait(500)
end sub
Sub DropOres()
if uo.Waiting() then
uo.CancelTarget()
end if
var a, Exit
var UnloadChest=PackForOre ## - ID сундука для сброса руды.
DIM Ore[5]
Ore[0]=0x19B9 ## - 4 and more ore
Ore[1]=0x19B7 ## - 1 ore
Ore[2]=0x19BA ## - 2 ore
Ore[3]=0x19B8 ## - 3 ore
uo.SetReceivingContainer(UnloadChest)
wait(500)
for a=0 to 3
exit=0
repeat
uo.FindType(Ore[a])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until Exit==1
next
uo.UnSetReceivingContainer()
end sub
Sub CheckLag()
var TimeOut=0
DeleteJournal('Backpack')
while TimeOut==10
TimeOut=0
UO.Click('backpack')
while not UO.InJournal('Backpack') and TimeOut<10
wait(100)
TimeOut=TimeOut+1
wend
wend
end sub
Sub GotoRune(ID)
var ManaUsed=0;
while ManaUsed==0 and UO.Count('0x0F7A') and UO.Count('0x0F7B') and UO.Count('0x0F86')
if UO.Mana>=40 then
UO.Cast('Recall',ID)
wait(2000)
ManaUsed=WaitRecall()
wait(2000)
else
while UO.Mana<UO.Int
UO.UseSkill('Meditation')
wait(2000)
wend
end if
wend
wait(500)
while UO.Mana<UO.Int
UO.UseSkill('Meditation')
wait(2000)
wend
end sub
Sub WaitRecall()
var SMana=UO.Mana
var TimeOut=150
var StartX=UO.GetX()
var StartY=UO.GetY()
DeleteJournal("can't see")
DeleteJournal("must wait")
DeleteJournal("fizzles")
while TimeOut>0 and not UO.InJournal("can't see|must wait|fizzles") and StartX==UO.GetX() and StartY==UO.GetY()
wait(100)
TimeOut=TimeOut-1
wend
wait(300)
if StartX==UO.GetX() and StartY==UO.GetY() then
return 0
end if
return 1
end sub
Sub GoUntilHit(X,Y)
var LastDir
var StepCount
LastDir=GetDir(X,Y)
repeat
LastDir=GetDir(X,Y)
if LastDir<>0 and not IsEnd(X,Y) and not X==0 and not Y==0 then
TryDir(LastDir)
end if
until LastDir==0 or IsEnd(X,Y) or X==0 or Y==0
return LastDir
return 0
end sub
Sub IsEnd(GoX,GoY)
if Abs(UO.GetX()-GoX)<=Prec and Abs(UO.GetY()-GoY)<=Prec then
return true
else
return false
end if
end sub
Sub GetDir(GoX,GoY)
var MyX=UO.GetX()
var MyY=UO.GetY()
var DiffX=Abs(UO.GetX()-GoX)
var DiffY=Abs(UO.GetY()-GoY)
var GoDir=0
if (DiffX/(DiffY+0.1))>=2 then
if (MyX>GoX) then
GoDir=7
else
GoDir=3
end if
else
if (DiffY/(DiffX+0.1))>=2 then
if (MyY>GoY) then
GoDir=5
else
GoDir=1
end if
else
if (MyX>GoX) and (MyY>GoY) then
GoDir=6
else
if (MyX>GoX) and (MyY<GoY) then
GoDir=8
else
if (MyX<GoX) and (MyY>GoY) then
GoDir=4
else
if (MyX<GoX) and (MyY<GoY) then
GoDir=2
end if
end if
end if
end if
end if
end if
return GoDir
end sub
Sub TryDir(Dir)
dim Dirs[9]
Dirs[1]=35
Dirs[2]=40
Dirs[3]=34
Dirs[4]=39
Dirs[5]=33
Dirs[6]=38
Dirs[7]=36
Dirs[8]=37
UO.Press(Dirs[Dir],Speed)
end sub
Sub XFromDir(Dir,StartX)
if Dir==2 OR Dir==3 Or Dir==4 then
return (StartX+1)
end if
if Dir==6 OR Dir==7 Or Dir==8 then
return (StartX-1)
end if
return (StartX)
end sub
Sub YFromDir(Dir,StartY)
if Dir==8 OR Dir==1 Or Dir==2 then
return (StartY+1)
end if
if Dir==4 OR Dir==5 Or Dir==6 then
return (StartY-1)
end if
return (StartY)
end sub
Sub Abs(X)
if X>0 then
return X
else
return (-X)
end if
end sub