游戏狂人
 
- 贡献度
- 141
- 金元
- 6438
- 积分
- 1218
- 精华
- 1
- 注册时间
- 2005-1-1

|
本帖最后由 121411370 于 2014-9-27 22:01 编辑
首先感谢各位战锤MOD的先驱们!
没有他们根本就不会有这么个教程出来。
另外感谢各种在线翻译!虽然翻译效果是个渣,但是没有在线翻译就绝对没有任何的进展!
本文发出的内容随时更新,一楼预留各种求助内容。
现阶段主要以战争黎明2为主,混沌崛起+报应这俩坑暂时不知道合适能填上。
最后借用下一位MOD前辈的言论:
本着"授人以鱼不如授人以渔"的无上宗旨,"写好写坏由我,烂不烂尾由天"的崇高精神
特开此教程
首先说下使用的工具:
目前手头上的工具有
DoW2_ToolBox_1.992 RbfConv_080309 RBFConv Shell_v0.1.3 SgaReader2_150209 ModTools
目前修改的版本是战争黎明原版+混沌崛起
好吧,由于我英文太烂,上述工具基本没一个简单好使的,不过也可能是游戏版本的问题
目前游戏版本是2.1
所有经过DoW2_ToolBox_1.992直接修改的文件加载跳出。放弃!
另外一个可以直接修改的软件RBF Editor同样加载跳出。放弃!
好吧,哥们没办法省事,只能按照不省事的来
先说下大概的修改流程:
1.首先解包SGA文件得到RBF文件。用的是\ModTools\Tools文件夹里“SGA生成和解包.EXE”,这样可以把整个SGA文件解开方便下一步修改。(解包办法参照\ModTools内说明)
2.然后是转换rbf文件成为TXT文件,这样我们才能进行修改。这个需要用到\ModTools\Tools\Rbf to Txt目录下的“DoW2Assistant.EXE”软件(转换办法\ModTools内说明)
3.接下来就是对转换好的TXT文件进行修改了(具体修改参照下面)
4.修改完成后,需要把TXT文本转换成rbf文件(转换办法\ModTools内说明)
5.然后把转换好的rbf文件放回DATA对应的文件夹内
6.然后运行游戏,修改成功就能进游戏嗨皮,修改失败多半会弹出游戏。
PS:如果弹出游戏,直接删除掉DATA目录下修改过的文件,再重复2-5步骤,并且加强步骤3的检查。
上述步骤是针对初次修改的朋友,二次修改直接重复2-6步骤就好。
修改工具我压缩了一个包
http://pan.baidu.com/s/1ntHTJct
以防万一还是有朋友不清楚,我把我的修改步骤写给大家
准备工作:
首先把整个gameattrib.sga文件给解压到电脑的E盘根目录下,得到名字为simulation的文件夹,里面有所有的rbf文件。
然后复制E:\simulation文件夹到游戏文件夹\GameAssets\Data\目录下。
然后在E盘下面新建名字为MOD的文件夹。
接下来需要修改那个文件,就在E:\simulation\文件夹下面找到需要修改的rbf文件,拷贝到e:\mod文件夹里。
执行上面的步骤2、3、4
然后把执行完第4步后得到的rbf文件复制到游戏文件夹\GameAssets\Data\目录下相对应的文件夹内。
修改完了如何让修改生效问题,我是用的-DEV进入游戏,具体操作如下:
先确定你游戏目录下有没有rev.ini这个文件
如果有,执行下面的操作,如果没有,去ModTools文件夹里找然后拷贝到你游戏目录下
首先建立游戏执行程序的快捷方式
右键点快捷方式
选择属性
找到目标那一行,在exe"后加 空格-dev 比如:DOW2.exe" -dev
确定就好了
下面开始实战,本次目标是修改战役模式下小队的人数。
那么我们首先要知道去哪找装载数据的文件。下面是战役模式路径
原版调用的小队数据文件在simulation\attrib\sbps\campaign\playable\race_marine\troops目录下
混沌崛起调用的数据文件在simulation\attrib\sbps\campaign\playable\race_marine\xp1\troops目录下
首先来修改下原版战争黎明战役
找个实验对象~
战役第一关上场的是指挥官+塔库斯战术小队
我们的目标是修改战役模式下小队成员,那就塔库斯没跑了。
先找到rbf文件,打开 simulation\attrib\sbps\campaign\playable\race_marine\troops目录
sm_apothecary_gordian.rbf
sm_assault_marine.rbf
sm_assault_marine_thaddeus.rbf
sm_assault_terminator.rbf
sm_assault_terminator_thaddeus.rbf
sm_davian_thule.rbf
sm_devastator_marine.rbf
sm_devastator_marines.rbf
sm_devastator_marine_blood_ravens.rbf
sm_devastator_marine_lucanus.rbf
sm_force_commander.rbf
sm_gabriel_angelos.rbf
sm_scout_marine.rbf
sm_scout_marine_cyrus.rbf
sm_tactical_marine.rbf
sm_tactical_marines.rbf
sm_tactical_marine_blood_ravens.rbf
sm_tactical_marine_tarkus.rbf
sm_techmarine_arkellius.rbf
sm_terminator.rbf
sm_terminator_force_commander.rbf
sm_terminator_lucanus.rbf
sm_terminator_tarkus.rbf
sm_terminator_tarkus_only.rbf
第一次看到这么个目录我第一反应就是:卧槽这是个啥!
当然我感叹早了,等我随便打开一个文件看到内容后反应为:卧槽这又是个啥!!
当然对于英语能力不错的人来说这根本就是个渣,但是对于我这个英语白痴来说...都是泪啊...
后来戳度娘,戳谷姐,顺便折腾有道婶跟金山婶~先机翻后人肉补全,大概整理出来一个对比表
simulation\attrib\sbps\campaign\playable\race_marine\troops目录下的文件中英文对比
sm_apothecary_gordian.rbf 医护兵哥迪恩 <===战役中剧情人物
sm_assault_marine.rbf 突击小队 <===暂时不明
sm_assault_marine_thaddeus.rbf 突击小队撒迪厄斯 <===战役中你控制的突击小队
sm_assault_terminator.rbf 终结者突击小队 <===暂时不明
sm_assault_terminator_thaddeus.rbf 终结者突击小队撒迪厄斯 <===战役中你控制的终结者突击小队
sm_davian_thule.rbf 戴维恩‧多勒 <===战役中被虫子搞残后来坐无畏出来的
sm_devastator_marine.rbf 毁灭者小队 <===暂时不明
sm_devastator_marines.rbf 毁灭者小队 <===暂时不明
sm_devastator_marine_blood_ravens.rbf 血鸦毁灭者小队 <===可能是战役中的龙套小组,我记得后期空降下来若干小队
sm_devastator_marine_lucanus.rbf 毁灭者小队路卡那斯 <===战役中你控制的重武器小队
sm_force_commander.rbf 指挥官 <===战役中你控制的指挥官
sm_gabriel_angelos.rbf 加百列‧安洁罗 <===战役中剧情人物
sm_scout_marine.rbf 哨兵小队 <===暂时不明
sm_scout_marine_cyrus.rbf 哨兵小队席拉 <===战役中你控制的侦察兵小队
sm_tactical_marine.rbf 战术小队 <===暂时不明
sm_tactical_marines.rbf 战术小队 <===暂时不明
sm_tactical_marine_blood_ravens.rbf 血鸦战术小队 <===可能是战役中的龙套小组,我记得后期空降下来若干小队
sm_tactical_marine_tarkus.rbf 战术小队塔库斯 <===战役中你控制的战术小队
sm_techmarine_arkellius.rbf 科技战士亚克里斯 <===战役中剧情人物,如果混沌崛起中全员保持纯洁,那么他就会成为叛徒下去开战
sm_terminator.rbf 终结者小队 <===暂时不明
sm_terminator_force_commander.rbf 终结者小队指挥官 <===战役中你控制的终结者指挥官
sm_terminator_lucanus.rbf 终结者小队路卡那斯 <===战役中你控制的终结者重武器小队
sm_terminator_tarkus.rbf 终结者小队塔库斯 <===战役中你控制的终结者战术小队
sm_terminator_tarkus_only.rbf 终结者小队塔库斯 唯一 <===暂时不明
一个简单的文件夹名字足足花了我一个多小时,而且还不知道究竟对不对!
最大的一个疑问就是
sm_devastator_marine.rbf 毁灭者小队
sm_devastator_marines.rbf 毁灭者小队
sm_tactical_marine.rbf 战术小队
sm_tactical_marines.rbf 战术小队
你大爷的多了一个S到底是个啥意思嘛!
我从DOW2.ucs里面找了N遍死活就是一个意思!
还有最后一个
sm_terminator_tarkus_only.rbf 终结者小队塔库斯 唯一
这尼玛后面加了个only是啥情况?
单独的塔库斯?
以上求高人解答。
好了,言归正传,知道了名字的意思,我们就可以下手改了。
既然我们确定了要修改塔库斯小队人数,那么就找到
sm_tactical_marine_tarkus.rbf
这个文件对应的就是
战术小队塔库斯
应该就是第一关里面出现的塔库斯小队了
用Rbf to Txt转码成sm_tactical_marine_tarkus.txt文件
然后记事本直接打开
好了,又到了卧槽这是个啥的时间了!
根据网上找的教程,以及前期修改战争黎明的经验
可以找到如下字段
| squad_loadout_ext: {
| | $REF: "squad_extensions\squad_loadout_ext";
| | max_leaders: 0;
| | squad_type: "tactical_marine";
| | terminator_mode_sbp: "sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus";
| | unit_list: {
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_tarkus";
| | | };
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t1_larry";
| | | };
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t2_willy";
| | | };
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t3_tenderfoot";
| | | };
| | };
| };
我们知道初始塔库斯小队人数为4
对比上面字段我们能看到这个小队里面调用了4个单位文件
(单位文件在\attrib\ebps\campaign\playable\race_marine\troops\目录下)
\attrib\ebps\campaign\playable\race_marine\troops\sm_tactical_marine_tarkus
\attrib\ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t1_larry
\attrib\ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t2_willy
\attrib\ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t3_tenderfoot
这样这个小队组成年人员分别为:队长tarkus,队员larry,willy,tenderfoot
对应的能看到每个文件路径上面的项目
| | | | max: 1;最大人数
| | | | num: 1;最小人数
接下来就很简单了,看你自己的鬼畜程度,如果你觉得机器够强劲,改个百八十人也没问题。
比如我修改的就是下面三个每个数值+1
ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t1_larry
ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t2_willy
ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t3_tenderfoot
意思就是塔库斯的数值仍然是
| | | | max: 1;
| | | | num: 1;
下面三个数值改成了
| | | | max: 2;
| | | | num: 2;
这样进游戏后就会发现塔库斯小队登场人数由4人变成了7人。
小队成员则变成了一个队长tarkus,两个队员larry,两个队员willy,两个队员tenderfoot
但是需要注意的是如果只是简单的修改了小队人数,而不去修改单位文件的话,那么很容易小队死一片。
按照我大概的理解,战役模式下塔库斯可以使用装备,但是装备的效果估计对小队成员无效。
举个例子:
我修改了件盔甲,防御+300,血量+900,攻击+300等等等等各种不和谐属性。
然后进游戏吧这件盔甲给塔库斯小队装备上,按说这个小队应该无敌了~
但是进游戏找个BOSS调戏下队员直接死一片,甚至死到塔库斯光杆司令。所以装备的加成可能无法扩展到小队成员身上。
所以求教高人,如何能让小队成员同样享受到装备的加成。
至此,小队成员修改完毕,保存文件。
把txt文本转换成rbf文件,然后把转换好的rbf文件丢回游戏目录\GameAssets\Data\simulation\attrib\sbps\campaign\playable\race_marine\troops下面
进游戏,选择新战役,就会看到登场的塔库斯小队人数变成了你希望的人数。
最后附上小队文件内的主要项目,另外抛砖引玉,求大神赐教这里面都TM的是个啥!
squad_ability_ext 小队技能设置
应该是小队能使用的技能,具体看了下正好对应塔库斯小队所有的主动技能。
squad_capture_strategic_point_ext 小队占点设置
小队占点的时间,看数据capture_rate_multiplier: 1f应该是百分比默认1F 应该是100%速度,改成2F应该是200%吧
squad_combat_behaviour_ext 小队战斗行为设置
| | $REF: "squad_extensions\squad_combat_behaviour_ext";
| | accuracy_windup: { 可能跟准确度有关吧
| | | initial: 1f;
| | | windup: 0f;
| | };
| | call_for_help_distance: 0f;
| | can_retreat: true; 是否可以撤退?
| | idle_leash_distance: 0f;
| | melee_idle_leash_distance: 40f;
| | melee_leash_distance: 14f;
| | plans: { 不清楚啥意思
| | | idle_retaliation_plan: "squad_plan\idle_retaliation_default";
| | | melee_plan: "squad_plan\melee_plan_default";
| | | ranged_attack_plan: "squad_plan\sm_tac_range";
| | | setup_weapon_attack_plan: "";
| | };
| | suppression: { 应该是压制选项
| | | can_be_suppressed: true; 这个应该是是否能被压制,改成false就不能被压制了。
| | | courage_regen_rate: 10f;
| | | disable_moving_firing_while_suppressed: true; 这个应该是被压制到无法移动也无法开火的项目,同上改成false不能被压制到无法移动也无法开火
| | | starting_courage: 100f;
| | | suppression_resistance: 0f;
| | };
| | weapon_stance: "range"; 这个应该是被啥类型的武器压制,这里的是范围性武器
| };
squad_energy_ext 小队能量设置
| | $REF: "squad_extensions\squad_energy_ext";
| | regen_rate: 1f; 这个应该是能量恢复率同样1F表示100%,可以修改2F应该是200%
| | starting_energy: 1000f; 这个是初始能量?
squad_formation_ext 小队阵型设置
这个应该没必要改
squad_holdable_ext 小队可持有装备?还是小队驻扎设置?完全不知道啥意思啊!内容放上来求大神解释。
| | $REF: "squad_extensions\squad_holdable_ext";
| | hold_type: "hold_infantry";
| | modifier_table: {
| | };
| | shared_hold_enter_cooldown: 10f;
| | storm_trooper: false;
squad_item_slot_ext 小队插槽 只知道跟插槽有关,但是不知道具体意思,内容放上来求大神解释。
| | $REF: "squad_extensions\squad_item_slot_ext";
| | num_slots: 37;
squad_leveling_ext 小队升级设置 这个有好多内容
| | $REF: "squad_extensions\squad_leveling_ext";
| | auto_allocate_discretionary_points: false; 自动分配升级点数,现在是关闭的,应该不需要动,下面几项是自动分配的比重,无视就好了。
| | auto_allocate_points: {
| | | corruption: "none";
| | | energy: "secondary";
| | | health: "primary";
| | | melee: "secondary";
| | | ranged: "secondary";
| | };
| | discretionary_upgrades: { 这个应该是自由支配升级点数项目了,应该不需要修改。
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_str2_defend_melee_bonus";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_sta1_taunt";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_str1_melee_specialization";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_sta4_shall_not_fall";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_str3_power_sword_specialization";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_ra1_assault_bolters";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_sta3_veteran_squad";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_wl1_improved_loadout";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_ra3_tactical_advance_damage_buff";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_ra2_ranged_specialist";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_wl3_tactical_advance_aoe";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_wl2_grenadier";
| | | upgrade: "upgrade\campaign\race_marine\attrib_bonuses\sm_tac_sta2_immune_after_revive";
| | };
| | leveling_override: { 不知道啥意思
| | | $REF: "";
| | };
| | max_attribute_points: {
| | | corruption: 0; 堕落值,原版是没有这个属性的所以是无视就好。
| | | energy: 12; 最大能量点数
| | | health: 20; 最大生命点数
| | | melee: 15; 最大肉搏点数
| | | morale: 0; 最大士气点数 原版貌似没用
| | | ranged: 15; 最大射击点数
| | };
| | max_bonus_attribute_points: { 最大奖励的属性点数,具体意义不明,可能是最大能从装备上获取的点数。
| | | energy: 3;
| | | health: 3;
| | | melee: 3;
| | | morale: 0;
| | | ranged: 3;
| | };
| | max_level: 20; 最大等级
| | redirect_xp: false; 是否能重新分配点数?目前是不能,应该可以修改成true,这样游戏里随时可以重新分配。
| };
squad_loadout_ext 小队成员设置
| | $REF: "squad_extensions\squad_loadout_ext";
| | max_leaders: 0; 最多领导者,应该是小队最多能有几个队长,战役模式应该不用修改
| | squad_type: "tactical_marine"; 小队类型,这里的是战术小队
| | terminator_mode_sbp: "sbps\campaign\playable\race_marine\troops\sm_terminator_tarkus";这个应该是装备终结者盔甲后调用的参数
| | unit_list: {
| | | squad_loadout_unit_entry: { 小队单位明细,修改小队人数就下面的项目了
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1; 最大人数
| | | | num: 1; 最小人数
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_tarkus"; 重点来了,这个应该是选择哪种单位加入此小队,可以修改成无畏,甚至修改成加百列,要是鬼畜点加个混沌啦,征召个兽人头目啦完全都可以。当然你可以复制段落然后改成个战锤混合团。
| | | };
| | | squad_loadout_unit_entry: { 同上
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t1_larry";
| | | };
| | | squad_loadout_unit_entry: { 同上
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t2_willy";
| | | };
| | | squad_loadout_unit_entry: { 同上
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_tactical_marine_t3_tenderfoot";
squad_modifier_ext 小队姿势修正?还是装饰?不知道啥意思,所以就暂时不动他,反正也没啥具体内容就一条
| | $REF: "squad extensions\squad modifier ext";
squad_morale_ext 小队士气设置
| | $REF: "squad_extensions\squad_morale_ext"; 这个应该是加载具体士气的选择,加载不同的文件实际战斗中激活相对应的动作,一般无视就好。
| | bound_broken: 50; 这个应该是士气崩溃的临界值
| | bound_broken_restore_offset: 100; 不清楚具体含义
| | bound_inspired_offset: 100; 不清楚具体含义
| | regen_rate: 35f; 士气回复率
| | starting_morale: 300; 初始士气 不过话说经过魔改后的单位还需要关心士气这个玩意么?
squad_reinforce_ext 小队增援设置
| | $REF: "squad_extensions\squad_reinforce_ext";
| | on_reinforce_actions: {
| | | animator_set_action: {
| | | | $REF: "actions\ability\animator_set_action";
| | | | action_name: "abilities\space_marine\teleport_arrive"; 这个应该是设定能在那里增援,目前的设定是只能在传送点进行增援。
| | | | delay: 0f;
| | | | fire_and_forget: true; 应该是是否自动增援,目前true应该是自动增援,如果改成false应该是不会自动增援,需要手动去点。
| | | };
| | };
| | time_cost_percentage: { 增援时间与资源
| | | cost_percentage: 0f; 增援所需的资源
| | | time_percentage: 1f; 增援所需的时间
squad_ui_ext 小队界面设置
这个应该不需要进行修改,所以无视他吧
squad_upgrade_ext 升级选项??不清楚
这个应该不需要进行修改,所以无视他吧
|
|