Работа с журналом Injection, Как взять значение из журнала Injection |
Работа с журналом Injection, Как взять значение из журнала Injection |
Сообщений: 82 Рег. 7.09.2011 |
29 августа 2017 21:50
Сообщение #1
|
Подскажите пожалуйста, как взять значение из журнала Injection Например, мне нужно взять значение "1" из строки журнала "232]" Какой командой можно это сделать? Что бы например, при команде UO.print ( ??? ), отражалось значение взятое и строки "232]" Скорее всего это будет выглядеть примерно так: sub Journal() VAR i i = ??? UO.print ( str( i ) ) end sub |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
2 сентября 2017 16:47
Сообщение #2
|
Ещё вопрос, как передать переменную "i" из одного скрипта в другой скрипт? |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
12 сентября 2017 21:03
Сообщение #3
|
Ну подкиньте же кто-нибудь припер скрипта, как брать значение из журнал, будьте добренькими (= |
|
|
|
Сообщений: 516 Рег. 9.03.2016 |
13 сентября 2017 07:30
Сообщение #4
|
Пару способов: 1). 2). Легкий способ начать искать информацию. Аллен Карр 3). UO.InJournal("мессага журнала") |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
13 сентября 2017 22:39
Сообщение #5
|
DeaTh, как обращаться к журналу я знаю, мой вопрос заключался в том, как взять значение из этого самого журнала только из определённой строки, под номером например 232] и произнести его командой: uo.print( "Значение строки журнала = " +UO.InJournal( 232] ) ) Что бы на экране появилось сообщение "Значение строки журнала = 1" Если Вы в этом разбираетесь и Вам не составляет это труда, напишите пожалуйста рабочий пример кода, буду Вам очень признателен... |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
13 сентября 2017 23:10
Сообщение #6
|
Возможно ты не верно строишь задачу. Если ты знаешь такт когда ты должен получить ответ из журнала то проще счетчик x=x+1 сделать и уже на так бери значение журнала. Если ты знаешь сообщение то ищи сообщениее какой скрипт ты хочешь получить на выходе? PS Описание: Journal • Синтакс: Консоль: Только из скрипта. Из скрипта: Function UO.Journal(index) Введено с версии: <=1501.17 Тема: Команды скриптов Ключевые слова: Journal, Scripting, Function -------------------------------------------------------------------------------- Возвращает строку журнала Injection номер number. Journal(0) возвращает то же что и LastMessage. Предпочтительно использовать функцию InJournal для проверок в журнале. uo.Print(uo.Journal(10)) пробовал? |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
13 сентября 2017 23:44
Сообщение #7
|
Mirage, Знаю порядковый номер сообщения в журнале Injection "232]" нужно что бы он произнёс значение соответствующее этой строке то есть "1" в идеале хочу получить авто определение выполненных работ, путём запроса infogump из меню квестов, что бы скрипт сам определял, какие работы уже выполнены, то есть значение в строке соответствующей работы = 1 или 0, исходя из этого принимал решение, что ему делать или не делать, т.к. уже сделано... uo.Print(uo.Journal(10)) пробовал? Пробовал, никакого текста из журнала Injection он не произносит... Простите если я жёстко туплю, я не специально... |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
14 сентября 2017 10:27
Сообщение #8
|
Аа ну ты я так и думал замороился по жесткому :) В твоем случае возможны несколько вариантов: 1) логирование в текстовый файл (в физический файл а не жержать в журнале инжекта) данные о выполненных операциях. Потом уже работать с файлом. Ищи скрипты на добычу либо в хелпе посмотри работу с файлом. 2) загонять 0/1 в глобальную константу - что на мой взгляд проще. Глобалки используются в любом скрипте ДО выхода из игры. Соответственно второй способ рассчитан на более длительное присутствие и стабильный коннект. Как только вышел - глобалки сбросятся. Первый способ может работать даже после перелогина чара. Скрипт просто загрузит данные из текстового файла и будет продолжать с места завершения. sub Lootrunning() uo.setGlobal('running',1) uo.FindType(LootType,LootColour,'backpack') If uo.FindCount()> 0 then LootID = uo.getSerial('finditem') uo.setGlobal('LootBag',LootID) else uo.setGlobal('LootBag','backpack') endif end sub Sub Rez_Cleaver() UO.Set('quiet','1') if val(uo.getGlobal('running'))==1 then блаблабла пример с глобалками Если работы отображаются где то в профайле персонажа можно выцеплять через гампы. PS инжект не умеет работать со своим журналом. Только с игровым либо с текстовым файлом. |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
14 сентября 2017 23:04
Сообщение #9
|
Mirage, хочу сразу поблагодарить, за то что уделяешь мне время! Первый вариант конечно преимущественно интересней, второй понятно проще, но не так хорош как первый, т.к. после реконнекта мой скрипт не будет помнить, что он уже делал, а что нет, и начнёт выполнять всё с начала... А вот третий вариант с гампами мне кажется лучше всего, задумка в том, что бы скрипт каждый раз перед началом и после выполнения очередной работы сверялся с КвестГампом и определял, какие работы уже сделаны то есть == 1, а какие ещё нет, то есть == 0, и летел на неё, а не повторял все работы с первой по очереди тем самым, повторно выполняя одни и те же работы, расходуя при этом реги, заряды рун, силы и как следствие устаёт и не добирается до последних работ, которые не успел выполнить, а если во время отдыха произойдёт обрыв соединения, то опять начнёт всё с начала... Поэтому хочу сделать последовательную проверку выполненных работ перед началом работы: |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
22 октября 2017 00:49
Сообщение #10
|
Подскажите пожалуйста, какой коммандой в скрипте инжекта можно открыть Квест Гамп ? Подскажите как придать значению полученному от команды УО.ТАЙМЕР() формат времени 00:00:00(Часы:Минуты:Секунды) ? |
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
22 октября 2017 01:19
Сообщение #11
|
Цитата: Xottab Подскажите пожалуйста, какой коммандой в скрипте инжекта можно открыть Квест Гамп ? msg quest |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
22 октября 2017 14:36
Сообщение #12
|
Ggthxbye, спасибо добрый человек! Вот так просто пишет сообщение, но окно не открывается: uo.msg('quest') А вот так вообще ошибку выдаёт: msg quest Как правильно написать эту команду в скрипте, что бы окно quest появлялось? Имеется ввиду quest Gump(где перечислены все Квесты), а не quest вендора... |
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
22 октября 2017 18:11
Сообщение #13
|
Xottab, Ааа. Я думал квестолога окно тебе нужно.) Через инжу не знаю как, через уо у меня стоит на кнопку команда Open QuestLog. |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
22 октября 2017 20:16
Сообщение #14
|
Ggthxbye, поняно... Так я тоже сделал, и использовал команду press, что бы нажимать на это копку, но это как-то уж слишком через одно место сделано ()*(), мне кажется должна быть специальная команда, она же есть в Уо, а значит нужно просто понять как она пишется... |
|
|
|
Сообщений: 82 Рег. 7.09.2011 |
22 октября 2017 20:19
Сообщение #15
|
Может ещё кто подскажет, как получить значение - количество зарядов в руне? |
|
|
|
22 октября 2017 21:45
Сообщение #16
|
|
Цитата: Xottab Может ещё кто подскажет, как получить значение - количество зарядов в руне? каждые 1.0% Magery - 1 рекол заряд на руне при марке |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
23 октября 2017 08:35
Сообщение #17
|
LEMON, От имеет ввиду оставшееся количество прыжков :) За кнопку quest - раньше когда она была в хелп меню её можно было через гамп нажать, но хитрый Хосан убрал кнопку переместив её в профиль чара. Профильные кнопки инжект не умеет нажимать. Если только админ сжалица надо бедными скриптерами и введет команду .quest для посмотреть количество заказов :) |
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
23 октября 2017 13:51
Сообщение #18
|
Цитата: Xottab Может ещё кто подскажет, как получить значение - количество зарядов в руне? Клик по итему и отсечка текста в скобках с переводом в значение. Но, по практике, зачем знать количество, если отлично с этой задачей справляется автоперемарк по получению фразы: sub Mark(Rune) var OldTimer, OldMana if UO.InJournal('faded|fade') <> 0 then UO.Print('Mark rune') repeat CheckMana() OldTimer = Now() OldMana = UO.Mana; UO.Cast('Mark', Rune) repeat Wait(200) until UO.InJournalBetweenTimes('fizzles', OldTimer) <> 0 || UO.Mana < OldMana until UO.InJournalBetweenTimes('fizzles', OldTimer) <= 0 end if UO.DeleteJournal() end sub |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
23 октября 2017 15:42
Сообщение #19
|
faded пишется когда ты прилетаешь в точку по последнему заряду? А если филзанет на последнем? Интересно но природное ожидание непредвиденного пипца меня заставляет перемаркивать руны когда на них остается 10-15 зарядов. |
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
23 октября 2017 18:20
Сообщение #20
|
Mirage, Уже за 10 или за 15 зарядов тебе пишет при каждом реколу фразу "starting to fade". Я этой функцией пользуюсь в скриптах и еще ни разу не было такого, чтобы руны кончились. А при физле рекола заряды не тратятся. |
|
|
|
Сейчас: 23 ноября 2024 01:55 |