-
Notifications
You must be signed in to change notification settings - Fork 0
API UO BookSetPageText es
ClassicUO / Basic IDE
Reemplaza una página del libro editable abierto.
UO.BookSetPageText(Page:Any, Text:Any) -> Unit
-
Page— Número de página desde 1, no ID del libro. El servidor proporciona el total de páginas. -
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.
Unit: sin valor devuelto. Solicita una escritura; no devuelve TRUE/FALSE ni confirmación del servidor, que puede rechazarla.
- 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.
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.
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.
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*.
La función auxiliar está completa. Su TRUE solo confirma la comprobación local y la llamada, no el almacenamiento en el servidor.
# Uso directo
#
# Reemplaza una 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.BookSetPageText(2, "Camp A")
END SUBExplicació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
#
# Reemplaza una 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.BookSetPageText(1, "Supplies" + Chr(10) + "Bandages" + Chr(10) + "Food")
END SUBExplicació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
#
# Reemplaza una 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.
# La función auxiliar está completa. Su TRUE solo confirma la comprobación local y la llamada,
# no el almacenamiento en el servidor.
VAR requested = AppendNote(1, "Return before night")
END SUB
FUNCTION AppendNote(page, line)
IF Len(line) > 53 THEN
RETURN FALSE
END IF
VAR previous = UO.BookGetPageText(page)
IF previous = "" THEN
UO.BookSetPageText(page, line)
RETURN TRUE
END IF
VAR lineCount = 1
FOR VAR index = 1 TO Len(previous)
IF Mid(previous, index, 1) = Chr(10) THEN
lineCount = lineCount + 1
END IF
NEXT
IF lineCount >= 10 THEN
RETURN FALSE
END IF
UO.BookSetPageText(page, previous + Chr(10) + line)
RETURN TRUE
END FUNCTIONExplicació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.
- La función auxiliar está completa. Su TRUE solo confirma la comprobación local y la llamada, no el almacenamiento en el servidor.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь