README.md
廢棄城市 FPS 外掛
廢棄城市 (Abandoned City FPS) Windows 版的外掛。 完整逆向與實作說明:https://blog.siao.ai/abandoned-city-fps-mod
安裝
- 先從 itch.io 或 GitHub Releases 下載遊戲
AbandonedCityFPS-windows.exe。 - 在這個頁面右上角登入(accounts.siao.ai 免費註冊),按「程式碼」→「下載 ZIP」。
要用 git 的話,同一個選單有 clone 網址和存取權杖:
git clone https://git.siao.ai/siao/abandoned-city-fps-mod.git - 解壓縮後雙擊
windows\install.bat。整個資料夾放在遊戲 exe 旁邊會自動找到遊戲,找不到時會跳出視窗讓你選 exe。 - 開遊戲,右上角出現外掛面板就是裝好了。移除就雙擊
windows\uninstall.bat。
外掛更新後重新下載(或 git pull)再執行一次 install.bat 即可。
面板點標題列(或按 `、F2)收合、展開,各區塊點標題也能個別收合,狀態會記住。遊戲中按 ` 放出滑鼠來點面板,按 Tab 或點畫面空白處鎖回去。
作者在 2026-10-17(
8eeb89c)拿掉了網頁版,只發行 Windows exe 和 Android APK。v1.x 的 Tampermonkey 使用者腳本已經沒有遊戲可以注入,原始碼留在 tagweb-v1.3.0。Android 版要重新打包 APK 並換簽章,目前沒有做。
功能
| 分類 | 功能 |
|---|---|
| 生存 | 無敵(含大逃殺安全區毒圈)、隱身(殭屍不追不打、AI 看不到也打不到)、生命上限倍率、回滿血 |
| 武器 | 無限彈藥免換彈、無後座力無擴散、一擊必殺、傷害倍率、射速倍率、每發彈丸數倍率、射程倍率、直接拿任一把槍、加任意數量備用子彈 |
| 移動與速度 | 移動速度倍率、跳躍倍率、飛行(空白鍵上升、Shift 下降)、遊戲速度 |
| 刷怪與補給 | 在身邊刷普通/跑者/坦克/吐酸殭屍/膨脹者/Boss/隨機(可指定數量與強度波次)、自動刷怪(間隔與場上上限可調)、新生成殭屍的血量與速度倍率、丟彈藥或醫療補給 |
| 殭屍模式 | 凍結所有殭屍、技能無冷卻、技能自動全滿並突破、清除場上殭屍、跳到下一波、直接過關 |
| 大逃殺 | 跳傘立即著陸、暫停縮圈、凍結所有 AI、生成更多 AI 對手、傳送到安全區中心、淘汰所有對手(含還在跳傘的,算你的擊殺)、立即打開空投 |
| 存檔 | 擊殺喪屍幣倍率、喪屍幣加任意數量或直接設定、解鎖全部關卡、解鎖全部槍枝皮膚、解鎖並穿上全部裝備(含只有空投才拿得到的傳說級) |
所有數值欄位只有下限、沒有上限。熱鍵:U 無敵、I 回滿血、K 清怪/淘汰、N 下一波、J 刷怪、O 遊戲加速、Y 飛行、L 跳傘立即著陸。v2.0 的大逃殺用 G、H、T 丟手榴彈、用醫療包、穿護甲板,所以外掛的熱鍵從 v1.x 的 G、H、T 改到 U、I、O。在數值欄打字時熱鍵不會觸發。
設定存在遊戲的 user://acmod.cfg(Windows 是 %APPDATA%\Godot\app_userdata\AbandonedCityFPS\),跟遊戲存檔分開。
運作方式
Godot 4 啟動時,讀完 exe 內嵌 pck 的專案設定後,會再讀 exe 同一個資料夾的 override.cfg 覆寫設定(core/config/project_settings.cpp,官方匯出範本預設開啟,作者也沒有打開 disable_project_settings_override)。windows/install.ps1 只做兩件事:
| 動作 | 結果 |
|---|---|
把 cheat.gd 複製到 <遊戲資料夾>\acmod\ |
外掛本體,遊戲啟動時才編譯 |
在 override.cfg 的 [autoload] 加 Cheat="*C:/.../acmod/cheat.gd" |
引擎把外掛當成第一層 autoload 載入,排在主場景前面 |
遊戲 exe 一個位元組都不改,作者更新遊戲直接換 exe 就好。override.cfg 原本有的其他設定會保留,移除時只刪外掛那一行。
作者更新時
siao-server 上的 systemd timer abandoned-city-watch.timer 每 15 分鐘檢查一次作者的 GitHub repo 和最新 release。Windows exe 的 sha256 一變(作者換檔不換 tag 也抓得到)就:
- 下載 exe 並核對 GitHub 給的 sha256,用 GDRE Tools 反編譯內嵌的 pck,跟 GitHub 原始碼、上一版各比一次,交給
claude -p寫分析; tools/update.sh:用新版遊戲跑tools/test.sh(Godot 無頭,殭屍 41 項 + 大逃殺 45 項),再跑tools/release-test.sh:照使用者的步驟把 repo 放在遊戲旁邊、執行windows/install.ps1,用 Godot 讀作者 exe 內嵌的 pck 把兩個模式再測一次,最後確認uninstall清乾淨;- 測試失敗就把錯誤交給 server 上的 Claude(只給讀檔和改檔工具)修
mod/cheat.gd,最多 2 輪;修好就升小版號; - 在
CHANGELOG.md和部落格的版本紀錄各加一筆。
檔案
| 路徑 | 用途 |
|---|---|
mod/cheat.gd |
外掛本體(GDScript autoload) |
windows/install.ps1 |
安裝/移除(相容 Windows 內建的 PowerShell 5.1,存成 UTF-8 BOM) |
windows/install.bat、windows/uninstall.bat |
雙擊用的入口,呼叫 install.ps1 |
windows/README.txt |
給玩家看的說明(記事本開得了) |
tools/test.sh、tools/test.gd |
Godot 無頭測試(用原始碼專案) |
tools/release-test.sh |
用作者的 exe 實測安裝、兩個模式、移除(需要 PowerShell 7 pwsh) |
tools/update.sh |
作者更新時的自動流程 |
CHANGELOG.md |
每次更新的紀錄 |
改完 mod/cheat.gd 後:tools/test.sh <遊戲專案目錄> <輸出目錄> 跑無頭測試(需要 Godot 4.7.2,環境變數 GODOT 指定路徑),tools/release-test.sh <AbandonedCityFPS-windows.exe> <輸出目錄> 跑發行版實測(環境變數 PWSH 指定 PowerShell 7)。