-
Notifications
You must be signed in to change notification settings - Fork 0
API UO WaitingForJournalText
Codex edited this page Sep 19, 2026
·
5 revisions
Оглавление · Алфавитный указатель · Journal
ClassicUO • Runtime API
Ожидает текст с дополнительными режимами сравнения и необязательным запуском навыка/предмета.
UO.WaitingForJournalText(startTime:Integer, maxDelay:Integer, text:String) -> Unit
UO.WaitingForJournalText(startTime:Integer, maxDelay:Integer, text:String, equals:Integer) -> Unit
UO.WaitingForJournalText(startTime:Integer, maxDelay:Integer, text:String, equals:Integer, ignoreCase:Integer) -> Unit
UO.WaitingForJournalText(startTime:Integer, maxDelay:Integer, text:String, equals:Integer, ignoreCase:Integer, skillNameOrObjectId:Any) -> Unit
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
startTime— Обязательная метка Now(), Integer миллисекунд от начала runtime. Проверяются строки с меткой не меньше startTime; 0 включает записи с нулевой меткой. -
maxDelay— Обязательный максимум ожидания в миллисекундах. 0 и отрицательные значения означают один немедленный проход, а не бесконечное ожидание. -
text— Искомая подстрока или несколько альтернатив через |, например success|failed. Пробелы по краям каждой альтернативы удаляются, пустые альтернативы пропускаются. Это обычный текст, не регулярное выражение. Используйте непустой шаблон. -
equals— Необязательный Integer: 0 (по умолчанию) — подстрока; ненулевое значение — весь текст должен совпасть с одной альтернативой. -
ignoreCase— Необязательный Integer: 0 (по умолчанию) — учитывать регистр; ненулевое — не учитывать. -
skillNameOrObjectId— Необязательный навык по имени, serial/hex-строка или разрешаемый алиас объекта. Сначала распознаётся название навыка, иначе используется объект. 0/пустая строка отключают действие. Навык/предмет запускается один раз перед поиском.
Unit — возвращаемого значения нет, не присваивайте вызов переменной. После завершения GetFoundedTextIndex >= 0 означает, что выбранная запись ещё доступна; -1 — не найдено/запись удалена. GetFoundedTextID показывает совпавшую альтернативу только при успешном выборе.
- Поиск и Journal/GetJournal/LastJournalMessage сохраняют текст и поля одной записи в текущем скрипте. Новые сообщения не подменяют эти поля. Если запись вытеснена из ограниченного журнала, сохранённые поля остаются, но LineIndex/GetFoundedTextIndex возвращают -1. Следующий поиск или чтение выбирает другую запись; неудачный поиск, неверный индекс и очистка через этот скрипт сбрасывают выбор.
- Опрос с паузой до 25 мс; остановка скрипта прерывает его. Пустой список альтернатив не находит текст. Для Boolean результата используйте WaitJournalLine с его собственными параметрами и смыслом нулевого тайм-аута.
# Ожидать одну подстроку
#
# Ожидает текст с дополнительными режимами сравнения и необязательным запуском навыка/предмета.
#
# Unit — возвращаемого значения нет, не присваивайте вызов переменной. После завершения
# GetFoundedTextIndex >= 0 означает, что выбранная запись ещё доступна; -1 — не найдено/запись
# удалена. GetFoundedTextID показывает совпавшую альтернативу только при успешном выборе.
SUB Main()
# startTime — метка до ожидания; maxDelay=2000 мс; сравнение подстроки с учётом регистра.
# Команда не возвращает TRUE/FALSE: проверяется выбранная запись.
VAR started = Now()
UO.WaitingForJournalText(started, 2000, 'notice')
IF UO.GetFoundedTextIndex() >= 0 THEN
UO.Print(UO.GetFoundedText())
END IF
END SUBРазбор параметров и выполнения:
- startTime — метка до ожидания; maxDelay=2000 мс; сравнение подстроки с учётом регистра.
- Команда не возвращает TRUE/FALSE: проверяется выбранная запись.
# Точное совпадение без регистра
#
# Ожидает текст с дополнительными режимами сравнения и необязательным запуском навыка/предмета.
#
# Unit — возвращаемого значения нет, не присваивайте вызов переменной. После завершения
# GetFoundedTextIndex >= 0 означает, что выбранная запись ещё доступна; -1 — не найдено/запись
# удалена. GetFoundedTextID показывает совпавшую альтернативу только при успешном выборе.
SUB Main()
# startTime=0; maxDelay=0 — один проход. equals=1 — весь текст, ignoreCase=1 — без регистра.
# Выводится номер альтернативы 0 или 1; длинная строка с дополнительными словами не подойдёт.
UO.WaitingForJournalText(0, 0, 'success|failed', 1, 1)
IF UO.GetFoundedTextIndex() >= 0 THEN
UO.Print(STR(UO.GetFoundedTextID()))
END IF
END SUBРазбор параметров и выполнения:
- startTime=0; maxDelay=0 — один проход. equals=1 — весь текст, ignoreCase=1 — без регистра.
- Выводится номер альтернативы 0 или 1; длинная строка с дополнительными словами не подойдёт.
# Запустить навык и ожидать результат
#
# Ожидает текст с дополнительными режимами сравнения и необязательным запуском навыка/предмета.
#
# Unit — возвращаемого значения нет, не присваивайте вызов переменной. После завершения
# GetFoundedTextIndex >= 0 означает, что выбранная запись ещё доступна; -1 — не найдено/запись
# удалена. GetFoundedTextID показывает совпавшую альтернативу только при успешном выборе.
SUB Main()
# Шестой аргумент Hiding запускает навык один раз. equals=0 — подстрока, ignoreCase=1 — без
# регистра.
# Слова hidden/failed — примеры, замените текстом своего сервера. Вместо навыка можно указать
# serial или lastobject для использования предмета.
VAR started = Now()
UO.WaitingForJournalText(started, 3000, 'hidden|failed', 0, 1, 'Hiding')
IF UO.GetFoundedTextIndex() >= 0 THEN
UO.Print(UO.GetFoundedText())
END IF
END SUBРазбор параметров и выполнения:
- Шестой аргумент Hiding запускает навык один раз. equals=0 — подстрока, ignoreCase=1 — без регистра.
- Слова hidden/failed — примеры, замените текстом своего сервера. Вместо навыка можно указать serial или lastobject для использования предмета.
ClassicUO - Bad Newbie & Basic IDE Edition