API Hex - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Hex
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Форматирует целое в шестнадцатеричный текст.
Точный синтаксис
Hex(value:Integer) -> String
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
value— Знаковое целое Int32. Отрицательные значения представляются своими 32 битами в дополнительном коде.
Возвращает
String — цифры 0..9/A..F без префикса 0x и без фиксированной минимальной ширины. Hex(0) даёт "0", Hex(-1) — "FFFFFFFF". Это текст, не graphic и не serial сам по себе.
Поведение
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
Примеры
Пример 1. Графический type как hex
# Графический type как hex
#
# Форматирует целое в шестнадцатеричный текст.
#
# String — цифры 0..9/A..F без префикса 0x и без фиксированной минимальной ширины. Hex(0) даёт
# "0", Hex(-1) — "FFFFFFFF". Это текст, не graphic и не serial сам по себе.
SUB Main()
# 3821 — десятичное значение 0x0EED.
# Ожидаемый результат: строка EED. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = Hex(3821)
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- 3821 — десятичное значение 0x0EED.
- Ожидаемый результат: строка EED. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Добавить префикс для вывода serial
# Добавить префикс для вывода serial
#
# Форматирует целое в шестнадцатеричный текст.
#
# String — цифры 0..9/A..F без префикса 0x и без фиксированной минимальной ширины. Hex(0) даёт
# "0", Hex(-1) — "FFFFFFFF". Это текст, не graphic и не serial сам по себе.
SUB Main()
# Префикс добавляется явно; число сохраняет все 32 бита.
# Ожидаемый результат: строка 0x40001234. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = '0x' + Hex(0x40001234)
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Префикс добавляется явно; число сохраняет все 32 бита.
- Ожидаемый результат: строка 0x40001234. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Знаковое отрицательное значение
# Знаковое отрицательное значение
#
# Форматирует целое в шестнадцатеричный текст.
#
# String — цифры 0..9/A..F без префикса 0x и без фиксированной минимальной ширины. Hex(0) даёт
# "0", Hex(-1) — "FFFFFFFF". Это текст, не graphic и не serial сам по себе.
SUB Main()
# -1 представляется как восемь hex-цифр двухкомплементарного Int32.
# Ожидаемый результат: строка FFFFFFFF. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = Hex(-1)
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- -1 представляется как восемь hex-цифр двухкомплементарного Int32.
- Ожидаемый результат: строка FFFFFFFF. В result сохраняется результат выражения; Print только показывает его.