Page 1 of 1

ВЕТЕРАН помоги пожалуста

Posted: 2005-01-11 21:17:25
by BUGIMAN
я очень долго и упорно здесь искал не навороченый(нет функции портала домой по рунам ,от пк не убегает) скрипт на мининг и всетаки нашел вот он:

var x,y,i,j,k,l,mx,my
sub main()
x=val(uo.GetX())
y=val(uo.GetY())
for i=-4 to 4
for j=-4 to 4
mining(x,y,i,j)
next
next
end sub

sub mining(x,y,k,l)
var t=0
mx=x+k
my=y+l
uo.deletejournal()
uo.waittargettile(-1,str(mx),str(my),-1)
uo.exec("usetype 0x0e85")
t=uo.timer()
repeat
wait(500)
until (t+100<uo.timer()) or uo.injournal("You put") or uo.injournal("You loosen") or uo.injournal("There is") or uo.injournal("too far") or uo.injournal("no line of")
if uo.injournal("There is") or uo.injournal("too far") or uo.injournal("Copper") or uo.injournal("Tin") or uo.injournal("no line of") then
return 0
else
mining(x,y,k,l)
endif
end sub

но он пишет ошибку на 28 строке : Invalid in number of arguments
можеш плиз глянуть што не так ,,, буду очень очень благодарен,

я обитаю на дрв скрипт(по крайней мере я так думаю) выполняет функцию копания и больше ничего,

заранее благодарен,

Re: ВЕТЕРАН помоги пожалуста

Posted: 2005-01-11 21:25:20
by 666Man666
Хороший макрос )))

Posted: 2005-01-11 22:20:08
by xalat_
:)

Re: ВЕТЕРАН помоги пожалуста

Posted: 2005-01-12 00:20:46
by Optical
BUGIMAN wrote:но он пишет ошибку на 28 строке : Invalid in number of arguments
можеш плиз глянуть што не так ,,, буду очень очень благодарен,

Не, а 28 строчку мы сами должны выичитывать? =)
"Очень долго искал" Сколько месяцев, или лет? Бедолага... =((( :D

Posted: 2005-01-12 00:28:04
by Edred
uo.waittargettile(-1,str(mx),str(my),-1)

Вот эта строка не будет работать точно. Синтаксис команды смотри здесь:
http://yoko.netroof.net/help/help.php?l ... targettile

Posted: 2005-01-12 00:31:17
by Edred
Покопался по сусекам и откопал свой древний-древний простенький скриптец:

Code: Select all

; Mining around char's
;
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 no ore here to mine"
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 in rock"
VAR ms7 = "You can't see that"
for y=-2 to 2
   for x=-2 to 2
      k = 0
      repeat
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
         UO.CancelTarget()
         wait(300)
         UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
         UO.UseType( Kirka )
         repeat
            wait(300)
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) 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 ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
   next
next
endsub

Posted: 2005-01-13 07:16:07
by BUGIMAN
БОЛЬШОЕ СПАСИБО ВСЕМ КТО ПОМОГ

Posted: 2005-01-15 09:19:01
by SAMURAI
Ещё проще :D

Code: Select all

sub coords() 
UO.DeleteJournal()
var x, y, i, tmp, msg
start:
for y= -2 to 2
for x=-2 to 2
tmp:
UO.Exec ("waittargettile "+" 1343 "+STR(UO.GEtx()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
i=0
msg = UO.Weight
while i< 50
if UO.InJournal("There is no ore here to mine.") then
i=200
UO.DeleteJournal()
endif
wait(500)
if UO.InJournal("You loosen some rocks but fail to find any useable ore.") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
i=200
UO.DeleteJournal()
goto tmp
endif
wait(500)
if UO.Weight <> msg then
msg = 0
goto tmp
endif
wend
next
next
goto start
end sub
sub main()
coords()