Майнинг останавливается

Ask for help

Moderators: Murderator+, Murderator

Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Инжект: 712.28
Клиент: 203
Шард: DrW

> правда ли на этом шарде можно копать квадрат 9х9 вокруг чара
Правда. От 4,4, до -4,-4.
Когда достать не может (сталагмит или нет тайла), пишет "too far".

Он просто не реагирует на сообщение о результате. Начинает копать тайл, выкапывает (или не выкапывает) и стоит тупит, пока я не копну еще раз, чтобы отослать результат.

Мой единственный вариант — это лаги (инвизку в сейфе он тоже иногда не находит), потому как коннект последние несколько дней в полной заднице из-за помехов на линии, а до этого проблемы не наблюдалось. Но дело в том, что скрипт я закончил именно в период хренового инета, поэтому уверенно рассуждать не могу.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

инжект не может не увидить сообщение, если оно появилось в журнале уо клиента.
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Grin wrote:инжект не может не увидить сообщение, если оно появилось в журнале уо клиента.

А какие еще варианты? Ну может он к лопате не обращается.
Но вообще ничего не пишется и скрипты в состоянии запущенности.

О, блин. Забыл про контроль опасности, который запускается параллельно.

Может он и стирает журнал? о_о

Code: Select all

sub safecontrol()
   var danger
   while 1
      uo.deletejournal()
      while not uo.InJournal(':')
         wait(200)
      wend
      if uo.InJournal('You loosen') then
            wait(200)
      else
         danger=uo.GetNotoriety(uo.JournalSerial(0))
         if RecallDetect==1 then
            if uo.InJournal("revealed") then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("Раздетектили!")
            endif
         endif
         if RecallElement==1 then
            if uo.InJournal("Element") then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("Выкопал элемента!")
            endif
         endif
         if RecallPhysicalDanger==1 then
            if uo.InJournal('attacking you') then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("Кто-то атакует!")
            endif
         endif
         if RecallSeenDanger==1 then
            if danger==6 and uo.JournalSerial(0)<>uo.GetSerial() then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("В шахте оказался ПК - "+UO.GetName(UO.JournalSerial(0)))
            endif
            if danger==5 and uo.JournalSerial(0)<>uo.GetSerial() then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("В шахте вражеский гильдиец - "+UO.GetName(UO.JournalSerial(0)))
            endif
            if danger==4 and uo.JournalSerial(0)<>uo.GetSerial() then
               checklag()
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("В шахте оказался криминал - "+UO.GetName(UO.JournalSerial(0)))
            endif
         endif
         if RecallBluePlayer==1 then
            if danger==1 and uo.JournalSerial(0)<>uo.GetSerial() then
               checklag()
               uo.print('синий')
               uo.snap()
               danger()
               uo.textopen()
               uo.textprint("В шахте оказался синий - "+UO.GetName(UO.JournalSerial(0)))
            endif
         endif
      endif
   wend
end sub
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Раз уж дело дошло до контроля опасности, помогите, пожалуйста, дописать в него время событий. Я пытался вытащить из реконнекта, но не очень понял, как это работает xD

А еще ники не записываются ._.
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Code: Select all

...
   while 1
      uo.deletejournal()
      while not uo.InJournal(':')
         wait(200)
      wend
...

Обрати внимание на то, что все сообщения из журнала типа yoo cant see... no ore..revealed.. и прочий системный флуд, в журнале инжекта отображается как Имя_персонажа: ляляля...
Cоответсвенно благодаря скрипту safecontrol() у тебя каждые ~0.2секунды чиститься журнал, вне зависимости от того копает ли чар, пряечтся и тд. Испольуй deljournal() и пусть у тебя голова не болит :)

На тему времени и даты, можно например так:

Code: Select all

sub now()
  return getDate( '-' ) + ' ' + getTime( ':' )
endsub

Sub getDate( n )
   var d = str( uo.date() )
   if strlen( d ) == 5 then
      d = "0" + d
   endif
   return right( d, 2 ) + n + mid( d, 2, 2 ) + n + left( d, 2 )
endsub

Sub getTime( n )
   var t = str( uo.time() )
   if strlen( t ) == 5 then
      t = "0" + t
   endif
   return left( t, 2 ) + n + mid( t, 2, 2 ) + n + right( t, 2 )
endsub


Используешь так:

Code: Select all

sub test()
  uo.print( now() )
endsub
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

korzh wrote:Cоответсвенно благодаря скрипту safecontrol() у тебя каждые ~0.2секунды чиститься журнал, вне зависимости от того копает ли чар, пряечтся и тд. Испольуй deljournal() и пусть у тебя голова не болит :)

Я так понял, сэйфконтрол будет работать с отдельным журналом, не мешая копанию? Очень хорошо, открыл для себя функцию :o
Спасибо! Кстати, пишется она без "uo."?

upd: а, туплю. Конечно, с "уо".
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

korzh wrote:На тему времени и даты, можно например так:

Code: Select all

sub now()
  return getDate( '-' ) + ' ' + getTime( ':' )
endsub

Sub getDate( n )
   var d = str( uo.date() )
   if strlen( d ) == 5 then
      d = "0" + d
   endif
   return right( d, 2 ) + n + mid( d, 2, 2 ) + n + left( d, 2 )
endsub

Sub getTime( n )
   var t = str( uo.time() )
   if strlen( t ) == 5 then
      t = "0" + t
   endif
   return left( t, 2 ) + n + mid( t, 2, 2 ) + n + right( t, 2 )
endsub


Используешь так:

Code: Select all

sub test()
  uo.print( now() )
endsub

Ое! Спасибо большое!
К сожалению, сейчас не могу опробовать, но как опробую, обязательно отпишусь! Чую, этим все не закончится :o
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Виталь wrote:
korzh wrote:Cоответсвенно благодаря скрипту safecontrol() у тебя каждые ~0.2секунды чиститься журнал, вне зависимости от того копает ли чар, пряечтся и тд. Испольуй deljournal() и пусть у тебя голова не болит :)

Я так понял, сэйфконтрол будет работать с отдельным журналом, не мешая копанию? Очень хорошо, открыл для себя функцию :o
Спасибо! Кстати, пишется она без "uo."?

upd: а, туплю. Конечно, с "уо".


Нет, не совсем :) Она будет удалять все строки журнала содержащие определенные сообщения.

сама функция:

Code: Select all

sub deljournal( msg )
  while uo.injournal( msg )
    uo.setjournalline( uo.injournal(msg) - 1, "" )
  wend
endsub


Используешь так:

Code: Select all

sub test()
    deljournal( 'текст' )
endsub

sub test2()
  if uo.injournal( 'текст' ) then
    deljournal( 'текст' )
  endif
endsub
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

korzh wrote:Нет, не совсем :) Она будет удалять все строки журнала содержащие определенные сообщения.

Вот оно что! И что же мне удалять в моем случае? ._.
Ведь если удалять двоеточие, скрипт все равно слетать будет.
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Виталь wrote:
korzh wrote:Нет, не совсем :) Она будет удалять все строки журнала содержащие определенные сообщения.

Вот оно что! И что же мне удалять в моем случае? ._.
Ведь если удалять двоеточие, скрипт все равно слетать будет.


Ну во первых удалять сообещния
revealed, Element, attacking you

Во вторых не чень понимаю зачем по двоеточию проверять?

Code: Select all

...
   while 1
      uo.deletejournal()
      while (not uo.InJournal('revealed') || not uo.Injournal('Element') || not .... и так все "опасные" сообщения
         wait(200)
      wend
....
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Потому что мне нужно проверять по нику, который в журнале появляется после слов «You see:». Однако на сообщение «You see:», в отличие от одинокого двоеточия, сэйфконтрол мистическим образом не реагирует. Проверял не один раз.
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Виталь wrote:Потому что мне нужно проверять по нику, который в журнале появляется после слов «You see:». Однако на сообщение «You see:», в отличие от одинокого двоеточия, сэйфконтрол мистическим образом не реагирует. Проверял не один раз.


Чтото не очень понял..
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

отладить скрипт, не представляет никакой сложности на месте...
не можешь понять что происходит... определись хотяб с местом...
за принтуй каждую строчку...
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

korzh wrote:Чтото не очень понял..

Ну проверка появления опасности :)
Когда пк приходит.
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Grin wrote:отладить скрипт, не представляет никакой сложности на месте...
не можешь понять что происходит... определись хотяб с местом...
за принтуй каждую строчку...

На элементалей реагирует, на пк — нет.
Не раз проверялось.
Обрезаешь до двоеточия — ведет себя, как надо.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

потому что ты гадаешь на кофейной гуще...
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Ладно, что спорить. Проверю еще раз. Спасибо за это.

А с вытягиванием ников поможете? А то записал только один раз — и то синего майнера в пк-шники.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Виталь wrote:О, блин. Забыл про контроль опасности, который запускается параллельно.

Может он и стирает журнал? о_о


Вот классический вариант для объяснения, что "телепаты в отпуске". Если уж ты забыл, то кто, интересно, может это помнить? Естественно, этот скрипт и трет тебе журнал. Более того, и мининг трет журнал для этого скрипта! Так что проверка на опасность весьма дырявая... Запомни: журнал у инжекта один на все скрипты. Решение - использование функции удаления конкретных строк из журнала. Что тебе и посоветовали.

Виталь wrote:Потому что мне нужно проверять по нику, который в журнале появляется после слов «You see:». Однако на сообщение «You see:», в отличие от одинокого двоеточия, сэйфконтрол мистическим образом не реагирует. Проверял не один раз.


Ну раз есть желание гробить время и проверять - флаг в руки. А надо было просто почитать форум, здесь неоднократно объяснялось, что фраза "You see:" добавляется клиентом УО в журнал этого самого клиента. А не в журнал инжекта. А инжект такую фразу не добавляет. А значит и шансов ее увидеть в журнале инжекта нет никаких.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Виталь
Posts: 97
Joined: 2005-08-09 23:16:57
Contact:

Post by Виталь »

Edred wrote:фраза "You see:" добавляется клиентом УО в журнал этого самого клиента. А не в журнал инжекта. А инжект такую фразу не добавляет. А значит и шансов ее увидеть в журнале инжекта нет никаких.

Ну заебца, так что мне все-таки тереть? :o
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Как, как... Молча. :lol:

В общем, так. Идешь в раздел со скриптами, там есть прилепленный топик "Наследство от Edred-а". Там есть мой скрипт на майнинг. В нем есть соответствующая аналогичная процедура, которая тоже запускается параллельно (автоматически, естественно). И отслеживает врагов, элемов и прочее. Разбираешь по косточкам и делаешь. Что непонятно - спрашиваешь.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Post Reply