Skip to content

API CInt it

Codex edited this page Sep 23, 2026 · 1 revision

CInt

ClassicUO / Basic IDE

Home · API · Basic

Arrotonda a un intero, per esempio un ritardo calcolato o un limite di oggetti.

Sintassi esatta

CInt(value:Any) -> Integer

Parametri

  • value — Un Integer/Decimal o String numerico obbligatorio, con punto ed esponente facoltativo indipendentemente dalla lingua. "0x0EED" non è numerico qui. Testo non valido, Array, Object e Unit diventano 0. Verifica l’input con IsNumeric.

Restituisce

Integer con segno a 32 bit: i valori a metà si allontanano da zero, 2.5 -> 3, -2.5 -> -3. CInt e CLng hanno la stessa implementazione; CLng non crea 64 bit. Usa valori finiti il cui risultato arrotondato rientra in -2147483648..2147483647. Non è un Boolean.

Comportamento

  • Calcolo locale senza pacchetti, bersagli o azioni di gioco. BasicDouble legge prima il testo numerico indipendentemente dalla lingua. Le regole del motore differiscono da VB.NET. Decimal contiene double; CInt/CLng arrotondano le metà lontano da zero.

Funzioni interne: dalla chiamata al risultato

Calcolo locale senza pacchetti, bersagli o azioni di gioco. BasicDouble legge prima il testo numerico indipendentemente dalla lingua. Le regole del motore differiscono da VB.NET. Decimal contiene double; CInt/CLng arrotondano le metà lontano da zero.

1. BasicDouble

Un Integer/Decimal o String numerico obbligatorio, con punto ed esponente facoltativo indipendentemente dalla lingua. "0x0EED" non è numerico qui. Testo non valido, Array, Object e Unit diventano 0. Verifica l’input con IsNumeric.

Decimal / double

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; funzione BasicDouble.

2. Register

Arrotonda a un intero, per esempio un ritardo calcolato o un limite di oggetti.

Integer con segno a 32 bit: i valori a metà si allontanano da zero, 2.5 -> 3, -2.5 -> -3. CInt e CLng hanno la stessa implementazione; CLng non crea 64 bit. Usa valori finiti il cui risultato arrotondato rientra in -2147483648..2147483647. Non è un Boolean.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; funzione Register.

Esempi

CInt — 1

# CInt — 1
#
# Arrotonda a un intero, per esempio un ritardo calcolato o un limite di oggetti.
#
# Integer con segno a 32 bit: i valori a metà si allontanano da zero, 2.5 -> 3, -2.5 -> -3. CInt
# e CLng hanno la stessa implementazione; CLng non crea 64 bit. Usa valori finiti il cui
# risultato arrotondato rientra in -2147483648..2147483647. Non è un Boolean.

SUB Main()
    # value=2.5. Main restituisce Integer 3 arrotondando lontano da zero, non 2 con arrotondamento
    # al pari.

    RETURN CInt(2.5)
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • value=2.5. Main restituisce Integer 3 arrotondando lontano da zero, non 2 con arrotondamento al pari.

CInt — 2

# CInt — 2
#
# Arrotonda a un intero, per esempio un ritardo calcolato o un limite di oggetti.
#
# Integer con segno a 32 bit: i valori a metà si allontanano da zero, 2.5 -> 3, -2.5 -> -3. CInt
# e CLng hanno la stessa implementazione; CLng non crea 64 bit. Usa valori finiti il cui
# risultato arrotondato rientra in -2147483648..2147483647. Non è un Boolean.

SUB Main()
    # offset=-2.5 è uno spostamento di coordinata con segno. Main restituisce -3 senza muovere il
    # personaggio.

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

Spiegazione dei parametri e dell’esecuzione:

  • offset=-2.5 è uno spostamento di coordinata con segno. Main restituisce -3 senza muovere il personaggio.

CInt — 3

# CInt — 3
#
# Arrotonda a un intero, per esempio un ritardo calcolato o un limite di oggetti.
#
# Integer con segno a 32 bit: i valori a metà si allontanano da zero, 2.5 -> 3, -2.5 -> -3. CInt
# e CLng hanno la stessa implementazione; CLng non crea 64 bit. Usa valori finiti il cui
# risultato arrotondato rientra in -2147483648..2147483647. Non è un Boolean.

SUB Main()
    # ReadDelay riceve secondsText="0.35". IsNumeric verifica la scrittura, CDbl legge i secondi.
    # Testo non valido, NaN o valori fuori da 0.1..5 secondi danno -1. Altrimenti moltiplica per
    # 1000 e arrotonda: Main restituisce 350 millisecondi. Prepara un ritardo senza attendere.

    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

Spiegazione dei parametri e dell’esecuzione:

  • ReadDelay riceve secondsText="0.35". IsNumeric verifica la scrittura, CDbl legge i secondi. Testo non valido, NaN o valori fuori da 0.1..5 secondi danno -1. Altrimenti moltiplica per 1000 e arrotonda: Main restituisce 350 millisecondi. Prepara un ritardo senza attendere.

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

Clone this wiki locally