Skip to content

API UO BookSetText ja

Codex edited this page Sep 23, 2026 · 1 revision

UO.BookSetText

ClassicUO / Basic IDE

Home · API · Books

開いている編集可能な本の1ページ目から書き込みます。

正確な構文

UO.BookSetText(Text:Any) -> Unit

パラメーター

  • Text — 文字列。Chr(10)は改行、Chr(13)は削除されます。1ページ10行、1行53文字まで。NULは使用できません。

戻り値

Unit:戻り値なし。書き込み要求であり、TRUE/FALSEやサーバーの完了確認ではありません。サーバーは編集を拒否できます。

動作

  • 先にゲーム操作で対象の本を開いてください。最後に開いた本が対象で、ID引数はありません。複数の本がある場合は対象を確認してください。Getは受信済みデータを読み、未受信ページを要求しません。
  • マネージャーは画面がなくてもセッション内に本を保持します。ゲーム画面を閉じて開き直しても本と下書きは残ります。本自体を閉じると対象から外れ、切断時にはサーバーの本が消去されます。
  • 編集可能な本だけに書き込めます。不正なページや長すぎる本文は拒否されます。BookSetTextは送信前に全ページを検査するため、後のページの不備による一部だけの書き込みはありません。
  • BookSetTextではChr(12)で改ページし、これがなければ10行ごとにページを分けます。残りの古いページは変更しません。完全に置換する場合は先にBookClearTextを明示的に呼びます。空文字列は1ページ目だけを置換します。

内部関数:呼び出しから結果まで

サーバーはヘッダー、ページ数、本文を送信します。SessionBooksはパケット全体を検査して保存し、表示を更新します。Basicはbridge経由で最後の本を選び、SessionBookは本文を読むか、検査後に書き込みパケットを送ります。ModernBookGumpは同じデータを表示し、画面切り離し時に下書きを保持します。

1. GetOpenBook

先にゲーム操作で対象の本を開いてください。最後に開いた本が対象で、ID引数はありません。複数の本がある場合は対象を確認してください。Getは受信済みデータを読み、未受信ページを要求しません。

マネージャーは画面がなくてもセッション内に本を保持します。ゲーム画面を閉じて開き直しても本と下書きは残ります。本自体を閉じると対象から外れ、切断時にはサーバーの本が消去されます。

プロジェクトのソース: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 関数 GetOpenBook.

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

編集可能な本だけに書き込めます。不正なページや長すぎる本文は拒否されます。BookSetTextは送信前に全ページを検査するため、後のページの不備による一部だけの書き込みはありません。

Unit:戻り値なし。書き込み要求であり、TRUE/FALSEやサーバーの完了確認ではありません。サーバーは編集を拒否できます。

プロジェクトのソース: src/ClassicUO.Client/Game/Managers/SessionBooks.cs; 関数 SessionBooks.ReceiveHeader/ReceivePages; SessionBook.Yoko*.

先にゲーム操作で対象の本を開いてください。最後に開いた本が対象で、ID引数はありません。複数の本がある場合は対象を確認してください。Getは受信済みデータを読み、未受信ページを要求しません。

使用例

直接使用

# 直接使用
#
# 開いている編集可能な本の1ページ目から書き込みます#
# Unit戻り値なし書き込み要求でありTRUE/FALSEやサーバーの完了確認ではありませんサーバーは編集を拒否できますSUB Main()
    # 対象の本が開かれ必要なページを受信済みで書き込み時は編集可能であることが前提です123はページ番号です存在を確認してください名前と本文は例ですUO.BookSetText("Mining route" + Chr(10) + "Start at camp")
END SUB

パラメーターと実行の説明:

  • 対象の本が開かれ、必要なページを受信済みで、書き込み時は編集可能であることが前提です。1、2、3はページ番号です。存在を確認してください。名前と本文は例です。

実用例

# 実用例
#
# 開いている編集可能な本の1ページ目から書き込みます#
# Unit戻り値なし書き込み要求でありTRUE/FALSEやサーバーの完了確認ではありませんサーバーは編集を拒否できますSUB Main()
    # 対象の本が開かれ必要なページを受信済みで書き込み時は編集可能であることが前提です123はページ番号です存在を確認してください名前と本文は例ですUO.BookSetText("Camp A" + Chr(12) + "Camp B" + Chr(12) + "Return home")
END SUB

パラメーターと実行の説明:

  • 対象の本が開かれ、必要なページを受信済みで、書き込み時は編集可能であることが前提です。1、2、3はページ番号です。存在を確認してください。名前と本文は例です。

完全な補助関数

# 完全な補助関数
#
# 開いている編集可能な本の1ページ目から書き込みます#
# Unit戻り値なし書き込み要求でありTRUE/FALSEやサーバーの完了確認ではありませんサーバーは編集を拒否できますSUB Main()
    # 対象の本が開かれ必要なページを受信済みで書き込み時は編集可能であることが前提です123はページ番号です存在を確認してください名前と本文は例です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

パラメーターと実行の説明:

  • 対象の本が開かれ、必要なページを受信済みで、書き込み時は編集可能であることが前提です。1、2、3はページ番号です。存在を確認してください。名前と本文は例です。

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

Clone this wiki locally