Prompt 狀態顯示異常 & 輸入提示符號(>)不存在
問題描述: 登入 MUD 後,指令提示列(prompt)中的角色狀態資訊(例如氣血、內力等)僅在初次登入時正常顯示;當玩家移動到其他房間(例如輸入 north、south 等指令)後,prompt 中的狀態資訊會消失,不再顯示。 重現步驟: 登入 MUD 觀察 prompt,顯示正常(例如:氣血(100/100)、內力(0/0)) 輸入移動指令(如 north 或 south) 進入新房間後,發現 prompt 中的狀態資訊消失 輸入提示符號(>)也不存在 預期結果: 無論是否移動房間,prompt 都應持續顯示角色狀態資訊。 實際結果: 只有登入時顯示一次,之後在房間移動後 prompt 不再顯示狀態資訊。 附加說明: 從畫面觀察(如附件截圖),在移動後缺少原本的屬性資訊。 可能影響: 影響玩家即時掌握角色狀態,降低遊戲體驗。
回覆(2)
This is harder than I expected. Need further search into it.
已修復! 找到兩個根本原因並一併修正: 1. Prompt 位置問題:Evennia 的 move_to 只呼叫 at_post_move,從不呼叫 at_after_move,但 update_prompt() 被放在 at_after_move 所以永遠不執行。已將 update_prompt() 移至 at_post_move 末尾(房間描述之後)。 2. 指令後無 prompt:修正指令完成後的 prompt 觸發機制,確保移動與一般指令(who、hp 等)執行後都會顯示提示列。 現在每次移動或執行指令後,氣血 / 內力 / 體力等狀態提示列都會正常顯示。感謝耐心回報!
請先登入才能回覆。