-
Notifications
You must be signed in to change notification settings - Fork 0
API UO BookSetText zh tw
ClassicUO / Basic IDE
從已開啟且可編輯書籍的第一頁開始寫入。
UO.BookSetText(Text:Any) -> Unit
-
Text— 文字:Chr(10)換行,Chr(13)會被移除。每頁最多10行,每行53字元,不接受NUL。
Unit:沒有回傳值。這是寫入要求,不是TRUE/FALSE或伺服器完成確認;伺服器可能拒絕編輯。
- 先透過遊戲操作開啟目標書籍。指令選用最後開啟的書,沒有ID參數;多本書時請確認目標。Get只讀取已收到的資料,不會要求缺少的頁面。
- 管理員即使沒有圖形畫面,也會在工作階段中保存書籍。關閉並重新開啟遊戲視窗會保留書與草稿。關閉書本本身會將其移出已開啟書籍;斷線則清除伺服器書籍。
- 只有可編輯書籍能寫入。無效頁碼與過長文字會遭拒絕。BookSetText會在傳送前檢查所有頁面,因此後面頁面的錯誤不會導致只寫入一部分。
- BookSetText用Chr(12)明確分頁;沒有時每10行分為一頁。剩餘舊頁不變;完整替換前須明確呼叫BookClearText。空字串只取代第一頁。
伺服器傳送標頭、頁數與內文。SessionBooks檢查完整封包後保存並更新畫面。Basic經由bridge選擇最後的書,SessionBook讀取內文或檢查後傳送寫入封包。ModernBookGump顯示相同資料,並在分離圖形畫面時保存草稿。
先透過遊戲操作開啟目標書籍。指令選用最後開啟的書,沒有ID參數;多本書時請確認目標。Get只讀取已收到的資料,不會要求缺少的頁面。
管理員即使沒有圖形畫面,也會在工作階段中保存書籍。關閉並重新開啟遊戲視窗會保留書與草稿。關閉書本本身會將其移出已開啟書籍;斷線則清除伺服器書籍。
專案原始碼: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 函式 GetOpenBook.
只有可編輯書籍能寫入。無效頁碼與過長文字會遭拒絕。BookSetText會在傳送前檢查所有頁面,因此後面頁面的錯誤不會導致只寫入一部分。
Unit:沒有回傳值。這是寫入要求,不是TRUE/FALSE或伺服器完成確認;伺服器可能拒絕編輯。
專案原始碼: src/ClassicUO.Client/Game/Managers/SessionBooks.cs; 函式 SessionBooks.ReceiveHeader/ReceivePages; SessionBook.Yoko*.
先透過遊戲操作開啟目標書籍。指令選用最後開啟的書,沒有ID參數;多本書時請確認目標。Get只讀取已收到的資料,不會要求缺少的頁面。
# 直接使用
#
# 從已開啟且可編輯書籍的第一頁開始寫入。
#
# Unit:沒有回傳值。這是寫入要求,不是TRUE/FALSE或伺服器完成確認;伺服器可能拒絕編輯。
SUB Main()
# 範例假定目標書已開啟、必要頁面已收到,且寫入時可編輯。1、2、3是頁碼,請確認存在。名稱與文字僅供示例。
UO.BookSetText("Mining route" + Chr(10) + "Start at camp")
END SUB參數與執行說明:
- 範例假定目標書已開啟、必要頁面已收到,且寫入時可編輯。1、2、3是頁碼,請確認存在。名稱與文字僅供示例。
# 實用情境
#
# 從已開啟且可編輯書籍的第一頁開始寫入。
#
# Unit:沒有回傳值。這是寫入要求,不是TRUE/FALSE或伺服器完成確認;伺服器可能拒絕編輯。
SUB Main()
# 範例假定目標書已開啟、必要頁面已收到,且寫入時可編輯。1、2、3是頁碼,請確認存在。名稱與文字僅供示例。
UO.BookSetText("Camp A" + Chr(12) + "Camp B" + Chr(12) + "Return home")
END SUB參數與執行說明:
- 範例假定目標書已開啟、必要頁面已收到,且寫入時可編輯。1、2、3是頁碼,請確認存在。名稱與文字僅供示例。
# 完整輔助函式
#
# 從已開啟且可編輯書籍的第一頁開始寫入。
#
# Unit:沒有回傳值。這是寫入要求,不是TRUE/FALSE或伺服器完成確認;伺服器可能拒絕編輯。
SUB Main()
# 範例假定目標書已開啟、必要頁面已收到,且寫入時可編輯。1、2、3是頁碼,請確認存在。名稱與文字僅供示例。
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 · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь