Skip to content

API UO BookSetText it

Codex edited this page Sep 23, 2026 · 1 revision

UO.BookSetText

ClassicUO / Basic IDE

Home · API · Books

Scrive dalla prima pagina del libro modificabile aperto.

Sintassi esatta

UO.BookSetText(Text:Any) -> Unit

Parametri

  • Text — Testo: Chr(10) separa le righe; Chr(13) viene rimosso. Massimo 10 righe per pagina e 53 caratteri per riga; NUL vietato.

Restituisce

Unit: nessun valore restituito. Richiede una scrittura, senza TRUE/FALSE né conferma del server, che può rifiutarla.

Comportamento

  • Aprire prima il libro desiderato nel gioco. Viene scelto l’ultimo libro aperto, senza argomento ID. Con più libri verificare la scelta. Get legge i dati ricevuti senza richiedere pagine mancanti.
  • Il gestore conserva il libro nella sessione anche senza grafica. Chiudere e riaprire la vista mantiene libro e bozza. Chiudere il libro stesso lo rimuove; la disconnessione cancella i libri del server.
  • Solo i libri modificabili accettano scritture. Pagine errate o testo eccessivo vengono rifiutati. BookSetText verifica tutte le pagine prima dell’invio: un errore successivo non produce una scrittura parziale.
  • BookSetText divide le pagine con Chr(12), altrimenti ogni 10 righe. Le vecchie pagine restanti non cambiano; chiamare esplicitamente BookClearText prima della sostituzione completa. Il testo vuoto sostituisce solo la prima pagina.

Funzioni interne: dalla chiamata al risultato

Il server invia intestazione, numero di pagine e contenuto. SessionBooks verifica il pacchetto completo, salva dati e aggiorna la vista. Basic sceglie l’ultimo libro tramite il bridge; SessionBook legge righe o verifica e invia modifiche. ModernBookGump mostra gli stessi dati e conserva le bozze al distacco della grafica.

1. GetOpenBook

Aprire prima il libro desiderato nel gioco. Viene scelto l’ultimo libro aperto, senza argomento ID. Con più libri verificare la scelta. Get legge i dati ricevuti senza richiedere pagine mancanti.

Il gestore conserva il libro nella sessione anche senza grafica. Chiudere e riaprire la vista mantiene libro e bozza. Chiudere il libro stesso lo rimuove; la disconnessione cancella i libri del server.

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

2. SessionBooks.ReceiveHeader/ReceivePages; SessionBook.Yoko*

Solo i libri modificabili accettano scritture. Pagine errate o testo eccessivo vengono rifiutati. BookSetText verifica tutte le pagine prima dell’invio: un errore successivo non produce una scrittura parziale.

Unit: nessun valore restituito. Richiede una scrittura, senza TRUE/FALSE né conferma del server, che può rifiutarla.

Sorgente del progetto: src/ClassicUO.Client/Game/Managers/SessionBooks.cs; funzione SessionBooks.ReceiveHeader/ReceivePages; SessionBook.Yoko*.

Aprire prima il libro desiderato nel gioco. Viene scelto l’ultimo libro aperto, senza argomento ID. Con più libri verificare la scelta. Get legge i dati ricevuti senza richiedere pagine mancanti.

Esempi

Uso diretto

# Uso diretto
#
# Scrive dalla prima pagina del libro modificabile aperto.
#
# Unit: nessun valore restituito. Richiede una scrittura, senza TRUE/FALSE  conferma del
# server, che può rifiutarla.

SUB Main()
    # Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile
    # per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

    UO.BookSetText("Mining route" + Chr(10) + "Start at camp")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

Scenario pratico

# Scenario pratico
#
# Scrive dalla prima pagina del libro modificabile aperto.
#
# Unit: nessun valore restituito. Richiede una scrittura, senza TRUE/FALSE  conferma del
# server, che può rifiutarla.

SUB Main()
    # Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile
    # per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

    UO.BookSetText("Camp A" + Chr(12) + "Camp B" + Chr(12) + "Return home")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

Funzione ausiliaria completa

# Funzione ausiliaria completa
#
# Scrive dalla prima pagina del libro modificabile aperto.
#
# Unit: nessun valore restituito. Richiede una scrittura, senza TRUE/FALSE  conferma del
# server, che può rifiutarla.

SUB Main()
    # Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile
    # per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

    WriteRoute("Northern mine", "Bring bandages")
END SUB

SUB WriteRoute(destination, supplies)
    VAR firstPage = "Destination" + Chr(10) + destination
    VAR secondPage = "Supplies" + Chr(10) + supplies
    UO.BookSetText(firstPage + Chr(12) + secondPage)
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • Il libro desiderato deve essere aperto, le pagine necessarie ricevute e il libro modificabile per scrivere. 1, 2 e 3 sono pagine da verificare. Nomi e testi sono esempi.

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

Clone this wiki locally