Майнинг останавливается
Moderators: Murderator+, Murderator
Инжект: 712.28
Клиент: 203
Шард: DrW
> правда ли на этом шарде можно копать квадрат 9х9 вокруг чара
Правда. От 4,4, до -4,-4.
Когда достать не может (сталагмит или нет тайла), пишет "too far".
Он просто не реагирует на сообщение о результате. Начинает копать тайл, выкапывает (или не выкапывает) и стоит тупит, пока я не копну еще раз, чтобы отослать результат.
Мой единственный вариант — это лаги (инвизку в сейфе он тоже иногда не находит), потому как коннект последние несколько дней в полной заднице из-за помехов на линии, а до этого проблемы не наблюдалось. Но дело в том, что скрипт я закончил именно в период хренового инета, поэтому уверенно рассуждать не могу.
Клиент: 203
Шард: DrW
> правда ли на этом шарде можно копать квадрат 9х9 вокруг чара
Правда. От 4,4, до -4,-4.
Когда достать не может (сталагмит или нет тайла), пишет "too far".
Он просто не реагирует на сообщение о результате. Начинает копать тайл, выкапывает (или не выкапывает) и стоит тупит, пока я не копну еще раз, чтобы отослать результат.
Мой единственный вариант — это лаги (инвизку в сейфе он тоже иногда не находит), потому как коннект последние несколько дней в полной заднице из-за помехов на линии, а до этого проблемы не наблюдалось. Но дело в том, что скрипт я закончил именно в период хренового инета, поэтому уверенно рассуждать не могу.
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
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
korzh wrote:Cоответсвенно благодаря скрипту safecontrol() у тебя каждые ~0.2секунды чиститься журнал, вне зависимости от того копает ли чар, пряечтся и тд. Испольуй deljournal() и пусть у тебя голова не болит
Я так понял, сэйфконтрол будет работать с отдельным журналом, не мешая копанию? Очень хорошо, открыл для себя функцию

Спасибо! Кстати, пишется она без "uo."?
upd: а, туплю. Конечно, с "уо".
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
Ое! Спасибо большое!
К сожалению, сейчас не могу опробовать, но как опробую, обязательно отпишусь! Чую, этим все не закончится

Виталь wrote:korzh wrote:Cоответсвенно благодаря скрипту safecontrol() у тебя каждые ~0.2секунды чиститься журнал, вне зависимости от того копает ли чар, пряечтся и тд. Испольуй deljournal() и пусть у тебя голова не болит
Я так понял, сэйфконтрол будет работать с отдельным журналом, не мешая копанию? Очень хорошо, открыл для себя функцию![]()
Спасибо! Кстати, пишется она без "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
Виталь 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
....
Виталь wrote:О, блин. Забыл про контроль опасности, который запускается параллельно.
Может он и стирает журнал? о_о
Вот классический вариант для объяснения, что "телепаты в отпуске". Если уж ты забыл, то кто, интересно, может это помнить? Естественно, этот скрипт и трет тебе журнал. Более того, и мининг трет журнал для этого скрипта! Так что проверка на опасность весьма дырявая... Запомни: журнал у инжекта один на все скрипты. Решение - использование функции удаления конкретных строк из журнала. Что тебе и посоветовали.
Виталь wrote:Потому что мне нужно проверять по нику, который в журнале появляется после слов «You see:». Однако на сообщение «You see:», в отличие от одинокого двоеточия, сэйфконтрол мистическим образом не реагирует. Проверял не один раз.
Ну раз есть желание гробить время и проверять - флаг в руки. А надо было просто почитать форум, здесь неоднократно объяснялось, что фраза "You see:" добавляется клиентом УО в журнал этого самого клиента. А не в журнал инжекта. А инжект такую фразу не добавляет. А значит и шансов ее увидеть в журнале инжекта нет никаких.
Как, как... Молча.
В общем, так. Идешь в раздел со скриптами, там есть прилепленный топик "Наследство от Edred-а". Там есть мой скрипт на майнинг. В нем есть соответствующая аналогичная процедура, которая тоже запускается параллельно (автоматически, естественно). И отслеживает врагов, элемов и прочее. Разбираешь по косточкам и делаешь. Что непонятно - спрашиваешь.

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