Skip to content

API ASC ko

Codex edited this page Oct 3, 2026 · 1 revision

ASC

API · BASIC

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

ASC · Chr · len · StrComp

ClassicUO • Runtime API

문자 코드 또는 정수 설정을 읽습니다. 인수 개수에 따라 작업이 달라집니다.

정확한 구문

ASC(text:String, defaultValue:Integer) -> Integer
ASC(value:String) -> Integer

매개변수

  • value / text — String. 인수 하나는 첫 UTF-16 코드 단위, 둘은 부호와 앞뒤 공백을 허용하는 전체 십진수 또는 0x 16진수 텍스트를 읽습니다.
  • defaultValue — 분석 실패 시 Integer 대체 값. 인수 두 개 형식에서만 필수입니다.

반환값

Integer. 문자 코드는 0..65535, 빈 문자열은 0입니다. 두 인수 형식은 Int32 또는 대체 값입니다. 십진 오버플로는 실패하며 0xFFFFFFFF까지의 16진수는 부호 있는 32비트로 해석하므로 0xFFFFFFFF는 -1입니다. 소수와 추가 접미사는 거부합니다.

동작

  • 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.
  • 성공 여부 플래그가 아닙니다. 지역 ANSI가 아닌 Unicode이며 이모지는 첫 서로게이트를 반환합니다. 대체 값이 정상 결과와 같을 수 있으므로 허용 설정 범위 밖의 값을 고르세요.

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

인수 하나는 text[0] 또는 0을 읽습니다. 둘은 TryStr2Int를 호출해 숫자나 대체 값을 반환합니다.

1. BasicAsc / Asc / NumberConversions.TryStr2Int

인수 하나는 text[0] 또는 0을 읽습니다. 둘은 TryStr2Int를 호출해 숫자나 대체 값을 반환합니다.

Integer. 문자 코드는 0..65535, 빈 문자열은 0입니다. 두 인수 형식은 Int32 또는 대체 값입니다. 십진 오버플로는 실패하며 0xFFFFFFFF까지의 16진수는 부호 있는 32비트로 해석하므로 0xFFFFFFFF는 -1입니다. 소수와 추가 접미사는 거부합니다.

프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 함수 BasicAsc / Asc / NumberConversions.TryStr2Int.

성공 여부 플래그가 아닙니다. 지역 ANSI가 아닌 Unicode이며 이모지는 첫 서로게이트를 반환합니다. 대체 값이 정상 결과와 같을 수 있으므로 허용 설정 범위 밖의 값을 고르세요.

예제

한 자리 숫자 읽기

# 한 자리 숫자 읽기
#
# 문자 코드 또는 정수 설정을 읽습니다. 인수 개수에 따라 작업이 달라집니다.
#
# Integer. 문자 코드는 0..65535, 빈 문자열은 0입니다. 두 인수 형식은 Int32 또는 대체 값입니다. 십진 오버플로는 실패하며 0xFFFFFFFF까지의
# 16진수는 부호 있는 32비트로 해석하므로 0xFFFFFFFF는 -1입니다. 소수와 추가 접미사는 거부합니다.

SUB Main()
    # ASC("7") = 55입니다. 48..57 범위 확인 후 48을 빼면 7입니다.
    # 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

    Dim code = ASC("7")
    If code >= 48 AndAlso code <= 57 Then
        Return code - 48
    End If
    Return -1
END SUB

매개변수 및 실행 설명:

  • ASC("7") = 55입니다. 48..57 범위 확인 후 48을 빼면 7입니다.
  • 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

그래픽 설정 읽기

# 그래픽 설정 읽기
#
# 문자 코드 또는 정수 설정을 읽습니다. 인수 개수에 따라 작업이 달라집니다.
#
# Integer. 문자 코드는 0..65535, 빈 문자열은 0입니다. 두 인수 형식은 Int32 또는 대체 값입니다. 십진 오버플로는 실패하며 0xFFFFFFFF까지의
# 16진수는 부호 있는 32비트로 해석하므로 0xFFFFFFFF는 -1입니다. 소수와 추가 접미사는 거부합니다.

SUB Main()
    # "0x0EED"는 3821입니다. 이 예제에서 -1은 잘못된 설정이며 아이템을 이동하지 않습니다.
    # 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

    Dim graphicText = "0x0EED"
    Dim graphic = ASC(graphicText, -1)
    If graphic = -1 Then
        Return "invalid graphic"
    End If
    Return graphic
END SUB

매개변수 및 실행 설명:

  • "0x0EED"는 3821입니다. 이 예제에서 -1은 잘못된 설정이며 아이템을 이동하지 않습니다.
  • 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

수량 검증

# 수량 검증
#
# 문자 코드 또는 정수 설정을 읽습니다. 인수 개수에 따라 작업이 달라집니다.
#
# Integer. 문자 코드는 0..65535, 빈 문자열은 0입니다. 두 인수 형식은 Int32 또는 대체 값입니다. 십진 오버플로는 실패하며 0xFFFFFFFF까지의
# 16진수는 부호 있는 32비트로 해석하므로 0xFFFFFFFF는 -1입니다. 소수와 추가 접미사는 거부합니다.

SUB Main()
    # ReadQuantity는 1..100을 요구합니다. "invalid"는 -1, "50"은 50입니다. 스택은 변경하지 않습니다.
    # 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

    Return ReadQuantity("invalid", 1, 100)
END SUB

Function ReadQuantity(text, minimum, maximum)
    Dim quantity = ASC(text, -1)
    If quantity < minimum OrElse quantity > maximum Then
        Return -1
    End If
    Return quantity
End Function

매개변수 및 실행 설명:

  • ReadQuantity는 1..100을 요구합니다. "invalid"는 -1, "50"은 50입니다. 스택은 변경하지 않습니다.
  • 예제 데이터를 로컬에서 처리하고 값을 반환합니다. 채팅 전송, 스크립트 중지, 아이템 이동, 서버 통신은 하지 않습니다.

Clone this wiki locally