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')
Скорее всего,
просто отрезает выведение любых сообщений инжи, и дальнейшие установки фильтра сообщений ни к чему не приводят. Может быть я ошибаюсь?