區域索引器
生成《輻射4》所需的偏移表,幫助快速定位區域。
模組介紹 作者原文
生成《輻射4》所需的偏移表,幫助快速定位區域。
原址:
前置:
Holy Framework:
Cell Indexer
生成《輻射4》所需的偏移表,以便快速定位外部單元,即使插件未包含預生成的數據。
在原版中,有些世界空間可以不帶這些索引表加載。當這種情況發生時,遊戲無法總是使用最快的本地外部單元查找路徑。Cell Indexer 檢測哪些加載的世界空間實際上缺少所需數據,並在運行時自動構建。
它不依賴插件名稱或硬編碼的兼容性列表。決策基於加載世界空間的真實狀態。
功能
- 自動外部CELL索引。
- 生成缺失OFFSET_DATA表。
- 掃描加載的插件以獲取外部 CELL 記錄。
- 可再生索引緩存,實現更快的後續加載。
- 在重用前驗證緩存數據。
- 運行時補丁,支持原生外部單元查找兼容性。
- 安全擁有和恢復生成的表格和補丁。
- 比賽數據準備好後實現全自動操作。
用戶優勢
- 自動設置:無需配置即可在後臺運行。
- 更快的後續加載:重複使用已驗證緩存,而非每次重建所有緩存。
- 更好的外部單元索引:必要時生成缺失的外部單元索引數據。
- 兼容性提升:幫助遊戲更穩定地處理加載插件的外部單元數據。
- 低開銷:僅在請求索引服務時激活。
給模組製作者
這個模組可以用來檢查你的模組是否包含無效數據。通過查看HolyFramework.log,你可以判斷你的模組是否造成了衝突,以及衝突類型。
數據格式錯誤:解析器檢測到真正格式錯誤的記錄。
讀取失敗:在讀取/解壓數據時出現問題。
不一致元數據:重建後的WRLD元數據與輻射原生加載的不符。
不完全元數據:缺少所需數據,如WRLD偏移量、NAM0/NAM9或邊界。
無效偏移:偏移是不可能或無法使用的。
無效界限:無效的表座標或維度。
不一致數據:重複CELL座標。
原生不匹配:我們的 CELL 重建與現有的原生表不匹配。
不支持的情況:一個可能有效的結構,但尚未被 Cell Indexer 處理。
運行狀態:規劃過程中發生變化的狀態,或存在併發情況。
操作技術
- 遊戲過程中查詢:原生OFST。
- 生成:僅解析實際存在的外部CELL。
- 已索引的插件:如果所有目標都已原生 OFST,則在掃描器前跳過。
- 插件讀取:每個插件僅在實際需要時進行一次結構掃描。
- 多世界空間:插件中所有相關世界空間一次性獲得。
- 緩存:每個插件包含一個包含所有世界空間的.cip5捆綁包。
- 世界空間身份:FormID + 與 TESFile 的實際關聯。
- 插件/緩存身份:卷 + 文件 ID + 大小 + 最後寫入 + 變更時間 → 備回指紋。
- 緩存完整性:頭部CRC + 有效載荷CRC + 結構不變量。
- 保存:臨時文件 + 原子替換。
- 緩存損壞:選擇性拒絕、單插件重掃描和自動重建。
- 線程:無引擎工作者:文件系統、解析器、zlib 和緩存。
- FormID 解析:連接後,主線程中。
- 失敗關閉:未解決的必需目標 == 0 在補丁/安裝前爲強制。
- 不完整的元數據:不發明邊界或錨點:安全中止。
- 補丁:恰好有4個經過驗證的補丁點。
兼容性
不兼容單元偏移發生器/更快單元查找
兼容平滑單元加載
“不兼容”和這個有什麼區別?
這三者滿足了相同的需求。區別在於它們的運作方式。我可以肯定地說,這個模塊是我框架的一部分,保證與我所有模塊兼容。
如果你已經用過我的框架,這個模塊利用了整個系統共享的單一引擎鉤子。它不需要獨立的連接。我所有的模塊都作爲一個單元運行,所以無論你以後用10個還是300個模塊,它們都共享同一個連接。一個掛鉤,一個共享連接,一個全局負載。
另一個區別是可以檢測列表中哪些模組導致單元元數據讀取問題,如果你是模組製作者,這非常有用。
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。