-
Notifications
You must be signed in to change notification settings - Fork 0
API ASC uk
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Читає код символу або ціле число з налаштування; кількість аргументів визначає операцію.
ASC(text:String, defaultValue:Integer) -> Integer
ASC(value:String) -> Integer
-
value / text— String: один аргумент читає першу одиницю UTF-16; два розбирають увесь десятковий або 0xHEX текст із зовнішнім знаком і пробілами. -
defaultValue— Integer — резервний результат невдалого розбору, обов’язковий лише у формі з двома аргументами.
Integer: код 0..65535 або 0 для порожнього тексту; у другій формі — Int32 або резервне значення. Десяткове переповнення відхиляється; hex до 0xFFFFFFFF читається як знакові 32 біти, тому 0xFFFFFFFF дає -1. Дроби й суфікси відхиляються.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
- Це не ознака успіху. Код Unicode не залежить від ANSI; emoji дає перший сурогат. Резервне значення може збігтися з правильним числом — обирайте його поза дозволеним діапазоном.
Один аргумент читає text[0] або нуль. Два викликають TryStr2Int і повертають число або резервне значення.
Один аргумент читає text[0] або нуль. Два викликають TryStr2Int і повертають число або резервне значення.
Integer: код 0..65535 або 0 для порожнього тексту; у другій формі — Int32 або резервне значення. Десяткове переповнення відхиляється; hex до 0xFFFFFFFF читається як знакові 32 біти, тому 0xFFFFFFFF дає -1. Дроби й суфікси відхиляються.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; функція BasicAsc / Asc / NumberConversions.TryStr2Int.
Це не ознака успіху. Код Unicode не залежить від ANSI; emoji дає перший сурогат. Резервне значення може збігтися з правильним числом — обирайте його поза дозволеним діапазоном.
# Прочитати цифру
#
# Читає код символу або ціле число з налаштування; кількість аргументів визначає операцію.
#
# Integer: код 0..65535 або 0 для порожнього тексту; у другій формі — Int32 або резервне
# значення. Десяткове переповнення відхиляється; hex до 0xFFFFFFFF читається як знакові 32 біти,
# тому 0xFFFFFFFF дає -1. Дроби й суфікси відхиляються.
SUB Main()
# ASC("7") = 55. Після перевірки 48..57 віднімання 48 дає 7.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Dim code = ASC("7")
If code >= 48 AndAlso code <= 57 Then
Return code - 48
End If
Return -1
END SUBПояснення параметрів і виконання:
- ASC("7") = 55. Після перевірки 48..57 віднімання 48 дає 7.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
# Прочитати графіку
#
# Читає код символу або ціле число з налаштування; кількість аргументів визначає операцію.
#
# Integer: код 0..65535 або 0 для порожнього тексту; у другій формі — Int32 або резервне
# значення. Десяткове переповнення відхиляється; hex до 0xFFFFFFFF читається як знакові 32 біти,
# тому 0xFFFFFFFF дає -1. Дроби й суфікси відхиляються.
SUB Main()
# "0x0EED" дає 3821; -1 тут позначає неправильне налаштування. Предмет не переміщується.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Dim graphicText = "0x0EED"
Dim graphic = ASC(graphicText, -1)
If graphic = -1 Then
Return "invalid graphic"
End If
Return graphic
END SUBПояснення параметрів і виконання:
- "0x0EED" дає 3821; -1 тут позначає неправильне налаштування. Предмет не переміщується.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
# Перевірити кількість
#
# Читає код символу або ціле число з налаштування; кількість аргументів визначає операцію.
#
# Integer: код 0..65535 або 0 для порожнього тексту; у другій формі — Int32 або резервне
# значення. Десяткове переповнення відхиляється; hex до 0xFFFFFFFF читається як знакові 32 біти,
# тому 0xFFFFFFFF дає -1. Дроби й суфікси відхиляються.
SUB Main()
# ReadQuantity вимагає ціле в 1..100: "invalid" дає -1, "50" дало б 50. Стопка не змінюється.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Return ReadQuantity("invalid", 1, 100)
END SUB
Function ReadQuantity(text, minimum, maximum)
Dim quantity = ASC(text, -1)
If quantity < minimum OrElse quantity > maximum Then
Return -1
End If
Return quantity
End FunctionПояснення параметрів і виконання:
- ReadQuantity вимагає ціле в 1..100: "invalid" дає -1, "50" дало б 50. Стопка не змінюється.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь