API UO GetScriptName uk - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.GetScriptName

ClassicUO • Runtime API

Читає відображуване ім’я активного запуску.

Точний синтаксис

UO.GetScriptName(ScriptIndex:Any) -> String

Параметри

  • ScriptIndex — Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.

Повертає

String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно задати порожнє ім’я.

Поведінка

  • Враховуються виконувані й призупинені запуски; завершені та ті, що отримали скасування, виключаються. Скрипт зазвичай враховує себе. Просто завантажена вкладка IDE запуском не є.
  • Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.
  • Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.
  • GetScriptsList дає індекси, GetScriptsCount — кількість, GetScriptState — код із трьох станів. Не підміняйте ці значення й не вважайте будь-яке ненульове число значенням true.
  • ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду. SetScriptName змінює показане ім’я без перейменування файла.

Внутрішні функції: від виклику до результату

Нижче наведено справжні методи клієнта. Приклади Basic вище містять повні допоміжні функції; назви внутрішніх методів C# не є додатковими командами скрипта.

1. ExecuteStealthCompatibility

Runtime викликає зареєстровану UO-команду й обгортає результат моста як Integer, String або Array.

String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно задати порожнє ім’я.

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція ExecuteStealthCompatibility.

2. GetScriptName

Міст звертається до менеджера запусків саме цього клієнта.

ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду. SetScriptName змінює показане ім’я без перейменування файла.

Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція GetScriptName.

3. GetScriptName

ElementAt(RunningScripts(), index)?.Name ?? string.Empty

Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.

Код проєкту: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; функція GetScriptName.

Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.

Приклади

Перший виклик і результат

# Перший виклик і результат
#
# Читає відображуване ім’я активного запуску.
#
# String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
# задати порожнє ім’я.

SUB Main()
    # Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів.
    # Текст Print є лише повідомленням прикладу.
    # ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду.
    # SetScriptName змінює показане ім’я без перейменування файла.
    # String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
    # задати порожнє ім’я.
    # Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
    # відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
    # ім’я процедури чи ID запуску IDE.

    Dim index=0
    Dim name=UO.GetScriptName(index)
    UO.Print(name)
END SUB

Пояснення параметрів і виконання:

  • Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів. Текст Print є лише повідомленням прикладу.
  • ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду. SetScriptName змінює показане ім’я без перейменування файла.
  • String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно задати порожнє ім’я.
  • Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.

Використання в циклі чи умові

# Використання в циклі чи умові
#
# Читає відображуване ім’я активного запуску.
#
# String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
# задати порожнє ім’я.

SUB Main()
    # Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля;
    # перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
    # ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду.
    # SetScriptName змінює показане ім’я без перейменування файла.
    # String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
    # задати порожнє ім’я.
    # Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
    # відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
    # ім’я процедури чи ID запуску IDE.

    Dim indices=UO.GetScriptsList()
    For Each index In indices
        Dim name=UO.GetScriptName(index)
        UO.Print(CStr(index) & " = " & name)
    Next
END SUB

Пояснення параметрів і виконання:

  • Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля; перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
  • ScriptIndex=0 означає перший поточний запуск, не обов’язково скрипт, що викликає команду. SetScriptName змінює показане ім’я без перейменування файла.
  • String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно задати порожнє ім’я.
  • Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.

Повна допоміжна функція

# Повна допоміжна функція
#
# Читає відображуване ім’я активного запуску.
#
# String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
# задати порожнє ім’я.

SUB Main()
    # Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди,
    # яку вона викликає.
    # DescribeScript перевіряє стан і поєднує ім’я зі шляхом. Між викликами можлива зупинка;
    # "missing" — результат цієї функції, а не GetScriptName.
    # String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно
    # задати порожнє ім’я.
    # Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або
    # відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета,
    # ім’я процедури чи ID запуску IDE.

    UO.Print(DescribeScript(0))
END SUB

Function DescribeScript(index) As String
    If UO.GetScriptState(index)=0 Then
        Return "missing"
    End If
    Return UO.GetScriptName(index) & " | " & UO.GetScriptPath(index)
End Function

Пояснення параметрів і виконання:

  • Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди, яку вона викликає.
  • DescribeScript перевіряє стан і поєднує ім’я зі шляхом. Між викликами можлива зупинка; "missing" — результат цієї функції, а не GetScriptName.
  • String: відображуване ім’я або "", якщо індексу немає. Існуючому запуску також можна явно задати порожнє ім’я.
  • Обов’язковий ScriptIndex — цілий індекс від нуля зі свіжого GetScriptsList. Від’ємний або відсутній індекс дає описаний порожній/невідомий результат. Не передавайте serial предмета, ім’я процедури чи ID запуску IDE.

en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic