-
Notifications
You must be signed in to change notification settings - Fork 0
API UO FunRunning ko
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
선택한 프로시저의 활성 실행이 있는지 확인하며 일시 중지도 포함합니다. 이미 있는 감시 작업의 재시작을 방지합니다.
UO.FunRunning(subrutineName:String) -> Integer
-
subrutineName— 필수 String subrutineName은 카탈로그의 Sub/Function 이름입니다. 예: WeightWatch. 경로, 파일명, 실행 인덱스, 소스 코드, SetScriptName으로 바꾼 표시명이 아닙니다. 대소문자는 무시하지만 공백은 제거하지 않습니다. 프로시저 인수를 전달할 수 없습니다.
Integer: 실행이 존재하고 취소되지 않았으면 1(True). 수동 또는 연결 끊김에 따른 일시 중지도 포함합니다. 없음, 미시작, 완료, 취소 중이면 0(False). If UO.FunRunning(name), = 1, = True를 사용할 수 있습니다. GetScriptState는 실행(1)과 일시 중지(2)를 구분합니다.
- 이름이 같으면 선택한 Autoload가 우선합니다. 해당 파일에 여러 정의가 있으면 모호하므로 거부합니다. 별도로 로드한 보조 프로시저는 고유한 이름이어야 합니다. 파일 순서로 백업을 선택하지 않습니다. SubExists와 FunRunning은 Load/Reload 후의 새 스냅샷을 포함한 세션 선언 목록을 사용하며 호출할 때마다 디스크를 다시 읽지 않습니다. 선언이 있다고 파일의 존재나 삭제 후 시작이 보장되지는 않습니다. FunRunning은 찾은 프로시저의 활성 실행도 확인합니다.
- CallSub는 인수 0개를 전달합니다. Private, 구문 오류, 필수 매개변수, Basic 비활성화, 단일 프로시저 규칙 때문에 시작이 거부되면 IDE 상태/오류를 확인하십시오. 활성 작업을 다시 호출해도 복제하거나 일시 중지를 풀지 않습니다. 취소 후 시작은 정리를 기다릴 수 있습니다. 제어 스크립트는 작업 완료를 기다리지 않습니다.
- FunRunning은 원래 프로시저 이름과 키를 사용하며 변경한 표시명은 사용하지 않습니다. 일시 중지는 실행을 유지하므로 1입니다. 취소는 정리 중에도 0입니다. 검사와 다음 호출은 원자적이지 않아 그 사이 작업이 끝날 수 있습니다.
- Private 또는 잘못된 정의도 SubExists가 1을 반환할 수 있습니다. 작업 중지나 편집기 탭 닫기가 카탈로그 항목을 반드시 지우지는 않습니다. 변경 파일을 다시 로드하면 옛 정의가 제거됩니다. 별도 runtime에만 로드한 함수는 관리자에 등록되지 않았을 수 있습니다.
실제 구현 단계이며 C# 이름은 추가 UO 명령이 아닙니다. 실행 가능한 모든 Basic 보조 함수는 예제에 완전히 정의되어 있습니다.
필수 String subrutineName은 카탈로그의 Sub/Function 이름입니다. 예: WeightWatch. 경로, 파일명, 실행 인덱스, 소스 코드, SetScriptName으로 바꾼 표시명이 아닙니다. 대소문자는 무시하지만 공백은 제거하지 않습니다. 프로시저 인수를 전달할 수 없습니다.
Integer: 실행이 존재하고 취소되지 않았으면 1(True). 수동 또는 연결 끊김에 따른 일시 중지도 포함합니다. 없음, 미시작, 완료, 취소 중이면 0(False). If UO.FunRunning(name), = 1, = True를 사용할 수 있습니다. GetScriptState는 실행(1)과 일시 중지(2)를 구분합니다.
프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 함수 FunRunning.
이름이 같으면 선택한 Autoload가 우선합니다. 해당 파일에 여러 정의가 있으면 모호하므로 거부합니다. 별도로 로드한 보조 프로시저는 고유한 이름이어야 합니다. 파일 순서로 백업을 선택하지 않습니다. SubExists와 FunRunning은 Load/Reload 후의 새 스냅샷을 포함한 세션 선언 목록을 사용하며 호출할 때마다 디스크를 다시 읽지 않습니다. 선언이 있다고 파일의 존재나 삭제 후 시작이 보장되지는 않습니다. FunRunning은 찾은 프로시저의 활성 실행도 확인합니다.
Private 또는 잘못된 정의도 SubExists가 1을 반환할 수 있습니다. 작업 중지나 편집기 탭 닫기가 카탈로그 항목을 반드시 지우지는 않습니다. 변경 파일을 다시 로드하면 옛 정의가 제거됩니다. 별도 runtime에만 로드한 함수는 관리자에 등록되지 않았을 수 있습니다.
프로젝트 소스: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; 함수 FindProcedureByName.
선택한 프로시저의 활성 실행이 있는지 확인하며 일시 중지도 포함합니다. 이미 있는 감시 작업의 재시작을 방지합니다.
FunRunning은 원래 프로시저 이름과 키를 사용하며 변경한 표시명은 사용하지 않습니다. 일시 중지는 실행을 유지하므로 1입니다. 취소는 정리 중에도 0입니다. 검사와 다음 호출은 원자적이지 않아 그 사이 작업이 끝날 수 있습니다.
프로젝트 소스: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 함수 FunRunning.
실제 구현 단계이며 C# 이름은 추가 UO 명령이 아닙니다. 실행 가능한 모든 Basic 보조 함수는 예제에 완전히 정의되어 있습니다.
# 활성 실행이 없을 때만 시작
#
# 선택한 프로시저의 활성 실행이 있는지 확인하며 일시 중지도 포함합니다. 이미 있는 감시 작업의 재시작을 방지합니다.
#
# Integer: 실행이 존재하고 취소되지 않았으면 1(True). 수동 또는 연결 끊김에 따른 일시 중지도 포함합니다. 없음, 미시작, 완료, 취소 중이면
# 0(False). If UO.FunRunning(name), = 1, = True를 사용할 수 있습니다. GetScriptState는 실행(1)과 일시 중지(2)를
# 구분합니다.
SUB Main()
# FunRunning = 0이면 시작을 요청합니다. 일시 중지는 1이므로 해제되지 않습니다.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If Not UO.FunRunning("WeightWatch") Then
UO.CallSub("WeightWatch")
End If
END SUB
Sub WeightWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Weight: " & CStr(UO.Weight()))
End If
UO.Wait(1000)
Next
End Sub매개변수 및 실행 설명:
- FunRunning = 0이면 시작을 요청합니다. 일시 중지는 1이므로 해제되지 않습니다.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
# 실행과 일시 중지 구분
#
# 선택한 프로시저의 활성 실행이 있는지 확인하며 일시 중지도 포함합니다. 이미 있는 감시 작업의 재시작을 방지합니다.
#
# Integer: 실행이 존재하고 취소되지 않았으면 1(True). 수동 또는 연결 끊김에 따른 일시 중지도 포함합니다. 없음, 미시작, 완료, 취소 중이면
# 0(False). If UO.FunRunning(name), = 1, = True를 사용할 수 있습니다. GetScriptState는 실행(1)과 일시 중지(2)를
# 구분합니다.
SUB Main()
# NamedRunState는 WeightWatch 표시명을 찾아 GetScriptState의 1, 2, 0을 반환합니다. 고유하고 변경되지 않은 이름과 안정적인 목록을
# 전제로 합니다. SetScriptName 이후 새 표시명이나 경로를 찾으십시오. FunRunning은 여전히 원래 이름을 사용합니다.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If UO.FunRunning("WeightWatch") Then
Return NamedRunState("WeightWatch")
End If
Return 0
END SUB
Function NamedRunState(name) As Integer
Dim indices = UO.GetScriptsList()
For Each index In indices
If UO.GetScriptName(index) = name Then
Return UO.GetScriptState(index)
End If
Next
Return 0
End Function
Sub WeightWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Weight: " & CStr(UO.Weight()))
End If
UO.Wait(1000)
Next
End Sub매개변수 및 실행 설명:
- NamedRunState는 WeightWatch 표시명을 찾아 GetScriptState의 1, 2, 0을 반환합니다. 고유하고 변경되지 않은 이름과 안정적인 목록을 전제로 합니다. SetScriptName 이후 새 표시명이나 경로를 찾으십시오. FunRunning은 여전히 원래 이름을 사용합니다.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
# 감시 하나만 중지
#
# 선택한 프로시저의 활성 실행이 있는지 확인하며 일시 중지도 포함합니다. 이미 있는 감시 작업의 재시작을 방지합니다.
#
# Integer: 실행이 존재하고 취소되지 않았으면 1(True). 수동 또는 연결 끊김에 따른 일시 중지도 포함합니다. 없음, 미시작, 완료, 취소 중이면
# 0(False). If UO.FunRunning(name), = 1, = True를 사용할 수 있습니다. GetScriptState는 실행(1)과 일시 중지(2)를
# 구분합니다.
SUB Main()
# Terminate에 원래 이름 WeightWatch를 전달하면 일시 중지 상태를 포함해 해당 작업만 취소됩니다. 다른 작업은 계속됩니다. Main은 별도 제어 작업으로
# 실행하십시오.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If UO.FunRunning("WeightWatch") Then
UO.Terminate("WeightWatch")
End If
END SUB
Sub WeightWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Weight: " & CStr(UO.Weight()))
End If
UO.Wait(1000)
Next
End Sub매개변수 및 실행 설명:
- Terminate에 원래 이름 WeightWatch를 전달하면 일시 중지 상태를 포함해 해당 작업만 취소됩니다. 다른 작업은 계속됩니다. Main은 별도 제어 작업으로 실행하십시오.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь