-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic Program uk
ClassicUO • Basic
Файл Basic містить визначення процедур/функцій і необов’язкові глобальні оголошення. Виконувані дії розташовуються всередині процедури. Тут точка входу — Main(); приклади є повними файлами, а не фрагментами для вставлення поза процедурою.
Option Explicit On
SUB Main()
statement
END SUB
# comment
; comment
REM comment
// comment
' comment
-
Main / entry— Процедура, вибрана для запуску. Main — звична назва, а не автоматично виконувана команда. SUB Main() оголошує процедуру без аргументів. Допоміжна функція працює лише після виклику. -
statement— Одна виконувана інструкція на рядок усередині SUB…END SUB або FUNCTION…END FUNCTION. Глобальні VAR/CONST і Option Explicit розташовуються поза цими блоками. Option Explicit ставиться перед оголошеннями. -
comment— # і ; починають коментар поза рядковими лапками, зокрема після коду. REM, // та апостроф починають окремий рядок коментаря після можливого відступу. Усередині рядкового значення ці символи зберігаються як текст.
Файл або оголошення SUB під час завантаження нічого не повертає. RETURN expression повертає значення з викликаної процедури та відразу завершує цей виклик. Кінець блоку або RETURN без виразу дає Unit — відсутність значення.
- Зберігайте вихідні файли в UTF-8, щоб не втрачати локалізовані коментарі та рядки. Підтримуються закінчення CRLF і LF. Відступи й порожні рядки полегшують читання, але не замінюють END SUB або END FUNCTION.
- Ключові слова, імена процедур і змінних не залежать від регістру. itemCount, ITEMCOUNT і ItemCount звертаються до однієї прив’язки. Регістр усередині тексту зберігається; рядкові ключі на кшталт UO.SetGlobal("Key", …) — дані, а не ідентифікатори.
- Просте ім’я починайте з латинської літери ASCII або підкреслення, далі допускаються літери, цифри й підкреслення. Уникайте зарезервованих слів та імен API у власних оголошеннях. UO.Print — складене ім’я виклику. Двокрапка після імені задає мітку, а не загальний роздільник кількох інструкцій.
- Рушій нормалізує підтримуваний Basic, розбирає весь файл, збирає оголошення та перевіряє імена. Тому допоміжна функція може стояти нижче Main. Завантаження не запускає всі визначення: старт вибраної процедури ініціалізує виконання та переходить за її викликами.
- Приклади лише обчислюють значення. Після перевірки шаблону потрібні UO-виклики вставляються в його блок. Це правила нашого рушія, а не гарантія підтримки всіх можливостей інших реалізацій Basic.
# Main оголошує note з текстом "ore #1; keep". Символи # і ; усередині рядка зберігаються. Інші коментарі #, REM, // та з апострофом нічого не виконують. RETURN повертає початковий текст.
Option Explicit On
# Complete file
SUB Main()
REM Full-line comment
VAR note = "ore #1; keep" # Trailing comment
// Another full-line comment
' Another full-line comment
RETURN note
END SUBПояснення параметрів і виконання:
Main оголошує note з текстом "ore #1; keep". Символи # і ; усередині рядка зберігаються. Інші коментарі #, REM, // та з апострофом нічого не виконують. RETURN повертає початковий текст.
# Main викликає DoubleCount з amount=7. Функція визначена нижче Main, множить параметр Integer на 2 та повертає 14. Main передає результат далі. Не потрібні відсутній Include-файл чи неоголошена функція.
Option Explicit On
SUB Main()
RETURN DoubleCount(7)
END SUB
FUNCTION DoubleCount(ByVal amount AS Integer)
VAR result = amount * 2
RETURN result
END FUNCTIONПояснення параметрів і виконання:
Main викликає DoubleCount з amount=7. Функція визначена нижче Main, множить параметр Integer на 2 та повертає 14. Main передає результат далі. Не потрібні відсутній Include-файл чи неоголошена функція.
# Скрипт оголошує itemCount=3, потім через ITEMCOUNT та itemcount додає 2 до тієї самої змінної. Ключові слова зі змішаним регістром дозволені. Main повертає 5; різне написання не створює додаткових змінних.
Option Explicit On
sUb Main()
Var itemCount = 3
ITEMCOUNT = itemcount + 2
ReTuRn ItemCount
EnD sUbПояснення параметрів і виконання:
Скрипт оголошує itemCount=3, потім через ITEMCOUNT та itemcount додає 2 до тієї самої змінної. Ключові слова зі змішаним регістром дозволені. Main повертає 5; різне написання не створює додаткових змінних.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь