-
Notifications
You must be signed in to change notification settings - Fork 0
API UO SubExists ko
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
관리자 카탈로그에 프로시저 정의가 있는지 확인합니다. 선택적 모듈 시작 전에 쓰지만, 존재한다고 실행 중이거나 인수 없이 시작할 수 있다는 뜻은 아닙니다.
UO.SubExists(subrutineName:String) -> Integer
-
subrutineName— 필수 String subrutineName은 카탈로그의 Sub/Function 이름입니다. 예: WeightWatch. 경로, 파일명, 실행 인덱스, 소스 코드, SetScriptName으로 바꾼 표시명이 아닙니다. 대소문자는 무시하지만 공백은 제거하지 않습니다. 프로시저 인수를 전달할 수 없습니다.
Integer: 정의를 찾으면 1(True), 없으면 0(False). If UO.SubExists(name), = 1, = True를 사용할 수 있고 0은 False입니다. 파일 존재, 유효성, 활성 실행을 검사하는 명령은 아닙니다.
- 현재 세션의 카탈로그만 검색합니다. 같은 이름은 첫 번째 일치를 선택하므로 고유한 이름을 쓰십시오. 이 명령들은 알 수 없는 파일을 로드하거나 디스크를 검색하지 않습니다.
- 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.SubExists(name), = 1, = True를 사용할 수 있고 0은 False입니다. 파일 존재, 유효성, 활성 실행을 검사하는 명령은 아닙니다.
프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 함수 SubExists.
현재 세션의 카탈로그만 검색합니다. 같은 이름은 첫 번째 일치를 선택하므로 고유한 이름을 쓰십시오. 이 명령들은 알 수 없는 파일을 로드하거나 디스크를 검색하지 않습니다.
Private 또는 잘못된 정의도 SubExists가 1을 반환할 수 있습니다. 작업 중지나 편집기 탭 닫기가 카탈로그 항목을 반드시 지우지는 않습니다. 변경 파일을 다시 로드하면 옛 정의가 제거됩니다. 별도 runtime에만 로드한 함수는 관리자에 등록되지 않았을 수 있습니다.
프로젝트 소스: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; 함수 FindProcedureByName.
관리자 카탈로그에 프로시저 정의가 있는지 확인합니다. 선택적 모듈 시작 전에 쓰지만, 존재한다고 실행 중이거나 인수 없이 시작할 수 있다는 뜻은 아닙니다.
Private 또는 잘못된 정의도 SubExists가 1을 반환할 수 있습니다. 작업 중지나 편집기 탭 닫기가 카탈로그 항목을 반드시 지우지는 않습니다. 변경 파일을 다시 로드하면 옛 정의가 제거됩니다. 별도 runtime에만 로드한 함수는 관리자에 등록되지 않았을 수 있습니다.
프로젝트 소스: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 함수 SubExists.
실제 구현 단계이며 C# 이름은 추가 UO 명령이 아닙니다. 실행 가능한 모든 Basic 보조 함수는 예제에 완전히 정의되어 있습니다.
# 사용 가능한 선택적 프로시저 시작
#
# 관리자 카탈로그에 프로시저 정의가 있는지 확인합니다. 선택적 모듈 시작 전에 쓰지만, 존재한다고 실행 중이거나 인수 없이 시작할 수 있다는 뜻은 아닙니다.
#
# Integer: 정의를 찾으면 1(True), 없으면 0(False). If UO.SubExists(name), = 1, = True를 사용할 수 있고 0은
# False입니다. 파일 존재, 유효성, 활성 실행을 검사하는 명령은 아닙니다.
SUB Main()
# 이 논리 결과에서는 = True가 = 1과 같습니다. 파일을 로드해 아래 WeightWatch를 등록해야 합니다.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If UO.SubExists("WeightWatch") = True 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매개변수 및 실행 설명:
- 이 논리 결과에서는 = True가 = 1과 같습니다. 파일을 로드해 아래 WeightWatch를 등록해야 합니다.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
# 대체 처리 선택
#
# 관리자 카탈로그에 프로시저 정의가 있는지 확인합니다. 선택적 모듈 시작 전에 쓰지만, 존재한다고 실행 중이거나 인수 없이 시작할 수 있다는 뜻은 아닙니다.
#
# Integer: 정의를 찾으면 1(True), 없으면 0(False). If UO.SubExists(name), = 1, = True를 사용할 수 있고 0은
# False입니다. 파일 존재, 유효성, 활성 실행을 검사하는 명령은 아닙니다.
SUB Main()
# WeightWatch는 다른 파일에 있어도 됩니다. 없으면 로컬 ManaWatch를 선택합니다. 주 프로시저가 있지만 시작이 거부되면 자동 대체하지 않습니다.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If UO.SubExists("WeightWatch") = 1 Then
UO.CallSub("WeightWatch")
ElseIf UO.SubExists("ManaWatch") Then
UO.CallSub("ManaWatch")
End If
END SUB
Sub ManaWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Mana: " & CStr(UO.Mana()))
End If
UO.Wait(1000)
Next
End Sub매개변수 및 실행 설명:
- WeightWatch는 다른 파일에 있어도 됩니다. 없으면 로컬 ManaWatch를 선택합니다. 주 프로시저가 있지만 시작이 거부되면 자동 대체하지 않습니다.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
# 두 정의를 먼저 확인
#
# 관리자 카탈로그에 프로시저 정의가 있는지 확인합니다. 선택적 모듈 시작 전에 쓰지만, 존재한다고 실행 중이거나 인수 없이 시작할 수 있다는 뜻은 아닙니다.
#
# Integer: 정의를 찾으면 1(True), 없으면 0(False). If UO.SubExists(name), = 1, = True를 사용할 수 있고 0은
# False입니다. 파일 존재, 유효성, 활성 실행을 검사하는 명령은 아닙니다.
SUB Main()
# HaveMonitors가 AndAlso로 두 이름을 검사합니다. 하나라도 없으면 Main은 둘 다 시작하지 않습니다. 동시 실행 성공을 보장하는 검사는 아닙니다.
# 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를
# 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는
# 동시 프로시저 실행을 허용해야 합니다.
If HaveMonitors() Then
UO.CallSub("WeightWatch")
UO.CallSub("ManaWatch")
End If
END SUB
Function HaveMonitors() As Boolean
Return UO.SubExists("WeightWatch") AndAlso UO.SubExists("ManaWatch")
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
Sub ManaWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Mana: " & CStr(UO.Mana()))
End If
UO.Wait(1000)
Next
End Sub매개변수 및 실행 설명:
- HaveMonitors가 AndAlso로 두 이름을 검사합니다. 하나라도 없으면 Main은 둘 다 시작하지 않습니다. 동시 실행 성공을 보장하는 검사는 아닙니다.
- 각 예제를 별도 파일로 저장하고 IDE/관리자에서 로드한 뒤 Main을 실행해 다른 프로시저를 등록하십시오. WeightWatch/ManaWatch는 전체 정의를 포함하며 무게/마나를 3회 측정합니다. Wait(1000)은 1000밀리초이고 월드 안에서만 출력합니다. 유한한 감시이며 일시 중지는 시간을 늘립니다. 두 작업 예제에는 동시 프로시저 실행을 허용해야 합니다.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь