Мининг

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
sluntai
Posts: 66
Joined: 2008-05-13 17:04:26

Мининг

Post by sluntai »

Здравствуйте господа скриптеры,как-то добрые люди презентовали мне замечательный скрипт на копку камней.Наглость конечно дикая:) но помогите пожалуйста теперь его переделать под копку только цветного металла.
Большое спасибо.

Code: Select all

var id_Container = '', t_Pickaxe = '0x0E85', RespawnTime = 60, Hide = 0, Invis = 0, t_Monster = '0x000e'
var id_Rune = '1 0 0 0 0 ', id_RuneHome = '', t_RuneHome = '', t_Scroll = '', c_Scroll = '', t_Invis = '', c_Invis = ''

var MaxTraceDistance = 5, TraceLoopIncrease = 5, LimitTrace = 20
var Speed = 1, StepTimeOut = 620, CheckCnt = 2, DynamicPause = 10

sub StartMine()
  UO.Set('finddistance', '24')
  UO.Exec('exec Reconnector')
  UO.Exec('exec CheckP')
  UO.Exec('exec AntiMacro')
  UO.Exec('exec Mining')
Endsub

Sub Mining()
  var a
  While true
    For a = 1 to 5
      If GetWord(id_Rune, a) <> '0' then
        Recall(GetWord(id_Rune, a), 0)
        While UO.Weight < UO.Str * 4 and UO.Count(t_Pickaxe) > 0
          SearchTree()
        Wend
        Recall(id_RuneHome, 0)
        Unload(id_Container)
        Reload(id_Container)
       else
        Wait(100)
      Endif
    Next
  Wend
Endsub

Sub CheckP()
  var i
  Dim t_Player[2]
   t_Player[0] = '0x0190'
   t_Player[1] = '0x0191'
  While true
    For i = 0 to 1
      UO.FindType(t_Player, -1, 'ground')
      If UO.FindCount() and UO.GetSerial('finditem') <> UO.GetSerial('self') then
        UO.Exec('terminate Mining')
        UO.Exec('playwav C:\Alert')
        Recall(id_RuneHome, 1)
        UO.SetGlobal('Pause', 'On')
        UnLoad(id_Container)
        Reload(id_Container)
        Pause()
        UO.Exec('exec Mining')
       else
        Wait(100)
      Endif
    Next
  Wend
Endsub

Sub SearchReaper()
  UO.FindType(t_Monster, -1, 'ground')
  If UO.FindCount() or UO.GetGlobal('Pause')=='On' then
    UO.Exec('playwav C:\Alert')
    Pause()
  Endif
Endsub

Sub Switch()
  If UO.GetGlobal('Pause') == 'On' then
    UO.Print('Pause OFF')
    UO.SetGlobal('Pause', 'Off')
   else
    UO.Print('Pause ON')
    UO.SetGlobal('Pause', 'On')
  Endif
Endsub

Sub Pause()
  var msg_start = 'start'
  DelJournal(msg_start)
  While UO.GetGobal('Pause') == 'On'
    Wait(100)
  Wend
Endsub

Sub Recall(id, alert)
  var msg = 'fizzle', mx = UO.GetX(), my = UO.GetY(), Time
  While mx == UO.GetX() and my == UO.GetY()
    DelJournal(msg)
    Time = UO.Timer()
    UO.WaitTargetObject(id)
    UO.UseType(t_Scroll, c_Scroll)
    If alert == 1 and Invis == 1 then
      Wait(120)
      UO.UseType(t_Invis, c_Invis)
    Endif
    Repeat
      Wait(100)
    Until UO.InJournal(msg) or mx <> UO.GetX() or my <> UO.GetY() or Time + 50 < UO.Timer()
  Wend
Endsub

Sub Unload(cont)
  var a, Quit
  Dim t_Logs[2]
    t_Logs[0] = '0x1BDD'
    t_Logs[1] = '0x0F90'
  Walker(UO.GetX(id_Container), UO.GetY(id_Container), 1)
  UO.UseObject(id_Container)
  For a = 0 to 1
    Quit = 0
    Repeat
      CheckLag()
      UO.FindType(t_Logs[a], -1, 'backpack')
      If UO.FindCount() then
        UO.MoveItem('finditem', -1, id_Container)
        Wait(800)
       else
        Quit = 1
      Endif
    Until Quit == 1
  Next
Endsub

Sub Reload(cont)
  var a, b
  While UO.Count(t_Scroll, c_Scroll) < 5
    UO.FindType(t_Scroll, c_Scroll, cont)
    If UO.FindCount() then
      CheckLag()
      UO.MoveItem('finditem', 5 - UO.Count(t_Scroll, c_Scroll), 'backpack')
      Wait(1100)
     else
      UO.Print('В контейнере ' + cont + ' не хватает скроллов')
      UO.Exec('terminate all')
    Endif
  Wend
  While UO.Count(t_Pickaxe) < 2
    UO.FindType(t_Pickaxe, -1, cont)
    If UO.FindCount() >= 2 - UO.Count(t_Pickaxe) then
      CheckLag()
      MoveItem('finditem', -1, 'backpack')
      Wait(1100)
     else
      UO.Print('В контейнере ' + cont + ' нет инструментов')
      Return
    Endif
  Wend
  While not UO.Count(t_Invis, c_Invis) and Invis == 1
    UO.FindType(t_Invis, c_Invis, cont)
    If UO.FindCount() then
      CheckLag()
      MoveItem('finditem', 1, 'backpack')
      Wait(1100)
     else
      UO.Print('В контейнере ' + cont + ' нет Invis')
      Return
    Endif
  Wend
Endsub

Sub SearchTree()
  var i, x, y, t, stp, max_search = 24
  var cx = UO.GetX(), cy = UO.GetY()
  For i = 1 to max_search
    For x = -i to i
      stp = 1
      If not i == Abs(x) then
        stp = Abs(i) * 2
      Endif
      For y = -i to i step stp
        If val(UO.GetGlobal(str(x + cx) + ',' + str(y + cy))) < UO.Timer() and not UO.GetGlobal(str(x + cx) + ',' + str(y + cy)) == 'empty' then
          t = IsTreeTile(x + cx, y + cy)
          If not t == false then
            DoMineTree(x + cx, y + cy, t)
            Return
           else
            UO.SetGlobal(str(x + cx) + ',' + str(y + cy), 'empty')
          Endif
        Endif
      Next
    Next
  Next
Endsub

Sub DoMineTree(x, y, t)
  var Time, k
  var end = 'no ore|far away|reach this|in rock|current state'
  var try = 'You put|loosen some|true code'
  UO.SetGlobal(str(x) + ',' + str(y), str(UO.Timer() + (10 * 60 * RespawnTime)))
  If Walker(x, y, 1) then
    k = 0
    If Hide == 1 then
      Hide()
    Endif
    Repeat
      k = k + 1
      If UO.Waiting() then
        UO.CancelTarget()
      Endif
      DelJournal(try + '|' + end)
      UO.WaitTargetTile(str(t), str(x), str(y), str(UO.GetZ()))
        If UO.LastGump('replyed') then
          UO.UseType(t_Pickaxe)
        Endif
        Wait(500)
      Time = UO.Timer()
      Repeat
        Wait(100)
        SearchReaper()
      Until UO.InJournal(try + '|' + end) or Time + 50 < UO.Timer()
    Until UO.InJournal(end) or k > 10
  Endif
Endsub

Sub Hide()
  var msg = 'seem to hide|have hidden', Time, Delay = 4
  While not UO.Hidden() and Hide == 1
    If UO.Warmode() then
      UO.WarMode(0)
    Endif
    DelJournal(msg)
    Time = UO.Timer()
    UO.UseSkill('Hiding')
    Repeat
      Wait(100)
    Until UO.InJournal(msg) or Time + Delay * 10 < UO.Timer() or UO.Hidden()
  Wend
Endsub

Sub DelJournal(msg)
  While UO.InJournal(msg)
    UO.SetJournalLine(UO.InJournal(msg) - 1, '')
  Wend
Endsub

Sub CheckLag()
  DelJournal('ackpack')
  UO.Click('backpack')
  Repeat
    Wait(50)
  Until UO.InJournal('ackpack')
Endsub

Sub GetWord(st, nom)
  var tmpst, i, dlin, kol = 0, start = 0
  dlin = len(st)
  For i = 0 to dlin - 1
    If mid(st, i, 1) == ' ' or i == dlin - 1 then
      kol = kol + 1
      If kol == nom then
        tmpst = mid(st, start, i - start)
        Return tmpst
       else
        While mid(st, i, 1) == ' '
          i = i + 1
        Wend
        If kol == nom - 1 then
          start = i
        Endif
      Endif
    Endif
  Next
  tmpst = ''
  Return tmpst
Endsub

Sub IsTreeTile(x, y)
  var i, tree_count = 6
  Dim tree[val(str(tree_count))]
    tree[0] = 6003
    tree[1] = 6004
    tree[2] = 6007
    tree[3] = 6008
    tree[4] = 6011
    tree[5] = 6012
  For i = 0 to tree_count - 1
    If UO.PrivateGetTile(x, y, -1, tree[i], tree[i]) then
      Return tree[i]
    Endif
  Next
  Return false
Endsub

Sub Abs(X)
  If X > 0 then
    Return X
   else
    Return (-X)
  Endif
Endsub

Sub Walker(GoX, GoY, Prec)
  var LastDir, MoveRes, TracerCnt
  UO.SetGlobal('Logging', '0')
  UO.SetGlobal('BlindWalk', '0')
  UO.SetGlobal('GlobalGoX', str(GoX))
  UO.SetGlobal('GlobalGoY', str(GoY))
  While not IsEnd(GoX, GoY, Prec)
    TracerCnt = MaxTraceDistance
    Repeat
      LogInfo('Just walking')
      LastDir = GoUntilHit(GoX, GoY, Prec)
      If IsEnd(GoX, GoY, Prec) then
        return 1
      Endif
      LogInfo('Tracing')
      MoveRes = FullAroundTrace(LastDir, GoX, GoY, Prec, TracerCnt)
      If TracerCnt > LimitTrace then
        Return 0
      Endif
      TracerCnt = TracerCnt + TraceLoopIncrease
    Until MoveRes == 1
  Wend
  Return 1
Endsub

Sub FullAroundTrace(StartDir, GoX, GoY, Prec, MaxTrace)
  var LineX = UO.GetX(), LineY = UO.GetY(), CurDir = StartDir
  var Direction = CountDirection(GoX, GoY, CurDir, Prec)
  var StartX, StartY, MovesDone = 0
  Repeat
    StartX = UO.GetX()
    StartY = UO.GetY()
    CurDir = Tracer(CurDir, Direction, Prec)
    If (CurDir == GetDir(GoX, GoY, Prec)) then
      Return 1
    Endif
    If MovesDone > 0 and PrevMoveCross(GetDirToDir(UO.GetDir(), Prec), LineX, LineY, GoX, GoY, StartX, StartY, Prec) then
      Return 1
    Endif
    MovesDone = MovesDone + 1
    CurDir = AddToDir(CurDir, -Direction, Prec)
  Until MovesDone > MaxTrace
  Return 0
Endsub

Sub CountDirection(GoX, GoY, StartDir, Prec)
  var GoDir = GetDir(GoX, GoY, Prec), MyX = UO.GetX(), MyY = UO.GetY()
  If GoDir < StartDir then
    Return -1
  Endif
  If GoDir > StartDir then
    Return 1
  Endif
  If Abs(MyX - GoX) > Abs(MyY - GoY) then
    If (GoDir == 3) or ( GoDir == 7) then
      Return -1
     else
      Return 1
    Endif
   else
    If (GoDir == 1) or (GoDir == 5) then
      Return -1
     else
      Return 1
    Endif
  Endif
Endsub

Sub PrevMoveCross(Dir, x1, y1, x2, y2, StartX, StartY, Prec)
  var x3, y3, x4, y4
  x3 = StartX
  y3 = StartY
  x4 = StartX + (XFromDir(Dir) - StartX) * Speed
  y4 = StartY + (YFromDir(Dir) - StartY) * Speed
  Return LinesCrossing(x1, y1, x2, y2, x3, y3, x4, y4, Prec)
Endsub

Sub LinesCrossing(x1, y1, x2, y2, x3, y3, x4, y4, Prec)
  If x1 == x3 and y1 == y3 then
    Return false
  Endif
  LogInfo('Start cross check')
  var ua1 = (x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)
  var ub1 = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)
  var ua2 = (x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)
  var ub2 = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)
  If (ub1 == 0) or (ub2 == 0) then
    Return false
  Endif
  var u1 = ua1 / ub1
  var u2 = ua2 / ub2
  If IsDiap(u1, 0, 1, 0.01) and IsDiap(u2, 0, 1, 0.01) then
    LogInfo('Vectors crossing info:')
    LogInfo('x1= '+str(x1))
    LogInfo('y1= '+str(y1))
    LogInfo('x2= '+str(x2))
    LogInfo('y2= '+str(y2))
    LogInfo('x3= '+str(x3))
    LogInfo('y3= '+str(y3))
    LogInfo('x4= '+str(x4))
    LogInfo('y4= '+str(y4))
    Return true
   else
    LogInfo('End cross check')
    Return false
  Endif
Endsub

Sub IsDiap(X, X0, X1, Prec)
  If X <= X0 + Prec and X >= X1 - Prec OR X >= X0 - Prec and X <= X1 + Prec then
    Return true
  Endif
  Return false
Endsub

Sub GoUntilHit(GoX, GoY, Prec)
  var LastDir
  LastDir = GetDir(GoX, GoY, Prec)
  var CouldMove
  Repeat
    LastDir = GetDir(GoX, GoY, Prec)
    If LastDir <> 0 and not IsEnd(GoX, GoY, Prec) then
      CouldMove = TryDir(LastDir, Prec)
    Endif
  Until LastDir == 0 or IsEnd(GoX, GoY, Prec) or not CouldMove
  Return LastDir
Endsub

Sub IsEnd(GoX, GoY, Prec)
  If Abs(UO.GetX() - GoX) <= Prec and Abs(UO.GetY() - GoY) <= Prec then
    LogInfo('END FOUND')
    Return true
   else
    Return false
  Endif
Endsub

Sub GetDir(GoX, GoY, Prec)
  var MyX = UO.GetX(), MyY = UO.GetY(), DiffX = Abs(UO.GetX() - GoX), DiffY = Abs(UO.GetY() - GoY), GoDir = 0
  If (DiffX / (DiffY + 0.1)) >= 2 then
    If MyX > GoX then
      GoDir = 7
     else
      GoDir = 3
    Endif
   else
    If (DiffY / (DiffX + 0.1)) >= 2 then
      If MyY > GoY then
        GoDir = 5
       else
        GoDir = 1
      Endif
     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
            Endif
          Endif
        Endif
      Endif
    Endif
  Endif
  Return GoDir
Endsub

Sub Tracer(StartDir, Direction, Prec)
  var CurDir = StartDir, Result
  Repeat
    Result = TryDir(CurDir, Prec)
    If not Result then
      CurDir = AddToDir(CurDir, Direction, Prec)
    Endif
  Until Result
  Return Result
Endsub

Sub AddToDir(Dir, Cnt, Prec)
  var NewDir = Dir
  NewDir = NewDir + Cnt
  While NewDir > 8
    NewDir = NewDir - 8
  Wend
  While NewDir < 1
    NewDir = NewDir + 8
  Wend
  Return NewDir
Endsub

Sub TryDir(Dir, Prec)
  var BegX = UO.GetX(), BegY = UO.GetY(), Counter = 0, GoX = BegX, GoY = BegY
  If hide == 1 then
    Hide()
  Endif
  GoX = XFromDir(Dir)
  GoY = YFromDir(Dir)
  If not IsPass(GoX, GoY) then
    LogInfo(str(GoX) + ':' + str(GoY) + ' is not passable')
    Return false
  Endif
  Return TurnAndGoDir(Dir, Prec)
Endsub

Sub XFromDir(Dir)
  If Dir == 2 or Dir == 3 or Dir == 4 then
    Return (UO.GetX() + 1)
  Endif
  If Dir == 6 or Dir == 7 or Dir == 8 then
    Return (UO.GetX() - 1)
  Endif
  Return (UO.GetX())
Endsub

Sub YFromDir(Dir)
  If Dir == 8 or Dir == 1 or Dir == 2 then
    Return (UO.GetY() + 1)
  Endif
  If Dir == 4 or Dir == 5 or Dir == 6 then
    Return (UO.GetY() - 1)
  Endif
  Return (UO.GetY())
Endsub

Sub TurnAndGoDir(Dir, Prec)
  var StartDir = GetDirToDir(UO.GetDir(), Prec), StartX = UO.GetX(), StartY = UO.GetY()
  var EndDir, Counter = 0, TestCounter = CheckCnt
  Repeat
    Counter = 0
    LogInfo('Dir: ' + str(StartDir) + ' Counter: ' + str(Counter))
    PressDir(Dir)
    Repeat
      EndDir = GetDirToDir(UO.GetDir(), Prec)
      Wait(DynamicPause)
      Counter = Counter + 1
    Until StartDir <> EndDir or StartY <> UO.GetY() or StartX <> UO.GetX() or Counter >= StepTimeOut / DynamicPause
    TestCounter = TestCounter - 1
    LogInfo('Dir: ' + str(EndDir) + ' Counter: ' + str(Counter))
  Until TestCounter <= 0 or Counter < StepTimeOut/DynamicPause
  If Counter >= StepTimeOut / DynamicPause  then
     LogInfo('Direction timeout reached')
     Return 0
  Endif
  If StartY <> UO.GetY() or StartX <> UO.GetX() then
    Return Dir
  Endif
  TestCounter = CheckCnt
  Repeat
    GoDir(Dir, Prec)
    Counter = 0
    Repeat
      Wait(DynamicPause)
      Counter = Counter + 1
    Until StartY <> UO.GetY() or StartX <> UO.GetX() or Counter >= StepTimeOut / DynamicPause
    TestCounter = TestCounter - 1
  Until TestCounter <= 0 or Counter < StepTimeOut / DynamicPause
  If Counter >= StepTimeOut / DynamicPause then
    LogInfo('Step timeout reached')
    Return 0
   else
    Return Dir
  Endif
Endsub

Sub GetDirToDir(GotDir, Prec)
   var ChangedDir = -GotDir
   ChangedDir = AddToDir(ChangedDir, 5, Prec)
   Return ChangedDir
Endsub

Sub DirToInj(Dir)
  Dim Dirs[8]
   Dirs[1] = 1
   Dirs[2] = 2
   Dirs[3] = 3
   Dirs[4] = 6
   Dirs[5] = 9
   Dirs[6] = 8
   Dirs[7] = 7
   Dirs[8] = 4
  Return (Dirs[Dir])
Endsub

Sub PressDir(Dir)
  Dim Dirs[8]
   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], 1)
Endsub

Sub GoDir(Dir,Prec)
  var DistanceX = Abs(UO.GetX() - val(UO.GetGlobal('GlobalGoX'))), DistanceY = Abs(UO.GetY() - val(UO.GetGlobal('GlobalGoY'))), GoDistance
  Dim Dirs[8]
   Dirs[1] = 35
   Dirs[2] = 40
   Dirs[3] = 34
   Dirs[4] = 39
   Dirs[5] = 33
   Dirs[6] = 38
   Dirs[7] = 36
   Dirs[8] = 37
  If (DistanceX - Prec) < Speed then
    GoDistance = DistanceX - Prec
   else
    If (DistanceY - Prec) < Speed then
      GoDistance = DistanceY - Prec
     else
      GoDistance = Speed
    Endif
  Endif
  UO.Press(Dirs[Dir], GoDistance)
Endsub

Sub IsPass(X, Y)
  var i
  If UO.GetGlobal('BlindWalk') then
    Return true
  Endif
  Dim Types[54]
   Types[1] = 3
   Types[2] = 25
   Types[3] = 51
   Types[4] = 63
   Types[5] = 113
   Types[6] = 140
   Types[7] = 172
   Types[8] = 219
   Types[9] = 232
   Types[10] = 235
   Types[11] = 239
   Types[12] = 243
   Types[13] = 248
   Types[14] = 251
   Types[15] = 264
   Types[16] = 267
   Types[17] = 282
   Types[18] = 289
   Types[19] = 321
   Types[20] = 379
   Types[21] = 420
   Types[22] = 440
   Types[23] = 476
   Types[24] = 499
   Types[25] = 513
   Types[26] = 542
   Types[27] = 578
   Types[28] = 586
   Types[29] = 622
   Types[30] = 700
   Types[31] = 804
   Types[32] = 1740
   Types[33] = 1758
   Types[34] = 1770
   Types[35] = 1779
   Types[36] = 1779
   Types[37] = 1881
   Types[38] = 1886
   Types[39] = 1801
   Types[40] = 1805
   Types[41] = 1813
   Types[42] = 1820
   Types[43] = 1831
   Types[44] = 1833
   Types[45] = 1843
   Types[46] = 1850
   Types[47] = 1873
   Types[48] = 1876
   Types[49] = 1885
   Types[50] = 1888
   Types[51] = 1946
   Types[52] = 1969
   Types[53] = 2500
   Types[54] = 2539
  For i = 1 to 53 step 2
    If UO.PrivateGetTile(X, Y, -1, Types[i], Types[i + 1]) then
      Return true
    Endif
  Next
  Return false
Endsub

Sub LogInfo(Line)
  If not UO.GetGlobal('Logging') == '0' then
    UO.TextOpen()
    UO.TextPrint(str(UO.GetX()) + ':' + str(UO.GetY()) + ' - ' + Line)
  Endif
Endsub

sub AntiMacro()
while true
if not uo.LastGump('replyed') then
if uo.LastGump('text', 0) == 'Antimacros System' then
OneClick()
end if
endif
wait(500)
wend

end sub

sub OneClick()

dim reindex[8]
reindex[0] = 11
reindex[1] = 12
reindex[2] = 13
reindex[3] = 10
reindex[4] = 16
reindex[5] = 14
reindex[6] = 17
reindex[7] = 15
var GumpID = 0
var ButtonID = 0
var ButtonText
var i = 18

if uo.LastGump('text', 4) <> "0" then
i = 19
end if
GumpID = val(Mid(uo.LastGump('command', i), 16, 4))
ButtonID = reindex[GumpID-2225]
ButtonText = uo.LastGump('command', ButtonID)
uo.LClick(Val(Mid(ButtonText, 7, 3)), Val(Mid(ButtonText, 11, 3)))
wait(300)

end sub

Sub Reconnector()
  var ReconnectTime, RFlag
  ReconnectTime = '0'
  RFlag = 1
  Repeat
    While UO.ObjAtLayer('Bpack') == ''
      If RFlag then
        ReconnectTime = MakeTime()
        RFlag = 0
      Endif
      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.Exec('terminate all')
     ;UO.Exec('exec autoload')
      UO.TextOpen()
      UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
      RFlag = 1
      ReconnectTime = '0'
    Endif
  Until false
Endsub

Sub MakeTime()
  var Ret, Date, Time, a
  Ret = str(UO.Time())
  Time = ''
  For a = 0 to len(Ret)
    Time = Ret[len(Ret) - a] + Time
    If (a == 2) or (a == 4) then
      Time = ':' + Time
    Endif
  Next
  Ret = str(UO.Date())
  Date = ''
  For a = 0 to len(Ret)
    Date = Ret[len(Ret) - a] + Date
    If (a == 2) or (a == 4) then
      Date = '.' + Date
    Endif
  Next
  Ret = Time + ' @ ' + Date
  Return Ret
Endsub

sub ExtrimalRecall()
var rune='0x400C5998'
  uo.Usetype('0x0F08','0x07F2') ; Invisibility
  wait(100)
  uo.waittargetobject(Rune)
  uo.Usetype('0x1F4C','0x0000') ;Recall
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг

Post by Mirage »

Скрипт не плохой. Задание вот криво сформулировано. Такую просьбу надо задавать админу шарда - копать ТОЛЬКО цветную руду.
Уточни что тебе нужно.
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Мининг

Post by ZeroDX »

вероятно хочет скидывать айрон :roll:
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг

Post by Mirage »

Ну это то понятно. Только КАК ИМЕННО он хочет чтобы скрипт работал?
скидывалку сейчас напишем окажется не так :)
Зыть щаз зареган на 2 серверах. На обоих мобно кидать и под ноги и под землю. Но на одном руда не проходима - скинул и застрял, а на другом за скид под землю банят. :mrgreen:
sluntai
Posts: 66
Joined: 2008-05-13 17:04:26

Re: Мининг

Post by sluntai »

Да нет сброс в принципе не обязателен,так как копаю камушки то думаю что если чар копнул камень а там айрон то идет к следующему,как-то так может быть??
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг

Post by Mirage »

2 ZeroDX видишь? ;)

2 аффтор - нет ничего проще

var end = 'no ore|far away|reach this|in rock|current state|Iron'

с регистром только проверь. Первая буква заглавная/маленькая ВАЖНО для выполнения.
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Мининг

Post by ZeroDX »

Mirage wrote:2 ZeroDX видишь? ;)

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

Re: Мининг

Post by Mirage »

а чего ей загибаться? играет пара человек и ладно. как контра.
Post Reply