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

UO.LineCount

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

ClassicUO • Runtime API

Читает количество подходящих строк последнего поиска.

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

UO.LineCount() -> Any

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

Параметры

Параметров нет.

Возвращает

Integer — число совпавших записей в последней проверенной области. 0 при отсутствии совпадений; при newestOnly=TRUE не больше 1. Это не число строк всего журнала, не число вхождений подстроки в одном сообщении и не позиция найденного текста.

Поведение

  • Поиск учитывает лимит, время, serial, hue и одноаргументный SetJournalLine. Прямое Journal/GetJournal не пересчитывает счётчик. Очистка сбрасывает его. Счётчик принадлежит мосту текущего скрипта.
  • Первичный справочник: https://stealth.od.ua/api/LineCount/ .

Примеры

Пример 1. Все совпадения

# Все совпадения
#
# Читает количество подходящих строк последнего поиска.
#
# Integer — число совпавших записей в последней проверенной области. 0 при отсутствии
# совпадений; при newestOnly=TRUE не больше 1. Это не число строк всего журнала, не число
# вхождений подстроки в одном сообщении и не позиция найденного текста.

SUB Main()
    # Поиск без лимита и регистра. Считаются строки, а не количество ore внутри строки.
    # result — позиция плюс 1; matches — отдельное количество.

    VAR result = UO.InJournal('ore', -1)
    VAR matches = UO.LineCount()
    UO.Print(STR(matches))
END SUB

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

  • Поиск без лимита и регистра. Считаются строки, а не количество ore внутри строки.
  • result — позиция плюс 1; matches — отдельное количество.

Пример 2. Совпадения среди последних десяти строк

# Совпадения среди последних десяти строк
#
# Читает количество подходящих строк последнего поиска.
#
# Integer — число совпавших записей в последней проверенной области. 0 при отсутствии
# совпадений; при newestOnly=TRUE не больше 1. Это не число строк всего журнала, не число
# вхождений подстроки в одном сообщении и не позиция найденного текста.

SUB Main()
    # 10 — максимум проверяемых строк; регистр учитывается.
    # Количество может быть от 0 до 10, даже если более старых совпадений намного больше.

    VAR result = UO.InJournal('ore', 10)
    UO.Print(STR(UO.LineCount()))
END SUB

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

  • 10 — максимум проверяемых строк; регистр учитывается.
  • Количество может быть от 0 до 10, даже если более старых совпадений намного больше.

Пример 3. Поиск с ранним завершением

# Поиск с ранним завершением
#
# Читает количество подходящих строк последнего поиска.
#
# Integer — число совпавших записей в последней проверенной области. 0 при отсутствии
# совпадений; при newestOnly=TRUE не больше 1. Это не число строк всего журнала, не число
# вхождений подстроки в одном сообщении и не позиция найденного текста.

SUB Main()
    # serial/color=-1, время=0/0 — фильтры отключены. TRUE останавливает поиск на первой подходящей
    # строке.
    # checkedMatches равен 0 или 1 и не показывает общее число совпадений во всём журнале.

    VAR result = UO.InJournal('ore', -1, -1, 0, 0, TRUE, FALSE)
    VAR checkedMatches = UO.LineCount()
    UO.Print(STR(checkedMatches))
END SUB

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

  • serial/color=-1, время=0/0 — фильтры отключены. TRUE останавливает поиск на первой подходящей строке.
  • checkedMatches равен 0 или 1 и не показывает общее число совпадений во всём журнале.