RunUO mining

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Thanatosik
Posts: 6
Joined: 2005-09-06 13:38:27

RunUO mining

Post by Thanatosik »

Кто то дайте плиз скрипт на майнинг на ємулятор RunUO желательно что бы копал ходил в банк скидывал руду брал кирки и опять шол копал, но пойдёт и просто что бы ходил по точкам в шахте и выкапывало руду.. (На разоре она сама на пол сбрасывается так что можна другим чаром бегать подберать)
Chico
Posts: 46
Joined: 2005-05-02 17:37:12
Contact:

Post by Chico »

Вот мой скрипт на мининг по РУНУО , переделанный из скипта на ламбер
Вполне работает, я на нем копаю и в шахтах и на кочках

Code: Select all

sub Metka_dereva()   #         Около дома копаем руду
repeat
uo.infotile()
wait(3000)
until false
end sub
;***********************************************************************************
var Derevo = 0x19b9   ; это руда
var Topor = 0x0e86      ; Это кирка для руды
var Box = 0x401e6ec4           ; Ящик около ограды
Var FileName='c:\_A\_Macr\min.txt'
Var MaxWeight
Var MoveDelay=1000 # Промежуток между шагами
Var MoveNumber=1   # Количество шагов при смене дислокации
Var Ep=0.172 # Значение ширины угла хождения при определении направления.
#Если на пути встречаются сложные и широкие препятствия - увеличить.
#0.172 - сбалансированный.
var XN = 1117
var YN = 1462
MaxWeight= ((uo.STR*3.5)+39)
var Stoplocation
sub start()
    uo.say("BANK")
UO.Exec('terminate main')
uo.exec('exec main')
end sub
sub Main()
wait(1000)
uo.Targeting('self')

uo.set('norbcalc','1')
uo.set('norbcheck','1')
uo.set('injectecho','1')

if uo.count(Topor) < 2  then
      GrAxe()
end if
   Rubit()
EndSub
;--------------------------------------------- РУБИМ -----------------------------
Sub Rubit()
Var Tl,T,X,Y,Z
Var F
var Tim
var Jurn
var sc
var n
 Dim Сli[9]
Сli[0]="cliloc# 0xA867"  ;You can't mine...
Сli[1]="cliloc# 0xAD03"  ;You loosen
Сli[2]="cliloc# 0xAD00"  ;there no metal
Сli[3]="cliloc# 0x6B31"  ;backpack full
Сli[4]="cliloc# 0xEE46"  ;worn out tool!
Сli[5]="cliloc# 0x5DE1"  ;dull cuper
Сli[6]="cliloc# 0x5DE6"  ;agapit
Сli[7]="cliloc# 0xA2DE"  ;is too far away
Сli[8]="cliloc# 0xACF9"   ;where do you wish to dig
Сli[9]="cliloc# 0xA866"  ;You can't mine...



Begin:
if uo.count(Topor) < 3  then
 GrAxe()
end if
   uo.say("Rubim!")
   sc =1
Stoplocation = 0
F=File(FileName)
F.Open()

Beg:
Tl=safecall F.Readln()
Tl=Trim(Tl)
If Tl=='File read error' Then
  GoTo Ext
EndIf
T=GetNumb(Tl,0)
X=GetNumb(Tl,1)
Y=GetNumb(Tl,2)
Z=GetNumb(Tl,3)
  UO.Print('GoTo next point ' + str(sc) + ' X= '+ str(X) + ' Y= '+str(Y))
   sc = sc+1
 if X == 0 then                                ;   --------------- Если координаты нулевые то днлаем вывод что список кончился ---
     UO.Print('Spisok konchilsia nachinaem snachala !!!')
     main()
  end if 
  gotoxy(X,Y,1)                                  ;   --------------- Ходим по деревьям по точкам из  файла c тайлами -----------
 
if UO.Life<40 then
   gotoxy(3190,595,1)       ;                                ------------- Заместо реколла бежим сами к точке сброса
    GrDerevo()   ; Скидываем дерево
    wait(1000)
     ubili()
endif

 
if Stoplocation == 1 then   
  GrDerevo()
  GrAxe()
 GoTo Ext
EndIf

REPEAT   
    uo.deletejournal()   
    UO.WaitTargetTile(Str(T),Str(X),Str(Y),Str(Z))   
    UO.usetype(Topor)   
    wait(1500)
    Jurn=UO.Journal(0)
UNTIL  Jurn == Сli[0] or (UO.Weight > (MaxWeight-10)) or Jurn == Сli[2] or Jurn == Сli[7] or Jurn == Сli[9] ;
If Jurn == Сli[2] or Jurn == Сli[0] or Jurn == Сli[7] or Jurn == Сli[9] then
  UO.Print('there no metal !!!')
  GoTo Beg
EndIf   
while uo.dead()                                 ; Если убили то бежим к точке оживления
   ubili() 
   UO.Exec('terminate all')
wend



If (UO.Weight > (MaxWeight-10)) or uo.count(Topor) < 1  then
  UO.Print('backpack full!!!')
   gotoxy(3190,595,1)       ;                                ------------- Заместо реколла бежим сами к точке сброса
  GrDerevo()   ; Скидываем дерево
  GrAxe()   ; Берем топоры
  wait(1000)
  main()
EndIf
EndSub
;-------------------------------------------------------------------------------------------------
Sub GetNumb(C,I)     ; Процедура разборки тайлов по пробелам
var J,T,K
J=0
K=1
While K>0
  J=J+1
  If (Mid(C,J,1)==' ') Or (J>=Len(C)-1) Then
   If I==0 Then
    T=Val(Left(C,J))
   Else
    T=GetNumb(Right(C,Len(C)-J-1),I-1)
   EndIf
   K=0
  EndIf
wend
UO.Print(T)
return T
endsub
;---------------------------------------------
sub GrDerevo()             ; Процедура скидывания дерева в уазаный в начале ящик
repeat
  uo.say("BANK")
  wait(500)
  uo.findtype(Derevo) #Derevo
  uo.moveitem('finditem','0',Box)
  wait(700)
until not uo.count(Derevo)
end sub
;---------------------------------------------
sub GrAxe()                   ; Процедура взятия топоров из ящика
var Mes='Contains'
var Tim
uo.deletejournal()
uo.say('Started')
wait(3000)
if uo.count(Topor) < 4 then
      uo.findtype(Topor,'-1',Box)
      UO.grab('1','finditem')
      Wait(1200)
     uo.findtype(Topor,'-1',Box)
      UO.grab('1','finditem')
      wait(1000)
      uo.findtype(Topor,'-1',Box)
      UO.grab('1','finditem')
      wait(1000)
end if
end sub
; ------------------------------------------  Ходилка --------------------------------------

sub GotoXY(x,y,prec)
var myX,myY,LastX=0,LastY=0,i,halt=0,z,r=0
for i=1 to 60
myX=uo.GetX()
myY=uo.GetY()
if LastX==myX and LastY==myY then
halt=halt+1
else
halt=0
end if
if halt>=10 then
if uo.GetDir()==1 then
for z=0 to 8
uo.Press(40)
next
end if
if uo.GetDir()==3 then
for z=0 to 8
uo.Press(37)
next
end if
if uo.GetDir()==5 then
for z=0 to 8
uo.Press(38)
next
end if
if uo.GetDir()==7 then
for z=0 to 8
uo.Press(39)
next
end if
halt=15
end if
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then
return 1
end if
if x<=myX then
if y<=myY then
for z=0 to 3
uo.Press(38)
next
else
for z=0 to 3
uo.Press(37)
next
end if
else
if y<=myY then
for z=0 to 3
uo.Press(39)
next
else
for z=0 to 3
uo.Press(40)
next
end if
end if
LastX=myX
LastY=myY
wait(200)
next
return 0
end sub

sub Numb(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub
;#######################################################
sub Control()
var Notoriety,IsNPC,Name
   while not uo.dead()
      if uo.InJournal('',1) then
         IsNPC=str(uo.IsNPC(uo.JournalSerial(0)))
      if IsNPC == '1' then
            Notoriety=str(uo.GetNotoriety(uo.JournalSerial(0)))
            Name=uo.GetName(uo.JournalSerial(0))
            UO.Print(Notoriety)
            if Notoriety=='6' or Notoriety=='5' or Notoriety=='4'then
            UO.Exec('terminate main')
            gotoxy(592,2141,1)                 ; Сматываемся к точке сброса
            uo.say("Guard")
            uo.TextOpen()
            uo.TextPrint('Появился грязный ПК - '+name)
             uo.Print('Warning PK Detected')
             UO.Exec('terminate all')
      end if
      end if
      end if
   #uo.DeleteJournal()
   wait(100)
   wend
end sub

sub ubili()
GotoXY(3268,571,1)
GotoXY(3338,493,1)
GotoXY(3353,289,1)
GotoXY(3353,289,1)        ; Слишком больше растояние не добежать за раз
end sub
sub ogil()
GotoXY(3338,493,1)
GotoXY(3268,571,1)
GotoXY(3190,610,1)
end sub
Don SpiL
Posts: 108
Joined: 2005-05-03 11:51:04
Location: KDK Elite Group (c)
Contact:

Post by Don SpiL »

Chico wrote:Вот мой скрипт на мининг по РУНУО , переделанный из скипта на ламбер
Вполне работает, я на нем копаю и в шахтах и на кочках


Однако сударь!! вы копирайт забыли!!!!
Chico
Posts: 46
Joined: 2005-05-02 17:37:12
Contact:

Post by Chico »

А я и не писал нигде что авторство мое.
Народ Автор Don Spil !!!! (Во всяком случае на 50процентов)
Don SpiL
Posts: 108
Joined: 2005-05-03 11:51:04
Location: KDK Elite Group (c)
Contact:

Post by Don SpiL »

Chico wrote:А я и не писал нигде что авторство мое.
Народ Автор Don Spil !!!! (Во всяком случае на 50процентов)


Па*люка.. не ари 8) :) :) :) :) :)
PCGamer
Posts: 125
Joined: 2005-08-12 03:04:00

Post by PCGamer »

Типа демо-версия :D
I NEED HELP at viewtopic.php?t=4903
Don SpiL
Posts: 108
Joined: 2005-05-03 11:51:04
Location: KDK Elite Group (c)
Contact:

Post by Don SpiL »

PCGamer wrote:Типа демо-версия :D

Вернее DS_Mining Ver. prealfa 0.0.0.1 :lol: :lol: :lol:
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

флудеры
Сделал дело - флуди смело !!!
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

1212
Last edited by Toolmate on 2006-10-20 14:38:41, edited 1 time in total.
Don SpiL
Posts: 108
Joined: 2005-05-03 11:51:04
Location: KDK Elite Group (c)
Contact:

Post by Don SpiL »

Askaneli wrote:флудеры
8) :lol: :lol:
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

123
Last edited by Toolmate on 2006-10-20 14:38:57, edited 1 time in total.
Chico
Posts: 46
Joined: 2005-05-02 17:37:12
Contact:

Post by Chico »

If (UO.Weight > (MaxWeight-10)) or uo.count(Topor) < 1 then
UO.Print('backpack full!!!')
gotoxy(3190,595,1)
GrAxe()
wait(1000)
; main() ; Вот здесь сменить на GOTO Beg
GOTO Beg ; тое сть заместо того чтоб после скидываения в бокс или в банк дерева бежать сначала, скрипт будет бежать к последней выкопаноой точке. (оттестировано мной на ламбере)
EndIf
EndSub
Don SpiL
Posts: 108
Joined: 2005-05-03 11:51:04
Location: KDK Elite Group (c)
Contact:

Post by Don SpiL »

Chico wrote:If (UO.Weight > (MaxWeight-10)) or uo.count(Topor) < 1 then
UO.Print('backpack full!!!')
gotoxy(3190,595,1)
GrAxe()
wait(1000)
; main() ; Вот здесь сменить на GOTO Beg
GOTO Beg ; тое сть заместо того чтоб после скидываения в бокс или в банк дерева бежать сначала, скрипт будет бежать к последней выкопаноой точке. (оттестировано мной на ламбере)
EndIf
EndSub

:lol: 8) :lol:
Post Reply