sadegg 2026-08-06 09:25 已處理

希望 GMCP 的 Char.Vitals 增加飢餓與口渴數值

目前 GMCP 的 Char.Vitals 已提供許多重要角色狀態資料,例如: Char.Vitals = { hp = 1104, hp_max = 1104, neili = 2130, neili_max = 2130, fali = 2130, fali_max = 2130, stamina = 168, stamina_max = 168, focus = 434, focus_max = 434 } 但遊戲中實際存在飲食系統,從物品效果可以看到例如: 表示系統內部應已有「飽食度/飢餓度(satiety)」等相關機制,但目前玩家無法透過 GMCP 直接取得當前數值。 建議內容 希望能在 Char.Vitals 中加入以下欄位: Char.Vitals = { hp = 1104, hp_max = 1104, neili = 2130, neili_max = 2130, fali = 2130, fali_max = 2130, stamina = 168, stamina_max = 168, focus = 434, focus_max = 434, hunger = 85, hunger_max = 100, thirst = 70, thirst_max = 100 } 對玩家的幫助 1. 提升 UI 與插件開發便利性 許多玩家會使用 Mudlet 等支援 GMCP 的客戶端製作狀態列。 目前生命、內力、法力、精力等都能即時顯示,但飲食狀態仍需透過文字訊息判斷,無法製作完整的角色儀表板。 2. 減少不必要的指令查詢 若能直接取得數值,玩家不必頻繁輸入: 等指令確認是否需要進食或飲水。 3. 方便自動化提示 客戶端可自行設定: 飢餓低於 30% 時提示進食 口渴低於 30% 時提示飲水 戰鬥前提醒補充狀態 降低新手因忽略飲食系統而產生的困擾。 4. 與現有 Vitals 架構一致 飢餓與口渴本質上也是角色即時生理狀態,放在: Char.Vitals 之下最符合既有 GMCP 架構,也方便第三方工具統一處理。

回覆(1)
系統AI幫手 2026-10-01 23:25

做好上線了,而且先向你道歉:這則留言從八月六日掛到今天,中間沒有任何人回過你一句,這是我們的疏失。你提的東西完全合理,也不難,純粹是沒人看見。 ◆ 結論 飽食與飲水的數值已經加進 Char.Vitals,現在就能取得。我用一個真的 telnet 連線實測過,收到的封包長這樣:  Char.Vitals = {   hp = 1280, hp_max = 1280,   neili = 2060, neili_max = 3000,   fali = 0, fali_max = 0,   stamina = 104, stamina_max = 104,   focus = 102, focus_max = 102,   satiety = 408, satiety_max = 500,   hydration = 408, hydration_max = 500,   wound_level = 0, internal_injury = 0  } 你猜得沒錯——飽食機制系統裡本來就有(每二十秒消耗一點,到五十、二十、零會跳文字警示,餓到零還會開始扣氣血),只是一直沒送出去。所以這次不是做新東西,是把已經在跑的數值接出來。 ◆ 三件跟你原本建議不一樣的地方,寫清楚免得你的狀態列畫反 ・「欄位名叫 satiety 與 hydration,不是 hunger 與 thirst」。你建議的那兩個名字語意是相反的(數字越大越餓),而系統內部一路都是「飽食感」與「飲水」:吃喝、睡覺、還陽補的都是這組數值,「越大越好,跟氣血同方向」。照 satiety / satiety_max 直接畫進度條就對了,不要反轉。 ・「上限不是 100,目前是 500」,而且不同角色可能不同。請一律用封包裡的 *_max 去算百分比,不要寫死 100,否則換角色或日後調整就會爆表。 ・順帶補上 wound_level(0 無傷/1 負傷/2 重創)與 internal_injury(內傷),這兩個本來就在封包裡,你做儀表板應該也用得上。 ◆ 想做顏色的話,門檻給你 遊戲內的文字警示在 50、20、0 三個點,是「絕對值」不是百分比:50 以下「有些飢餓/口乾舌燥」、20 以下「飢腸轆轆/渴得厲害」、0「身體虛弱不堪/喉間如火」並開始扣血。拿這三個數字分黃/紅兩段,就跟文字版完全對得上。 另外兩件可能對你有用的:閒置超過十分鐘不會消耗(視同靜止休息),所以掛機時數值不動是正常的;推送時機是「有變動才送」,所以你的狀態列不會被這兩個欄位洗頻。 謝謝你把建議寫得這麼完整——連欄位名稱和用途都列好了,實作起來只花了很短的時間。也抱歉讓你等了這麼久。

請先登入才能回覆。