教學關掉跑壘者速度數值 › 不跑腳本的手動改法

不跑腳本的手動改法

本站的課大多配一支小程式。但有些人的第一個念頭是: 我為什麼要在自己的電腦上執行一個陌生人寫的程式? 這是完全合理的疑慮。這一頁就是為這些人準備的另一條路 —— 全程手動,不用跑本站的腳本。

難度

★★★ 要自己拆、自己包

時間

15 到 30 分鐘

可還原

可,但備份要你自己做

⚠ 先確認你的遊戲有沒有這個檔 —— EA 原版沒有

這一課要改的 fes_ingameinfobar.fel 不在 EA 原版的 ingame.big。 原版只有 44 個項目;有這個檔的是裝過台灣名冊那類社群模組之後的版本。 詳見腳本版那一課的說明

第一次改遊戲檔案的話,建議先走一次腳本版

這條路要自己操作封裝檔工具、自己解壓縮、自己壓回去。其中「壓回去」那一步用錯方法, 會靜靜地毀掉 2.4 MB 的資料,而且不會有任何錯誤訊息

建議先用腳本版成功一次、確認遊戲跑得動,再回來研究這條路。 那時候你已經知道「成功長什麼樣」,出事才判斷得出來。

你要動的是哪六個字元

跟著跑者跑的那個小數字,寫在遊戲的 data\frontend\ingame.big 裡面。 這個封裝檔 2,665,562 bytes、一共 47 個項目,你要的是其中一個叫 fes_ingameinfobar.fel 的版面檔 —— 它佔 11,617 bytes, 位在檔案的第 76,989 個位元組(0x12CBD)。

把它單獨取出來之後,開頭兩個位元組是 10 FB,代表它被 QFS 壓縮過, 所以直接用文字編輯器打開只會看到亂碼。解開之後是 84,183 bytes、951 行的純文字, 那時候才看得懂。

要改的是裡面 6 行 TX:RATING,把每一行第一個逗號後面那個 1 改成 0。 就這樣,六個字元,其他一個字都不要動。

行號它掛在哪個群組底下XY
758GR:HOMEPLATE(本壘) 618391
769GR:THIRDBASE(三壘) 618348
779GR:SECONDBASE(二壘) 618362
788GR:FIRSTBASE(一壘,第 782 行那一份) 618377
797GR:FIRSTBASE(一壘,第 791 行那一份) 618377
805GR:FIRSTBASE(同上,第 791 行那一份底下的第二行) 550461

這一頁的數字是量哪一份來的

上面的行號、位元組數、項目數,全部量自本站手上的那一份 ingame.big。 裝過中文化、球衣包或其他模組的檔案,數字會不一樣,那很正常

所以下面每一步的驗收,重點都放在「改前改後有沒有變」, 而不是「有沒有等於本文寫的那個數字」。

一壘為什麼有三行

GR:FIRSTBASE 這個群組在這份檔案裡被宣告了兩次 (第 782 行與第 791 行,座標略有不同),第二次那份底下又掛了兩行 TX:RATING

這裡原本寫「在原廠檔案裡」。fes_ingameinfobar.fel 不在 EA 原版的 ingame.big 裡(見上面那張卡),所以這兩次宣告不能算在 EA 頭上 —— 是這份檔案被社群模組改過之後才有的樣子。

所以總數是 6 不是 4。六行都要關 —— 一壘被宣告兩次, 遊戲實際採用的是哪一份,本站沒有量到能下定論的證據, 只改前四行就收工,一壘的數字很可能還在。兩份都關才是安全的做法。

這是手動路線最容易漏掉的地方:腳本版會自己把檔案裡的每一行都數出來,手動就得靠你自己數。

好消息:六行擠在一起

這 6 行全部落在第 706 行開始的 SC:IGPAUSEINFO 這個畫面區塊裡, 行號從 758 到 805,總共不到 50 行。捲一小段就到齊,不用把 951 行整份翻過。

為什麼不乾脆關掉整個群組

你會發現 GR:HOMEPLATE 那一行的開關明明寫著 0, 遊戲裡本壘的資訊卻看得到 —— 因為群組的開關會被遊戲程式在執行時覆寫, 有跑者的時候才打開。

所以關群組通常沒有效果,改元素自己那一行才穩定。 這也是要改 6 行 TX:RATING、而不是關掉 GR:BASES 一個群組了事的原因。

需要的工具

用途這一類工具叫什麼
打開 .big 封裝檔、匯出單一項目 MVPEdit、EA BIG 系列編輯器,或任何支援 EA BIGF 格式的封裝檔工具
QFS / RefPack 解壓與壓回 多數封裝檔工具內建這一步;格式細節見QFS / RefPack 壓縮
編輯純文字 Notepad++、VS Code 這類能保留原始換行字元的編輯器。 重點不是哪一牌,是它不會自作主張把換行改掉

本站只列名字與用途

上面的工具不是本站做的,本站也不提供下載連結、不散布工具本體。 請自行向工具作者或其發布處取得,並自行判斷來源是否可信。

也講清楚一件事:這條路仍然要跑別人寫的程式,只是換成你自己挑、自己信得過的那一支。 這一頁換掉的是「非跑本站的腳本不可」,不是「完全不用執行任何程式」。

同理,本站也不提供改好的 ingame.big。這一課教的是「怎麼改你自己那一份」。

🛟 動手之前:先完整備份整個遊戲資料夾

把整個遊戲資料夾複製一份到別的地方包括裡面存放紀錄的資料夾。不要挑檔案,整包複製最省事也最保險。

「紀錄」是指這些(它們跟遊戲檔混在同一個資料夾裡):

dir /s /b "〔你的遊戲資料夾〕\*.sav"
find "〔你的遊戲資料夾〕" -name "*.sav"

上面第一行 Windows、第二行 Mac。 本站每一支工具都會自己備份它要動的那一個檔, 但那只保得住那一個檔 —— 整包備份保的是「你玩到現在的一切」。 完整做法看備份與還原 SOP

👉 你要做的事

1
備份 —— 這一步不能省

手動路線沒有腳本幫你自動備份。這份備份就是你唯一的退路。

ingame.big 複製一份,改名成 ingame.big.bak,放在同一個資料夾旁邊。

你會看到

同一個資料夾裡出現兩個檔案,大小一模一樣。 把這個數字抄下來,後面每一步都要拿它來比對 (本站這一份是 2,665,562 bytes,你那份不同沒關係)。

2
取出 fes_ingameinfobar.fel

先把要改的那一個項目從封裝檔裡撈出來,變成獨立檔案。

用封裝檔工具開啟 ingame.big,在項目清單裡找到 fes_ingameinfobar.fel,匯出成獨立檔案。

你會看到

匯出來的檔案開頭兩個位元組是 10 FB (本站這一份是 11,617 bytes,你那份可能不同)。

如果匯出來的開頭不是 10 FB、而且直接就看得懂文字

代表你的工具在匯出時已經順手解壓了。那很好,步驟 3 的「解開」可以直接跳過。

3
解開,改那六個字元

解開之後是純文字,用一般編輯器就能搜尋、就能改。

先把 QFS 那一層解開,會得到一個純文字檔(本站這一份是 84,183 bytes、951 行)。 搜尋 TX:RATING,逐一把第一個逗號後面那個 1 改成 0。 本文依據的版本剛好 6 個,你手上那份可能不同,找到幾個就改幾個

改之前(第 758 行,整行逐字照抄自本站那一份檔案)
       TX:RATING,1,0,618,391,20,12,1,1,1,1,0,0,hrdbg_en.ffn,3501,0,255,255,255,0,0,0,-1,0,0,0,0,0

改之後
       TX:RATING,0,0,618,391,20,12,1,1,1,1,0,0,hrdbg_en.ffn,3501,0,255,255,255,0,0,0,-1,0,0,0,0,0

只有第一個逗號後面那一個字元不一樣,行首的縮排、行尾的參數全部原封不動。

順帶一提:618,391 是它在 640×480 座標系裡的位置, 20,12 是框的寬高,3501 是字串編號 —— 版面檔裡不存文字本身,3501 對應的文字是 99,就是那個佔位用的數字。

存檔前先確認編輯器沒動你的換行

這些 .fel 全部使用 CRLF 換行,幾行就是幾組。 如果編輯器把它統一成 LF,每一行都會少掉 1 byte —— 以本站這一份為例,會從 84,183 bytes 掉到 83,232, 少掉的 951 正好等於行數。

長度變了就是壞了,就算你真的只改了那六個字元。

你會看到

改完之後,檔案大小與行數跟改之前一模一樣, 而且搜尋 TX:RATING,1 應該是 0 個

4
壓回 QFS,寫回封裝檔

整條路風險最高的就是這一步。改內容很簡單,存錯才是真的會出事。

把改好的文字重新壓成 QFS,再放回 ingame.big。 務必用「接到檔尾」而不是「重新打包」的方式存檔。

存完之後,檔案只能變大,不能變小

本站這一份 ingame.big 是 2,665,562 bytes, 但 47 個項目的長度加起來只有 195,999 bytes。 剩下 2,468,068 bytes(92.59%) 是目錄根本沒有指向、卻確實躺在檔案裡的資料。

「重新打包」會把這些一次丟掉,本站實測檔案會掉到 198,071 bytes。 項目一個都不少、內容檢查也全過、不會有任何錯誤訊息 —— 問題可能等到遊戲跑進某個特定畫面才爆出來。

看到檔案變小就立刻用備份還原,不要開遊戲。 完整原因見 BIGF 封裝格式

你會看到

ingame.big 比改之前大, 而且用工具重新打開,項目數跟改之前一樣。

✅ 檢查清單(三條,缺一條都不要開遊戲)

❌ 出錯處理

你遇到的狀況原因你要做的
匯出來的檔案打開還是亂碼QFS 那一層還沒解開 確認開頭兩碼是 10 FB,用工具的解壓功能
改完之後 bytes 數變少,少掉的數字剛好等於行數 編輯器把 CRLF 換成了 LF 丟掉重來,換一個會保留原始換行的編輯器
改完之後長度跟改之前不一樣多打或少打了字元 丟掉重來,只能動那六個字元
存回後 ingame.big 比改之前小很多 工具用了「重新打包」 立刻用備份還原,不要開遊戲
整份找不到 TX:RATING開錯檔了 確認是 ingame.big 裡的 fes_ingameinfobar.fel
遊戲開得起來,但數字還在可能只改到一部分 回頭確認 TX:RATING,1 真的是 0 個,一壘那幾行也都關了

手動路線的還原

把步驟 1 的 ingame.big.bak 改回 ingame.big 蓋回去,就這樣。

備份是你自己做的,所以只有你自己記得它在哪、是哪一版 —— 這正是手動路線跟腳本版最大的差別。腳本版的 --restore 會幫你做這件事, 手動版不會。

📋 卡住的話,照這個格式回報

作業系統:Windows 11 / Windows 10 / macOS ___
我用的封裝檔工具叫什麼:___
改之前的 ingame.big 幾 bytes:___
匯出來的 fes_ingameinfobar.fel 幾 bytes:___
解壓後幾 bytes / 幾行:___ / ___
檔案裡總共找到幾個 TX:RATING:___
改完之後 TX:RATING,1 還剩幾個:___
存回去之後 ingame.big 幾 bytes:___
卡在哪一步:步驟 ___

📌 重點整理

想更進一步