API UO GetScriptsList uk - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetScriptsList
ClassicUO • Runtime API
Повертає поточні числові індекси скриптів.
Точний синтаксис
UO.GetScriptsList() -> Array
Параметри
Параметрів немає.
Повертає
Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові записи.
Поведінка
- Враховуються виконувані й призупинені запуски; завершені та ті, що отримали скасування, виключаються. Скрипт зазвичай враховує себе. Просто завантажена вкладка IDE запуском не є.
- Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.
- Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.
- GetScriptsList дає індекси, GetScriptsCount — кількість, GetScriptState — код із трьох станів. Не підміняйте ці значення й не вважайте будь-яке ненульове число значенням true.
- Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив є окремим знімком; його зміна не керує скриптами.
Внутрішні функції: від виклику до результату
Нижче наведено справжні методи клієнта. Приклади Basic вище містять повні допоміжні функції; назви внутрішніх методів C# не є додатковими командами скрипта.
1. ExecuteStealthCompatibility
Runtime викликає зареєстровану UO-команду й обгортає результат моста як Integer, String або Array.
Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові записи.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція ExecuteStealthCompatibility.
2. GetScriptsList
Міст звертається до менеджера запусків саме цього клієнта.
Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив є окремим знімком; його зміна не керує скриптами.
Код проєкту: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; функція GetScriptsList.
3. GetScriptsList
Enumerable.Range(0, GetScriptsCount()).ToArray()
Індекси — поточні позиції в порядку запуску. Запуск/зупинка можуть їх зсунути. Окремі виклики не утворюють атомарний знімок; перед наступною командою керування перечитайте список.
Код проєкту: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; функція GetScriptsList.
Закриття Basic IDE не видаляє активних запусків. Команди стосуються цього клієнта, а не інших клієнтів чи процесів Windows.
Приклади
Перший виклик і результат
# Перший виклик і результат
#
# Повертає поточні числові індекси скриптів.
#
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
SUB Main()
# Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів.
# Текст Print є лише повідомленням прикладу.
# Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив
# є окремим знімком; його зміна не керує скриптами.
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
Dim indices=UO.GetScriptsList()
For Each index In indices
UO.Print(CStr(index) & ": " & UO.GetScriptName(index))
Next
END SUB
Пояснення параметрів і виконання:
- Запускайте Sub Main. Передане число 0 означає індекс; порожні дужки — відсутність аргументів. Текст Print є лише повідомленням прикладу.
- Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив є окремим знімком; його зміна не керує скриптами.
- Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові записи.
Використання в циклі чи умові
# Використання в циклі чи умові
#
# Повертає поточні числові індекси скриптів.
#
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
SUB Main()
# Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля;
# перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
# Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив
# є окремим знімком; його зміна не керує скриптами.
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
Dim indices=UO.GetScriptsList()
If GetArrayLength(indices)>0 Then
Dim firstIndex=indices[0]
UO.Print(UO.GetScriptPath(firstIndex))
End If
END SUB
Пояснення параметрів і виконання:
- Це окремий приклад спільного використання команд. Індекси масиву починаються з нуля; перевіряйте довжину перед зверненням. Wait(250), де він використаний, чекає 250 мілісекунд.
- Аргументів немає. Кожне число передавайте до відповідного getter імені, шляху чи стану. Масив є окремим знімком; його зміна не керує скриптами.
- Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові записи.
Повна допоміжна функція
# Повна допоміжна функція
#
# Повертає поточні числові індекси скриптів.
#
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
SUB Main()
# Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди,
# яку вона викликає.
# FindNamedScript повертає поточний індекс першого точного збігу імені або -1. Імена можуть
# повторюватися, а індекси — зсуватися.
# Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові
# записи.
Dim index=FindNamedScript("Mining")
If index>=0 Then
UO.Print(CStr(index))
Else
UO.Print("Name not found")
End If
END SUB
Function FindNamedScript(wanted) As Integer
Dim indices=UO.GetScriptsList()
For Each index In indices
If UO.GetScriptName(index)=wanted Then
Return index
End If
Next
Return -1
End Function
Пояснення параметрів і виконання:
- Під Main наведено функцію повністю. Її параметри та результат пояснено окремо від API-команди, яку вона викликає.
- FindNamedScript повертає поточний індекс першого точного збігу імені або -1. Імена можуть повторюватися, а індекси — зсуватися.
- Array з Integer: індекси 0..N-1 або порожній масив. Елементи — числа, а не імена чи текстові записи.