SelfResurrection

版本 v1.9.0·更新於 2026-07-22

一鍵復活自己。在死亡/幽靈狀態下按快捷鍵(默認 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 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack_PEAK

檔案與校驗

檔案名稱
SelfResurrection-1.9.0.zip
檔案大小
31.3 KiB