SelfResurrection
一鍵復活自己。在死亡/幽靈狀態下按快捷鍵(默認 Home)彈出復活菜單,選擇隊友即可復活並傳送到其身邊,帶防彈飛處理。
模組介紹 作者原文
Self Resurrection for PEAK
一鍵復活自己的 PEAK 模組。死亡變成幽靈後,按快捷鍵彈出復活菜單,選擇隊友即可原地復活並傳送到隊友身邊,自帶防彈飛處理。
作者: DestinyWind
功能特性
- 一鍵復活:死亡/幽靈狀態下按快捷鍵(默認 Home)彈出復活菜單
- 選擇隊友傳送:復活時可選擇傳送到任意隊友身邊
- 只復活自己:不影響其他客戶端玩家,僅同步顯示
- 昏迷隊友可選:昏迷(未死亡)的隊友也可作爲傳送目標
- 防彈飛處理:使用遊戲自帶 WarpPlayer 協程 + 上方偏移,避免傳送彈飛
- 快捷鍵選擇:支持數字鍵 1-9 和字母鍵 Q-P 快速選擇隊友(最多 19 個)
- 配置文件自定義:所有參數可通過 cfg 配置文件修改
- 中途加入支持:無論開局還是中途加入遊戲,死亡後均可復活
- 只在遊戲內生效:主菜單/加載界面不會誤觸發
安裝方法
- 安裝 BepInEx 5.4.2403 for PEAK
- 下載本模組的最新版本
- 將 DestinyWind.SelfResurrection.dll 複製到 PEAK/BepInEx/plugins/ 目錄
- 啓動遊戲,首次加載會自動生成配置文件
使用方法
基本操作
- 遊戲中死亡後變成幽靈(觀戰狀態)
- 按 Home 鍵(默認)打開復活菜單
- 菜單顯示所有可選隊友列表:
選擇復活目標隊友
昏迷的隊友也可作爲目標
[1] 玩家A 距離 15m
[2] 玩家B 距離 23m
[3] 玩家C 距離 45m...
操作:點擊列表項 或 按對應數字/字母鍵 [1-9 Q-P] 快速選擇
關閉:ESC 或再次按菜單鍵
[關閉 (ESC)]
選擇隊友的三種方式
| 方式 | 操作 | 說明 |
|------|------|------|
| 鼠標點擊 | 點擊列表項 | 直接選擇 |
| 數字鍵 | 按 1-9 | 選擇第 1-9 個隊友(主鍵盤數字鍵,筆記本也能用) |
| 字母鍵 | 按 Q W E R T Y U I O P | 選擇第 10-19 個隊友(支持 20+ 玩家房間) |
關閉菜單
- 按 ESC 鍵
- 再次按 Home 鍵(菜單鍵)
- 點擊"關閉"按鈕
配置說明
配置文件位置:PEAK/BepInEx/config/destinywind.peak.selfresurrection.cfg
首次啓動遊戲後自動生成,可用文本編輯器修改:
[按鍵]
打開復活菜單的按鍵,可改爲任意 KeyCode(如 F1/F5/T/Keypad7/Mouse3 等)。僅死亡/幽靈狀態下生效。
設置類型:KeyCode
默認值:Home
MenuKey = Home
[防彈飛]
傳送到隊友上方的偏移(米)
設置類型:Single
默認值:2
TeleportOffsetUp = 2
[行爲]
復活冷卻秒數
設置類型:Single
默認值:1.5
Cooldown = 1.5
常用 KeyCode 值
| 按鍵 | KeyCode |
|------|---------|
| Home | Home |
| F1-F15 | F1 - F15 |
| 字母 A-Z | A - Z |
| 數字 0-9 | Alpha0 - Alpha9 |
| 小鍵盤 0-9 | Keypad0 - Keypad9 |
| 鼠標左/右/中鍵 | Mouse0 / Mouse1 / Mouse2 |
| Insert / Delete / End | Insert / Delete / End |
| Tab / Space | Tab / Space |
防彈飛機制
PEAK 遊戲中傳送可能因物理碰撞導致角色被彈飛。本模組採用三重防護:
- 位置偏移:傳送到隊友上方 2 米處,避免踩到隊友碰撞體
- 遊戲自帶 Warp:使用 WarpPlayerRPC(poof=true),遊戲內部協程會關閉碰撞→逐幀移動→清零速度→恢復碰撞
- 上方偏移可調:如仍遇彈飛,可在配置文件把 TeleportOffsetUp 調大到 3-4 米
復活機制說明
- 死亡→幽靈:遊戲在角色死亡後自動創建 PlayerGhost 進入觀戰
- 復活流程:清除死亡/昏迷狀態 → 清除所有狀態效果 → 觸發外觀同步 RPC → 遊戲自動銷燬幽靈退出觀戰
- 復活懲罰:遊戲自帶 5% 詛咒 + 30% 飢餓(applyStatus=true 時)
- 網絡同步:復活和傳送通過 PhotonView RPC 同步到所有客戶端,僅作用於自己的角色
常見問題
Q: 按鍵沒反應?
- 確認 DLL 已放在 BepInEx/plugins/ 目錄
- 確認 BepInEx 已正確安裝(檢查 BepInEx/LogOutput.log 是否有加載日誌)
- 確認只在死亡/幽靈狀態下才有效(活着時按鍵會提示"只有死亡/幽靈狀態下才能復活")
Q: 配置文件沒生成?
- 首次啓動遊戲後會在 BepInEx/config/ 自動生成
- 如果沒生成,檢查 BepInEx 日誌確認模組是否加載成功
- 配置文件名:destinywind.peak.selfresurrection.cfg
Q: 復活後被彈飛?
- 在配置文件增大 TeleportOffsetUp(默認 2,可調到 3-4)
- 確保傳送到的是開闊區域的隊友
Q: 中途加入遊戲能用嗎?
- 可以。無論開局還是中途加入,死亡後都能正常復活
Q: 會不會復活其他玩家?
- 不會。復活邏輯只在本地執行,網絡 RPC 僅同步顯示,不會影響其他玩家的角色狀態
Q: 隊友死了能傳送到他身邊嗎?
- 不能。已死亡或變成幽靈的隊友會從列表中排除(三重檢查:data.dead + IsGhost + 列表渲染檢查)
- 昏迷(未死)的隊友可以選擇
兼容性
- BepInEx: 5.4.2403 (PEAK 版)
- 遊戲版本: PEAK 最新版
- 多人遊戲: 完全兼容,其他客戶端無需安裝本模組
- 衝突: 不修改任何遊戲原始方法,僅通過 RPC 調用,兼容性良好
更新日誌
詳見 CHANGELOG.md
技術實現
- 通過反射調用遊戲內部 Character.RPCA_Revive(bool) 方法實現本地復活
- 通過 PhotonView.RPC("RPCA_Revive", RpcTarget.Others) 同步其他客戶端
- 通過 PhotonView.RPC("WarpPlayerRPC", RpcTarget.All, pos, true) 實現防彈飛傳送
- 使用 Character.IsGhost 和 CharacterData.dead 雙重判斷幽靈狀態
- 使用 Character.AllCharacters 遍歷可選隊友
License
MIT License - 自由使用、修改、分發
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: