API UO GetScriptPath uk - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetScriptPath
ClassicUO • Runtime API
Читає шлях вихідного файла активного запуску.
Точний синтаксис
UO.GetScriptPath(ScriptIndex:Any) -> String
Параметри
ScriptIndex— Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.
Повертає
String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
Поведінка
- Враховуються виконувані й призупинені запуски; завершені та ті, що отримали скасування, виключаються. Скрипт зазвичай враховує себе. Просто завантажена вкладка IDE запуском не є.
- Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.
- Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.
- GetScriptsList дає індекси, GetScriptsCount — кількість, GetScriptState — код із трьох станів. Не підміняйте ці значення й не вважайте будь-яке ненульове число значенням true.
- ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не відкриває, не зберігає й не запускає його.
Внутрішні функції: від виклику до результату
Нижче наведено справжні методи клієнта. Приклади Basic вище містять повні допоміжні функції; назви внутрішніх методів C# не є додатковими командами скрипта.
1. ExecuteStealthCompatibility
Runtime викликає зареєстровану UO-команду й обгортає результат моста як Integer, String або Array.
String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція ExecuteStealthCompatibility.
2. GetScriptPath
Міст звертається до менеджера запусків саме цього клієнта.
ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не відкриває, не зберігає й не запускає його.
Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція GetScriptPath.
3. GetScriptPath
ElementAt(RunningScripts(), index)?.FilePath ?? string.Empty
Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.
Код проєкту: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; функція GetScriptPath.
Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.
Приклади
Перший виклик і результат
# Перший виклик і результат
#
# Читає шлях вихідного файла активного запуску.
#
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
SUB Main()
# Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів.
# Текст Print є лише повідомленням прикладу.
# ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не
# відкриває, не зберігає й не запускає його.
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
# Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
# відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
# ім’я процедури чи ID запуску IDE.
Dim index=0
Dim path=UO.GetScriptPath(index)
If path<>"" Then
UO.Print(path)
End If
END SUB
Пояснення параметрів і виконання:
- Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів. Текст Print є лише повідомленням прикладу.
- ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не відкриває, не зберігає й не запускає його.
- String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
- Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.
Використання в циклі чи умові
# Використання в циклі чи умові
#
# Читає шлях вихідного файла активного запуску.
#
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
SUB Main()
# Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля;
# перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
# ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не
# відкриває, не зберігає й не запускає його.
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
# Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
# відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
# ім’я процедури чи ID запуску IDE.
Dim indices=UO.GetScriptsList()
For Each index In indices
UO.Print(UO.GetScriptName(index) & " -> " & UO.GetScriptPath(index))
Next
END SUB
Пояснення параметрів і виконання:
- Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля; перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
- ScriptIndex=0 вибирає перший поточний запуск. Результат указує його вихідний файл; команда не відкриває, не зберігає й не запускає його.
- String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
- Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.
Повна допоміжна функція
# Повна допоміжна функція
#
# Читає шлях вихідного файла активного запуску.
#
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
SUB Main()
# Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди,
# яку вона викликає.
# ReadScriptPath підставляє fallback лише для порожнього шляху. Це окрема функція, а не нове
# перевантаження GetScriptPath.
# String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це
# зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
# Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
# відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
# ім’я процедури чи ID запуску IDE.
UO.Print(ReadScriptPath(0, "path unavailable"))
END SUB
Function ReadScriptPath(index, fallback) As String
Dim path=UO.GetScriptPath(index)
If path="" Then
Return fallback
End If
Return path
End Function
Пояснення параметрів і виконання:
- Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди, яку вона викликає.
- ReadScriptPath підставляє fallback лише для порожнього шляху. Це окрема функція, а не нове перевантаження GetScriptPath.
- String: збережений шлях вихідного файла або "", якщо індексу немає. Для файлового запуску це зазвичай повний шлях; команда чи код у пам’яті можуть не мати звичайного файла.
- Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.