Skip to content

API UO BookSetText es

Codex edited this page Sep 23, 2026 · 1 revision

UO.BookSetText

ClassicUO / Basic IDE

Home · API · Books

Escribe desde la primera página del libro editable abierto.

Sintaxis exacta

UO.BookSetText(Text:Any) -> Unit

Parámetros

  • Text — Texto: Chr(10) separa líneas y Chr(13) se elimina. Máximo 10 líneas por página y 53 caracteres por línea; no se admite NUL.

Devuelve

Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del servidor, que puede rechazarla.

Comportamiento

  • Abra primero el libro deseado en el juego. Se usa el último libro abierto, sin argumento ID. Compruebe la selección si hay varios. Get lee datos recibidos y no solicita páginas ausentes.
  • El gestor conserva el libro en la sesión incluso sin gráficos. Cerrar y reabrir la vista mantiene libro y borrador. Cerrar el propio libro lo elimina de los abiertos; desconectar borra los libros del servidor.
  • Solo se escriben libros editables. Se rechazan páginas inválidas o texto excesivo. BookSetText valida todas las páginas antes de enviar: un error posterior no causa escritura parcial.
  • BookSetText separa páginas con Chr(12) o, sin él, cada 10 líneas. Las páginas antiguas restantes no cambian; llame explícitamente a BookClearText antes de reemplazar todo. El texto vacío solo reemplaza la primera página.

Funciones internas: de la llamada al resultado

El servidor envía cabecera, número de páginas y contenido. SessionBooks valida el paquete completo, guarda datos y actualiza la vista. Basic elige el último libro mediante el bridge; SessionBook lee líneas o valida y envía cambios. ModernBookGump muestra esos datos y conserva borradores al separar los gráficos.

1. GetOpenBook

Abra primero el libro deseado en el juego. Se usa el último libro abierto, sin argumento ID. Compruebe la selección si hay varios. Get lee datos recibidos y no solicita páginas ausentes.

El gestor conserva el libro en la sesión incluso sin gráficos. Cerrar y reabrir la vista mantiene libro y borrador. Cerrar el propio libro lo elimina de los abiertos; desconectar borra los libros del servidor.

Código del proyecto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; función GetOpenBook.

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

Solo se escriben libros editables. Se rechazan páginas inválidas o texto excesivo. BookSetText valida todas las páginas antes de enviar: un error posterior no causa escritura parcial.

Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del servidor, que puede rechazarla.

Código del proyecto: src/ClassicUO.Client/Game/Managers/SessionBooks.cs; función SessionBooks.ReceiveHeader/ReceivePages; SessionBook.Yoko*.

Abra primero el libro deseado en el juego. Se usa el último libro abierto, sin argumento ID. Compruebe la selección si hay varios. Get lee datos recibidos y no solicita páginas ausentes.

Ejemplos

Uso directo

# Uso directo
#
# Escribe desde la primera página del libro editable abierto.
#
# Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del
# servidor, que puede rechazarla.

SUB Main()
    # El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para
    # escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

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

Explicación de los parámetros y la ejecución:

  • El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

Caso práctico

# Caso práctico
#
# Escribe desde la primera página del libro editable abierto.
#
# Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del
# servidor, que puede rechazarla.

SUB Main()
    # El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para
    # escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

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

Explicación de los parámetros y la ejecución:

  • El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

Función auxiliar completa

# Función auxiliar completa
#
# Escribe desde la primera página del libro editable abierto.
#
# Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del
# servidor, que puede rechazarla.

SUB Main()
    # El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para
    # escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

    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

Explicación de los parámetros y la ejecución:

  • El libro deseado debe estar abierto, con las páginas necesarias recibidas, y ser editable para escribir. 1, 2 y 3 son páginas que deben existir. Nombres y textos son ejemplos.

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

Clone this wiki locally