Skip to content

API messagebox it

Codex edited this page Sep 26, 2026 · 1 revision

messagebox

ClassicUO / Basic IDE

Home · API · Journal

Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano l’output locale del gioco.

Sintassi esatta

messagebox(text:String) -> Unit

Parametri

  • text — Testo del messaggio. Unire i numeri esplicitamente con CStr; nomi e coordinate non vengono sostituiti automaticamente. Le virgolette delimitano la stringa e non vengono inviate.

Restituisce

Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False, un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

Comportamento

  • La riga appare in basso a sinistra nella finestra di gioco e nel diario locale. Una copia è disponibile nell’output IDE; il gestore mostra le voci locali nel diario di sistema della sessione anche senza finestra di gioco. Non invia pacchetti di parlato. Per il testo sopra la testa usare UO.CharPrint.
  • La stampa aggiunge essa stessa voci al diario. Salvare il risultato della ricerca o l’ultima riga prima della diagnostica. Nei cicli veloci segnalare i cambiamenti, non ogni iterazione.
  • Senza colore si usa hue 0x03B2. UO.Print(text, color) riceve prima il testo; UO.ColorPrint(color, text) prima il colore.
  • Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano l’output locale del gioco.
  • UO.Print · UO.CharPrint · UO.Say · UO.ConColor

Funzioni interne: dalla chiamata al risultato

La riga appare in basso a sinistra nella finestra di gioco e nel diario locale. Una copia è disponibile nell’output IDE; il gestore mostra le voci locali nel diario di sistema della sessione anche senza finestra di gioco. Non invia pacchetti di parlato. Per il testo sopra la testa usare UO.CharPrint.

1. Message

Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano l’output locale del gioco.

Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False, un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

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

2. PrintClientMessage

Mostra un messaggio locale sullo stato dello script o su una condizione di arresto. Lo vedi tu, non gli altri giocatori.

La riga appare in basso a sinistra nella finestra di gioco e nel diario locale. Una copia è disponibile nell’output IDE; il gestore mostra le voci locali nel diario di sistema della sessione anche senza finestra di gioco. Non invia pacchetti di parlato. Per il testo sopra la testa usare UO.CharPrint.

Sorgente del progetto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; funzione PrintClientMessage.

3. Print

La stampa aggiunge essa stessa voci al diario. Salvare il risultato della ricerca o l’ultima riga prima della diagnostica. Nei cicli veloci segnalare i cambiamenti, non ogni iterazione.

Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False, un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

Sorgente del progetto: src/ClassicUO.Client/Game/GameActions.cs; funzione Print.

Esempi

Riepilogo avanzamento

# Riepilogo avanzamento
#
# Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre
# di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano
# l’output locale del gioco.
#
# Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False,
# un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

SUB Main()
    # processed=12 è un conteggio dimostrativo di oggetti già elaborati. CStr lo converte in testo.
    # L’esempio riporta solo il numero, senza spostare oggetti.

    VAR processed = 12
    messagebox("Processed item entries: " + CStr(processed))
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • processed=12 è un conteggio dimostrativo di oggetti già elaborati. CStr lo converte in testo. L’esempio riporta solo il numero, senza spostare oggetti.

Avviso di sovrappeso

# Avviso di sovrappeso
#
# Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre
# di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano
# l’output locale del gioco.
#
# Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False,
# un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

SUB Main()
    # Legge peso e limite. Un massimo zero o sconosciuto non indica sovrappeso. Se weight >=
    # maximum, stampa una riga e termina Main; nessun oggetto viene lasciato a terra.

    VAR weight = UO.Weight()
    VAR maximum = UO.MaxWeight()
    IF maximum > 0 AND weight >= maximum THEN
        messagebox("Too heavy: " + CStr(weight) + "/" + CStr(maximum))
        RETURN
    END IF
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Legge peso e limite. Un massimo zero o sconosciuto non indica sovrappeso. Se weight >= maximum, stampa una riga e termina Main; nessun oggetto viene lasciato a terra.

Segnalare solo un cambio di peso

# Segnalare solo un cambio di peso
#
# Funzione Basic integrata senza UO. Accetta una sola stringa. Qui messagebox non apre finestre
# di dialogo, non attende pulsanti e non restituisce risposte dell’utente; entrambe usano
# l’output locale del gioco.
#
# Unit: nessun valore restituito. Chiamare su una riga separata; il risultato non è True/False,
# un serial o un conteggio. Il ritorno dalla chiamata non conferma una risposta del server.

SUB Main()
    # Main salva il peso, attende 1000 millisecondi e chiama ReportWeight, definito interamente.
    # L’ausilio stampa solo quando il peso cambia e restituisce il nuovo peso. Non crea un ciclo
    # infinito.

    VAR previous = UO.Weight()
    UO.Wait(1000)
    previous = ReportWeight(previous, UO.Weight())
END SUB

SUB ReportWeight(previous, current)
    IF previous <> current THEN
        messagebox("Weight changed: " + CStr(current))
    END IF
    RETURN current
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Main salva il peso, attende 1000 millisecondi e chiama ReportWeight, definito interamente. L’ausilio stampa solo quando il peso cambia e restituisce il nuovo peso. Non crea un ciclo infinito.

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

Clone this wiki locally