Skip to content

API CInt uk

Codex edited this page Sep 23, 2026 · 1 revision

CInt

ClassicUO / Basic IDE

Home · API · Basic

Округлює число до цілого, наприклад обчислену затримку або ліміт предметів.

Точний синтаксис

CInt(value:Any) -> Integer

Параметри

  • value — Один обов’язковий Integer/Decimal або числовий String із крапкою та необов’язковою експонентою незалежно від мови. "0x0EED" тут не є числовим текстом. Неправильний текст, Array, Object і Unit дають 0. Перевіряйте введення через IsNumeric.

Повертає

Integer, знакові 32 біти: половина округлюється від нуля, 2.5 -> 3, -2.5 -> -3. CInt і CLng мають однакову реалізацію; CLng не створює 64-бітне число. Використовуйте скінченні значення з округленим результатом у -2147483648..2147483647. Це не Boolean.

Поведінка

  • Локальне обчислення без пакетів, цілі та ігрових дій. BasicDouble спочатку розбирає числовий текст незалежно від мови. Правила цього рушія не повністю збігаються з VB.NET. Decimal зберігає double; CInt/CLng округлюють половини від нуля.

Внутрішні функції: від виклику до результату

Локальне обчислення без пакетів, цілі та ігрових дій. BasicDouble спочатку розбирає числовий текст незалежно від мови. Правила цього рушія не повністю збігаються з VB.NET. Decimal зберігає double; CInt/CLng округлюють половини від нуля.

1. BasicDouble

Один обов’язковий Integer/Decimal або числовий String із крапкою та необов’язковою експонентою незалежно від мови. "0x0EED" тут не є числовим текстом. Неправильний текст, Array, Object і Unit дають 0. Перевіряйте введення через IsNumeric.

Decimal / double

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; функція BasicDouble.

2. Register

Округлює число до цілого, наприклад обчислену затримку або ліміт предметів.

Integer, знакові 32 біти: половина округлюється від нуля, 2.5 -> 3, -2.5 -> -3. CInt і CLng мають однакову реалізацію; CLng не створює 64-бітне число. Використовуйте скінченні значення з округленим результатом у -2147483648..2147483647. Це не Boolean.

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; функція Register.

Приклади

CInt — 1

# CInt1
#
# Округлює число до цілого, наприклад обчислену затримку або ліміт предметів.
#
# Integer, знакові 32 біти: половина округлюється від нуля, 2.5 -> 3, -2.5 -> -3. CInt і CLng
# мають однакову реалізацію; CLng не створює 64-бітне число. Використовуйте скінченні значення з
# округленим результатом у -2147483648..2147483647. Це не Boolean.

SUB Main()
    # value=2.5. Округлення від нуля дає Integer 3, який повертає Main, а не 2 за правилом до
    # парного.

    RETURN CInt(2.5)
END SUB

Пояснення параметрів і виконання:

  • value=2.5. Округлення від нуля дає Integer 3, який повертає Main, а не 2 за правилом до парного.

CInt — 2

# CInt2
#
# Округлює число до цілого, наприклад обчислену затримку або ліміт предметів.
#
# Integer, знакові 32 біти: половина округлюється від нуля, 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 CInt(offset)
END SUB

Пояснення параметрів і виконання:

  • offset=-2.5 — знакове зміщення координати. Main повертає -3. Приклад обчислює зміщення, але не рухає персонажа.

CInt — 3

# CInt3
#
# Округлює число до цілого, наприклад обчислену затримку або ліміт предметів.
#
# Integer, знакові 32 біти: половина округлюється від нуля, 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 CInt(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