速查 › 現況表

什麼改得動、什麼還不行

網路上談 mod 常有種錯覺:好像什麼都能改,只是你還沒找到方法。 這頁講實話 —— 哪些已經完全解開、哪些只解了一半、哪些短期內大概不會有解。 省得你往死路鑽。

四個等級

等級意思
完全可改格式清楚,有現成方法或工具,本站多半有教學
可以替換不用懂格式,直接換檔案就好
半解外層懂了,核心內容還沒 —— 能看不能改,或能改但沒把握
未解目前沒有可行方法

完全可改

完全可改 賽程(哪天打哪隊、幾點開打、哪一年) 純 CSV 文字。有教學與腳本
完全可改 介面版面(HUD、選單、轉場的位置與顯示與否) 解壓後是純文字腳本。格式已完全解開有教學
完全可改 球員姓名、體格、部分能力欄位 CSV 文字。但只有部分欄位能安全寫,動手前務必先讀避雷頁
完全可改 球員的專屬語音(播報員唸名字) 2026-08-29:整條路打通了。 「哪位球員用哪個號碼」(見播報員為什麼不唸新球員的名字)、 容器與內部切法(見拆開一個語音檔)、 以及最後那一格「15 個位元組怎麼變回 28 個取樣」——三層都解開了。 本站有純 Python、零相依的腳本可以把聲音匯出成 WAV、也把 WAV 編回去 (見換掉遊戲的聲音), 解碼對照第三方工具 21,678,328 個取樣 0 個不同
現在真正的門檻只剩錄音不是合成:新球員的名字沒有人唸過,得自己錄或自己剪。
這一格本來掛在下面的「目前未解」區塊底下,是本站 2026-08-28 那次訂正只改了說法、沒有把項目搬上來。

可以替換(不用懂格式)

可以替換 大頭照、球衣、載入畫面、隊徽 用社群既有的圖片工具轉檔後替換。本站有五課: 換球員大頭照把一套球衣裝進遊戲(隊徽跟球衣共用同一組編號,安裝位置也在這一課)、 換球隊隊徽(哪個編號是哪一隊、怎麼匯出成 PNG 改完換回去)、 球衣模組:安裝與製作入門換掉開機畫面(開機、標題、載入三張都在裡面;其中開機大圖目前只匯得出來、匯不回去)。
可以替換 球場(換成別人做好的球場包) 整個檔案替換。但檔案很大,容易撞到記憶體上限,見當機診斷

半解 —— 能做但有但書

半解 選單音樂 那 9 個 .asf 不是微軟的 ASF —— 開頭四碼是 SCHl,是 EA 自家的音訊容器,所以「丟一首 mp3 改名進去」不會成立。 為什麼副檔名會騙人。 工具本站有:純 Python、零相依的腳本可以把它解成 WAV,也把 WAV 編回這個格式,見換掉遊戲的聲音; 不想打指令的,做法見七分鐘置換遊戲音樂。 但書是格子是定長的:塞回去的歌不會讓檔案變大,比原本短的補靜音、比原本長的直接被切掉。
半解 自製大頭照 / 臉皮圖片 圖片格式的結構已經讀得出來,但自己產生的檔案遊戲吃不吃還沒實測過。 壓回去那一半本站自己也寫了(0x60 DXT1 與 0x61 DXT3),見 做一張新的球員臉皮換球員大頭照; 還沒實測的是遊戲吃不吃自己產生的圖那一關。
半解 字型 外層容器解開了,每個字的點陣圖與間距資料還沒。所以能換整包字型檔,不能改單一字。
半解 動畫 封包結構與命名規則清楚(連編譯時間都讀得出來), 但動作資料本身是編譯過的骨架關鍵影格,等於要重寫一套 3D 工具。
半解 播報語音內容 播報是預錄音檔不是文字轉語音,所以沒有「字幕檔」可以改。 2026-08-29 訂正:這一格原本整條標成「未解」,那貼錯位置了 ——音檔換得掉(格式已解,解碼對照 ffmpeg 21,678,328 個取樣 0 個不同,見換掉遊戲的聲音)。真正沒解的是哪一段唸的是哪一句 —— 錄音檔名對照表有 31,902 行(8,889 個群組名,加 23,013 筆「檔名+位移」)、索引只有 2,056 段,編號系統跨三個檔案彼此對不上。音訊系統結構。 (2026-09-05 訂正:那次訂正只改了說法,項目本身還留在「目前未解」底下,現在搬到這一區。)

目前未解

未解 從零設計一座新球場 球場檔含 3D 網格、貼圖座標、光源、碰撞判定。改貼圖與光源可行,重建幾何結構不可行。球場檔結構
未解 遊戲規則、AI 行為、數值公式 這些寫在程式裡,不在資料檔。本站不涉及修改程式碼

務實的結論

看起來「未解」的項目不少,但實際上 —— 換名單、換球衣、換球場、換賽程、調介面,這些檔案層級的替換已經涵蓋大多數人想做的事

真正卡住的通常是兩件事:新球員的播報語音, 以及從零設計新球場

⚠️ 語音那一件的難處已經不是格式(見下方訂正), 而是沒有人唸過那個名字 —— 要嘛自己錄,要嘛從播報員唸過的音裡一個字一個字剪出來。 二十年前台灣玩家就是這樣做的,很費工但做得到。

⚠️ 2026-08-28 訂正一格:語音其實做得到

上面把語音歸在「能換不能編輯」,理由是它的內部編碼沒解開。 那個歸類是錯的。

本站後來量到:社群做的語音檔跟 EA 的不是同一種子格式 —— 剛安裝好的原版 6,995 個聲音全部是一種, 而三個社群語音包絕大多數是另一種。 那些包當年是真的裝來玩的,所以遊戲兩種都吃

要換語音,需要的是「產生一個遊戲吃得下去的檔」, 不是「把 EA 的解碼出來」。那兩件事被本站混為一談了。 檔頭格式、配對規則、產生的路徑三段都有答案, 完整說明見播報與音訊那頁

後續:那一格又縮小了一次。本站把容器裡面也量開了 —— 每一段聲音資料的擺法(兩個聲道各自連續,1,945 段零例外)、 一個聲道裡每 15 個位元組一組(掃相位 97.7% vs 亂猜 50%), 兩件都解開。當時只剩「15 個位元組怎麼變回 28 個取樣」—— 2026-08-29 訂正:那一格後來也解開了,見換掉遊戲的聲音。 過程與一個差點推翻正確結論的假紅燈,寫在 拆開一個語音檔

2026-08-29 訂正:這裡原本寫「本站還沒有從頭到尾做過一次,所以還沒有這一課」—— 那一課後來開了,見換掉遊戲的聲音。 訂正留著不刪,是因為「還沒做」不是「做不到」、兩者不該用同一個標記這條教訓照樣成立。

為什麼有些東西特別難

難度不是隨機的,它取決於資料離「人看得懂的形式」有多遠

資料長什麼樣難度例子
純文字幾乎沒有難度賽程、球員資料、介面版面
壓縮過的純文字解壓就好小聯盟賽程、部分介面檔
結構化的二進位要逆向,但做得到封裝檔、圖片
編譯過的產物很難動畫、3D 模型
編碼過的媒體能換不能編輯 2026-09-05 訂正:語音與選單音樂其實都編得動,見換掉遊戲的聲音語音、音樂

這也是為什麼五秒看穿一個檔案那一課這麼重要 —— 先判斷你面對的是哪一類,才知道值不值得投入。

這張表會變

「未解」不代表永遠解不開,只代表目前還沒有人解出來。 本站的原則是:解開了就寫進來,沒解開就誠實說沒解開, 不會為了讓表格好看而把「可能可以」寫成「可以」

📌 重點整理