-
Notifications
You must be signed in to change notification settings - Fork 0
API UO Launch uk
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
Просить ОС відкрити локальну програму або документ: звіт про здобич чи зовнішню утиліту. Для Basic-скрипта потрібна StartScript.
UO.Launch(file:Any) -> Integer
UO.Launch(file:Any, parameters:Any) -> Integer
UO.Launch(file:Any, parameters:Any, workingDirectory:Any) -> Integer
UO.Launch(file:Any, parameters:Any, workingDirectory:Any, hidden:Any) -> Integer
-
file— Обов’язкове ім’я/шлях програми чи документа; перетворюється на текст без крайніх пробілів. Порожнє значення дає 0 і повідомлення. Краще повний шлях, без зовнішніх лапок у самому file. -
parameters— Необов’язковий рядок аргументів програми, типово порожній. Шлях із пробілами всередині цього рядка беріть у подвійні лапки через Chr(34). Це не параметри Basic. -
workingDirectory— Необов’язкова робоча папка. Пропуск або порожній рядок означає папку поточного скрипта; якщо runtime її не має — робочу папку процесу клієнта. Це не обов’язково папка гри чи EXE. -
hidden— Необов’язкове Boolean, типово False. True вимикає оболонку ОС і запитує запуск EXE без консолі. False дозволяє асоціації документів. GUI-програма може показати власне вікно.
Integer: 1 (True), якщо Process.Start повернув об’єкт процесу; інакше 0 (False). Це не PID, код виходу чи завершення роботи. Виняток дає повідомлення та 0. Документ може відкритися у вже запущеній програмі без нового процесу, тому 0 не завжди означає відмову.
- Аргументів від одного до чотирьох у наведеному порядку. Для hidden зі стандартною папкою передайте порожній третій аргумент. Перетворення на текст не перевіряє наявність файлу.
- Стандартна папка належить поточному виконуваному скрипту. При hidden=True відносний EXE спочатку шукається в workingDirectory. Пошук і асоціації залежать від ОС; повний шлях точніший. Відсутня програма чи папка може спричинити помилку.
- Launch не чекає завершення, не читає stdout/stderr й не закриває програму при зупинці скрипта. hidden не гарантує відсутності всіх GUI-вікон. Об’єкт Process звільняється після запиту, сама програма працює далі.
Це етапи реалізації клієнта, а не додаткові команди Basic. Допоміжні процедури наведено повністю.
Аргументів від одного до чотирьох у наведеному порядку. Для hidden зі стандартною папкою передайте порожній третій аргумент. Перетворення на текст не перевіряє наявність файлу.
Стандартна папка належить поточному виконуваному скрипту. При hidden=True відносний EXE спочатку шукається в workingDirectory. Пошук і асоціації залежать від ОС; повний шлях точніший. Відсутня програма чи папка може спричинити помилку.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція CompactLaunch.
Launch не чекає завершення, не читає stdout/stderr й не закриває програму при зупинці скрипта. hidden не гарантує відсутності всіх GUI-вікон. Об’єкт Process звільняється після запиту, сама програма працює далі.
Integer: 1 (True), якщо Process.Start повернув об’єкт процесу; інакше 0 (False). Це не PID, код виходу чи завершення роботи. Виняток дає повідомлення та 0. Документ може відкритися у вже запущеній програмі без нового процесу, тому 0 не завжди означає відмову.
Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція Launch / Process.Start.
Це етапи реалізації клієнта, а не додаткові команди Basic. Допоміжні процедури наведено повністю.
# Відкрити звіт
#
# Просить ОС відкрити локальну програму або документ: звіт про здобич чи зовнішню утиліту. Для
# Basic-скрипта потрібна StartScript.
#
# Integer: 1 (True), якщо Process.Start повернув об’єкт процесу; інакше 0 (False). Це не PID,
# код виходу чи завершення роботи. Виняток дає повідомлення та 0. Документ може відкритися у вже
# запущеній програмі без нового процесу, тому 0 не завжди означає відмову.
SUB Main()
# Наявний loot-report.txt покладіть поруч зі скриптом. ОС використовує асоціацію .txt. Main
# повертає результат запиту, не вміст і не підтвердження прочитання.
Dim started = UO.Launch("loot-report.txt")
Return started
END SUBПояснення параметрів і виконання:
- Наявний loot-report.txt покладіть поруч зі скриптом. ОС використовує асоціацію .txt. Main повертає результат запиту, не вміст і не підтвердження прочитання.
# Передати редактору шлях із пробілами
#
# Просить ОС відкрити локальну програму або документ: звіт про здобич чи зовнішню утиліту. Для
# Basic-скрипта потрібна StartScript.
#
# Integer: 1 (True), якщо Process.Start повернув об’єкт процесу; інакше 0 (False). Це не PID,
# код виходу чи завершення роботи. Виняток дає повідомлення та 0. Документ може відкритися у вже
# запущеній програмі без нового процесу, тому 0 не завжди означає відмову.
SUB Main()
# Папка й звіт мають існувати; підставте свої. Chr(34) огортає шлях звіту лапками всередині
# arguments. notepad.exe має бути доступна. False дозволяє звичайне вікно.
Dim report = "C:\UO Scripts\loot report.txt"
Dim arguments = Chr(34) & report & Chr(34)
Return UO.Launch("notepad.exe", arguments, "C:\UO Scripts", False)
END SUBПояснення параметрів і виконання:
- Папка й звіт мають існувати; підставте свої. Chr(34) огортає шлях звіту лапками всередині arguments. notepad.exe має бути доступна. False дозволяє звичайне вікно.
# Список локальних журналів без консолі
#
# Просить ОС відкрити локальну програму або документ: звіт про здобич чи зовнішню утиліту. Для
# Basic-скрипта потрібна StartScript.
#
# Integer: 1 (True), якщо Process.Start повернув об’єкт процесу; інакше 0 (False). Це не PID,
# код виходу чи завершення роботи. Виняток дає повідомлення та 0. Документ може відкритися у вже
# запущеній програмі без нового процесу, тому 0 не завжди означає відмову.
SUB Main()
# Windows/cmd.exe створює або перезаписує log-files.txt зі списком *.log у папці скрипта.
# Порожній третій аргумент обирає цю папку, True приховує консоль. Повернене True означає лише
# старт: файл ще може бути не готовий; відсутність журналів або помилка утиліти не змінює
# результат Launch.
Dim started = UO.Launch("cmd.exe", "/d /c dir /b *.log > log-files.txt", "", True)
If started = 0 Then
Return False
End If
Return True
END SUBПояснення параметрів і виконання:
- Windows/cmd.exe створює або перезаписує log-files.txt зі списком *.log у папці скрипта. Порожній третій аргумент обирає цю папку, True приховує консоль. Повернене True означає лише старт: файл ще може бути не готовий; відсутність журналів або помилка утиліти не змінює результат Launch.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь