LV. 39
GP 1k

FO2引擎mod - sfall

樓主 Mercenary NovaRain
GP79 BP-
※相關連結

※基本介紹:
sfall最初是Timeslip(Oblivion/Fallout mod manager作者)在2007年重玩FO2時,覺得遊戲一些地方讓人不滿意,於是就動手寫了sfall來修改引擎並加上幾個他認為方便的功能,在NMA討論串經由許多modder建議和討論之後開始加上更多東西,包括引擎bug修正和額外的腳本函式,用現在比較多人熟的比喻就像FOSE一樣,同時還附加了許多其他功能,例如標記出地上物品和地圖內容器的熱鍵:


或是支援玩家角色不同外觀的mod(sfall只提供程式框架,需要額外檔案):


現在sfall已經算是FO2必備元件了,像Bethesda在GOG/Steam賣的FO2就直接包了sfall 3.2(有和Timeslip取得許可),各大型mod如RP或FO1.5也都要依賴它,連一些較小型的mod也是。另外提醒一點,GOG/Steam版FO1內的ddraw.dll不是sfall(沒有ddraw.ini存在),只是單純的DirectDraw wrapper避免顯示色彩亂掉的問題。


※安裝方式:
★英文版,不論是CD版或GOG/Steam數位版,未裝非官方修正或RP等mod:
CD版要先確定已經更新到1.02d,下載最新版sfall,如果是4.x版,將ddraw.dll、ddraw.ini、sfall.dat、mods資料夾解壓縮到FO2主資料夾中,如果是3.8.x版就只有ddraw.dll、ddraw.ini、sfall.dat三個。GOG/Steam版會問是否要覆蓋掉既有的檔案,選是就好。載入成功的話,遊戲主選單右下角會顯示sfall字樣與版號。

★FO2已經裝了非官方修正或RP等有附sfall的mod:
這種情況因為它們已經附帶一份自訂版的ddraw.ini,所以不要把mod自己的ddraw.ini蓋掉,不然很可能會出問題。你可以用文字編輯器打開mod的ddraw.ini和新版sfall的ini檔做比較,把新版有多出來的設定項目複製過去使用。

★繁體中文版:
sfall是設計對應美版1.02d版執行檔,繁中版的執行檔無法搭配sfall,不過gvx1有拿美版1.02d版執行檔做修改讓它能載入中文字型,支援顯示中文的同時也相容於sfall。


2024-04-26更新 - 我現在把它和非官方修正繁中語言包整合在一起,請參考此文章:
【MOD】FO2非官方修正繁中語言包


※額外補充:
因為sfall是藉由DLL injection的方式運作,如果你的防火牆或防毒軟體擋下了請自行設定白名單。如果都沒有被擋下但還是沒載入sfall,請檢查系統機碼內的KnownDLLs項目看ddraw.dll是否被列入其中:
  1. 用系統管理員身分執行命令提示字元(cmd)或PowerShell,輸入regedit。
  2. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager之後展開,檢查KnownDLLs裡面有没有ddraw.dll。
  3. 如果有的話,回到Session Manager下找到一個叫做ExcludeFromKnownDlls的項目打開(通常是空的)
  4. 在裡面增加一行ddraw.dll,確定之後重開電腦,FO2應該就能正常載入sfall了。
(KnownDLLs的細節可參考微軟知識庫相關文件


※其他不重要的資訊:
sfall在最初1.x版都是放在Timeslip個人網站上並附上原始碼,2.1版開始轉為GPL授權並放上SourceForge,到3.3版之後因為他結婚生子在忙生活的關係沒再進行下去,由phobos2077接手,至於我是負責測試與發佈檔案,還有編寫一些相關文件,3.7版之後原始碼轉移到GitHub上。

1.x版有支援Win98/ME的版本,2.1版開始只支援Win2000/XP以上系統,4.0開始則只支援WinXP以上。系統相容性測試從Win2000、WinXP、Win2003 R2、Win7、Win2008 R2、到Win10和Win2016都有測試過。硬體相容性最低有在Pentium II、Pentium III、Pentium 4機器上測試過。
79
-
LV. 39
GP 1k
3 樓 Mercenary NovaRain
GP19 BP-
sfall前天更新到4.0.2/3.8.7,其實十月中就跳到4.0了,只是那時還算是beta版(結果也的確兩天後發現當機問題而更新到4.0.1),現在是穩定版。

首篇的設定檔翻譯、中文版sfall支援整合檔和相關說明都有更新。另外我把原本patch000.dat的內容全解出來,不再使用patch000.dat,因為文字檔修改之後要更新dat有點麻煩。

從4.0版開始sfall運作所需的檔案變多,變成ddraw.dll、ddraw.ini、sfall-mods.ini、data資料夾(裡面的scripts資料夾包含gl_highlighting.int和gl_partycontrol.int腳本)。
3.8.5之後的3.8.x版本更新完全只是個人興趣使然和無謂的執著,除了bug修正之外,它了不起只會從4.x版向後移植一些程式碼本身簡單的小功能,不會有4.x版那些腳本相關的新東西。有點類似Firefox一般版本和ESR的關係。

4.0.2版幾個對一般玩家比較重要、值得特別點出來的部份:
  • 標記物品和控制隊友的功能現在從sfall本身分離出去,以全域腳本(global script)的方式運作以方便擴充功能(現在能標記出屍體),所以要是你忘了把data資料夾也解壓縮到遊戲主資料夾,你就沒辦法用這兩個功能。另外它們的設定選項移到sfall-mods.ini內。
  • Bonus Move的AP(黃色燈號)以前在戰鬥中存/讀檔之後會重新補回,所以你可以靠這招一回合就跑遍整個戰場,現在那漏洞修掉了。
  • Silent Death的雙倍傷害效果本來在擊出暴擊時不會累加在暴擊傷害倍率上(在程式中的運作情況是它的x2傷害倍率被暴擊傷害倍率蓋掉),等於如果你學了Slayer(100%暴擊),Silent Death就直接變廢物。現在兩者會累加了,在滿足條件下最高能打出16倍的傷害(潛行成功從目標背後瞄眼攻擊),不過認真來說Silent Death的發動條件一直很微妙....
  • 我在其他文章提到的玩家EMP DR問題也修正了,而且就算你現在存檔的角色沒有EMP DR,讀檔之後sfall會自動設定好,再存檔時會存進去。
  • 啟用滑鼠滾輪的UseScrollWheel=1現在基本上等於高解析度補丁的ALT_MOUSE_INPUT=1 + SCROLLWHEEL_FOCUS_PRIMARY_MENU=1,只要把游標移到搜刮和交易介面中其他物品列表上就可以捲動它們,另外也能捲動左下角視窗的遊戲訊息。
19
-
LV. 40
GP 1k
4 樓 Mercenary NovaRain
GP14 BP-
sfall今天更新到4.0.3/3.8.8,首篇的設定檔翻譯、中文版sfall支援整合檔和相關說明都有更新。

大致上算修bug的維護版本,像ExtraGameMsgFileList選項從4.0開始其實就壞了(這部份的原作者提醒才注意到),而遊戲本身的add_mult_objs_to_inven腳本函式在試著想加超過99999個物品(計數器顯示上限)時會很詭異的只加500個而不是上限值99999。

其他無傷大雅的小問題像之前啟用控制隊友功能時,每次戰鬥結束玩家的剝蜥蜴皮(Gecko Skinning)額外能力等級就會加一級,然後會不斷加上去,在角色畫面內看到剝蜥蜴皮有個105級是挺可笑的。原因是剝蜥蜴皮在遊戲引擎中沒有等級上限(其他一些額外能力也是),所以就在NPC戰鬥控制腳本內追加設定其上限值。

至於標記物品功能現在只會標出可搜刮的屍體,畢竟把不能搜刮的屍體標出來除了讓畫面變亂之外也沒啥用。當然要追加標記更多東西(發現到的陷阱、門和梯子等可互動的環境物件)也行,只是我不打算把官方版的標記物品腳本變成什麼都有的超級大雜匯。
14
-
LV. 1
GP 1
5 樓 Lasen Lasen0517
GP1 BP-
※ 引述《NovaRain (Mercenary)》之銘言
> sfall今天更新到4.0.3/3.8.8,首篇的設定檔翻譯、中文版sfall支援整合檔和相關說明都有更新。
> 大致上算修bug的維護版本,像ExtraGameMsgFileList選項從4.0開始其實就壞了(這部份的原作者提醒才注意到),而遊戲本身的add_mult_objs_to_inven腳本函式在試著想加超過99999個物品(計數器顯示上限)時會很詭異的只加500個而不是上限值99999。
> 其他無傷大雅的小問題像之前啟用控制隊友功能時,每次戰鬥結束玩家的剝蜥蜴皮(Gecko Skinning)額外能力等級就會加一級,然後會不斷加上去,在角色畫面內看到剝蜥蜴皮有個105級是挺可笑的。原因是剝蜥蜴皮在遊戲引擎中沒有等級上限(其他一些額外能力也是),所以就在NPC戰鬥控制腳本內追加設定其上限值。
> 至於標記物品功能現在只會標出可搜刮的屍體,畢竟把不能搜刮的屍體標出來除了讓畫面變亂之外也沒啥用。當然要追加標記更多東西(發現到的陷阱、門和梯子等可互動的環境物件)也行,只是我不打算把官方版的標記物品腳本變成什麼都有的超級大雜匯。

謝謝大大的用心. 想請問一下, 解開FO2_CHT_sfall_support.rar後, 有出現一個檔名為"FALLOUT2HR.exe", 請問跟原始的"FALLOUT2.exe" 有何不同?
1
-
LV. 40
GP 1k
6 樓 Mercenary NovaRain
GP4 BP-
sfall上週更新到4.0.4/3.8.9(工作有點忙,發完就忘了更新中文這邊),首篇的設定檔翻譯和中文版sfall支援整合檔都更新了。另外3.8.x版“ESR”之後會停止釋出(3.8.10應該會是最後一版),sfall將完全轉移到4.0。因為4.0已經足夠穩定,不需要繼續花時間在維護使用舊版原始碼的3.x上面。

這次重點在新增不少腳本函式上,還有修正一些小bug。
  • 修正ExtraSaveSlots(額外存檔格數)設定裡面一個從一開始就出錯的功能。現在sfall會記得你最後一次選取的存/讀檔位置,位置資料會存在savedata資料夾下的slotdat.ini。
  • 修正遊戲主介面能另外添加的提示標籤數量少一個的問題。
  • 修正控制隊友功能會讓剝蜥蜴皮(Gecko Skinning)額外能力可以在升級時選取的問題。
  • 修正標記物品功能在按著對應按鍵時進入戰鬥會造成標記外框不會消失的問題。
  • 修正get_attack_type函式回傳數值出錯的問題(正確來說它之前從來沒正常過)
  • 修正當來源地圖出口格在目的地地圖對應到的位置正好也是出口格的時候,地圖轉移之後角色位置會跑掉的問題(原版/RP沒這問題,這和製作新地圖方面比較有關係)
  • 新增腳本函式:floor2、set_ini_setting、lock_is_jammed、unjam_lock、set_unjam_locks_time、get/set_map_enter_position、set_rest_heal_time、set_rest_mode、attack_is_aimed
  • 新增兩個hook script:hs_setglobalvar、hs_resttime

ExtraSaveSlots從2.6版一開始就有記錄最後一次選取的存/讀檔位置功能,但因為原始碼使用的函式不對,這八年來都沒有正常運作,前陣子在重新檢視原始碼的時候正好注意到就修好了。

另外提一點和開鎖失敗有關的事(因為這次加的函式和這有關):開鎖發生致命失誤讓鎖卡住(jammed)並不是引擎本身會執行的部份,而是要在腳本中加上相關判斷才會有卡住的狀況。而鎖卡住之後在兩種情況下引擎會自動解除讓你可以重新嘗試,一個是在該地圖休息到午夜(00:00)一過,另一個是離開該地圖超過24小時再重新進入。

還有要提醒一點,修改中文版INI檔的時候不要用Windows自己的記事本,因為記事本有個壞毛病會在UTF8格式的文件存檔時自動加上UTF8 BOM,讓sfall無法正常辨認INI檔的設定內容。請用其他文字編輯器像是wxMEdit、Notepad++、UltraEdit之類的。
4
-
LV. 41
GP 1k
7 樓 Mercenary NovaRain
GP4 BP-
sfall上週更新到4.0.5/3.8.10,首篇的設定檔翻譯和中文版sfall支援整合檔也都更新了,整合檔還修正了新里諾許多NPC頭上冒出的對話會是“Error”的問題。另外3.8.10應該是3.x最後一版,除非它本身有什麼還沒被發現的嚴重bug,不然之後不會再有任何功能性方面的更新。

這次除了修正幾個和mod製作比較有關的bug與繼續擴充腳本功能之外,還增加了一些新設定:
  • 新增設定:WorldMapFontPatch,把世界地圖使用的字型從類似DOS的點陣字型換成一般內文所使用的字型。
  • 新增設定:DisplaySecondWeaponRange,預設為啟用,一些有兩種攻擊模式而且射程不同的武器(例如10mm衝鋒槍單發射程25、連發20)原本在物品欄內只能看到第一攻擊模式的射程,現在切換攻擊模式再進物品欄看會顯示新的射程。
  • 新增設定:ItemCounterDefaultMax,讓移動數個物品時出現的計數器數字預設為最大值而不是1。
  • 新增設定:ItemFastMoveKey,讓你可以設定一個按鍵在按住時移動一疊數個物品(包括丟棄、裝填武器)不會有計數器出現,一次就是直接移動一整疊。預設為左邊Ctrl鍵(DX掃瞄碼0x1d)
  • 新增設定:MoreTiles,把遊戲支援的地磚圖片上限從4096提高到16383個,這一般情況用不太到就是了。
  • 修正角色在過門時如果試著播放其他角色動畫(例如一道門附加了會讓穿過的人受傷的腳本)時造成當機的bug。
  • 修正角色在戰鬥中被腳本殺死時,如果他們的AI距離參數有要求盡可能接近目標、或是啟用了NPCsTryToSpendExtraAP設定,本來該死掉的角色會在他回合沒結束之前繼續移動,然後變成站著的屍體。
  • 新增腳本函式:set_iface_tag_text
  • 擴充get_mouse_buttons和metarule2_explosions腳本函式、以及hs_inventorymove和hs_invenwield兩個hook script的功能。

WorldMapFontPatch看文字敘述大概有點難理解,看圖比較快,上半是遊戲預設字型,下半是啟用設定後(中文版除了字型大小之外不會有什麼差別):
4
-
LV. 41
GP 1k
8 樓 Mercenary NovaRain
GP3 BP-
sfall今天更新到4.0.6,此為4.0.5的緊急更新。前一版只要在某些狀況下呼叫hook script就會當機,例如在Fallout 1.5: Resurrection內啟用隊友控制時,玩家回合一結束就會當掉。

中文版sfall支援整合檔除了更新sfall之外,這回也加上攻略本腳本的修正做為之後整合非官方修正的測試。

內容就只有上面那樣的話也太寒酸了些,就藉此說明一下怎麼自訂技能表好了。sfall除了自身的設定選項和提供函式給modder寫mod腳本之外,也有些東西是不需要寫腳本或得動些什麼複雜玩意兒就能修改的。
要調整技能表,需要先在ddraw.ini內找到SkillsFile這行,並且把前面註解用的分號拿掉,skills.ini可以從modders pack裡面取得範本放到FO2資料夾內,和ddraw.dll放在一起。

skills.ini內容預設是長這樣,有幾個範例項目和簡單說明:

;This file lets you set the formula for calculating skills

[skills]
BasedOnPoints=0 ;Set to 1 to base skill costs on spent points instead of current level

Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
SkillBase1=50     ;Big guns has a base of 50
SkillMulti2=10    ;Each point spent in energy weapons increases it by 10
SkillImage1=72

SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points



各項目解說:
  • SkillX:X從0到17對應的技能就是角色畫面內從上到下的項目,0是小型槍械、17為野外求生。等號右邊的設定是調整該技能的計算公式,以SPECIAL七個屬性配上乘數,再用垂直符號分開,各項目再加起來。像上面範例是把小型槍械公式改成(5 + 力量 * 1 + 智力 * 2 + 運氣 * 1.5)。這部份不限於三個屬性,你可以把SPECIAL全用上,另外乘數可為負數(雖然我想一般不會有人想做這種事)。
  • SkillBaseX:設定該技能在屬性加成計算之前的基礎值。上面範例是把大型槍械從原本的(敏捷 * 2)變成(50 + 敏捷 * 2)。
  • SkillMultiX:設定該技能每加一次點數提升多少個%,專長技能則是加倍。上面範例是能量武器你每加一次點數,技能就加10%,選為專長則加20%。
  • SkillImageX:設定該技能的圖像,數值是對應skilldex.lst(如果mod沒有提供自己的版本,就得用DAT Explorer工具把的master.dat內的原版檔案解出來參考)的行數內容。上面範例是把大型槍械換成使用警覺力的圖示。
  • SkillCostX:設定該技能在指定等級以下的點數花費量,各等級以垂直符號分開,每個間隔代表“在某等級以下加1%(專長2%)技能要花費幾點技能點數”,範圍外的就照舊使用遊戲原本預設值。像原本技能成長的點數花費是:
    100%以下:花費1點。
    101%~125%:花費2點。
    126%~150%:花費3點。
    151%~175%:花費4點。
    176%~200%:花費5點。
    201%以上:花費6點。
    如果要用這設定項目來表示就等於:SkillCostX=100|125|150|175|200|300
    範例1:SkillCost8=300,把潛行設成到最大值300%之前全是每加1%花1點,等於和FO1一樣。
    範例2:SkillCost0=100|110|120|130|140|150|160|170|180|190|200,把小型槍械設成超過100%之後,每10%級距的技能點數需求就增加1點,而在191%~200%時,每加1%就要11點(!)技能點數,但超過200%之後又會掉回預設的6點。
  • BasedOnPoints:這設定沒有分技能而是是影響全體,設成1會把原本看技能等級高低而決定技能點數花費量的方式改為看你技能加了多少點。前一句說明可能有點難懂,舉例來說,如果skills.ini內只有BasedOnPoints=1,其他Skill啥啥的設定都沒有,角色技能成長會變成這樣:
    加100點以下:花費1點。
    101點~125點:花費2點。
    126點~150點:花費3點。
    151點~175點:花費4點。
    176點~200點:花費5點。
    201點以上:花費6點。
    這樣等於一個非專長技能你加了100點提升了100%之後,接下來才會需要更多點數。
  • 對上面的補充,遊戲技能數值的實際計算方式是:
    技能% = 基礎值 + 加成點數(如果是專長技能就再乘2) + 一些額外能力的加成值
    『加成點數』和你升級可以取得並花費的技能點數不一樣,例如你花了3點技能點數提升某技能1%,它的加成點數就只有加1,不是你用掉的3。

3
-
LV. 41
GP 1k
9 樓 Mercenary NovaRain
GP4 BP-
sfall昨天更新至4.1.2/3.8.12,首篇的設定檔翻譯和中文版sfall支援整合檔也都更新了。版號跳到4.1.x的時候新增了不少東西,我把中間版號一些和玩家比較有關的更新補在下面:

v4.0.7
  • NPC戰鬥控制現在會在回合開始時把畫面移到控制角色身上,另外新增一個能顯示控制角色名字的設定。
v4.1
  • 修正在交易介面檢視彈藥時,沒有顯示出彈藥AC/DR修正值的情況。
  • 修正在UseScrollingQuestsList沒有啟用時,過長的任務清單在Pipboy中所造成的顯示問題(最明顯例子是新里諾)
  • 修正Pipboy磁片清單的點選問題。
  • 修正占多個六角格的角色在戰鬥中試著接近其目標時會過於接近,讓自身一部份和目標重疊的問題。
  • 修正obj_can_see_obj腳本函式沒有檢查觀察者和目標是否在地圖同一層就呼叫視線範圍檢定的問題。
  • 新增設定:FemaleDialogMsgs,在玩家選女性時能從其他文件夾載入女性版本的對話文稿與影片字幕(翻譯成歐洲語系時用得上)
  • 新增設定:AIBestWeaponFix,修正NPC在選擇最佳武器時不會正確檢查武器perk的問題。
  • 新增設定:AutoQuickSave/AutoQuickSavePage,讓你可以使用多於一格的快速存檔而且不需要預選存檔格位置。
  • 新增設定:BoxBarCount,讓modder能增加可用的狀態提示框數量(最多95個)
  • 新增設定:ObjCanHearObjFix,修正原本沒有作用的obj_can_hear_obj腳本函式。
  • 新增設定:KeepWeaponSelectMode,在把武器從使用物品欄一邊移到另一邊時,保留先前選擇的攻擊模式。
  • 新增設定:FullItemDescInBarter,在交易介面中檢視武器/彈藥時能顯示完整物品敘述。
  • 新增設定:DisplaySwiftLearnerExp,在非腳本狀況下獲得經驗值時,如果有聰明過人(Swift Learner)額外能力會顯示加成後的經驗值數字。
  • 新增設定:QuestsScrollButtonsX/Y,能更改任務列表捲動按鈕的位置。
v4.1.1
  • 修正隨機遭遇的敘述在訊息欄內被分成兩行顯示的問題。
  • 修正當物品名稱長到第二行時,文字分隔線不會跟著下移的問題。
  • 修正當有不同物品有同樣物件ID時,AI無法立刻使用撿起來的物品。
  • 新增設定:StartGDialogFix,讓start_gdialog腳本函式的“心情”引數在使用人物對話頭像的對話時也有作用(本來會無視此引數)
  • 新增設定:InterfaceDontMoveOnTop,避免物品欄、搜刮和地圖介面被置於腳本函式產生的視窗之上。
  • 改進CritterInvSizeLimitMode的功能並修正一些問題,另外在隊友戰鬥控制介面中會顯示身上物品總尺寸的訊息。
  • 改進AllowDShowSound的功能:現在可以用遊戲設定中的音量控制來調整播放聲音的大小、加上一個模式在就算沒有音樂原始ACM檔的情況下也能播放其他格式的音樂檔、修正未啟用DX9模式時的初始化當機bug。
v4.1.2
  • 修正DX9模式在未使用高解析度補丁時無法正常顯示字幕的問題。
  • 修正Heave Ho!在計算投擲武器最大射程時會把力量加到超過10的問題(它的敘述內有特別提到最多加到10)
  • 修正BonusHtHDamageFix和DisplayBonusDamage同時啟用時,在角色畫面中的近戰傷害力不會顯示加成值的問題。
  • 修正選了增加特長技能(Tag!)額外能力在還沒離開人物畫面之前能獲取大量技能點數的遊戲漏洞。
  • 新增設定:FastMoveFromContainer,在從容器或屍體上拿取物品時,不用按住ItemFastMoveKey按鍵就能略過數量選擇。
  • 新增設定:LoadProtoMaxLimit,能設定每一類型的proto能一次被載入內存的最大數量。
  • 新增設定:PartyMemberExtraInfo,會在戰鬥控制介面中顯示隊友等級、AC、是否上癮的資訊。
  • 新增設定:PartyMemberSkillFix,在玩家對自己使用急救/醫療技能時,會讓有更高技能的隊友來動作,但你需要站在他旁邊。
  • 新增設定:SkipLoadingGameSettings,在讀取存檔時略過存檔內的系統設定資料。
  • 移除RemoveWindowRounding設定,因為它根本沒有任何效果。
  • 更新NPC戰鬥控制與高亮物品功能。

啟用PartyMemberExtraInfo之後,隊友戰鬥控制面板上的資訊顯示會長這樣:


※幾件可以特別拿出來談的事:

1. 關於NPC怎麼選擇最佳武器:
在NPC可以使用(人物有相對應的攻擊動作)而且命中率也OK的情況下,一般武器選擇是計算出一個優先值再比高低:優先值 = (武器最大傷害 - 武器最小傷害) / 2

簡單來說就是AI認為武器傷害值範圍愈大愈好,一把傷害1~50和一把傷害30~60的槍相比他們會選擇前者。而如果武器是手榴彈類的,優先值會乘上 (持有數量 + 1);要是武器有任何perk,優先值會乘5,但檢查武器perk這部份有bug,所以其實不會有加乘,例如給Cassidy一把AK-112(傷害8~16,有perk)和FAL(傷害9~18,無perk),他只會選FAL。
要是兩件武器優先度差距在5以內就會看價格,如果還是一樣那就看哪件武器在物品欄內排序較下面。像Sulik一開始會用身上的大鐵鎚而不會用你給他的長矛的原因就是兩者優先度差距太小,所以他會選比較貴的大鐵鎚。另外如果其中一個武器旗標有設定“隱藏”(搜屍會看不到,甚至無法被物品相關的腳本函式辨認出來)就會直接選它,這旗標基本上只有用在一些NPC專用武器上。
一代這部份就簡單到只比價格,畢竟一代武器也沒多少把,而且基本上的確愈好的愈貴。

啟用AIBestWeaponFix修正檢查武器perk的部份會發生些有趣的狀況,最明顯的是在鑽油平台最後和Frank Horrigan對上時,他會變成優先拿刀(傷害15~30,有perk)而不是電漿槍(傷害30~70,無perk),因為計算出來刀的優先度是35、電漿槍只有20,整場戰鬥可能會變得相對簡單許多。

2. 關於遊戲內的“聽覺”判斷:
一二代關於A是否能偵測到B有兩個函式,一個是視覺(obj_can_see_obj)一個是聽覺(obj_can_hear_obj),但聽覺函式從一代就壞了,永遠只會回傳0(A聽不到B),不過實際上用到聽覺函式的情況在二代用一隻手就數得出來,而且大多數都是做為視覺檢查的輔助。

啟用ObjCanHearObjFix“修好”聽覺函式會有另一個問題,因為聽覺函式本身邏輯其實很簡陋,基本上等於視覺函式拿掉視線阻擋檢查而已,所以在某些狀況下NPC會採取意料之外的反應。除非有mod特別要求,不然不建議隨便啟用它。

3. 無限負重:
遊戲引擎的人物負重值上限是999,雖然可以用16進位編輯器或sfall全域腳本等方式把上限值拉高,不過有個方式讓你不需要那些相關知識就可以做到類似效果:
把ddraw.ini內的CritterInvSizeLimitMode設為5, CritterInvSizeLimit設個一億還是多少的大數字(高興的話設32位元最大整數2147483647也行),這樣負重只會計算你雙手和護甲格內的裝備物品,物品欄內的重量完全不計,你能拿多少物品變成取決於“攜帶物品尺寸”上限,也就是CritterInvSizeLimit的設定值,你要拿到超過2147483647尺寸的物品幾乎不可能,畢竟絕大多數彈藥尺寸是0,你得帶上超過四億兩千萬把突擊步槍(尺寸為5)才有可能達到,差不多等於無限負重。
4
-
LV. 43
GP 1k
10 樓 Mercenary NovaRain
GP5 BP-
忘了更新巴哈這邊的記錄,現在sfall最新版是4.2.5.1。
先寫一些到4.2之前和遊玩比較有關的更新內容,mod製作相關的更新太多,列了也沒啥人會有興趣:

v4.1.3
  • 修正玩家或隊友身上超重時,無法在交易介面把東西給別人的問題。
  • 現在如果因為輻射過量而死,會彈出一個對話框提示你(原本是在你能確認訊息之前就跳回主選單)。
  • 新增設定:AIDrugUsePerfFix,NPC在使用身上藥物時,會參考AI.txt內的chem_primary_desire以調整藥物使用優先順序。
v4.1.4
  • 新增設定:UseWalkDistance,能設定玩家在試著使用物件或撿地上物品時,會切換成用走的過去的距離格數。
v4.1.5
  • 修正如果Skills.ini內的SPECIAL項目有無效字元(例如Z)會讓遊戲在啟動時卡死的問題。
  • 修正TimeLimit=-3沒有回傳正確年份的問題,同時移除-2設定值本來的功能(它現在等同於-3)
  • 修正啟用WorldMapFPSPatch會讓滑鼠在世界地圖畫面中移動產生延遲的問題。
  • 修正讀取在戰鬥中的存檔之後,本來該攻擊玩家的角色變成不會攻擊的問題。
  • 修正讀取在戰鬥中的存檔之後,玩家該回合被自動跳過的問題。
  • BooksFile內能定義的書本種類增加至50種。
v4.1.6
  • 修正4.1.5版在啟用books.ini之後,使用其他多種物品時會造成當機的問題。
  • 修正在搜刮和交易介面時,畫面右上角會顯示紅色方框的遊戲預留FRM圖片的問題。
  • 修正作用中的藥物效果在存檔時未被遊戲正確存入的問題。
  • 修正NPC在需要電池的近戰/肉搏武器沒彈藥時會不斷嘗試裝彈的問題。
  • 修正地圖上的屍體在回該地圖時被提前移除掉的問題。
  • 修正移除隊友屍體的程序,現在他們身上物品不會隨著屍體一起被清掉。
  • 修正在操控其他角色跑到地圖另一階層後,畫面不會回到玩家身上的問題。
  • 現在在操控其他角色時,可以在角色畫面內看到他的藥物上癮狀態。
  • 新增設定:DrugsFile,能在指定的INI檔內調整藥物與上癮效果的一些參數。
  • 新增設定:CorpseDeleteTime,能更改在你離開地圖幾天之後屍體會被清除。
v4.1.7
  • 修正NPC戰鬥控制的武器複製bug。
  • 修正啟用CheckWeaponAmmoCost時,NPC在沒足夠彈藥進行攻擊時不會把武器換下,而是不斷嘗試裝彈的問題。
  • 修正在進入地圖時,未去過的區域在自動地圖顯示出來的問題。
  • 修正過長的自動地圖列表在Pipboy中所造成的顯示問題。
  • 現在畫面上能顯示的狀態提示框最大數量會依照遊戲解析度調整。
v4.1.8
  • 修正在結束操控其他角色時原本持用物品所在的物品格位置。
  • 修正NPC在戰鬥中試著撿拾物品但失敗時(例如超過負重),會不斷試著撿拾該物品的問題。另外修正NPC撿拾物品失敗時的顯示訊息,原本是顯示玩家專用的訊息。
  • 修正AI在逃跑模式下不會使用藥物的問題。
  • 修正AI在檢查最低HP以決定是否使用治療針時檢查不正確的問題。
  • 修正NPC在對目標命中率過低時,該場戰鬥都會處於逃跑模式的問題。
  • 改進移除隊友屍體的修正以避免存檔損壞問題(原版就有,不是之前修正造成的),現在隊友屍體不會在地圖載入/讀檔時就被清掉,而是和其他一般屍體用同樣處理程序。
v4.1.8.1
  • 改進對舊CPU(無SSE2指令集)的相容性。
v4.1.9
  • 修正DX9模式下的螢幕淡入淡出效果(部份修正)
  • 修正NPC戰鬥控制造成其他角色搶走玩家戰鬥經驗值的問題。
  • 改進NPC戰鬥控制以保留操控角色時所選擇的武器攻擊模式。
  • 修正未正常運作過的“保留移動”功能(在戰鬥中按住CTRL鍵移動時,最多只會移動到可以使用手上物品一次的距離)
  • 修正世界地圖介面的上下捲動按鈕圖片(它們沒按的時候是顯示“按下”的狀態)
  • 修正使用地區列表進行移動時的目的地標記位置。
  • 修正戰鬥中有額外移動AP(黃色)並試著使用遠處物品時,玩家移動途中會突然停下來的問題。
  • 修正在沒有敵人時戰鬥不會自動終止的問題。
  • 修正被擊倒的角色在戰鬥結束後不會播放起身動作的問題(會從躺著直接變成走路/跑步動作)
  • 修正已死的角色在戰鬥結束後仍會裝填他們手上武器的問題。
  • 新增設定:ExpandWorldMap,把世界地圖介面拉大到至少890x720(需要高解析度補丁4.1.8版)
  • 新增設定:ActionPointsBar,把主介面上的AP顯示燈號增加到16個。
  • 新增設定:KnockoutTime,修改角色被擊暈多久後會醒來的基礎值。
  • 新增一個sfall.dat資源檔以供sfall一些功能使用(就多了一個要裝的檔案)
v4.1.9.1
  • 修正在啟用NPC戰鬥控制時,玩家於戰鬥中選擇的perk在控制換到其他角色後會消失的問題。
  • 修正在啟用NPC戰鬥控制時,玩家手上武器的攻擊模式一直被重置的問題。
  • 新增設定:PerksList(在sfall-mod.ini內),能設定戰鬥控制期間其他角色能從玩家身上繼承哪些額外能力。

一些額外補充細節:
  • 在一般設定的地圖上,非隊友角色的屍體在你離開地圖超過6天(144小時)之後回該地圖時會被清除掉,變成只剩一灘血。不過因為計時用的內部變數沒有正確初始化,所以常會發生離開地圖才過幾小時回去屍體就被清掉了。
    現在修正讓計時一致化,不過要是你動不動每兩三天就回某張地圖,上面的屍體就永遠不會被清掉,因為計時是取你最後一次離開地圖的時間。
  • 原本隊友在遊戲引擎內的處理比較特別,他們屍體只要有地圖載入的動作就會被自動清掉,但清掉的方式和一般NPC不同而是更簡單暴力一些,所以他們身上物品會乾乾淨淨地被一起清掉。現在和其他NPC的處理方式統一了。
  • 原本AI判斷手上武器沒彈藥就換下找新武器的程序只有檢查武器是否為槍械,所以少數要耗彈藥的近戰/徒手武器(如動力拳套)被忽略而不會試著換下,變成每次攻擊前就會發生“彈藥打空了要試著裝彈 -> 發現身上沒子彈 -> 是不是該換下武器 -> 武器不是槍械所以不需要換下 -> 彈藥打空了(下略)”的半無窮迴圈(會重覆數次之後放棄該回合)。修正就是插入一個新判斷,除了投擲武器之外只要有設定使用彈藥,在此時一律視為槍械,讓內部程序可以換下該武器。
  • 4.1.8版有針對AI在戰鬥中的幾個問題進行修正:原本AI在對選擇的目標命中率過低和自身HP低於設定值會逃跑,前者問題是一旦進入逃跑模式,就算後來對該目標命中率提升到門檻以上(例如目標自己接近),戰鬥結束之前該NPC仍然只會逃跑不會再攻擊任何目標;後者問題是最低HP設定其實有兩部份,一個是固定數值(例如HP少於30點),一個是比例設定(例如HP少於50%),但檢查是否該用治療藥物(治療針、超級治療針、藥粉)時只會看比例設定,一些狀況下會變成NPC跳過“先用藥物治療”直接因為HP過低而逃跑,就算他身上有藥物也不會去用。

從4.1.9開始需要的檔案增加一個sfall.dat,裡面包含一些sfall功能會用上的FRM圖像,sfall一般下載內附的是英文版,如果要中文版請下載首篇的sfall支援整合檔。

4.1.9最大功能是兩個擴展版遊戲介面,一個是世界地圖(1024x768的遊戲畫面,原本世界地圖視窗只有640x480大小):



一個是主介面上的AP燈號,一次最多可以顯示16個(原本10個),算是正常不吃藥不作弊狀況下玩家能擁有的最大AP數(12點綠色+4點黃色):


兩者都需要高解析度補丁(HRP)4.1.8版,f2_res.dll為284KB,4.1.8有另一個加上拉近畫面功能的試驗版,檔案較大,那個版本不支援。
擴展版世界地圖需要至少890x720的解析度,如果你是用HRP視窗模式在玩,不要在遊戲途中把畫面縮小到890x720以下,否則一進世界地圖就會當機。
擴展版AP燈號也是如果用HRP視窗模式,不要中途調整視窗寬度到觸發主介面圖片切換(從640拉大,或是縮到640),不然燈號位置會跑掉。

至於之前一直壞掉的“保留移動”是從一代開始就有的功能(一代沒問題在二代壞掉),一二代手冊上都有寫,只是很少人會特別用它。
舉例來說如果你有10點AP,手上的槍要5點,在戰鬥中按住CTRL鍵點超過5格外的地方時,玩家角色只會朝該方向移動5格就自己停下來,保留可以用手上武器攻擊一次的AP數。
5
-
LV. 43
GP 1k
11 樓 Mercenary NovaRain
GP7 BP-
sfall在過年前更新到4.2.9/3.8.29,詳細更新資訊請參考我放在自己小屋的列表
首篇的設定檔翻譯與中文版sfall支援整合檔都一樣有更新。

4.2.9版對一般玩家來說最主要的就是NPC戰鬥控制的新模式(模式3),使用方式如下:
1. 戰鬥中輪到玩家的時候,將游標切換成箭頭模式移到要命令的隊友身上,左鍵按著會冒出新的命令圖示:


2. 接著使用新的瞄準游標(不會顯示命中率)來指定該隊友接下來要攻擊誰,游標在移到可指定的目標身上時框線閃爍方式會變成如同脈動一般,指定之後隊友頭上會冒出確認訊息。


3. 之後輪到該隊友的時候他就會去攻擊指定目標了。如果目標是顯示下圖這樣的灰色框線,代表此目標尚未進入戰鬥,還無法指定隊友攻擊他。

這狀況通常發生在你自己發起戰鬥的最初回合,不過你攻擊一次之後目標應該就能被指定。這不是代表想指定之前你都得攻擊該目標一次,灰色框線的狀況只要攻擊一群敵人中的其中一個,同隊其他人也能被指定,因為遊戲拉角色進戰鬥是基於AI的隊伍設定。另外這新的命令模式只能指定非友軍目標(原本就是紅色框線的),畢竟叫隊友去攻擊友軍沒啥道理。

其他要注意的部份有兩個:
  1. 記得更新sfall.dat,因為它包含了新命令圖示的圖像。
  2. 隊友戰鬥控制面板的“個性”設定要選“自訂”,不然隊友的攻擊目標會一直被那四個既定戰鬥類型的AI範本重置。

新的命令模式適合不想完全控制隊友(戰鬥規模一大起來又得一個一個手控有時會讓人覺得煩),但又想在戰鬥中叫隊友優先對付特定目標的人。

至於ddraw.ini內新的SmallFrameFix設定是修正我先前寫到的小巧玲瓏(Small Frame)特徵的副作用不一致的問題,此設定預設為關閉的原因是開了會讓角色負重量變得更低,讓這特微變得更沒吸引力(雖然特徵多數本來就挺微妙的…),例如穿動力裝甲力量+3時原本負重能加75(力量加成值1點加25),啟用之後就只會加45(力量加成值1點和基礎值一樣只加15)。
7
-
LV. 24
GP 4k
12 樓 vv vwv531135
GP0 BP-
大神您好
就是我用置頂檔案覆蓋繁中版後
玩是基本沒問題
就是左下角那邊常有亂碼
(如圖)
請問這大概是哪裡要調整??
謝謝

0
-
LV. 45
GP 2k
13 樓 Mercenary NovaRain
GP2 BP-
目前沒得調整,那是sfall 4.3.1之後某個新功能沒考慮CJK雙位元組字元編碼的問題。
暫時解法是下載3.8.32版把ddraw.dll蓋掉,除非你有要用些其他較新的mod,不然以單純遊戲本身來說不受影響,只是前面寫到的一些新功能就沒得用了。不然也可以把內附的高解析度補丁降版成4.1.7(只需要覆蓋f2_res.dll),這樣可以保留sfall 4.3.x版,只有擴展版遊戲介面不能用就是了。
或者你可以試著把f2_res.ini內IFACE_BAR_WIDTH=640改成800,不過我記得很久以前有些其他問題,不確定現在還會不會發生。
2
-
LV. 45
GP 2k
14 樓 Mercenary NovaRain
GP8 BP-
整合包已經更新了sfall 4.3.2.1,我加了一個小修正以解決物件敘述文字亂碼的問題,這樣就能配合本來的高解析度補丁4.1.8版來使用擴展版遊戲介面了。
另外4.3.2.1不是正式釋出版本(SourceForge不會有下載),就只是個針對中文版的應急修正而已。
8
-
LV. 25
GP 1k
15 樓 過保護Pの大魔法使 keitaronanas
GP0 BP-
請問一下,STEAM版該如何安裝RP233(EN+CN包)?
我嘗試過STEAM原始>安裝SFALL4321包>安裝RP233EN(EXE安裝包)>安裝233漢化
但沒辦法執行遊戲

原始檔安裝4321正常可執行遊戲
加上RP233後,FALLOUT2.EXE閃退,HR.EXE則是顯示1.02版本不符SFALL等等

目前解決方式是,按照原本上述順序安裝完後,把懶人包4321的ddraw和.exe等等的檔案在覆蓋一次
(但DATA等資料夾的檔案沒覆蓋)
可進入遊戲,標題有SFALL4321,只是不確定RP有沒有失效就是...

請問Mercenary大這樣的安裝會出事嗎?謝謝
0
-
LV. 9
GP 0
16 樓 第三方訪客 BHSN00004s1e
GP0 BP-
請問有安裝教學嗎 我玩一玩會無法存檔 死當
我只會覆蓋遊戲 再來就不會了
有人可以教我嗎 重溫遊戲 謝謝!
謝謝路過的大大
0
-
LV. 45
GP 2k
17 樓 Mercenary NovaRain
GP4 BP-
sfall在上週更新到4.3.3/3.8.33,詳細更新資訊請參考我放在自己小屋的列表
首篇的設定檔翻譯與中文版sfall支援整合檔都一樣有更新。

4.3.3重要的有兩大部份,一個是修正4.3.1以來幾個比較嚴重的bug,所以如果你還在用4.3.1/4.3.2的話建議更新,嚴重的bug像是:
  • 在玩家有藥物上癮狀態時,隊友升級會讓遊戲當掉。因為4.3.1讓上癮狀況隊友的相關修正失效,而玩家本身也算“隊伍成員”,所以會呼叫到錯誤的記憶體位址。
  • 啟用FadeBackgroundMusic會讓遊戲在遊玩一定時間之後開始發生各種不穩狀況,例如無法存/讀檔、換地圖結果全黑一片、甚至直接當掉等等。因為它在淡出處理完之後忘了把音樂檔關閉,一直換背景音樂又沒正常關閉檔案的結果就是引擎內部對同時開啟檔案的上限爆了,沒辦法再開啟任何檔案,接下來任何需要讀取檔案的動作都會出問題。

另一個重點是把高解析度補丁的功能整合內建,原始碼是通過把原本的高解析度補丁(HRP)逆向工程重寫而來,一方面是為了和sfall本身有更好的整合性,不然先前一些和圖像/遊戲介面相關的功能都得考慮HRP那邊的已經先於sfall修改到的部分。
內建的高解析度模式預設為啟用,如果你是用會載入HRP的執行檔(例如Fallout2HR.exe)啟動遊戲,sfall會跳出提醒並問你是否想讓sfall幫你關閉舊有的HRP(將執行檔被修改載入f2_res.dll的部份還原)。
內建高解析度模式基本上就是設計成要直接替代HRP,會從既有的f2_res.ini讀取所需設定,也會使用f2_res.dat內的檔案(新定義的地圖邊界之類),大多數狀況下你不需要調整任何設定就能直接轉換。

和舊HRP的差別:
  • 基本顯示模式現在是DirectDraw 7,也就是f2_res.ini內設定GRAPHICS_MODE=0(用遊戲原本的8位元色彩模式)和1(DirectDraw 7)會是一樣的結果。
  • 之前用HRP視窗模式時你可以在遊戲途中調整視窗大小,現在視窗模式是和sfall DX9圖像模式5一樣用固定式的細邊框,不讓你在半途修改大小了。
  • 目前內建高解析度模式沒有像HRP一樣在遊戲主選單加上設定畫面,如果你要調整HRP相關的設定得打開f2_res.ini來修改。
  • 目前內建高解析度模式還沒有HRP的戰爭迷霧(fog of war)功能,之後才會加上去。
  • f2_res.ini內的CPU_USAGE_FIX=1現在等於ddraw.ini內ProcessorIdle=1,所以兩邊同時設定也不會造成任何額外延遲。
  • f2_res.ini內的BARTER_PC_INV_DROP_FIX現在沒有作用,其修正直接被整合進sfall。

在支援中文的執行檔上的幾個問題:
  • 無法顯示遊戲一啟動時的“載入中”(Loading)畫面。
  • 內建高解析度模式不能放大遊戲主選單上的中文字,不然會變成亂碼。簡單來說就是f2_res.ini內你只能同時開啟/關閉MAIN_MENU_SIZE和USE_HIRES_IMAGES選項,而且不能開啟SCALE_BUTTONS_AND_TEXT_MENU。

至於畫面設定可以參考我先前寫的說明文
4
-
LV. 45
GP 2k
18 樓 Mercenary NovaRain
GP0 BP-
sfall前天更新到4.3.3.1/3.8.33.1,詳細更新資訊請參考我放在自己小屋的列表
首篇的設定檔翻譯與中文版sfall支援整合檔都一樣有更新。

這是上一版的維護更新,主要是修正內建HRP和DX9模式相關的一些問題。
另外我對內建HRP做了些調整,現在使用支援中文的exe時,f2_res.ini內的IFACE_BAR_WIDTH永遠固定為640,因為寬度800一直無法正常支援中文顯示(從舊的HRP開始就是這樣,內建HRP則是直接沒字了)而我沒能力修正那部份,所以直接鎖死以避免顯示問題。
0
-
LV. 29
GP 278
19 樓 allison edge8145
GP0 BP-
請問樓主大神,小弟依照您的教學,下載整合包並進行漢化,遊戲一切都很正常,但在有些地方選了某些對話其內容都會顯示 error ,不知道這是哪邊出錯呢?

我是steam版的,原版英文安裝完後,把整合包內所有檔案全部放到fo2的安裝資料夾中(覆蓋),然後去nexus下載了幾個mod來玩(mod安裝也只有在fo2安裝資料夾新增一個mods資料夾,然後把mod檔案丟進去而已),就開始玩了,並沒有安裝RP,懇請大神解惑,感激不盡,謝謝。
0
-
LV. 46
GP 2k
20 樓 Mercenary NovaRain
GP1 BP-
※ 引述《edge8145 (allison )》之銘言
> 我是steam版的,原版英文安裝完後,把整合包內所有檔案全部放到fo2的安裝資料夾中(覆蓋),然後去nexus下載了幾個mod來玩(mod安裝也只有在fo2安裝資料夾新增一個mods資料夾,然後把mod檔案丟進去而已),就開始玩了,並沒有安裝RP,懇請大神解惑,感激不盡,謝謝。

看到那個一點都不合遊戲原本美術的頭像,你大概是抓了這個給RPU用的mod
https://www.nexusmods.com/fallout2/mods/45

它的說明已經寫了這個mod只能配著別人接手做後續更新的RP版本用,你用原版遊戲出問題的話很正常。
1
-
未登入的勇者,要加入 22 樓的討論嗎?
板務人員: