-
Notifications
You must be signed in to change notification settings - Fork 0
Basic IDE Runtime
Home · BASIC · UO API · A–Z · Examples · Languages
Basic Runtime выполняет скрипты в синтаксисе Basic и связывает команды UO.* с игровыми механизмами ClassicUO.
Обычный запускаемый файл должен содержать:
SUB Main()
UO.Print('Hello from Basic')
END SUBПри запуске файла Runtime сначала индексирует весь документ, регистрирует объявленные SUB и FUNCTION, а затем запускает SUB Main(). Положение Main в начале или в конце файла и текущая прокрутка редактора значения не имеют.
При открытии или изменении скрипта анализируется весь текст:
- процедуры и функции;
- параметры;
- локальные и глобальные объявления;
- вызовы API;
- диагностические ошибки;
- Outline и переходы по символам.
Запуск не зависит от того, прокручивал ли пользователь документ до конца.
Несколько скриптов могут выполняться одновременно. Каждый запуск имеет собственное состояние:
- running — выполняется;
- paused — приостановлен;
- stopped — остановлен;
- debugging — выполняется под управлением отладчика.
Выбор одного скрипта в Explorer не должен изменять состояние другого.
- подготовленный кэш исходного текста;
- изолированные рабочие контексты скриптов;
- кооперативная передача управления в длительных циклах;
- ограниченная порция работы, передаваемая игровому потоку;
- асинхронный запуск макросов и Basic Example.
Эти механизмы уменьшают зависание окна клиента во время выполнения команды. Однако бесконечный цикл без Wait или другой точки уступки всё равно является ошибкой скрипта.
- не выполняйте длительное ожидание активным циклом;
- добавляйте
UO.Wait(...)в повторяющиеся циклы; - проверяйте результат поиска до использования serial;
- используйте API Manual для фактических сигнатур текущей версии;
- не считайте пользовательские
SUBчастью Runtime API.
См. быстрый старт, IDE и API Manual.
ClassicUO - Bad Newbie & Basic IDE Edition