游侠NETSHOW论坛

标题: MOD:对战模式使用战役中各种BOSS+相机属性设置文件 [打印本页]

作者: 老牙膏    时间: 2009-8-23 22:06:25     标题: MOD:对战模式使用战役中各种BOSS+相机属性设置文件

一直想在对战模式下操纵战役里的各种BOSS进行PK,但是默认情况下是不能通过编辑器放置战役中的各种NPC,BOSS的,进入游戏后通常会出现装备丢失或者隐身等情况。找遍了国外论坛似乎都没有明确解释,最后是自己一个个试验对比才找到方法,需要在角色属性的rbf文件里添加动画路径。具体做法:
1。用SgaReader2打开gameattrib.sga,在ebps里找到你需要修改的角色对应文件,例如\ebps\campaign\npc\race_ork\bosses\ork_mekboy_a32。解压导出rbf文件。
2. 用RbfConv工具将rbf文件转成txt文件后搜索animator_attachments:
-- Made by Corsix's Crude RBF Convertor
{
| ability_ext: {
| | $REF: "entity_extensions\ability_ext";
| | abilities: {
| | | ability: "ability\campaign\npc\race_ork\ork_a32_melee_blast";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_earthquake";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_prox_mine_scatter";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_dmg_modifiers";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_intro";
| | | ability: "ability\campaign\npc\race_ork\ork_hero_nimbus";
| | };
| };
| combat_ext: {
| | $REF: "entity_extensions\combat_ext";
| | grant_resource_to_owner_on_kill: {
| | | $REF: "cost_table";
| | | popcap: 0f;
| | | power: 0f;
| | | requisition: 0f;
| | | waaagh: 0f;
| | };
| | hardpoints: {
| | | hardpoint_details: {
| | | | $REF: "hardpoint_details";
| | | | default_position_info: {
| | | | | heading: {
| | | | | | $REF: "basic_data_types\heading_vector";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 1f;
| | | | | };
| | | | | muzzle_length: 0f;
| | | | | origin: {
| | | | | | $REF: "basic_data_types\position";
| | | | | | x: 0f;
| | | | | | y: 1.5f;
| | | | | | z: 0f;
| | | | | };
| | | | };
| | | | weapon_table: {
| | | | };
| | | };
| | | hardpoint_details: {
| | | | $REF: "hardpoint_details";
| | | | default_position_info: {
| | | | | heading: {
| | | | | | $REF: "basic_data_types\heading_vector";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 1f;
| | | | | };
| | | | | muzzle_length: 0f;
| | | | | origin: {
| | | | | | $REF: "basic_data_types\position";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 0f;
| | | | | };
| | | | };
| | | | weapon_table: {
| | | | };
| | | };
| | };
| };
| cost_ext: {
| | $REF: "entity_extensions\cost_ext";
| | time_cost: {
| | | $REF: "time_cost_table";
| | | cost: {
| | | | $REF: "cost_table";
| | | | popcap: 0f;
| | | | power: 0f;
| | | | requisition: 0f;
| | | | waaagh: 0f;
| | | };
| | | energy: 0f;
| | | time_seconds: 0f;
| | };
| | upkeep: {
| | | $REF: "cost_table";
| | | popcap: 0f;
| | | power: 0f;
| | | requisition: 0f;
| | | waaagh: 0f;
| | };
| | xp_points: 250f;
| };
| cover_ext: {
| | $REF: "entity_extensions\cover_ext";
| | cover_table: {
| | | tp_energy_shield: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: -0.01f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_garrison_cover: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.5f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_heavy: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.5f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_light: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.25f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_open: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: -0.01f;
| | | | speed_multiplier: 1f;
| | | };
| | };
| };
| entity_blueprint_ext: {
| | $REF: "entity_extensions\entity_blueprint_ext";
| | always_revealed_in_fow: false;
| | animator: "race_ork\troops\boy\boy";
| | animator_attachments: {
| | | attachment: "art\race_ork\troops_wargear\heads\loota_leader\loota_leader";| | }; 找到这行,通常有些NPC只有一attachment甚至没有,这里对应的正是角色的动画文件,假如发现角色武器丢失或者装甲 丢失,就可以找到相应的动画文件加上。

3.用SgaReader2工具打开gameart.sga文件,找到对应的路径,例如art\race_ork\troops_wargear\weapons_ranged\deffgun_beamy_common\deffgun_beamy_common,然后在之前的文件加上路径,如下:
-- Made by Corsix's Crude RBF Convertor
{
| ability_ext: {
| | $REF: "entity_extensions\ability_ext";
| | abilities: {
| | | ability: "ability\campaign\npc\race_ork\ork_a32_melee_blast";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_earthquake";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_prox_mine_scatter";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_dmg_modifiers";
| | | ability: "ability\campaign\npc\race_ork\ork_a32_intro";
| | | ability: "ability\campaign\npc\race_ork\ork_hero_nimbus";
| | };
| };
| combat_ext: {
| | $REF: "entity_extensions\combat_ext";
| | grant_resource_to_owner_on_kill: {
| | | $REF: "cost_table";
| | | popcap: 0f;
| | | power: 0f;
| | | requisition: 0f;
| | | waaagh: 0f;
| | };
| | hardpoints: {
| | | hardpoint_details: {
| | | | $REF: "hardpoint_details";
| | | | default_position_info: {
| | | | | heading: {
| | | | | | $REF: "basic_data_types\heading_vector";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 1f;
| | | | | };
| | | | | muzzle_length: 0f;
| | | | | origin: {
| | | | | | $REF: "basic_data_types\position";
| | | | | | x: 0f;
| | | | | | y: 1.5f;
| | | | | | z: 0f;
| | | | | };
| | | | };
| | | | weapon_table: {
| | | | };
| | | };
| | | hardpoint_details: {
| | | | $REF: "hardpoint_details";
| | | | default_position_info: {
| | | | | heading: {
| | | | | | $REF: "basic_data_types\heading_vector";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 1f;
| | | | | };
| | | | | muzzle_length: 0f;
| | | | | origin: {
| | | | | | $REF: "basic_data_types\position";
| | | | | | x: 0f;
| | | | | | y: 0f;
| | | | | | z: 0f;
| | | | | };
| | | | };
| | | | weapon_table: {
| | | | };
| | | };
| | };
| };
| cost_ext: {
| | $REF: "entity_extensions\cost_ext";
| | time_cost: {
| | | $REF: "time_cost_table";
| | | cost: {
| | | | $REF: "cost_table";
| | | | popcap: 0f;
| | | | power: 0f;
| | | | requisition: 0f;
| | | | waaagh: 0f;
| | | };
| | | energy: 0f;
| | | time_seconds: 0f;
| | };
| | upkeep: {
| | | $REF: "cost_table";
| | | popcap: 0f;
| | | power: 0f;
| | | requisition: 0f;
| | | waaagh: 0f;
| | };
| | xp_points: 250f;
| };
| cover_ext: {
| | $REF: "entity_extensions\cover_ext";
| | cover_table: {
| | | tp_energy_shield: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: -0.01f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_garrison_cover: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.5f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_heavy: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.5f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_light: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: 0.25f;
| | | | speed_multiplier: 1f;
| | | };
| | | tp_open: {
| | | | $REF: "types\cover_ext_entry";
| | | | actions: {
| | | | };
| | | | safety_value: -0.01f;
| | | | speed_multiplier: 1f;
| | | };
| | };
| };
| entity_blueprint_ext: {
| | $REF: "entity_extensions\entity_blueprint_ext";
| | always_revealed_in_fow: false;
| | animator: "race_ork\troops\boy\boy";
| | animator_attachments: {
| | | attachment: "art\race_ork\troops_wargear\heads\loota_leader\loota_leader";
| | | attachment: "art\race_ork\troops_wargear\armour\loota_leader_armour_epic\loota_leader_armour_epic";                    这里是对应角色的装甲。
| | | attachment: "art\race_ork\troops_wargear\weapons_ranged\deffgun_beamy_common\deffgun_beamy_common";
            这里是对应角色的武器。
| | };
................

4. 保存后再转成rbf文件并按正确的路径放置,例如我这里将文件放在\DOW2\GameAssets\Data\simulation\attrib\ebps\campaign\npc\race_ork\bosses下,进入编辑器或游戏应该就可以看到更新的角色了。(之前得在REV文件里加上-dev)

这里只是简单说明如何让角色在对战地图里出现的方法,其实举义反三,你也可以更改同类角色的装甲或者武器,当然,有些体型或者属性不一样的角色是不能随便更改的。具体操作有兴趣的朋友可以自己试看看。
纳米盘下载,内附文件使用说明,大概有十几二十种可用角色包括两张带有各种角色的测试地图:
http://www.namipan.com/d/Data.ra ... 6f883bb920670ea3400
几个在地图里的BOSS:

[ 本帖最后由 老牙膏 于 2009-8-24 07:45 编辑 ]
作者: finalsky    时间: 2009-8-24 01:36:17

谢谢,实验看看,太好了,能弄个mod是最好的了,楼主加油
作者: MAY02    时间: 2009-8-24 08:15:33

MOD高手终于出现,敢问LZ能否做一个字体MOD,换成楷体就好了。
作者: chenwin    时间: 2009-8-24 18:05:38

楼主的机器不错啊,我的机器开不了怎么高的画面




欢迎光临 游侠NETSHOW论坛 (https://game.ali213.net/) Powered by Discuz! X2