Skip to content

API ASC it

Codex edited this page Oct 3, 2026 · 1 revision

ASC

API · BASIC

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

ASC · Chr · len · StrComp

ClassicUO • Runtime API

Legge il codice di un carattere o un’impostazione intera; il numero di argomenti sceglie l’operazione.

Sintassi esatta

ASC(text:String, defaultValue:Integer) -> Integer
ASC(value:String) -> Integer

Parametri

  • value / text — String: un argomento legge la prima unità UTF-16; due analizzano tutto il testo decimale o 0x esadecimale, con segno e spazi esterni.
  • defaultValue — Integer di ripiego se l’analisi fallisce, richiesto solo con due argomenti.

Restituisce

Integer: codice 0..65535 o 0 per testo vuoto; con due argomenti, Int32 o ripiego. Overflow decimale rifiutato; hex fino a 0xFFFFFFFF è un modello di 32 bit con segno, quindi 0xFFFFFFFF dà -1. Frazioni e suffissi sono rifiutati.

Comportamento

  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.
  • Non è un indicatore di successo. Unicode, non ANSI locale; un emoji restituisce il primo surrogato. Il ripiego può coincidere con un valore valido: sceglierlo fuori dall’intervallo consentito.

Funzioni interne: dalla chiamata al risultato

Un argomento legge text[0] o zero; due chiamano TryStr2Int e restituiscono il numero o il ripiego.

1. BasicAsc / Asc / NumberConversions.TryStr2Int

Un argomento legge text[0] o zero; due chiamano TryStr2Int e restituiscono il numero o il ripiego.

Integer: codice 0..65535 o 0 per testo vuoto; con due argomenti, Int32 o ripiego. Overflow decimale rifiutato; hex fino a 0xFFFFFFFF è un modello di 32 bit con segno, quindi 0xFFFFFFFF dà -1. Frazioni e suffissi sono rifiutati.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; funzione BasicAsc / Asc / NumberConversions.TryStr2Int.

Non è un indicatore di successo. Unicode, non ANSI locale; un emoji restituisce il primo surrogato. Il ripiego può coincidere con un valore valido: sceglierlo fuori dall’intervallo consentito.

Esempi

Leggere una cifra

# Leggere una cifra
#
# Legge il codice di un carattere o un’impostazione intera; il numero di argomenti sceglie
# l’operazione.
#
# Integer: codice 0..65535 o 0 per testo vuoto; con due argomenti, Int32 o ripiego. Overflow
# decimale rifiutato; hex fino a 0xFFFFFFFF è un modello di 32 bit con segno, quindi 0xFFFFFFFF
# dà -1. Frazioni e suffissi sono rifiutati.

SUB Main()
    # ASC("7") = 55. Dopo la verifica 48..57, sottrarre 48 restituisce 7.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

    Dim code = ASC("7")
    If code >= 48 AndAlso code <= 57 Then
        Return code - 48
    End If
    Return -1
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • ASC("7") = 55. Dopo la verifica 48..57, sottrarre 48 restituisce 7.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Leggere una grafica

# Leggere una grafica
#
# Legge il codice di un carattere o un’impostazione intera; il numero di argomenti sceglie
# l’operazione.
#
# Integer: codice 0..65535 o 0 per testo vuoto; con due argomenti, Int32 o ripiego. Overflow
# decimale rifiutato; hex fino a 0xFFFFFFFF è un modello di 32 bit con segno, quindi 0xFFFFFFFF
# dà -1. Frazioni e suffissi sono rifiutati.

SUB Main()
    # "0x0EED" diventa 3821; -1 indica qui una configurazione non valida. Nessun oggetto viene
    # spostato.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

    Dim graphicText = "0x0EED"
    Dim graphic = ASC(graphicText, -1)
    If graphic = -1 Then
        Return "invalid graphic"
    End If
    Return graphic
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • "0x0EED" diventa 3821; -1 indica qui una configurazione non valida. Nessun oggetto viene spostato.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Validare una quantità

# Validare una quantità
#
# Legge il codice di un carattere o un’impostazione intera; il numero di argomenti sceglie
# l’operazione.
#
# Integer: codice 0..65535 o 0 per testo vuoto; con due argomenti, Int32 o ripiego. Overflow
# decimale rifiutato; hex fino a 0xFFFFFFFF è un modello di 32 bit con segno, quindi 0xFFFFFFFF
# dà -1. Frazioni e suffissi sono rifiutati.

SUB Main()
    # ReadQuantity richiede 1..100: "invalid" restituisce -1; "50" restituirebbe 50. Nessuna pila
    # viene modificata.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

    Return ReadQuantity("invalid", 1, 100)
END SUB

Function ReadQuantity(text, minimum, maximum)
    Dim quantity = ASC(text, -1)
    If quantity < minimum OrElse quantity > maximum Then
        Return -1
    End If
    Return quantity
End Function

Spiegazione dei parametri e dell’esecuzione:

  • ReadQuantity richiede 1..100: "invalid" restituisce -1; "50" restituirebbe 50. Nessuna pila viene modificata.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Clone this wiki locally