-
Notifications
You must be signed in to change notification settings - Fork 6
Console zh TW
在 Shipping 建置中探索並一鍵呼叫 UFUNCTION(exec) 主控台指令 — 包括像 fly、god 和 ghost 等遊戲特定作弊。
Console 分頁掃描 UFUNCTION(exec) 主控台指令,並透過 ProcessEvent 叫用它們。許多遊戲在發行時附帶標有 exec 說明符的經過策劃之除錯進入點;這些在經過烹飪的 Shipping 建置中保存下來(通常在 UCheatManager 子類別內部),使其成為現成的作弊介面。
- Load:點擊 Load 掃描每個 UFunction,並列出那些帶有 FUNC_Exec 旗標 (0x200) 的函式。掃描預設包括引擎側的 UCheatManager 指令(取消勾選 Game Only 以隱藏它們)。
- Filter:使用文字方塊按名稱或類別搜尋指令(不分大小寫、子字串符合)。
- Inspect:網格顯示 Class | Command | Flags | Params 欄位。點擊一列以選取它,或將滑鼠懸停在上方以查看詳細資訊。
- Invoke via grid:在一列上點擊 Run 以呼叫。具有參數的指令會開啟對話框;無引數指令直接執行。
-
Invoke via command line:在輸入方塊中鍵入指令名稱(或
/cmd格式)並點擊 Run。如果多個類別共享同一名稱,第一個精確符合者就會被選中。 - Monitor:最近的叫用出現在 Recent invocations 面板(底部)。時間戳、狀態(OK/Err),以及用於重新播放的 ↻ 按鈕。
當 ToggleDebugCamera 在已載入的清單中被發現時,會出現 Debug Camera 控制列,顯示從 CheatManager 的 DebugCameraControllerRef 讀取的即時狀態(ON/OFF)。使用:
- Refresh (↻):從記憶體重新讀取目前狀態
- Force On:確保除錯攝影機為 ON(冪等性 — 若已為 ON 則無作用)
- Force Off:確保除錯攝影機為 OFF(冪等性 — 若已為 OFF 則無作用)
- Copy CE Script:產生具狀態性的 CE Auto Assembler 核取方塊(勾選 = ON,取消勾選 = OFF)— 與 Force On/Off 使用相同健全的 DLL 路徑,獨立自足,若連接了 AOBMaker 則會傳送至 AOBMaker
除錯攝影機狀態追蹤是必要的,因為 ToggleDebugCamera 具有狀態性(翻轉它自己的 DebugCameraControllerRef:null → Enable、set → Disable);單純 Run 只會切換任何狀態,所以「關閉它」在沒有先讀取狀態的情況下是不可靠的。
許多 UCheatManager 指令(Fly、Ghost、God、Walk、Slomo 等)看似成功叫用但在 Shipping 建置中無作用。這是因為它們的函式 bodies 被編譯出去(UE 原始碼中的 #if !UE_BUILD_SHIPPING)— Epic 搭配 UE_BUILD_SHIPPING=1 發行,所以 bodies 編譯消失。UFUNCTION(exec) 中繼資料存活下來並存放在反射中,因此指令可被發現並透過 ProcessEvent 叫用;它只是執行空的原生 thunk 並返回 0,對遊戲內無影響。
Workaround:檢查所選 exec 的類別名稱是否包含「CheatManager」— 提示會出現警告引擎側作弊通常被剝除。遊戲特定的 exec 指令(例如在 BP_GameMode_C 或自訂子系統中宣告的開發作弊)通常確實有 bodies 且運作良好。Console 面板的 Game Only 篩選器隱藏被剝除的引擎指令,因此您可以專注於遊戲特定指令。
- Interesting-Funcs-and-Props-zh-TW 以尋求更廣泛的函式發現
- Live-Walker-zh-TW 以檢查實例
- Class-Struct-zh-TW 以檢視類別定義
- Teleport 分頁 — 遊標/標記型移動(當 CheatManager 傳送不可用時包括 BugItGo 互操作性)