Yoko

All sides of Injection
It is currently 2024-03-29 09:19:58

All times are UTC+02:00




Post new topic  Reply to topic  [ 2 posts ] 
Author Message
PostPosted: 2012-07-30 17:40:03 
Offline

Joined: 2008-05-13 17:04:26
Posts: 66
Народ помогите поправить скрипт.Сейчас он обкапывает камни можно ли его поправить чтобы перс копал кочки??
Code:
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


Top
   
PostPosted: 2012-07-30 21:22:47 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
А кочки разве статика?
Кстати вот их номера 240, 241, 242, 243

ПС А где ты такой скрипт взял? Я когда-то писал похожий, особенно сначала, да и функции также называл... Вроде я не доделал, но приятно... хоть кому-нибудь пригодилось.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 2 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited