Skip to content

API CBool ko

Codex edited this page Sep 23, 2026 · 1 revision

CBool

ClassicUO / Basic IDE

Home · API · Basic

수량이 0이 아닌지 등 숫자를 조건 플래그로 바꿉니다.

정확한 구문

CBool(value:Any) -> Integer

매개변수

  • value — Integer/Decimal 또는 숫자 String 하나가 필수입니다. 문자열은 언어와 무관하게 소수점과 선택적 지수를 쓰며 "0x0EED"는 여기서 숫자 텍스트가 아닙니다. 잘못된 텍스트, Array, Object, Unit은 0이 됩니다. 입력을 IsNumeric으로 먼저 검사하세요.

반환값

변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag = 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

동작

  • 패킷, 타깃, 게임 동작 없이 로컬에서 계산합니다. BasicDouble이 언어와 무관한 형식으로 숫자 텍스트를 먼저 읽습니다. 이 엔진의 규칙은 VB.NET과 완전히 같지 않습니다. Decimal은 double을 저장하고 CInt/CLng는 중간값을 0에서 멀어지게 반올림합니다.

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

패킷, 타깃, 게임 동작 없이 로컬에서 계산합니다. BasicDouble이 언어와 무관한 형식으로 숫자 텍스트를 먼저 읽습니다. 이 엔진의 규칙은 VB.NET과 완전히 같지 않습니다. Decimal은 double을 저장하고 CInt/CLng는 중간값을 0에서 멀어지게 반올림합니다.

1. BasicDouble

Integer/Decimal 또는 숫자 String 하나가 필수입니다. 문자열은 언어와 무관하게 소수점과 선택적 지수를 쓰며 "0x0EED"는 여기서 숫자 텍스트가 아닙니다. 잘못된 텍스트, Array, Object, Unit은 0이 됩니다. 입력을 IsNumeric으로 먼저 검사하세요.

Decimal / double

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

2. Register

수량이 0이 아닌지 등 숫자를 조건 플래그로 바꿉니다.

변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag = 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

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

예제

CBool — 1

# CBool — 1
#
# 수량이 0이 아닌지 등 숫자를 조건 플래그로 바꿉니다.
#
# 변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag =
# 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

SUB Main()
    # 변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag =
    # 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

    RETURN CBool(-5)
END SUB

매개변수 및 실행 설명:

  • 변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag = 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

CBool — 2

# CBool — 2
#
# 수량이 0이 아닌지 등 숫자를 조건 플래그로 바꿉니다.
#
# 변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag =
# 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

SUB Main()
    # String "true"는 숫자가 아니므로 CBool은 0을 반환합니다. 따옴표 없는 True(1)나 숫자 비교 결과를 사용하세요.

    RETURN CBool("true")
END SUB

매개변수 및 실행 설명:

  • String "true"는 숫자가 아니므로 CBool은 0을 반환합니다. 따옴표 없는 True(1)나 숫자 비교 결과를 사용하세요.

CBool — 3

# CBool — 3
#
# 수량이 0이 아닌지 등 숫자를 조건 플래그로 바꿉니다.
#
# 변환한 숫자가 0이 아니면 Integer 1, 아니면 0입니다. 음수도 1입니다. True/False는 1/0이므로 IF flag, flag = True, flag =
# 1로 검사할 수 있습니다. 문자열 "true"는 리터럴 True와 달라 0입니다. NaN/Infinity는 1이므로 숫자 유효성 검사가 아닙니다.

SUB Main()
    # NeedRefill의 current=2, minimum=5입니다. current < minimum이 참이므로 CBool은 1을 반환하고 Main은 True와 비교해 1을
    # 반환합니다. 실제로 읽은 수량을 넣을 수 있지만 함수 자체는 아이템을 읽거나 이동하지 않습니다.

    IF NeedRefill(2,5) = True THEN
        RETURN 1
    END IF
    RETURN 0
END SUB

SUB NeedRefill(current,minimum)
    RETURN CBool(current < minimum)
END SUB

매개변수 및 실행 설명:

  • NeedRefill의 current=2, minimum=5입니다. current < minimum이 참이므로 CBool은 1을 반환하고 Main은 True와 비교해 1을 반환합니다. 실제로 읽은 수량을 넣을 수 있지만 함수 자체는 아이템을 읽거나 이동하지 않습니다.

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

Clone this wiki locally