塔防山賊模擬器存檔修改器:山寨帳房的用法與實作
要改《塔防山賊模擬器》的存檔,打開 山寨帳房 ,選取 ea3save.dat 這類進度檔,修改後匯出副本,結束遊戲再用副本換掉原檔即可。存檔全程只在瀏覽器本機處理,不會上傳;匯出時只替換改到的值,其他原始 JSON 文字原封不動。
以下內容整理於 2026 年 10 月,對應修改器 v2.34 與遊戲 V1.0.14.0。遊戲改版後欄位與公式可能變動,以修改器顯示的相容版本為準。
使用步驟
開啟 bandit.jakeuj.com ,選取要修改的遊戲進度檔,例如
ea3save.dat。修改資源、角色或裝備。需要預覽的操作先確認結果再套用,最後在「檢視變更」核對。
下載原檔備份,再匯出修改副本,例如
ea3save.modified.dat。結束遊戲,另外備份原始存檔,把修改副本改回原檔名,放回取出時的同一個位置。
重新開啟遊戲,載入對應存檔確認。
本機存檔、自動備份與 Steam 雲存檔快取可能在不同資料夾,取出與放回的必須是同一份進度。
可以改什麼
類別 | 內容 |
|---|---|
資源與名稱 | 銅錢、共用經驗、魂魄、科技點、操練點、材料數量,山寨與角色名稱 |
角色養成 | 角色、職業與九項技藝經驗(依遊戲公式聯動等級);一般隨機角色的基礎資質、技藝上限、天賦等級;丹藥資質增量;結丹品質與入體內丹等級 |
物品與裝備 | 普通裝備等級、品質、詞條係數與精準洗練;神話裝備第六槽;套裝品質與等級、寶物等級、內丹等級、靈物五行 |
山寨與科技 | 職業操練上限、進階科技、基礎科技解鎖、建築等級、城牆強化等級、城市層數與聲望 |
批次操作 | 多角色經驗、同庫裝備升滿、進階科技同值;先預覽,全部合格才套用 |
圖鑑與比對 | 角色、裝備與職業轉職路線圖鑑;比對兩份存檔並匯出 CSV;復原上一步或還原累計修改 |
一般模式遵守原版上限;進階(超限)模式只開放實測過的範圍,例如裝備等級與詞條係數到 1000。超限是原版做不到的狀態,遊戲內再重洗、重生或服用同類丹藥時可能被重算或受限,修改器會在畫面上註明。尚未核實或關聯太複雜的欄位維持唯讀,自訂座標也不能繞過。
存檔格式:Construct 3 Array JSON
遊戲以 Construct 3 開發、用 NW.js 包裝,進度存檔就是 Construct Array 物件序列化出來的 JSON:
座標從零起算,寫成
data[x][y][z]。z 是「層」,例如 z0 是資源與全域資料、z2 是已招募角色、z7 是背包、z9 是裝備庫;x 通常是列號,y 是欄位。V1.0.13.0 起陣列從 22 層變成 23 層,多出來的 z22 是武庫。舊存檔載入新版後會被擴成 23 層;反過來用舊版遊戲讀,會截回 22 層,武庫物品就消失了。
每格只會是數字、字串或
null。修改器讀檔時檢查c2array、三維尺寸與識別欄位,不符就拒絕,避免誤選saveinfo.dat之類的其他檔案。
欄位意義不是猜出來的:開發時用自己安裝、解包的遊戲資料,解析 Construct 事件表裡對 save 陣列的 SetXYZ 寫入與 At 讀取,對照事件 SID 與 expression,整理出每個座標由哪個函式寫入。repo 只提交座標索引、名稱與規則摘要,不包含遊戲程式或玩家存檔。
匯出只替換改到的 token
直接 JSON.stringify 整個物件再寫回,會改掉原檔的 BOM、空白、指數寫法與超過安全整數的大數字。山寨帳房的做法是保留原始文字,只替換被改到的那幾格:
讀檔時保留原始字串,修改只記在
changes(以x,y,z為 key),不動原物件。匯出時用 tokenizer 掃過原文,找到最外層的
"data"陣列。進入陣列後用深度與逗號計數追蹤目前的
[x, y, z];座標命中changes時,記下該 token 的起訖位置。檢查原值與新值型別一致,且找到的 patch 數量等於修改數量,任何一項不符就停止匯出。
把原文切片,在 patch 位置插入新值後串回去。
這樣比對修改前後的檔案時,差異只會出現在改到的值,也比較容易確認修改器沒有順手動到其他資料。
有關聯的欄位整組修改
很多數值不是獨立欄位。例如加角色經驗要同時更新等級與剩餘經驗,升高校場或書院等級會改變操練上限與科技上限。修改器的規則是:
每個寫入功能有自己的具名入口(例如設定建築等級、內丹等級),入口內做資格檢查、預覽、整組寫入,失敗就整筆回滾。
關聯欄位放在同一個還原群組,還原建築等級時,依賴它的上限也一起還原,不會留下高於原上限的值。
每個新功能有自己的驗證旗標,預設關閉;在隔離的遊戲副本用修改後的存檔實際存讀、重啟讀回,數值與原版行為一致才開放。
離線使用
安裝 App :第一次連線開啟網站,等畫面顯示「可離線使用」後安裝。iPhone、iPad 用 Safari 的「加入主畫面」,Mac Safari 用「加入 Dock」。之後離線也能選檔、修改、比對與匯出,存檔不會進網站快取。
下載單檔 HTML :網站提供單一 HTML 下載,程式與遊戲知識都內嵌在檔案裡,用 Edge 或 Chrome 直接開就能編輯,不需要 Node.js 或後端。
關閉前要先匯出,未匯出的修改不會保留。App 有新版時會等所有分頁關閉才更新,不會在編輯途中重新載入。
在 Apple Silicon Mac 原生執行遊戲
repo 另外提供實驗性的 macOS ARM64 準備工具:用自己 Steam 安裝的遊戲資料,配上官方 NW.js SDK ARM64 runtime,在 Mac 上原生執行,不經過 Wine 或 CrossOver。
需要 Apple Silicon 與 Python 3.9 以上。第一次會下載約 141 MiB 的官方 runtime,並核對固定 SHA-256。
工具只修正路徑相關的程式:Construct 的
AppFolder、外部檔案讀取 fallback、savedir/backup的分隔符與 icon 路徑;不修改 Steam 身分、授權、成就或 DLC 判定。只接受已核對過的遊戲腳本指紋;遊戲更新後指紋不同時會停下,要重新核對修正位置。
完成後雙擊輸出目錄裡的
啟動山賊.command。必須從這個啟動器開,因為修正後的資料根目錄取自啟動時的 working directory。Mac 的存檔快取在輸出目錄的
game/savedir,與 Windows 存檔分開;重新準備不會覆蓋 Mac 進度。要用 Steam 功能時,另外開啟並登入 Mac 版 Steam;CrossOver 裡的 Windows Steam 無法給 macOS 程式使用。
遊戲在 Windows 寫入的路徑用反斜線,Mac 上會變成檔名本身含有反斜線的檔案,例如 savedir\ea1save.dat ,不是 savedir/ 資料夾裡的檔案。在 Mac 搬移或修改存檔時,要保留實際檔名與位置。
目前已驗證主選單、Steam 雲存檔清單、DLC 辨識,以及隔離副本的本機存讀與重啟讀回;長時間遊玩、真實雲端上傳與成就還沒驗證。