-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetFoundedTextID
Codex edited this page Sep 19, 2026
·
5 revisions
Оглавление · Алфавитный указатель · Journal
ClassicUO • Runtime API
Возвращает номер совпавшей альтернативы поискового шаблона.
UO.GetFoundedTextID() -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметров нет.
Integer — индекс от 0 в списке непустых альтернатив через |: success|failed даёт 0 для success и 1 для failed. При нескольких подходящих альтернативах берётся первая в шаблоне. Без совпадения или после прямого Journal также 0. Это не serial автора, не номер строки и не type сообщения.
- Поиск и Journal/GetJournal/LastJournalMessage сохраняют текст и поля одной записи в текущем скрипте. Новые сообщения не подменяют эти поля. Если запись вытеснена из ограниченного журнала, сохранённые поля остаются, но LineIndex/GetFoundedTextIndex возвращают -1. Следующий поиск или чтение выбирает другую запись; неудачный поиск, неверный индекс и очистка через этот скрипт сбрасывают выбор.
- Сначала проверяйте результат поиска > 0. Значение 0 само по себе не подтверждает успех. Пробелы по краям и пустые альтернативы удаляются до нумерации.
- Первичные справочники: https://forum.yoko.com.ua/viewtopic.php?p=27633 ; https://stealth.od.ua/api/FoundedParamId/ . В этой адаптации ID означает альтернативу, поля автора и типа доступны отдельно через LineID/LineMsgType.
# Два исхода
#
# Возвращает номер совпавшей альтернативы поискового шаблона.
#
# Integer — индекс от 0 в списке непустых альтернатив через |: success|failed даёт 0 для success
# и 1 для failed. При нескольких подходящих альтернативах берётся первая в шаблоне. Без
# совпадения или после прямого Journal также 0. Это не serial автора, не номер строки и не type
# сообщения.
SUB Main()
# success — альтернатива 0, failed — альтернатива 1. Успех поиска проверяется отдельно.
# Это анализ текста, а не подтверждение игровой операции сервером.
IF UO.InJournal('success|failed') > 0 THEN
VAR outcome = UO.GetFoundedTextID()
IF outcome = 0 THEN
UO.Print('Success text')
ELSE
UO.Print('Failure text')
END IF
END IF
END SUBРазбор параметров и выполнения:
- success — альтернатива 0, failed — альтернатива 1. Успех поиска проверяется отдельно.
- Это анализ текста, а не подтверждение игровой операции сервером.
# Три исхода без регистра
#
# Возвращает номер совпавшей альтернативы поискового шаблона.
#
# Integer — индекс от 0 в списке непустых альтернатив через |: success|failed даёт 0 для success
# и 1 для failed. При нескольких подходящих альтернативах берётся первая в шаблоне. Без
# совпадения или после прямого Journal также 0. Это не serial автора, не номер строки и не type
# сообщения.
SUB Main()
# -1 отключает регистр. Результаты 0, 1, 2 соответствуют порядку альтернатив.
# Если строка содержит несколько вариантов, возвращается первый подходящий по порядку шаблона.
IF UO.InJournal('mining|ore|empty', -1) > 0 THEN
VAR kind = UO.GetFoundedTextID()
UO.Print('Alternative: ' + STR(kind))
END IF
END SUBРазбор параметров и выполнения:
- -1 отключает регистр. Результаты 0, 1, 2 соответствуют порядку альтернатив.
- Если строка содержит несколько вариантов, возвращается первый подходящий по порядку шаблона.
# Сохранить исход перед чтением другой строки
#
# Возвращает номер совпавшей альтернативы поискового шаблона.
#
# Integer — индекс от 0 в списке непустых альтернатив через |: success|failed даёт 0 для success
# и 1 для failed. При нескольких подходящих альтернативах берётся первая в шаблоне. Без
# совпадения или после прямого Journal также 0. Это не serial автора, не номер строки и не type
# сообщения.
SUB Main()
# Journal(0) меняет выбор и сбрасывает ID альтернативы, поэтому outcome сохраняется заранее.
# Новый вызов getter после Journal уже не описывает предыдущий шаблон.
IF UO.InJournal('success|failed') > 0 THEN
VAR outcome = UO.GetFoundedTextID()
VAR latest = UO.Journal(0)
UO.Print('Saved outcome: ' + STR(outcome))
END IF
END SUBРазбор параметров и выполнения:
- Journal(0) меняет выбор и сбрасывает ID альтернативы, поэтому outcome сохраняется заранее.
- Новый вызов getter после Journal уже не описывает предыдущий шаблон.
ClassicUO - Bad Newbie & Basic IDE Edition