Yoko

All sides of Injection
It is currently 2018-04-25 10:58:35

All times are UTC+02:00




Post new topic  Reply to topic  [ 18 posts ] 
Author Message
 Post subject: Мининг | Mining -)
PostPosted: 2007-01-19 05:56:54 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3211
Да, знаю, что уже хрен знает какой по счёту, но этот - как всегла особый :-)

Собственно капаем, ходим, капаем.

Code:
var step_timeout = 600 ; таймаут на шаг
sub mining()
   uo.addObject( "pickaxe" )
   while uo.targeting()
      wait(100)
   wend
   var continue = "Вы положили|Вы отменили|не удалось" ; сообщения о продолжении капания этого тайла
   var break = "нет обзора|в другом месте|ничего нету" ; сообщения о прекращении капания этого тайла
   var i = 0, f = file( "mining.tci" ) ; файлик с координатами
   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.useobject( "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


Обратите внимание на ранее нигде не проскакивающую функцию хождения, носится - как зверь, но обходить, к сожалению - не умеет.

Теперь собственно о том, откуда беруться координаты - нет, они беруться не из воздуха :-)

Нужная информация - лежит в файле mining.tci, формат файла:
Code:
count
TYPE T X Y Z
TYPE T X Y Z

count - количество строк вида "TYPE T X Y Z".
TYPE - тип действия, 0 - капать в тайле, 1 - подойти к тайлу, 2 - подойти а потом капать.
T, X, Y, Z - соответсвенно информация о тайле, см. infotile.

Такой формат файла хорош для маленьких, кривых пещер - например такой, как в НТ на Антаресе.

Для больших масшатабов - можно написать функцию разметки.

PS: Скрипт писался и тестировался в НТ на Антаресе )

PPS: Правкой пары букв из ходилки можно сделать догонялку, которая работает по тому же принципу, что и многие другие.


Top
   
 Post subject:
PostPosted: 2007-01-29 20:53:58 
Offline

Joined: 2004-05-27 18:19:17
Posts: 66
Может напишешь хотя бы пример этого фаилика а то я что то написал
только вот скрипт никак не хочет запускаться вот что я написал...да еще где сохранять этото фаил я его в папке с инжеи сохранял..
Code:
36
2 1341 1896 271 0
2 1340 1897 271 0
2 1342 1900 271 0
2 1341 1903 271 0
2 1340 1907 271 0
2 1343 1910 272 0
2 1340 1913 276 0
2 1341 1916 280 0
2 1339 1921 275 0
2 1341 1920 271 0
2 1339 1921 268 0
2 1340 1924 267 0
2 1341 1926 268 0
2 1340 1928 270 0
2 1342 1930 267 0
2 1343 1931 266 0
2 1340 1931 264 0
2 1343 1927 260 0
2 1339 1923 260 0
2 1340 1922 262 0
2 1339 1923 264 0
2 1343 1921 266 0
2 1343 1920 268 0
2 1343 1919 270 0
2 1340 1917 271 0
2 1341 1912 272 0
2 1342 1910 271 0
2 1343 1909 269 0
2 1342 1907 267 0
2 1339 1906 267 0
2 1342 1904 266 0
2 1339 1902 265 0
2 1341 1898 266 0
2 1342 1897 268 0
2 1341 1897 270 0
2 1339 1894 271 0


Top
   
 Post subject:
PostPosted: 2007-02-03 01:55:35 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3211
Хмм, ну дык всё верно делаешь.

Как именно не пашет?


Top
   
 Post subject:
PostPosted: 2007-02-05 19:29:52 
Offline

Joined: 2004-05-27 18:19:17
Posts: 66
Просто выдает парсер....может версия клиента особая нужна?(Инжектовского.. :oops: )


Top
   
 Post subject:
PostPosted: 2007-02-11 22:37:12 
Offline

Joined: 2007-02-11 21:25:40
Posts: 1
key = getWalkDir( x-mx, y-my, 0, 0 )
dir = getWalkDir( x-mx, y-my, 1, 0 )

как я понимаю это и есть та самая ходилка, только ее в инжу надо ставить отдельно или она там уже есть??
у меня YokoInjection 505.18 VeNdOr

при попытке запустить скрипт говорит что не могу найти функцию
getWalkDir :(


Top
   
 Post subject:
PostPosted: 2007-04-20 22:31:32 
Offline

Joined: 2007-03-23 19:36:22
Posts: 6
У меня тоже не работает. Пишет Unhandled exception in parser
Версия инжекта 505.16

В чем проблема?


Top
   
 Post subject:
PostPosted: 2007-04-26 18:19:08 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3211
Kenshin wrote:
key = getWalkDir( x-mx, y-my, 0, 0 )
dir = getWalkDir( x-mx, y-my, 1, 0 )

как я понимаю это и есть та самая ходилка, только ее в инжу надо ставить отдельно или она там уже есть??
у меня YokoInjection 505.18 VeNdOr

при попытке запустить скрипт говорит что не могу найти функцию
getWalkDir :(

viewtopic.php?t=7379&start=0

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2008-06-26 13:24:43 
Offline

Joined: 2004-07-12 13:03:57
Posts: 98
так ни у кого и не заработало?

у меня тоже выдаёт ошибку парсера, хотя и функцию гетвалкдир всунул и файл с координатами правильный сделал...


Top
   
 Post subject:
PostPosted: 2008-06-26 15:40:35 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3211
Ошибки выскакивают для того, чтобы дать информацию!

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2009-01-26 22:16:13 
Offline

Joined: 2007-03-23 19:36:22
Posts: 6
Кто нибудь разобрался почему выскакивает ошибка с парсером?!


Top
   
 Post subject:
PostPosted: 2009-01-26 22:24:43 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Disconnecting wrote:
Кто нибудь разобрался почему выскакивает ошибка с парсером?!

Конечно! Знаешь в чем? Читать нужно внимательно, и хотя бы думать иногда.


Top
   
 Post subject:
PostPosted: 2009-01-28 14:00:43 
Offline

Joined: 2008-03-20 18:09:07
Posts: 10
Kynep wrote:
Disconnecting wrote:
Кто нибудь разобрался почему выскакивает ошибка с парсером?!

Конечно! Знаешь в чем? Читать нужно внимательно, и хотя бы думать иногда.


Умничай в другом месте. Если бы я хоть не много разбирался в скриптах, я бы проблему сам решил. А ты вместо того, чтобы умничать, лучше помог. Если не можешь/хочешь помочь, дорога тебе найух.


Top
   
 Post subject:
PostPosted: 2009-01-28 14:26:07 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Excaliburg wrote:
Умничай в другом месте. Если бы я хоть не много разбирался в скриптах, я бы проблему сам решил. А ты вместо того, чтобы умничать, лучше помог. Если не можешь/хочешь помочь, дорога тебе найух.

Не хочешь думать идешь на йух сам, понял? Удачи в.... понимании !


Top
   
 Post subject:
PostPosted: 2009-01-28 15:58:31 
Offline

Joined: 2008-03-20 18:09:07
Posts: 10
Kynep wrote:
Excaliburg wrote:
понял?


Нет, не понял.


Top
   
 Post subject:
PostPosted: 2009-01-28 17:38:11 
Offline

Joined: 2008-12-13 00:00:15
Posts: 174
щас довыеживается))))


Top
   
 Post subject:
PostPosted: 2009-02-19 16:29:32 
Offline

Joined: 2008-03-20 18:09:07
Posts: 10
Скрипт работает на ура, хоть и не понятно, что было не так .)
Destruction'y большое спасибо.

Кому нахамил, прощу прощения. Не в настроении был :P


Top
   
 Post subject:
PostPosted: 2009-03-27 12:41:19 
Offline
User avatar

Joined: 2006-09-08 04:46:12
Posts: 62
Мда че то тоже непонял где должен этот текстовый лежать...


Top
   
 Post subject:
PostPosted: 2009-07-18 17:45:40 
Offline

Joined: 2009-06-22 07:54:00
Posts: 4
а как добавить в скрипт ещё чтоб он выкидывал всё в сумку у дома, помогите плз :roll:


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


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