API UO JournalColor - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.JournalColor

Оглавление · Алфавитный указатель · Journal

ClassicUO • Runtime API

Читает поле hue строки по текущему индексу, не меняя выбранную запись.

Точный синтаксис

UO.JournalColor(index:Integer) -> String

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

  • index — Обязательный Integer — текущий индекс: 0 означает самую новую строку, 1 — предыдущую. Индексы сдвигаются при приходе сообщений. Это не serial, не ID варианта шаблона и не положительный результат InJournal.

Возвращает

String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

Поведение

  • Каждый вызов читает текущую позицию. Для согласованного текста и полей одной записи сначала Journal(index), затем GetFoundedText/Line*. Нулевые значения могут быть настоящими данными.
  • Семейство Basic Journal: https://forum.yoko.com.ua/viewtopic.php?p=27633 . Миллисекундная метка — адаптация к Now() этого runtime.

Примеры

Пример 1. Поле новой записи

# Поле новой записи
#
# Читает поле hue строки по текущему индексу, не меняя выбранную запись.
#
# String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

SUB Main()
    # 0 — индекс новой строки. Проверяется наличие буфера.
    # String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

    IF UO.HighJournal() >= 0 THEN
        VAR value = UO.JournalColor(0)
        UO.Print(STR(value))
    END IF
END SUB

Разбор параметров и выполнения:

  • 0 — индекс новой строки. Проверяется наличие буфера.
  • String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

Пример 2. Поле предыдущей записи

# Поле предыдущей записи
#
# Читает поле hue строки по текущему индексу, не меняя выбранную запись.
#
# String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

SUB Main()
    # 1 — предыдущая строка, не serial=1.
    # Выбранная поиском запись GetFoundedText/Line* не изменяется.

    IF UO.HighJournal() >= 1 THEN
        VAR value = UO.JournalColor(1)
        UO.Print(STR(value))
    END IF
END SUB

Разбор параметров и выполнения:

  • 1 — предыдущая строка, не serial=1.
  • Выбранная поиском запись GetFoundedText/Line* не изменяется.

Пример 3. Сохранить значение перед следующим действием

# Сохранить значение перед следующим действием
#
# Читает поле hue строки по текущему индексу, не меняя выбранную запись.
#
# String — UO hue как 0x0044; при неверном индексе 0x0000. Это не RGB.

SUB Main()
    # value копирует поле на момент вызова. Ожидание не обновляет переменную.
    # Чтобы снова читать текущую строку 0, вызовите команду ещё раз; это уже может быть другая
    # запись.

    VAR value = UO.JournalColor(0)
    UO.Wait(100)
    UO.Print('Saved value: ' + STR(value))
END SUB

Разбор параметров и выполнения:

  • value копирует поле на момент вызова. Ожидание не обновляет переменную.
  • Чтобы снова читать текущую строку 0, вызовите команду ещё раз; это уже может быть другая запись.