Basic IDE Runtime - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Basic IDE Runtime
Навигация:
- Руководство
- Установка
- Bad Newbie
- Basic Runtime и IDE
- AutoLoad и макросы
- API Manual
- Полный Runtime API
- Сборка и тестирование
- Устранение неполадок
- Языки
Age of Power:
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 не должен изменять состояние другого.
Оптимизация Runtime
- подготовленный кэш исходного текста;
- изолированные рабочие контексты скриптов;
- кооперативная передача управления в длительных циклах;
- ограниченная порция работы, передаваемая игровому потоку;
- асинхронный запуск макросов и Basic Example.
Эти механизмы уменьшают зависание окна клиента во время выполнения команды. Однако бесконечный цикл без Wait или другой точки уступки всё равно является ошибкой скрипта.
Важные правила
- не выполняйте длительное ожидание активным циклом;
- добавляйте
UO.Wait(...)в повторяющиеся циклы; - проверяйте результат поиска до использования serial;
- используйте API Manual для фактических сигнатур текущей версии;
- не считайте пользовательские
SUBчастью Runtime API.
См. быстрый старт, IDE и API Manual.
Навигация:
- Руководство
- Установка
- Bad Newbie
- Basic Runtime и IDE
- AutoLoad и макросы
- API Manual
- Полный Runtime API
- Сборка и тестирование
- Устранение неполадок
- Языки
Age of Power: