Skip to content

API CInt es

Codex edited this page Sep 23, 2026 · 1 revision

CInt

ClassicUO / Basic IDE

Home · API · Basic

Redondea a un entero, por ejemplo un retraso calculado o un límite de objetos.

Sintaxis exacta

CInt(value:Any) -> Integer

Parámetros

  • value — Un Integer/Decimal o String numérico obligatorio, con punto y exponente opcional independientemente del idioma. "0x0EED" no es texto numérico aquí. Texto inválido, Array, Object y Unit pasan a 0. Comprueba la entrada con IsNumeric.

Devuelve

Integer de 32 bits con signo: las mitades se alejan de cero, 2.5 -> 3, -2.5 -> -3. CInt y CLng comparten implementación; CLng no crea 64 bits. Usa valores finitos cuyo resultado redondeado esté en -2147483648..2147483647. No es Boolean.

Comportamiento

  • Cálculo local sin paquetes, objetivos ni acciones del juego. BasicDouble interpreta primero texto numérico independiente del idioma. Las reglas del motor difieren de VB.NET. Decimal guarda double; CInt/CLng redondean las mitades alejándose de cero.

Funciones internas: de la llamada al resultado

Cálculo local sin paquetes, objetivos ni acciones del juego. BasicDouble interpreta primero texto numérico independiente del idioma. Las reglas del motor difieren de VB.NET. Decimal guarda double; CInt/CLng redondean las mitades alejándose de cero.

1. BasicDouble

Un Integer/Decimal o String numérico obligatorio, con punto y exponente opcional independientemente del idioma. "0x0EED" no es texto numérico aquí. Texto inválido, Array, Object y Unit pasan a 0. Comprueba la entrada con IsNumeric.

Decimal / double

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; función BasicDouble.

2. Register

Redondea a un entero, por ejemplo un retraso calculado o un límite de objetos.

Integer de 32 bits con signo: las mitades se alejan de cero, 2.5 -> 3, -2.5 -> -3. CInt y CLng comparten implementación; CLng no crea 64 bits. Usa valores finitos cuyo resultado redondeado esté en -2147483648..2147483647. No es Boolean.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; función Register.

Ejemplos

CInt — 1

# CInt1
#
# Redondea a un entero, por ejemplo un retraso calculado o un límite de objetos.
#
# Integer de 32 bits con signo: las mitades se alejan de cero, 2.5 -> 3, -2.5 -> -3. CInt y CLng
# comparten implementación; CLng no crea 64 bits. Usa valores finitos cuyo resultado redondeado
# esté en -2147483648..2147483647. No es Boolean.

SUB Main()
    # value=2.5. Main devuelve Integer 3 alejándose de cero, no 2 mediante redondeo al par.

    RETURN CInt(2.5)
END SUB

Explicación de los parámetros y la ejecución:

  • value=2.5. Main devuelve Integer 3 alejándose de cero, no 2 mediante redondeo al par.

CInt — 2

# CInt2
#
# Redondea a un entero, por ejemplo un retraso calculado o un límite de objetos.
#
# Integer de 32 bits con signo: las mitades se alejan de cero, 2.5 -> 3, -2.5 -> -3. CInt y CLng
# comparten implementación; CLng no crea 64 bits. Usa valores finitos cuyo resultado redondeado
# esté en -2147483648..2147483647. No es Boolean.

SUB Main()
    # offset=-2.5 es un desplazamiento de coordenada con signo. Main devuelve -3 sin mover al
    # personaje.

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

Explicación de los parámetros y la ejecución:

  • offset=-2.5 es un desplazamiento de coordenada con signo. Main devuelve -3 sin mover al personaje.

CInt — 3

# CInt3
#
# Redondea a un entero, por ejemplo un retraso calculado o un límite de objetos.
#
# Integer de 32 bits con signo: las mitades se alejan de cero, 2.5 -> 3, -2.5 -> -3. CInt y CLng
# comparten implementación; CLng no crea 64 bits. Usa valores finitos cuyo resultado redondeado
# esté en -2147483648..2147483647. No es Boolean.

SUB Main()
    # ReadDelay recibe secondsText="0.35". IsNumeric comprueba la escritura y CDbl lee segundos.
    # Texto inválido, NaN o valores fuera de 0.1..5 segundos dan -1. Si son válidos, multiplica por
    # 1000 y redondea: Main devuelve 350 milisegundos. Prepara un retraso sin esperar.

    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

Explicación de los parámetros y la ejecución:

  • ReadDelay recibe secondsText="0.35". IsNumeric comprueba la escritura y CDbl lee segundos. Texto inválido, NaN o valores fuera de 0.1..5 segundos dan -1. Si son válidos, multiplica por 1000 y redondea: Main devuelve 350 milisegundos. Prepara un retraso sin esperar.

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

Clone this wiki locally