Skip to content

API UO GetScriptsCount ko

Codex edited this page Sep 21, 2026 · 2 revisions

UO.GetScriptsCount

ClassicUO • Runtime API

이 클라이언트의 활성 실행 수를 셉니다.

정확한 구문

UO.GetScriptsCount() -> Integer

매개변수

매개변수가 없습니다.

반환값

Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

동작

  • 실행 중 및 일시 정지된 실행을 포함하며, 끝났거나 취소가 요청된 실행은 제외합니다. 호출 스크립트는 보통 자신도 셉니다. 로드만 한 IDE 탭은 실행이 아닙니다.
  • 인덱스는 시작 순서에 따른 현재 위치입니다. 시작/중지로 위치가 바뀔 수 있습니다. 별도 호출은 하나의 원자적 스냅샷이 아니므로 나중에 제어하기 전에 목록을 다시 읽으세요.
  • Basic IDE를 닫아도 활성 실행은 사라지지 않습니다. 이 명령들은 다른 클라이언트나 Windows 프로세스가 아닌 이 클라이언트를 조회합니다.
  • GetScriptsList는 인덱스, GetScriptsCount는 개수, GetScriptState는 세 상태 코드를 반환합니다. 서로 바꾸어 쓰거나 모든 0이 아닌 값을 true로 해석하지 마세요.
  • 인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.

내부 함수: 호출부터 결과까지

아래는 클라이언트의 실제 메서드입니다. Basic 예제에는 완전한 보조 함수가 있으며 내부 C# 메서드 이름은 추가 스크립트 명령이 아닙니다.

1. ExecuteClientApiCompatibility

Runtime은 등록된 UO 호출을 실행하고 브리지 결과를 Integer, String 또는 Array로 감쌉니다.

Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 함수 ExecuteClientApiCompatibility.

2. GetScriptsCount

브리지는 이 클라이언트의 실행 관리자에 위임합니다.

인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.

프로젝트 소스: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 함수 GetScriptsCount.

3. GetScriptsCount

_running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested)

인덱스는 시작 순서에 따른 현재 위치입니다. 시작/중지로 위치가 바뀔 수 있습니다. 별도 호출은 하나의 원자적 스냅샷이 아니므로 나중에 제어하기 전에 목록을 다시 읽으세요.

프로젝트 소스: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; 함수 GetScriptsCount.

Basic IDE를 닫아도 활성 실행은 사라지지 않습니다. 이 명령들은 다른 클라이언트나 Windows 프로세스가 아닌 이 클라이언트를 조회합니다.

예제

첫 호출과 결과

#  호출과 결과
#
#  클라이언트의 활성 실행 수를 셉니다.
#
# Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

SUB Main()
    # Sub Main을 실행합니다. 전달한 0 인덱스이며  괄호는 인수가 없다는 뜻입니다. Print 문자열은 예제 메시지일 뿐입니다.
    # 인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.
    # Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

    Dim count=UO.GetScriptsCount()
    UO.Print(CStr(count))
END SUB

매개변수 및 실행 설명:

  • Sub Main을 실행합니다. 전달한 0은 인덱스이며 빈 괄호는 인수가 없다는 뜻입니다. Print 문자열은 예제 메시지일 뿐입니다.
  • 인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.
  • Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

반복문 또는 조건에서 사용

# 반복문 또는 조건에서 사용
#
#  클라이언트의 활성 실행 수를 셉니다.
#
# Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

SUB Main()
    # 여러 명령을 조합한 독립적인 예제입니다. 배열 인덱스는 0부터 시작하므로 접근 전에 길이를 확인하세요. Wait(250)이 있으면 250밀리초 기다립니다.
    # 인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.
    # Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

    Dim before=UO.GetScriptsCount()
    Wait(250)
    Dim after=UO.GetScriptsCount()
    UO.Print(CStr(after-before))
END SUB

매개변수 및 실행 설명:

  • 여러 명령을 조합한 독립적인 예제입니다. 배열 인덱스는 0부터 시작하므로 접근 전에 길이를 확인하세요. Wait(250)이 있으면 250밀리초 기다립니다.
  • 인수가 없습니다. 개수를 세면서 목록을 정렬하거나 실행 상태를 바꾸지 않습니다.
  • Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

완전한 보조 함수

# 완전한 보조 함수
#
#  클라이언트의 활성 실행 수를 셉니다.
#
# Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

SUB Main()
    # Main 아래에 함수 전체가 있습니다.  함수의 인수와 반환값은 내부에서 쓰는 API 명령과 구분해 설명합니다.
    # HasOtherScripts는 호출자가 보통  항목을 차지하므로 1 비교합니다. GetScriptsCount와 달리 보조 함수만 true/false 반환합니다.
    # Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

    If HasOtherScripts() Then
        UO.Print("Other executions are active")
    Else
        UO.Print("No other active executions")
    End If
END SUB

Function HasOtherScripts() As Boolean
    Dim count=UO.GetScriptsCount()
    Return count > 1
End Function

매개변수 및 실행 설명:

  • Main 아래에 함수 전체가 있습니다. 이 함수의 인수와 반환값은 내부에서 쓰는 API 명령과 구분해 설명합니다.
  • HasOtherScripts는 호출자가 보통 한 항목을 차지하므로 1과 비교합니다. GetScriptsCount와 달리 보조 함수만 true/false를 반환합니다.
  • Integer >= 0: 일시 정지된 실행을 포함한 활성 실행 수입니다. Boolean이나 인덱스가 아닙니다.

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

Basic

Clone this wiki locally