API UO JournalSerial - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.JournalSerial
Оглавление · Алфавитный указатель · Journal
ClassicUO • Runtime API
Читает поле serial строки по текущему индексу, не меняя выбранную запись.
Точный синтаксис
UO.JournalSerial(index:Integer) -> String
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
index— Обязательный Integer — текущий индекс: 0 означает самую новую строку, 1 — предыдущую. Индексы сдвигаются при приходе сообщений. Это не serial, не ID варианта шаблона и не положительный результат InJournal.
Возвращает
String — serial автора как 0x00001234; при неверном индексе 0x00000000.
Поведение
- Каждый вызов читает текущую позицию. Для согласованного текста и полей одной записи сначала Journal(index), затем GetFoundedText/Line*. Нулевые значения могут быть настоящими данными.
- Семейство Basic Journal: https://forum.yoko.com.ua/viewtopic.php?p=27633 . Миллисекундная метка — адаптация к Now() этого runtime.
Примеры
Пример 1. Поле новой записи
# Поле новой записи
#
# Читает поле serial строки по текущему индексу, не меняя выбранную запись.
#
# String — serial автора как 0x00001234; при неверном индексе 0x00000000.
SUB Main()
# 0 — индекс новой строки. Проверяется наличие буфера.
# String — serial автора как 0x00001234; при неверном индексе 0x00000000.
IF UO.HighJournal() >= 0 THEN
VAR value = UO.JournalSerial(0)
UO.Print(STR(value))
END IF
END SUB
Разбор параметров и выполнения:
- 0 — индекс новой строки. Проверяется наличие буфера.
- String — serial автора как 0x00001234; при неверном индексе 0x00000000.
Пример 2. Поле предыдущей записи
# Поле предыдущей записи
#
# Читает поле serial строки по текущему индексу, не меняя выбранную запись.
#
# String — serial автора как 0x00001234; при неверном индексе 0x00000000.
SUB Main()
# 1 — предыдущая строка, не serial=1.
# Выбранная поиском запись GetFoundedText/Line* не изменяется.
IF UO.HighJournal() >= 1 THEN
VAR value = UO.JournalSerial(1)
UO.Print(STR(value))
END IF
END SUB
Разбор параметров и выполнения:
- 1 — предыдущая строка, не serial=1.
- Выбранная поиском запись GetFoundedText/Line* не изменяется.
Пример 3. Сохранить значение перед следующим действием
# Сохранить значение перед следующим действием
#
# Читает поле serial строки по текущему индексу, не меняя выбранную запись.
#
# String — serial автора как 0x00001234; при неверном индексе 0x00000000.
SUB Main()
# value копирует поле на момент вызова. Ожидание не обновляет переменную.
# Чтобы снова читать текущую строку 0, вызовите команду ещё раз; это уже может быть другая
# запись.
VAR value = UO.JournalSerial(0)
UO.Wait(100)
UO.Print('Saved value: ' + STR(value))
END SUB
Разбор параметров и выполнения:
- value копирует поле на момент вызова. Ожидание не обновляет переменную.
- Чтобы снова читать текущую строку 0, вызовите команду ещё раз; это уже может быть другая запись.