Scripting Quick Start - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Быстрый старт Basic Script
Home · BASIC · UO API · A–Z · Examples · Languages
Первый скрипт
Создайте файл:
SUB Main()
UO.Print('Script started')
UO.Wait(500)
UO.Print('Script finished')
END SUB
Сохраните его и нажмите Run Current Script (F5) либо Start Script (SUB Main) (Ctrl+F5).
Переменная и условие
SUB Main()
VAR axe = UO.FindType(0x0F43, -1, backpack, -1, TRUE)
IF axe <> 0 THEN
UO.Print('Axe found: ' + CStr(axe))
ELSE
UO.Print('Axe not found')
END IF
END SUB
Точную сигнатуру UO.FindType всегда сверяйте с API Manual текущего Runtime.
Пользовательская функция
FUNCTION PercentOf(BYVAL currentValue, BYVAL maximumValue)
IF maximumValue <= 0 THEN
RETURN 0
END IF
RETURN CInt((currentValue * 100) / maximumValue)
END FUNCTION
SUB Main()
VAR hpPercent = PercentOf(UO.GetHP(), UO.GetMaxHP())
UO.Print('HP: ' + CStr(hpPercent) + '%')
END SUB
Длительные циклы
Всегда оставляйте Runtime возможность вернуть управление клиенту:
SUB Main()
WHILE UO.GetDead() = 0
' Выполнение полезной проверки
UO.Wait(100)
WEND
END SUB
Цикл без ожидания способен загрузить процессор и сделать интерфейс неотзывчивым.
Проверка перед запуском
- Убедитесь, что есть ровно одна нужная точка входа
SUB Main(). - Нажмите Validate (
F6). - Исправьте Problems.
- Для поиска ошибки используйте Start Debugging (
F4). - Поставьте breakpoint через
F9и проходите кодF10/F11.
Где искать команды
API Manual содержит только зарегистрированные Runtime-команды. Пользовательские SUB и FUNCTION текущего файла отображаются в Outline, но не добавляются в Runtime API Manual.