Дайте проверку на кирку

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Дайте проверку на кирку

Post by zimglads »

дайте пожалуста проверку на кирку .. чтобы после фразы You broke the pickaxe. он брал опять кирку ... и продолжал копать ... изначально мой скрипт выглядит так :
var step_timeout = 800 ; таймаут на шаг

Code: Select all

sub mining() 
   uo.addtype( "pickaxe" )
   while uo.targeting()
      wait(200)
   wend
   var continue = "You loosen some rocks but fail to find any useable ore.|in your pack.|Success in work!" ; сообщения о продолжении капания этого тайла
   var break = "Try mining in rock.|That is too far away.|There is no ore here to mine.|You can't see the target|Unexpected button input" ; сообщения о прекращении капания этого тайла
   var i = 0, f = file ( "D:\mining.txt" )  ; файлик с координатами
   f.open()
   var cnt = f.readNumber()
   DIM type[ val( str( cnt ) ) ]
   DIM tile_t[ val( str( cnt ) ) ]
   DIM tile_x[ val( str( cnt ) ) ]
   DIM tile_y[ val( str( cnt ) ) ]
   DIM tile_z[ val( str( cnt ) ) ]
   while not f.eof()
      type[ i ] = f.readNumber()
      tile_t[ i ] = f.readNumber()
      tile_x[ i ] = f.readNumber()
      tile_y[ i ] = f.readNumber()
      tile_z[ i ] = f.readNumber()
      i = i + 1
   wend
   f.close()
   for i = 0 to cnt -1
      if type[i] == 2 || type[i] == 1 then
         desWalker( tile_x[i], tile_y[i] )
      endif
      if type[i] == 2 || type[i] == 0 then
         repeat
            deljournal( break + "|" + continue )
            uo.waittargettile( str( tile_t[ i ] ), str( tile_x[ i ] ), str( tile_y[ i ] ), str( tile_z[ i ] ) )
            uo.usetype( "pickaxe" )
            repeat
               wait( 100 )
            until uo.injournal( break + "|" + continue )
         until uo.injournal( break )
      endif
   next
endsub

Sub desWalker( x, y )
   var dir, key, mx, my, timer
   if x== uo.getX() && y == uo.getY() then
      return false
   endif
   repeat
      mx = uo.getX()
      my = uo.getY()
      key = getWalkDir( x-mx, y-my, 0, 0 )
      dir = getWalkDir( x-mx, y-my, 1, 0 )
      if Not uo.getDir() == dir then
         uo.press( key, 2 )
      else
         uo.press( key )
      endif
      timer = 0
      while uo.getX() == mx && uo.getY() == my && step_timeout / 100 > timer
         wait( 100 )
         timer = timer + 1
      wend
   until uo.getX() == x && y == uo.getY()
endsub
Sub getWalkDir(x, y, type, walk)
   DIM keys[8]
   if type == 0 then
      if walk == 0 then
         keys[0] = 35; End
         keys[1] = 40; Down
         keys[2] = 34; Page Down
         keys[3] = 39; Right
         keys[4] = 33; Page Up
         keys[5] = 38; Up
         keys[6] = 36; Home
         keys[7] = 37; Left
      else
         keys[0] = 33; Page Up
         keys[1] = 38; Up
         keys[2] = 36; Home
         keys[3] = 37; Left
         keys[4] = 35; End
         keys[5] = 40; Down
         keys[6] = 34; Page Down
         keys[7] = 39; Right
      endif
   else
      if walk == 0 then
         keys[0] = 4; End
         keys[1] = 3; Down
         keys[2] = 2; Page Down
         keys[3] = 1; Right
         keys[4] = 0; Page Up
         keys[5] = 7; Up
         keys[6] = 6; Home
         keys[7] = 5; Left
      else
         keys[0] = 0; Page Up
         keys[1] = 7; Up
         keys[2] = 6; Home
         keys[3] = 5; Left
         keys[4] = 4; End
         keys[5] = 3; Down
         keys[6] = 2; Page Down
         keys[7] = 1; Right
      endif
   endif
   if x==0 && y > 0 then
      return keys[0]
   endif
   if x==0 && y < 0 then
      return keys[4]
   endif
   if x > 0 && y == 0 then
      return keys[2]
   endif
   if x < 0 && y == 0 then
      return keys[6]
   endif
   if x > 0 && y > 0 then
      return keys[1]
   endif
   if x > 0 && y < 0 then
      return keys[3]
   endif
   if x < 0 && y > 0 then
      return keys[7]
   endif
   if x < 0 && y < 0 then
      return keys[5]
   endif
endsub
Sub deljournal(msg)
while uo.injournal(msg)
uo.setjournalline(uo.injournal(msg)-1,"")
wend
endsub
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 AntiMacro()

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

end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

А он разве не берёт? Если юзаешь по типу кирку, то новая автоматом в руки возьмётся.
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

Savage wrote:А он разве не берёт? Если юзаешь по типу кирку, то новая автоматом в руки возьмётся.

неа( первую берёт и если круг макры прошол то тоже возьмёт новую на стартовой клетке ... а если ломаеться то не берёт (
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Не может такого быть. Навреное у тебя типы кирок разные. Бывет - лежат в разные стороны, соответственно и типы разные.
А на счёт проверки - смотри хэлп на команду UO.ObjAtLayer()
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

нет 100% одинаковые.. тип одинаковый .. т.к. покупал в одном магазине и через обжект тип один и тотже показует .. стадартный .. я думал нехватает проверки на слова в чате "ваша кирка сломалась" ...
Successful
Posts: 174
Joined: 2008-12-13 00:00:15

Post by Successful »

очень странно ))если ты играешь на мл,скачай пофикшенный инжектион.длл ) у меня было что-то похожее,юзтайп видел только ту вещь,которая в руке находилась,а ту что в бекпаке не трогал )
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

не пацаны )) спасибо я разобрался ) я в инжорнале забыл вписать фразу о поломке кирки О_О
Post Reply