Skip to content

API UO BookGetPageText it

Codex edited this page Sep 23, 2026 · 1 revision

UO.BookGetPageText

ClassicUO / Basic IDE

Home · API · Books

Legge una pagina dell’ultimo libro aperto.

Sintassi esatta

UO.BookGetPageText(Page:Any) -> Any

Parametri

  • Page — Numero di pagina da 1, non ID del libro. Il numero totale viene dal server.

Restituisce

String: righe separate da ritorni a capo, senza righe vuote finali. Vuoto può anche indicare nessun libro, pagina non ricevuta o numero errato; non prova esistenza o modificabilità.

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.

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.

String: righe separate da ritorni a capo, senza righe vuote finali. Vuoto può anche indicare nessun libro, pagina non ricevuta o numero errato; non prova esistenza o modificabilità.

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
#
# Legge una pagina dell’ultimo libro aperto.
#
# String: righe separate da ritorni a capo, senza righe vuote finali. Vuoto può anche indicare
# nessun libro, pagina non ricevuta o numero errato; non prova esistenza o modificabilità.

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.

    VAR text = UO.BookGetPageText(1)
    IF text <> "" THEN
        UO.Print(text)
    END IF
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
#
# Legge una pagina dell’ultimo libro aperto.
#
# String: righe separate da ritorni a capo, senza righe vuote finali. Vuoto può anche indicare
# nessun libro, pagina non ricevuta o numero errato; non prova esistenza o modificabilità.

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.

    VAR firstPage = UO.BookGetPageText(1)
    IF firstPage <> "" THEN
        UO.BookSetPageText(3, firstPage)
    END IF
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
#
# Legge una pagina dell’ultimo libro aperto.
#
# String: righe separate da ritorni a capo, senza righe vuote finali. Vuoto può anche indicare
# nessun libro, pagina non ricevuta o numero errato; non prova esistenza o modificabilità.

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.

    ReplaceCampNote(2)
END SUB

SUB ReplaceCampNote(page)
    VAR text = UO.BookGetPageText(page)
    IF text = "Camp A" THEN
        UO.BookSetPageText(page, "Camp B")
    END IF
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