-
Notifications
You must be signed in to change notification settings - Fork 6
Options and CE Export Options zh TW
UE5CEDumper 有兩組獨立的設定,用來控制它讀取什麼、以及如何寫出 Cheat Engine 資料。它們位於兩個不同的選單中,很容易混淆,因此本頁逐項說明每一個項目。
| 選單 | 位置 | 控制什麼 |
|---|---|---|
| ⚙ Options(頂部工具列) | 視窗頂部工具列,位於 Address: 選擇器旁邊 —— 在每個分頁都可見 | 全域的讀取/顯示/匯出等設定限制上限(陣列/預覽上限、鑽取深度、CE 字串長度、定位深度)。每個匯出工作階段設定一次即可。 |
| Options(Live Walker) | 位於 Live Walker 分頁的工具列內,一旦遊走載入資料後才出現 | 針對 Copy CE XML 與 Copy CE Field 的逐次匯出 CE 記憶體記錄塑形(描述格式、鏈折疊、結構攤平、去重等)—— 這就是一般稱為 CE Export Options 的面板。 |
兩個選單都會在重啟後保留(儲存於 %LOCALAPPDATA%\UE5CEDumper\ui-options.json),僅有下述兩個例外(AOB 與 Guess? 為單一工作階段有效)。
點擊頂部工具列的 ⚙ Options 開啟彈出選單。這些設定是每個匯出工作階段調整一次、而非頻繁切換,因此收在單一按鈕之後。每個滑桿的即時數值會顯示在其標籤旁邊。
⚙ Options 按鈕正左方是 Address: 下拉選單 —— 它不屬於彈出選單,但決定每個位址如何顯示與複製。它提供三種格式:
-
Hex (no prefix) —— 原始執行時位址,例如
7FF71B7A1820。 -
Hex (0x prefix) —— 同一位址加上開頭的
0x,例如0x7FF71B7A1820。 -
Module+Offset ——
"module.exe"+RVA(相對於模組基址的位移,無0x前綴),在遊戲重啟後仍然有效(模組基址會移動,但位移不會)。
核取方塊。開啟時,CE XML 匯出中的指標鏈群組節點會被標記,讓 Cheat Engine 預設折疊(隱藏)其子項,使貼上的位址樹保持整潔。它只影響匯出的 XML —— 不會改變您在 Live Walker 內部的鑽取方式。
滑桿,2^N(範圍 2 – 16384,預設 128 = 2^7)。預覽 TArray / 容器時內嵌讀取的元素上限。更大的陣列仍會被列出,但一次只會將這麼多元素載入記憶體。數值偏高時會出現 ⚠ High memory usage — may cause crash 警告 —— 只有在您真的需要深入檢視巨大陣列時才調高它。
滑桿,2^N(範圍 64 – 8192,預設 512 = 2^9)。寫入 Cheat Engine DropDownList(CE 在記錄上顯示的 enum/數值選擇器)的項目數上限。限制單一匯出記錄可攜帶的列舉下拉選單有多大。
滑桿,2^N(範圍 16 – 4096,預設 256 = 2^8)。由 Copy CE XML / Copy CE Field 產生的 CE String 欄位的顯示長度(以字元計)。寬鬆的數值永遠不會截斷較短的即時字串(Cheat Engine 會在 null 終止符處停止)—— 它只是為在兩次存檔之間變長的字串預留空間。
滑桿,2^N(0 = 關閉,否則為 2 – 4096)。僅限 Copy CE Field。 設定後,所選的頂層 TArray 會被填補到這麼多個元素列 —— 超出陣列即時 Num 的 null 指標與索引,會依據一個已解析元素的欄位配置被虛構出來,讓 CE 表格預先具有日後存檔或遊戲版本才會填入項目的欄位。注意事項:
- 只有所選的陣列會被填補,絕不填補其元素內部的巢狀陣列。
-
僅限
TArray——TMap/TSet為稀疏結構,永遠不會被虛構。 - 超過目前
Num的列會讀取越界記憶體(無害),直到遊戲擴充該陣列為止。 - 超過 256 為「風險自負」 —— 可能產生非常大的表格,拖慢 Cheat Engine 或達到匯出項目上限。
滑桿(範圍 0 – 6,預設 2)。在欄位格線的 Value 欄中內嵌顯示多少個結構子欄位。0 會停用預覽。純粹是顯示上的便利 —— 不會改變匯出的內容。
滑桿調節介面(範圍 0 – 8,預設 0)。CSX export 與 Copy CE XML / Copy CE Field 的指標鑽取深度:每一層中,每個物件指標欄位都會展開成自己的子樹。
- 0 = 平坦(不向子節點鑽取)。
- 1 – 4 = 一般。
-
5 – 6 = 深層 —— 輸出大小每一層的節點數可能呈指數成長(在
UWorld上深度 6 可能產生數 MB 的 CE XML)。深度過高時,滑桿數值會轉為琥珀色/紅色以提示大小影響。
滑桿(範圍 1 – 32,預設 7),下方附有 Deep (nested containers) 核取方塊。控制 Locate in GWorld / Locate in GameEngine 前向搜尋(見 Live Walker 頁面):
- Depth —— 從 GWorld 向下追蹤的指標跳躍節點數上限。設定愈大愈能找到深層的目標,但也愈慢。
-
Deep (nested containers) —— 預設關閉。開啟時,搜尋也會追蹤儲存在一層 struct-array / struct-set / struct-map 元素內的物件指標(例如只從
Inventory[3].ItemActor被參照的 Actor),讓原本無法抵達的物件仍能被定位。較耗資源,因為它會在巡視每個節點、讀取各個 struct-array 的元素。
即使在未連線時這些設定仍可編輯,因此您可以在執行定位前先調好。
滑桿,2^N(範圍 16 – 4096,預設 256)。Instances 分頁 Lookup deep 掃描的每容器元素探測上限值 —— 即那種找出埋在多重容器(例如 SaveSlotList[1]…Tunes[N])中的深度資料。只有在快速的淺層一無所獲時才會建議設定。數值愈高、能觸及更深的容器,但也愈慢。
在 Live Walker 分頁中,一旦載入資料後,面板工具列就會出現一個 Options 下拉選單(其工具提示稱它為 Copy CE XML / Copy CE Field options)。這裡的每一項都會改變您匯出的欄位如何變成 Cheat Engine 資料欄位 —— 它不會改變您瀏覽時所見的內容。
除非另有說明,每一項都同時套用於 Copy CE XML 與 Copy CE Field。
將每個節點的欄位位移(十六進位)附加到其 CE Description —— 例如 AbilitySystemComponent (7E0)。有助於您在 CE 位址樹中定位。關閉 = 僅名稱。
將每個節點的類別/結構/元素類型附加到其 CE Description —— 例如 AbilitySystemComponent (LSAbilitySystemComponent) 或 [0] (ShieldAttributeSet)。被折疊(Collapse chain)的主幹永遠不會加上類型。關閉 = 不顯示。
(一條分隔線將上述兩個 Description 選項與下方的結構性選項分開。)
使用 AOB 掃描得到的 GWorld 符號來定錨匯出的根位址,而非寫死成一個絕對值,使匯出的資料能在遊戲重啟後正常顯示。僅當由 GWorld 開始、且有可用的 AOB 符號時才可選取 —— 否則此項會被禁用。(單一工作階段有效 —— 不會在重啟後保留。)
將多層的 GWorld → … → target 指標跳躍折疊成單一 CE 多層指標項目(基底位址 + 一個合併的主幹節點 + 目標欄位及其子節點展開)。產生更平坦、更易讀的 CE 結構。僅限 Copy CE XML / Copy CE Field。
針對 GAS (GameplayAttributeData) 結構(HealthPoint、Mana、…),它通常匯出成一個帶有 BaseValue / CurrentValue 子項的父節點:將這些子項壓平、減少一層節點、例如將名為 HealthPoint ▸ BaseValue 的同層數值節點壓平,不用再點擊一層展開樹狀資料,在 CE 中更易閱讀。僅限 GameplayAttributeData 結構;其他結構保留其多層次節點狀態。▸ 段落會遵循 Append +Offset;結構類型(Append +Type)只在最後顯示一次。
Flatten GAS attributes 的超集合。 攤平任何其全部內容皆為基本數值(int / float / bool / enum)的未端節點 —— 例如 Vector(X/Y/Z)、Rotator,或單純的 {Min, Max} 組合 —— 壓平為和上一層同一個深度位置、例如變成 Struct ▸ Field 同層節點。若結構含有指標/物件、字串(FString / FName / FText)或容器,則保留其巢狀群組(有指標支撐的值永遠不會被攤平)。
Flatten primitive-leaf structs 的超集合。 除了基本純量之外,它也接受 FName 與 FString(FString / FUtf8String / FAnsiString)欄位作為葉節點 —— 因此像 {Score, Time, Rank, MsID (FName), PilotName (FString)} 這樣的存檔資料記錄,其每一個欄位都會被提升為 Struct ▸ Field 同層葉節點,包括儲存在 TMap / TArray 內的記錄(每元素群組會折疊成平坦列)。FName 呈現為其 4 位元組索引;FString 呈現為 CE String(一次 Data 指標解參)。若結構仍含有指標/物件、FText、容器,或未解析的巢狀結構,則保留其巢狀群組。
開啟 Record Colors 不同顏色顯示。當一個記錄的 TMap / TArray 被攤平(由上述選項)時,每個元素的列會依索引值的奇數、偶數而上不同顏色,讓原本同節點的資料,在壓平後,仍能在 CE 中視覺上區分。例如原本有16個陣列結構、每個結構有三筆資料、在一般設計上是分開成16個節點,但是壓平後變成48筆資料在同一層樹狀結構上,使用顏色區分,可以較容易判別資料是原本的哪一組群組。偶數索引(struct[0]、[2]、…)與奇數索引(struct[1]、[3]、…)的列會得到不同的文字顏色 —— 可以從預設調色盤或十六進位值自行挑選顏色,或按 Reset 使用 CE 的預設顏色。預設:偶數 = 天藍色(azure),奇數 = 未設定。設定會保留下來。
當一個被鑽取的指標其目標只持有單一可監看值時,將其折疊一層。若一個 Object/Weak 等指標解析到一個唯一欄位為純量、FName 或 FString 的物件,則它會在該指標位移處被輸出為一筆帶有解參鏈的 Pointer ▸ Field 記錄 —— 而非一個只含單一子項的資料夾(即「指向字串的指標」情形)。若指標的目標有兩個以上的欄位,則保留其群組(其物件身分值得保留一個邊界)。
預設開啟。 每個被鑽取的物件只展開一次:從多個欄位(或經由反向參照)抵達的共享物件,在第一次時完整展開,之後顯示為平坦的 (shared) 指標。這可避免鑽取抵達某個高度連結的物件(例如 World)時,產生巨大/記憶體不足的匯出。關閉 = 完整展開每個參照 —— 在高 Drill Depth 時可能非常龐大。
預設開啟。 當鑽取進入指標/結構子項時,跳過那些物件類別為系統/引擎資產(Widget、SoundBase、Texture、Material、ParticleSystem、Niagara、AnimInstance)的欄位,讓 CE 匯出聚焦於遊戲玩法資料。您明確選取的欄位一律保留 —— 只有解析出的子項會被過濾。遊戲玩法類別(Actor / Pawn / Character / 元件 / Controller / PlayerState / GameInstance)永遠不會被跳過,而容器(array/map/set)元素也不會被過濾。當有任何項目被捨棄時,會出現「N system fields hidden」提示。
用猜測資料類型(pointer、float、int 等)填補已知 UPROPERTY 欄位之間的記憶體空隙 —— 對於揭露沒有反射中繼資料的原生(非反射)C++ 成員很有用,但雜訊較多。預設關閉;面板在某些情境下可能會自動啟用它。(單一工作階段有效 —— 不會在重啟後保留。)
| 設定 | Copy CE XML | Copy CE Field | CSX export | CE AA script |
|---|---|---|---|---|
| Collapse Pointer Nodes | ✅ | — | — | — |
| Array Limit / Preview | 顯示 + 內嵌讀取 | 顯示 + 內嵌讀取 | — | — |
| String Len | ✅ | ✅ | — | — |
| Fabricate | — | ✅ | — | — |
| Drill Depth | ✅ | ✅ | ✅ | — |
| Append +Offset / +Type | ✅ | ✅ | — | — |
| Collapse chain | ✅ | ✅ | — | — |
| Flatten GAS / primitive-leaf / leaf records | ✅ | ✅ | — | — |
| Collapse single-leaf pointers | ✅ | ✅ | — | — |
| Dedup shared objects | ✅ | ✅ | — | — |
| Skip system components | ✅ | ✅ | — | — |
| AOB | ✅ | ✅ | — | 錨定根位址 |
- Live Walker —— Copy CE XML / Copy CE Field 與 CE Export Options 所在之處。
- Instances —— 受 Deep container scan cap 控制的 Lookup 深層掃描。
- Value Search —— 其 Deep 選項是 Locate in GWorld → Deep 的對應功能。