Page 1 of 1
uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-20 10:10:40
by DreadDy
Суть проблемы в том, что внутрь скрипта CheckLag() уже встроена процедура uo.DeleteJournal(), что приводит к удалению нужных для основного скрипта записей. Можно ли каким-то образом ограничить очистку журнала процедурой uo.DeleteJournal() текстом "a backpack"? uo.DeleteJournal("a backpack") не помогает

Пример использования
.......
repeat
checklag()
until uo.InJournal(msg1) or uo.InJournal(msg2)
if uo.InJournal(msg1) then
.......В итоге чар зацикливается на клацанье по рюкзаку.
Сам CheckLag()
Sub checklag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
end if
uo.DeleteJournal('a backpack') ; изначально
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('a backpack')
end subПожалуйста, подскажите как выйти из положения либо дайте наводку на альтернативный CheckLag().
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-20 10:33:41
by Irina E
Code: Select all
sub checklag()
repeat
UO.DeleteJournal()
UO.Click('backpack')
until backpack()==1
endsub
sub backpack()
var n
for n=0 to 200
if uo.injournal('a backpack') then
return 1
endif
wait(200)
next
endsub
пробуй вот этот
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-20 12:43:13
by Mirage
Мне кажется он спросил вот про это:
Code: Select all
Sub checklag()
DeleteJournal("ackpack")
UO.Click("backpack")
repeat
wait(100)
until UO.InJournal("ackpack")
end sub
Sub DeleteJournal(msg)
While UO.InJournal(msg)
UO.SetJournalLine(UO.InJournal(msg) - 1,'')
wend
endsub
если надо очистить весь журнал в игре пишется
UO.DeleteJournal()
Если требуется стереть конкретную строку
DeleteJournal("ackpack") ; без префикса UO.
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-20 13:39:40
by Irina E
ок
а как там моЙ скрипт
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-20 14:11:14
by Mirage
в процессе.
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-21 21:48:51
by DreadDy
Mirage wrote:Если требуется стереть конкретную строку
DeleteJournal("ackpack") ; без префикса UO.
как раз это я и имел в виду!
Сделал как ты предложил и получил: "Line 351: Function not found - DELETEJOURNAL". Может быть у меня трабл с инжой, что она такую функцию не распознает? Версия YokoInjection 702.11 PaWn, Script parser version: 0.3, Yoko Build 212.11. Играю на Dragon World.
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-21 22:21:51
by Mirage
нужно целиком копировать мой кусок скрипта.
С префиксом
UO. команды встроенны в инжект. Без UO. это функция которую надо прописывать. У меня как раз и есть эта функция. Если ее не вставлять в них скрипта то просто строка
DeleteJournal("ackpack")
будет вызывать ошибку.
Code: Select all
Sub DeleteJournal(msg)
While UO.InJournal(msg)
UO.SetJournalLine(UO.InJournal(msg) - 1,'')
wend
endsub
в конце скрипта вставь куданибудь.
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-22 19:45:06
by DreadDy
Извиняюсь за тупню... Вкурил что к чему

В первый раз невнимательно просмотрел код.
Спасибо БОЛЬШОЕ тебе,
Mirage! Как тебе в рейтинг плюсик поставить?

Кстати, раз уж тут был оффтоп, то и я не буду стесняться

Скажите, пожалуйста, uo.FilterSpeech не поддерживается на инже 702,11? Или изменился синтаксис процедуры?
Code: Select all
uo.FilterSpeech('on')
uo.FilterSpeech('add','Items found: 0')
на YokoInjection 505.18 VeNdOr работает, на YokoInjection 702.11 PaWn нет

Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-22 21:24:53
by Mirage
должен работать. Проверяй правильно ли написал фразу. Ее лучше скопировать а не набирать руками.
Code: Select all
Sub REZ()
var body = '0x2006'
var dagger = '0x0F51'
var corpse
UO.Set('quiet','1')
uo.set('finddistance', '3')
UO.filterspeech('clear')
UO.filterspeech('add','[Surprize ! Fast loot detected!]')
UO.filterspeech('add','[Зафиксирована ловкость рук]')
UO.filterspeech('on')
uo.findtype(body, -1, 'ground')
if uo.findcount() and Uo.GetDistance( 'finditem' ) < 3 then
var x = uo.GetGraphic(uo.ObjAtLayer('Lhand'))
var y = uo.GetGraphic(uo.ObjAtLayer('Rhand'))
uo.warmode(0)
wait(500)
corpse = uo.getSerial("finditem")
UO.WaitTargetObject(corpse)
UO.UseType(dagger)
wait(1000)
uo.Equipt('Lhand',x)
uo.Equipt('Rhand',y)
Loot()
uo.warmode(1)
endif
UO.Set('quiet','0')
end sub
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-22 21:33:50
by Irina E
мне интересна много ли осталось в моём скрипте работы?
Re: uo.DeleteJournal(...) или альтернативный CheckLag()
Posted: 2011-02-26 10:08:17
by DreadDy
Использовал, поменяв фильтр, но нужного результат не дало - инжа наглухо замолчала

Code: Select all
UO.Set('quiet','1')
UO.filterspeech('clear')
UO.filterspeech('add','Items found: 0')
UO.filterspeech('on')
Скорее всего,
просто отрезает выведение любых сообщений инжи, и дальнейшие установки фильтра сообщений ни к чему не приводят. Может быть я ошибаюсь?