Помогите,очень надо!

Moderators: Murderator+, Murderator
Kynep wrote:0_o wrote:Incognito2008 wrote:=)) васья нашёл теперь и ты ищи )
Ну если нашел,дай ссылку,я просто уже более 200 тем просмотрел,ничего похожего не нашел!
Найди любой примтивный Майнинг и подправь под себя, ну на кройняк выложи здесь, у кого будет время тот поправит.
Code: Select all
sub main()
var kirka
var mx, my, mz, i, j
mx = Uo.GetX()
my = Uo.GetY()
mz = Uo.GetZ()
#Uo.AddObject("Kirka")
#while Uo.Targeting()
# wait(100)
#wend
for i = mx - 2 to mx + 2
for j = my - 2 to my + 2
repeat
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(4000)
wend
Uo.DeleteJournal()
Uo.WaitTargetTile("1341", str(i), str(j), str(mz))
Uo.UseObject("Kirka")
repeat
wait(100)
Until Uo.InJournal("You put") or Uo.InJournal("You loosen some rock but fail to find any useable ore")
Uo.Print("???????? ?????? ? " + str(i),str(j))
Until Uo.InJournal("??? ?? ???????? ????.")
Uo.Print("???????? ????? " + (str(i)),(str(j)))
next
next
end sub
sub GetOre()
var CheckTime
var x, y
for y=-2 to 2
for x=-2 to 2
If UO.waiting() Then
UO.canceltarget()
EndIf
REPEAT
UO.WaitTargetTile("1341",STR( UO.GetX() + x ),STR( UO.GetY() + y ), 0)
UO.Useobject("Kirka")
UO.DeleteJournal()
REPEAT
wait(300)
until Uo.InJournal("You put") ## or Uo.InJournal("") or Uo.InJournal("")
until Uo.InJournal("You loose") or Uo.InJournal('Try mining elsewhere.') ## or Uo.InJournal("")
Next
Next
End sub
sub minround()
VAR Kirka = '0x0E85' ; ??? ?????
VAR MaxVes = 550 ; ???????????? ???, ?????????? ????? ????? 10-15 ???????
VAR TileNum = '1339' ; ???? ???? ?????? (???????? ???????????????? ???)
VAR x, y, t, k
VAR MaxTime = 100 ; ?????????? ? 1/10 ???.
VAR ms1 = "There is nothing here to mine for."
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining elsewhere."
VAR ms7 = "That is too far away."
VAR ms8 = "You have no line of sight to that location"
for y=-2 to 2
for x=-2 to 2
#while not UO.Hidden()
#UO.Warmode("0")
#uo.print("????????...")
#UO.UseSkill("Hiding")
#wait(4000)
#wend
k = 0
repeat
#while not UO.Hidden()
# UO.Warmode("0")
# uo.print("????????...")
# UO.UseSkill("Hiding")
# wait(4000)
#wend
uo.findtype('0x19B9','0x0000','backpack')
uo.moveitem('finditem','-1','ground')
#uo.findtype('0x19B9','0x0486','backpack')
#uo.moveitem('finditem','-1','ground')
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
until UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms1) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) or ((t + MaxTime) < UO.Timer())
If UO.Weight > MaxVes Then
UO.Print(" Overweight!" )
return
Endif
until UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR UO.InJournal(ms1) OR UO.InJournal(ms8) or (k > 10)
next
next
endsub
sub start()
var k = 0
repeat
if k == 0 then
minround()
wait(1000)
k = k + 1
end if
if k == 1 then
gotoxy((Uo.GetX() - 4),(UO.GetY()),0)
wait(100)
minround()
wait(100)
k = k + 1
end if
if k == 2 then
gotoxy((Uo.GetX()),(UO.GetY() - 4),0)
wait(100)
minround()
wait(100)
k = k + 1
end if
if k == 3 then
gotoxy((Uo.GetX() + 4),(UO.GetY()),0)
wait(100)
minround()
wait(100)
k = k + 1
end if
if k == 4 then
gotoxy((Uo.GetX()),(UO.GetY() + 4),0)
wait(100)
minround()
wait(100)
k = 0
end if
wait(50)
until Uo.Dead()
end sub
SUB GoToXY(x,y,prec)
#original (c) ...
#modification 2.00 (c) SerrouS
dim turn[8] ; ?????? - ??????, ???????? ??????? ??????? ??? 45 ????????
turn[0] = 39
turn[1] = 34
turn[2] = 40
turn[3] = 35
turn[4] = 37
turn[5] = 36
turn[6] = 38
turn[7] = 33
dim deltax[8]; ?????? - ??????????, ???????? - ????????? ?????????? ??? ??????? ??????
dim deltay[8]
deltax[0] = 1
deltax[1] = 1
deltax[2] = 1
deltax[3] = 0
deltax[4] = -1
deltax[5] = -1
deltax[6] = -1
deltax[7] = 0
deltay[0] = -1
deltay[1] = 0
deltay[2] = 1
deltay[3] = 1
deltay[4] = 1
deltay[5] = 0
deltay[6] = -1
deltay[7] = -1
var dx,dy
var mx,my ; current coords
var lx = 0, ly = 0, ld = -1 ; last move coords
var pathFind = 0 ; as logical 0 - norm, 1 - block
var ind
var recursInd = 0
var fout = 0
var stepdelay = 1000
InitStack()
repeat
mx=UO.GetX()
my=UO.GetY()
; calculating for precision coming
dx = mx - x
If dx < 0 Then
dx = 0 - dx
EndIf ;get ABS diff
dy = my - y
If dy < 0 Then
dy = 0 - dy
EndIf
If dy > dx Then
dx = dy
EndIf
If dx <= prec Then
Return
EndIf
if mx == x and my == y then
return
endif
lx = mx
ly = my
ld = UO.GetDir() ; cause once pressing can only change the direcction
if mx == x and my > y then
UO.Press(33)
endif
if mx == x and my < y then
UO.Press(35)
endif
if mx < x and my == y then
UO.Press(34)
endif
if mx < x and my > y then
UO.Press(39)
endif
if mx < x and my < y then
UO.Press(40)
endif
if mx > x and my == y then
UO.Press(36)
endif
if mx > x and my > y then
UO.Press(38)
endif
if mx > x and my < y then
UO.Press(37)
endif
#UO.Print('KeyPressed')
wait( stepdelay )
if lx == UO.GetX() and ly == UO.GetY() and ld == UO.GetDir() then
; now there is a stop situation
UO.Print('PathFind')
recursInd = 0
repeat
#################################################
ind = ld
#UO.Print(str(ind))
fout = 0
repeat ; ???? ? ????? ???? ?? ??????? ????? ??? ?? ???????? ?????
UO.Print('Iteration')
mx = UO.GetX()
my = UO.GetY()
ld = UO.GetDir()
UO.Press( turn[ ind ] )
wait( stepdelay )
if (UO.GetX() == mx and UO.GetY() == my and ld == UO.GetDir()) then
fout = 1 ; ????????
else
dx = UO.GetX() - mx
dy = UO.GetY() - my
UO.Print('deltas '+str(dx)+' '+str(dy))
if deltax[ ind ] == dx and deltay[ ind ] == dy then
fout = 2 ; ??????????? ????????
endif
endif
until fout
UO.Print('fout '+ str(fout))
if fout == 1 then ; ?????? ?? ????????? ???????
recursInd = recursInd + 1
Push( str( ind ) )
;ld = ind
else ; fout == 2
; ???? ?????????? ???????????? ???????? ?? ?????, ??? ????? ?? ??????
#UO.Print('Iter '+ str(recursInd))
pathFind = 0
if recursInd then ; ??????????????
pathFind = 1
recursInd = recursInd - 1
ld = val(Pop()) - 1
if ld == -1 then
ld = 7
endif
UO.Press( turn[ld] )
wait ( stepdelay ) ; ? ???? ????, ??? ???? ??????? ?????? ???????????
endif
endif
#################################################
until not recursInd and not pathFind
#UO.Print('PathFind END')
endif
until 0
endsub
#(c)SerrouS
Sub InitStack()
UO.SetGlobal('STACK', '0')
endsub
Sub Push( param )
var chk = val(UO.GetGlobal('STACK')) ; ?????????? ????????? ? ?????
UO.SetGlobal('STACK',str(chk + 1))
UO.SetGlobal('STACK_'+str(chk), param)
end sub
Sub Pop ()
var chk = val(UO.GetGlobal('STACK')) ; ?????????? ????????? ? ?????
if chk then
UO.SetGlobal('STACK',str(chk - 1))
return UO.GetGlobal('STACK_'+str(chk - 1))
else
return ''
endif
end sub
sub hide()
uo.useskill('Hiding')
end sub
0_o wrote:Уже и скрипт похожий выложил...если никто не хочет помочь,так и скажите.
Code: Select all
sub minround()
VAR Kirka = '0x0E85' #Тип кирки
VAR MaxVes = 550 #Вес до которого копаем
VAR TileNum = '1339'
VAR x, y, t, k
VAR MaxTime = 100
VAR ms1 = "There is nothing here to mine for."
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining elsewhere."
VAR ms7 = "That is too far away."
VAR ms8 = "You have no line of sight to that location"
while not UO.Dead()
for y=-2 to 2
for x=-2 to 2
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(4000)
wend
k = 0
repeat
while not UO.Hidden()
UO.Warmode("0")
UO.UseSkill("Hiding")
wait(4000)
wend
uo.findtype('0x19B9','0x0000','backpack') #Тут тип и цвет руды для сброса
uo.moveitem('finditem','-1','ground')
#uo.findtype('0x19B9','0x0486','backpack')
#uo.moveitem('finditem','-1','ground')
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
until UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms1) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) or ((t + MaxTime) < UO.Timer())
If UO.Weight > MaxVes Then
UO.Print(" Overweight!" )
return
Endif
until UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR UO.InJournal(ms1) OR UO.InJournal(ms8) or (k > 10)
next
next
wend
endsub
sub hide()
uo.useskill('Hiding')
end sub
Kynep wrote:Code: Select all
sub hide()
uo.useskill('Hiding')
end sub