Skip to content

API CLng ko

Codex edited this page Sep 23, 2026 · 1 revision

CLng

ClassicUO / Basic IDE

Home · API · Basic

계산한 대기 시간이나 아이템 수 한도 등을 정수로 반올림합니다.

정확한 구문

CLng(value:Any) -> Integer

매개변수

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

반환값

부호 있는 32비트 Integer입니다. 정확히 절반이면 0에서 멀어지는 방향으로 반올림하여 2.5 -> 3, -2.5 -> -3입니다. CInt와 CLng는 같은 구현이며 CLng도 64비트가 아닙니다. 유한값을 사용하고 반올림 결과를 -2147483648..2147483647 안에 두세요. Boolean이 아닙니다.

동작

  • 패킷, 타깃, 게임 동작 없이 로컬에서 계산합니다. 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

계산한 대기 시간이나 아이템 수 한도 등을 정수로 반올림합니다.

부호 있는 32비트 Integer입니다. 정확히 절반이면 0에서 멀어지는 방향으로 반올림하여 2.5 -> 3, -2.5 -> -3입니다. CInt와 CLng는 같은 구현이며 CLng도 64비트가 아닙니다. 유한값을 사용하고 반올림 결과를 -2147483648..2147483647 안에 두세요. Boolean이 아닙니다.

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

예제

CLng — 1

# CLng — 1
#
# 계산한 대기 시간이나 아이템 수 한도 등을 정수로 반올림합니다.
#
# 부호 있는 32비트 Integer입니다. 정확히 절반이면 0에서 멀어지는 방향으로 반올림하여 2.5 -> 3, -2.5 -> -3입니다. CInt와 CLng는 같은
# 구현이며 CLng도 64비트가 아닙니다. 유한값을 사용하고 반올림 결과를 -2147483648..2147483647 안에 두세요. Boolean이 아닙니다.

SUB Main()
    # value=2.5입니다. Main은 짝수 반올림의 2가 아니라 0에서 멀어지는 반올림 결과 Integer 3을 반환합니다.

    RETURN CLng(2.5)
END SUB

매개변수 및 실행 설명:

  • value=2.5입니다. Main은 짝수 반올림의 2가 아니라 0에서 멀어지는 반올림 결과 Integer 3을 반환합니다.

CLng — 2

# CLng — 2
#
# 계산한 대기 시간이나 아이템 수 한도 등을 정수로 반올림합니다.
#
# 부호 있는 32비트 Integer입니다. 정확히 절반이면 0에서 멀어지는 방향으로 반올림하여 2.5 -> 3, -2.5 -> -3입니다. CInt와 CLng는 같은
# 구현이며 CLng도 64비트가 아닙니다. 유한값을 사용하고 반올림 결과를 -2147483648..2147483647 안에 두세요. Boolean이 아닙니다.

SUB Main()
    # offset=-2.5는 부호 있는 좌표 차이입니다. Main은 -3을 반환하며 캐릭터를 움직이지 않습니다.

    VAR offset = -2.5
    RETURN CLng(offset)
END SUB

매개변수 및 실행 설명:

  • offset=-2.5는 부호 있는 좌표 차이입니다. Main은 -3을 반환하며 캐릭터를 움직이지 않습니다.

CLng — 3

# CLng — 3
#
# 계산한 대기 시간이나 아이템 수 한도 등을 정수로 반올림합니다.
#
# 부호 있는 32비트 Integer입니다. 정확히 절반이면 0에서 멀어지는 방향으로 반올림하여 2.5 -> 3, -2.5 -> -3입니다. CInt와 CLng는 같은
# 구현이며 CLng도 64비트가 아닙니다. 유한값을 사용하고 반올림 결과를 -2147483648..2147483647 안에 두세요. Boolean이 아닙니다.

SUB Main()
    # ReadDelay는 secondsText="0.35"를 받습니다. IsNumeric이 표기를 검사하고 CDbl이 초를 읽습니다. 잘못된 텍스트, NaN, 0.1..5초
    # 밖이면 -1입니다. 유효한 초에 1000을 곱해 반올림하므로 Main은 350밀리초를 반환합니다. 다음 동작에 쓸 시간을 계산할 뿐 기다리지는 않습니다.

    RETURN ReadDelay("0.35")
END SUB

SUB ReadDelay(secondsText)
    IF NOT IsNumeric(secondsText) THEN
        RETURN -1
    END IF
    VAR seconds = CDbl(secondsText)
    IF CStr(seconds) = "NaN" OR seconds < 0.1 OR seconds > 5 THEN
        RETURN -1
    END IF
    RETURN CLng(seconds * 1000)
END SUB

매개변수 및 실행 설명:

  • ReadDelay는 secondsText="0.35"를 받습니다. IsNumeric이 표기를 검사하고 CDbl이 초를 읽습니다. 잘못된 텍스트, NaN, 0.1..5초 밖이면 -1입니다. 유효한 초에 1000을 곱해 반올림하므로 Main은 350밀리초를 반환합니다. 다음 동작에 쓸 시간을 계산할 뿐 기다리지는 않습니다.

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

Clone this wiki locally