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);