RU AutoLoad and Macros - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

AutoLoad и менеджер

Рабочие сценарии имеют расширение .csx.

Full_Client/
  Autoload/
    Autoload.csx
    Scripts/
      Hello.csx
      Position.csx

В автономном Full-клиенте выбранный AutoLoad сохраняется в профиле персонажа. В менеджере список Scripts хранится в конкретном профиле. Добавление файла в редактор само по себе не записывает его в набор следующего запуска.

Скрипт выполняется в сессии, которой принадлежит профиль. Закрытие игрового вида или IDE не должно смешивать состояние разных персонажей.

Пример AutoLoad

UO.Print("AutoLoad started");
await WaitAsync(100);

Скрипт завершается после последнего оператора. Чтобы сохранить фоновое выполнение, напишите цикл с ожиданием и условиями завершения. Остановка профиля и Stop отменяют его выполнение.

Сохранение и перезагрузка

Сохранение не перезапускает активный скрипт. Следующий запуск файла из Manager и команды выбранного AutoLoad читают сохранённый код с диска. Run в редакторе использует текущий текст документа.

Reload останавливает предыдущие выполнения только выбранного AutoLoad и ждёт завершения их очистки, сохраняя отзывчивость игрового окна и Manager. Повторное нажатие во время перезагрузки сообщает, что операция ещё выполняется. Другие файлы и профили продолжают работать.

Если предыдущий код не завершился за 15 секунд, вместо бесконечного Loading появляется ошибка. Передавайте Cancellation в асинхронные ожидания, дайте очистке завершиться и повторите Reload. Замена не запускается одновременно со старым выполнением. Ошибка компиляции показывает диагностику; после исправления сохраните файл и повторите Reload.

await Task.Delay(100, Cancellation);