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

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:" добавляется клиентом УО в журнал этого самого клиента. А не в журнал инжекта. А инжект такую фразу не добавляет. А значит и шансов ее увидеть в журнале инжекта нет никаких.
Ни один скрипт не работает? Пора обновить [url=http://www.eof.nm.ru/FiLeS/uoloop.exe]Инжект[/url]...
Все работает, но хочется большего? Пора переходить на [url=http://stealth.od.ua/]стелс[/url]...
Виталь
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-а". Там есть мой скрипт на майнинг. В нем есть соответствующая аналогичная процедура, которая тоже запускается параллельно (автоматически, естественно). И отслеживает врагов, элемов и прочее. Разбираешь по косточкам и делаешь. Что непонятно - спрашиваешь.
Ни один скрипт не работает? Пора обновить [url=http://www.eof.nm.ru/FiLeS/uoloop.exe]Инжект[/url]...
Все работает, но хочется большего? Пора переходить на [url=http://stealth.od.ua/]стелс[/url]...
Post Reply