Небольшая проблема с минингом (игнорит некоторые шаги)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Небольшая проблема с минингом (игнорит некоторые шаги)

Post by Dron D. »

Добрый вечер уважаемые!)
Шард: Dragon World
Скрипт: Мининг по скале
Проблемы:
1. Иногда пропускает шаг на след. координату и уходит в лес)
2. Несмотря на вроде бы вставленный ChekWorldSave скрипт сбивается на сейве.

Вставлял паузы, менял значение обкапывания, однако результатов не дало.

Вот данный скрипт:

Code: Select all

sub go(x,y,k,m)
  while UO.GetX()<>x or UO.GetY()<>y
    UO.Press(k)
    CheckLag()
  wend
  if m==1 then
    Dig()
  end if
end sub

sub main()
  while Not UO.Dead()
    FollowMine()
    UnLoad()
    GoBeg()
  wend
end sub
#PageUp-33 PageDown-34 End-35 Home-36
sub FollowMine()
dig()
go(2593,834,35,1) #k
go(2593,840,35,1)
go(2594,840,34,1)
go(2595,840,34,1)
go(2596,840,34,1)
go(2596,841,35,1)
go(2597,841,34,1)
go(2598,841,34,1)#
go(2599,841,34,1)
go(2600,841,34,1)
go(2601,841,34,1)
go(2602,841,34,1)
go(2603,841,34,1)
go(2604,841,34,1)
go(2605,841,34,1)
go(2606,841,34,1)
go(2607,841,34,1)
wait(1000)
go(2608,841,34,1)#
wait(1000)
go(2608,842,35,1)
wait(100)
go(2609,842,34,1)
go(2609,843,35,1)
go(2610,843,34,1)
go(2611,843,34,1)
go(2611,844,35,1)
go(2612,844,34,1)
go(2613,844,34,1)
go(2613,845,35,1)
go(2614,845,34,1)
go(2614,846,35,1)
go(2615,846,34,1)
go(2615,847,35,1)
go(2615,848,35,1)
go(2615,849,35,1)
go(2615,850,35,1)
wait(100)
go(2616,850,34,1)
wait(100)
go(2616,851,35,1)
go(2617,851,34,1)
wait(1000)
go(2617,852,35,1)
wait(1000)
go(2618,852,34,1)
go(2618,853,35,1)
wait(1000)
go(2618,854,35,1)
go(2619,854,34,1)
go(2619,855,35,1)
go(2619,856,35,1)
go(2619,857,35,1)
go(2619,858,35,1)
go(2619,859,35,1)
go(2619,860,35,1)
go(2619,861,35,1)
go(2619,862,35,1)
go(2619,863,35,1)
go(2619,864,35,1)
go(2619,865,35,1)
go(2619,864,33,1)
go(2619,863,33,1)
wait(100)
go(2619,838,33,1)
wait(100)
go(2618,838,36,1)
go(2593,838,36,1)
wait(100)
go(2593,837,33,1)
wait(100)
go(2593,833,33,1)

end sub

sub GoBeg()
  go(2593,833,33,0)
end sub

sub CheckLag()
  UO.Click('backpack')
  repeat
    wait(50)
  until UO.InJournal('backpack')
end sub

sub tohide()
  while NOT UO.Hidden()
    UO.Warmode('0')
    UO.UseSkill('Hiding')
    wait(5000)
  wend
end sub

sub UnLoad()

var i
DIM Item[12]

Item[1]=0x19B9 ; >3 ore
Item[2]=0x19B7 ; 1 ore
Item[3]=0x19BA ; 2 ore
Item[4]=0x19B8 ; 3 ore
Item[5]=0x0F11 ; saphires
Item[6]=0x0F16 ; amethysts
Item[7]=0x0F18 ; tourmalines
Item[8]=0x0F15 ; citrines
Item[9]=0x0F10 ; emeralds
Item[10]=0x0F0F ; star sapphires
Item[11]=0x0F26 ; diamonds
Item[12]=0x0EED ; gold

for i = 1 to 12
  UO.FindType(Item[i], '-1', 'backpack')
  while UO.GetQuantity('finditem') > 0
    UO.MoveItem('finditem','-1',tSeif)
    Wait(1000)
    CheckLag()
    UO.FindType(Item[i],'-1','backpack')
  wend
next
end sub

sub Dig()
var mx = UO.GetX("self")
var my = UO.GetY("self")
var mz = UO.GetZ("self")
var TileNum='1339'
var i,j,k

  if UO.Dead() then
    UO.CloseUO()
  end if

  for i = mx-1 to mx+1
    for j = my-1 to my+1
      repeat
        uo.DeleteJournal()
        k=0
        if not uo.Hidden() then
          repeat
            uo.UseSkill('Hiding')
            wait(5000)
          until uo.Hidden()
        end if
        CheckLag()
        UO.Waittargettile("1341", str(i), str(j), str(mz))
        UO.Exec("usetype " + tShovel)
        repeat
          wait(100)
          k=k+1
        until UO.InJournal("You put|location|no ore|but fail|far away|rock|OOPS|attacking you") || k>100
      until UO.InJournal("no ore here|location|far away|in rock")
      if UO.InJournal("World is saving now|PAUSED for Resync") then
        CheckWS()
      end if
    next
  next
return 1
end sub

sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("!@! ELEMENTAL !@!")
UNTIL UO.InJournal('GO')
UO.Print("!@! KOPAU !@!")
end sub


sub CheckWS()
   if UO.InJournal("World is saving now|PAUSED for Resync") then
      DelJournal("World is saving now")
      DelJournal("PAUSED for Resync")
      UO.Print("ÍÀ×ÀËÎÑÜ ÑÎÕÐÀÍÅÍÈÅ ÌÈÐÀ")
      while not UO.InJournal("World data saved in|Resync Complete")
         wait(100)
      wend
      UO.Print("ÑÎÕÐÀÍÅÍÈÅ ÌÈÐÀ ÑÂÅÐØÈËÎÑÜ")
   endif
endsub


SUB DelJournal(msg)
   while UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1, "-- -- --")
   wend
endsub
Post Reply