因為2142是有版權的遊戲
所以這個模組絕對不能釋出!
但教怎麼改是可以的=ˇ=
如果想要在BF2中直接改
請記得先備份檔案
建議是在bf2的mod中新增一個資料夾
(也就是自行建立模組!名稱隨便命名)
然後把bf2的資料整個複製過去
1.槍枝音效
因為2142中音效的部分是獨立出來的
所以需要將2142資料夾中的 Sound_client.zip 和 Sound_server.zip 複製到模組
為了使槍枝的音效找的到路徑
在模組目錄中的2個檔案分別加入字串
ClientArchives.con
fileManager.mountArchive Sound_client.zip Sound
ServerArchives.con
fileManager.mountArchive Sound_server.zip Sound
2.槍隻模型
從2142的Obtects資料夾中複製 Weapons_client.zip 裡的 Handheld 資料夾
放置到模組的 Objects_client.zip 裡面
從2142的Obtects資料夾中複製 Weapons_server.zip 裡的 Handheld 資料夾
放置到模組的 Objects_server.zip 裡面
這樣的做法等於是你要所有槍枝
如果你只要其中的幾把槍的話請自行拉 Handheld 裡的個別資料夾
2142的對應槍枝名稱目錄

3.兵種配槍
開啟模組中的 Objects_server.zip
各陣營的兵種都在kits資料夾裡
選擇你想改的陣營
以US為例
去掉唯獨屬性後
開啟US_Assault.con (突擊兵)
rem -------------------------------------
ObjectTemplate.addTemplate USRIF_M203 <<這一把是主步槍
ObjectTemplate.addTemplate USRGL_M203
ObjectTemplate.addTemplate USPIS_92FS
ObjectTemplate.addTemplate hgr_smoke
ObjectTemplate.addTemplate kni_knife
ObjectTemplate.addTemplate UnlockUSAssault
ObjectTemplate.addTemplate UnlockUSAssault2
ObjectTemplate.addTemplate ParachuteLauncher
rem -------------------------------------
把那一行改成你想放的槍枝
例如
ObjectTemplate.addTemplate unl_lar_rifle <<2142的Voss
ObjectTemplate.addTemplate USRGL_M203
ObjectTemplate.addTemplate USPIS_92FS
ObjectTemplate.addTemplate hgr_smoke
ObjectTemplate.addTemplate kni_knife
存檔後加上唯讀屬性再放回原目錄中
4.修改槍枝
我嘗試過了
就算直接把21452中的槍枝hud檔案放到相對應的位置
還是一樣會發生錯誤
最直接的辦法是直接使用bf2原有的武器hud
開模模組的 Objects_server.zip 中的 Weapons
並且選擇你使用的武器資料夾
並且修改其中的 .tweak
去掉唯獨屬性
以Unl_lar_rifle為例
rem ---BeginComp:WeaponHud ---
ObjectTemplate.createComponent WeaponHud
ObjectTemplate.weaponHud.weaponIcon IngameCustomizationweapons_iconsunl_lar_rifle.tga <<需要改成bf2內的hud
ObjectTemplate.weaponHud.unlockIcon IngameCustomizationweapons_iconsunl_lar_rifle.tga
ObjectTemplate.weaponHud.selectIcon IngameWeaponsIconsHudSelectionunl_lar_rifle.tga <<需要改成bf2內的hud
ObjectTemplate.weaponHud.renderedPicture IngameCustomizationRenderedWeaponsunl_lar_rifle.tga
ObjectTemplate.weaponHud.hudName "KILLMESSAGE_WEAPON_Unl_Lar_Rifle" <<遊戲內顯示的武器名稱
ObjectTemplate.weaponHud.guiIndex 62
ObjectTemplate.weaponHud.altGuiIndex 63 <<武器準心
修改後
rem ---BeginComp:WeaponHud ---
ObjectTemplate.createComponent WeaponHud
ObjectTemplate.weaponHud.weaponIcon IngameWeaponsIconsHudnshgr_flashbang.tga <<我改成閃光彈的圖
ObjectTemplate.weaponHud.selectIcon IngameWeaponsIconsHudSelectionnshgr_flashbang.tga
ObjectTemplate.weaponHud.hudName "Voss"
ObjectTemplate.weaponHud.guiIndex 62
ObjectTemplate.weaponHud.altGuiIndex 53 <M4的內紅點
注意
2142的路徑跟BF2有點不相同
所以要修改成BF2的路徑
2142
weaponIcon IngameCustomizationweapons_iconsxxxx.tga
BF2
weaponIcon IngameWeaponsIconsHudxxxx.tga
需要修改準心的原因是因為hud不會顯現
會呈現這樣

修改準心後

因為2142中有視野晃動
所以如果沒調整參數的話根本就打不準
建議是改這裡
ObjectTemplate.createComponent SoldierDeviationComp
ObjectTemplate.deviation.setFireDev 2.5 0.22 0.08
ObjectTemplate.deviation.minDev 0.48
ObjectTemplate.deviation.setTurnDev 0 0 0 0
ObjectTemplate.deviation.setSpeedDev 1 0.15 0.1 0.13
ObjectTemplate.deviation.setMiscDev 7 7 0.14 <<兩個7都改成2
ObjectTemplate.deviation.devModStand 1.3
ObjectTemplate.deviation.devModCrouch 1.1
ObjectTemplate.deviation.devModZoom 0.6
ObjectTemplate.deviation.minDevModZoom 0.2
這樣
ObjectTemplate.deviation.setMiscDev 2 2 0.14
如果你想在準一點可以改的很小
改完後加上唯讀屬性放回原目錄
5.刪除槍枝多餘參數
因為有些是2142才有的參數
在BF2開啟時就會出錯
自行開啟模組時請用視窗模式進行除錯
例如我用的是Unl_lar_rifle
開啟時顯示

它顯示沒有找到 e_muzz_unl_lightassault
所以開啟該槍枝的.tweak
ObjectTemplate.addTemplate S_unl_lar_rifle_Deploy1P
ObjectTemplate.setPosition 0/0.0595026/-0.0856211
ObjectTemplate.addTemplate S_unl_lar_rifle_Deploy3P
ObjectTemplate.setPosition 0/0.0159245/-0.0538461
ObjectTemplate.addTemplate S_unl_lar_rifle_Zoom
ObjectTemplate.setPosition 0/0.0913384/-0.0160701
ObjectTemplate.addTemplate e_muzz_unl_lightassault <<都刪除掉
ObjectTemplate.setPosition 0/0.00924103/0.358777
rem -------------------------------------
找不到什麼參數就刪除什麼!