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

UO.GetClilocByID

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

ClassicUO • Runtime API

Переводит шаблон cliloc из игровых файлов и подставляет переданные параметры.

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

UO.GetClilocByID(ClilocID:Any, Params:Any) -> Any

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

Параметры

  • ClilocID — Обязательный Integer — ID локализованного сообщения, не serial объекта и не graphic. Например, номер из row[0] результата GetTooltipRec.
  • Params — Обязательный Array подстановок в порядке 1_..., 2_.... Допускается одно скалярное значение: оно превращается в массив из одной строки. Для шаблона без параметров можно передать пустую строку. Элемент #число ссылается на другой cliloc. Элементы преобразуются в строки; предпочтительнее передавать строки явно.

Возвращает

String — переведённый шаблон с подстановками из Params. При отсутствии загрузчика cliloc возвращается пустая строка. При неизвестном ID загруженный ClilocLoader возвращает диагностический текст MegaCliloc: missing с этим номером и подставленными параметрами. Не возвращает cliloc ID или признак успеха.

Поведение

  • Читает игровые файлы и не отправляет сетевой запрос. Params соединяются табуляцией и передаются ClilocLoader. Внешняя функция DWScript имеет дополнительную форму без Params; в этой регистрации BASIC оба аргумента обязательны.
  • Для свойств объекта сначала GetTooltipRec(ObjID): номер сообщения и объект — разные ID. Для готового текста всех свойств используйте GetTooltip(ObjID).
  • Первичный справочник: https://stealth.od.ua/api/GetClilocByID/ .

Примеры

Пример 1. Шаблон без подстановок

# Шаблон без подстановок
#
# Переводит шаблон cliloc из игровых файлов и подставляет переданные параметры.
#
# Stringпереведённый шаблон с подстановками из Params. При отсутствии загрузчика cliloc
# возвращается пустая строка. При неизвестном ID загруженный ClilocLoader возвращает
# диагностический текст MegaCliloc: missing с этим номером и подставленными параметрами. Не
# возвращает cliloc ID или признак успеха.

SUB Main()
    # ClilocID=1042971пример номера; замените нужным. Paramsпустая строка, переданная как
    # единственное пустое значение.
    # Для шаблона без маркеров подстановки пустой параметр не меняет текст. Если шаблон ожидает
    # данные, передайте массив как в следующем примере.

    VAR text = UO.GetClilocByID(1042971, '')
    UO.Print(text)
END SUB

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

  • ClilocID=1042971 — пример номера; замените нужным. Params — пустая строка, переданная как единственное пустое значение.
  • Для шаблона без маркеров подстановки пустой параметр не меняет текст. Если шаблон ожидает данные, передайте массив как в следующем примере.

Пример 2. Передать два значения

# Передать два значения
#
# Переводит шаблон cliloc из игровых файлов и подставляет переданные параметры.
#
# Stringпереведённый шаблон с подстановками из Params. При отсутствии загрузчика cliloc
# возвращается пустая строка. При неизвестном ID загруженный ClilocLoader возвращает
# диагностический текст MegaCliloc: missing с этим номером и подставленными параметрами. Не
# возвращает cliloc ID или признак успеха.

SUB Main()
    # ClilocID=1042971пример шаблона. args[0] и args[1] занимают позиции первого и второго
    # параметра.
    # Индекс DIM[1] создаёт два элемента: от 0 до 1. Используйте ID шаблона, который ожидает
    # соответствующие параметры.

    DIM args[1]
    args[0] = 'iron'
    args[1] = 'ingot'
    UO.Print(UO.GetClilocByID(1042971, args))
END SUB

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

  • ClilocID=1042971 — пример шаблона. args[0] и args[1] занимают позиции первого и второго параметра.
  • Индекс DIM[1] создаёт два элемента: от 0 до 1. Используйте ID шаблона, который ожидает соответствующие параметры.

Пример 3. Перевести первое реальное свойство

# Перевести первое реальное свойство
#
# Переводит шаблон cliloc из игровых файлов и подставляет переданные параметры.
#
# Stringпереведённый шаблон с подстановками из Params. При отсутствии загрузчика cliloc
# возвращается пустая строка. При неизвестном ID загруженный ClilocLoader возвращает
# диагностический текст MegaCliloc: missing с этим номером и подставленными параметрами. Не
# возвращает cliloc ID или признак успеха.

SUB Main()
    # Первый аргументclilocID свойства; второйего готовый массив Params.
    # Проверяется наличие хотя бы одной записи. Все параметры получены от сервера и передаются
    # вместе с их ID.

    VAR rows = UO.GetTooltipRec('lasttarget')
    IF GetArrayLength(rows) > 0 THEN
        VAR row = rows[0]
        UO.Print(UO.GetClilocByID(row[0], row[1]))
    END IF
END SUB

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

  • Первый аргумент — clilocID свойства; второй — его готовый массив Params.
  • Проверяется наличие хотя бы одной записи. Все параметры получены от сервера и передаются вместе с их ID.
⚠️ **GitHub.com Fallback** ⚠️