性别保密
UID4184
库银 枚
好友
积分92
阅读权限200
在线时间 小时
最后登录1970-1-1
注册时间2010-3-15
|
楼主 |
发表于 2010-5-10 13:41:25
|
显示全部楼层
接上帖:
很多朋友不知道如何添加兵种这里发一个帖子了
新兵种,首先 要有模型,也就是.TGA.DDS文件和.CAS文件
在1.3以上版本加新兵种,推荐先使用罗马保护硬盘加游戏速度的XPAK把游戏的PACK文件夹解包.
然后把上面提到的前一种文件放进游戏目录/DATA/MODELS_UNIT/TEXTURES中,后者放进/DATA/MODELS_UNIT中
这样模型就放好了
下面开始改文件:
首先要改的是DATA文件夹下的descr_model_battle文件,这个文件控制单位模型的指向
用记事本就可以打开:
可以看见这个文件是这样写的(我们以第一个希腊精锐黑骑兵为例)
type gangduoh
skeleton fs_hc_spearman, fs_hc_swordsman
indiv_range 40
texture greek_cities, data/models_unit/textures/gangduoh.tga
texture seleucid, data/models_unit/textures/gangduoh.tga
texture macedon, data/models_unit/textures/gangduoh.tga
texture thrace, data/models_unit/textures/gangduoh.tga
model_flexi_m data/models_unit/gangduoh.cas, 15
model_flexi_m data/models_unit/gangduoh.cas, 30
model_flexi_m data/models_unit/gangduoh.cas, 40
model_flexi data/models_unit/gangduoh.cas, max
model_sprite greek_cities, 60.0, data/sprites/romans_senate_roman_praetorian_cavalry_sprite.spr
model_sprite seleucid, 60.0, data/sprites/romans_scipii_roman_praetorian_cavalry_sprite.spr
model_sprite macedon, 60.0, data/sprites/romans_brutii_roman_praetorian_cavalry_sprite.spr
model_sprite thrace, 60.0, data/sprites/romans_julii_roman_praetorian_cavalry_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f
这里,第一行的TYPE是兵种模型的名字,接着的TEXTURE指向上面的/DATA/MODELS_UNIT/TEXTURES中的文件,
再下面的model_flexi指向/DATA/MODELS_UNIT中的文件,注意,如果进游戏后,进入战斗画面读时跳出,
就请检查模型的位置是否一致,如果一致,就在该文件中TEXTURE的模型名字前面加上使用国家的名字,
如上面的骑兵就加了使用国家的名字,尤其是多个国家公用的兵种建议一定要加国家名.
skeleton表示的是兵种模型的骨架类型——步,枪,骑,弓,弓骑等等。如果是骑兵,
用的是游戏中没有的马,还要加上马的模型
如下:
type gangduohorses
skeleton fs_fast_horse
scale 0.875
indiv_range 40
texture greek_cities, data/models_unit/textures/gangduohorses.tga
texture seleucid, data/models_unit/textures/gangduohorses.tga
texture macedon, data/models_unit/textures/gangduohorses.tga
texture thrace, data/models_unit/textures/gangduohorses.tga
model_flexi data/models_unit/gangduohorses.CAS, 15
model_flexi data/models_unit/gangduohorses.CAS, 30
model_flexi data/models_unit/gangduohorses.CAS, 60
model_flexi data/models_unit/gangduohorses.CAS, 80
model_flexi data/models_unit/gangduohorses.CAS, max
model_sprite greek_cities, 100.0, data/sprites/romans_julii_generals_horse_sprite.spr
model_sprite seleucid, 100.0, data/sprites/romans_julii_generals_horse_sprite.spr
model_sprite macedon, 100.0, data/sprites/romans_julii_generals_horse_sprite.spr
model_sprite thrace, 100.0, data/sprites/romans_julii_generals_horse_sprite.spr
model_tri 700, 0.3f, 0.3f, 0.3f
马的方法和兵种一样。然后还要在DATA文件夹下的descr_mount文件中加上马的数据
type gangduohorses
class horse
model gangduohorses
radius 1.5
x_radius 0.5
height 2.5
mass 7
banner_height 0
bouyancy_offset 1.8
water_trail_effect horse_water_trail
root_node_height 1.6
rider_offset 0.0, 0.15, 0.0
如果新加马,就写在HORSE类下,加象,写在ELEPHENT类下,等等
接着,就要改下一个export_descr_unit文件
这个文件控制兵种的基本属性
type gangduoh
dictionary gangduoh ; gangduoh
category cavalry
class heavy
voice_type Heavy_1
soldier gangduoh, 27, 0, 1
mount gangduohorses
mount_effect elephant -8, camel -4
attributes sea_faring, hide_forest, hardy
formation 1.5, 4, 3, 6, 4, square, wedge
stat_health 1, 0
stat_pri 11, 6, no, 0, 0, melee, simple, piercing, spear, 25 ,1
stat_pri_attr no
stat_sec 18, 8, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 15, 10, 0, metal
stat_sec_armour 0, 1, flesh
stat_heat 2
stat_ground 0, 0, 0, 0
stat_mental 10, disciplined, highly_trained
stat_charge_dist 40
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 1500, 200, 250, 500, 1500
ownership greek
详细说明如下:
1、type carthaginian elephant african cataphract
类型 兵种的内部名称,不会在游戏界面显示
2、dictionary carthaginian_elephant_african_cataphract ; Armoured Elephants
名称 游戏界面上显示的名字
3、category cavalry
种类:可分为infantry步兵,cavalry骑兵,siege机械,handler训兽者,ship船只和non_combatant其他人员。
4、class heavy
等级:轻装light,重装heavy,投射missile和长矛兵spearmen。
5、voice_type Heavy_1
兵种使用的声音文件
6、soldier carthaginian_big_elephant_crew, 18, 6, 1
士兵模式 依次为:
士兵模型使用的名字;
士兵的标准数量;
士兵携带其他物体的数量(猪,狗,大象,两轮战车,机械等);
士兵的碰撞质量,正常为1.0,只限于步兵。
7、mount elephant african cataphract
兵种所携带的物体 战象
此项根据不同的兵种还可以分为:
officer 军官 某些步兵由军官带领,一支部队最多可以有3名军官
ship 海军
engine 机械
animal 不能骑的动物(狗和猪)
mount 坐骑(包括马,骆驼,大象)和战车
8、mount_effect horse +4, chariot +8, camel +4
战斗中对抗敌人的特殊坐骑时对战斗力的影响。大象对马时攻击+4,战车+8,骆驼+4
9、attributes sea_faring, can_run_amok, frighten_foot, frighten_mounted
属性 兵种单位所具有的能力,可以有多个,用逗号隔开,具体分为:
sea_faring = can board ships 能上船
hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere = defines where the unit can hide 单位能隐藏的地方:树林,森林,长的草地,任何地方
can_sap = Can dig tunnels under walls 能在墙脚下挖地道
frighten_foot, frighten_mounted = Cause fear to certain nearby unit types 让附近的特定单位产生恐惧
can_run_amok = Unit may go out of control when riders lose control of animals 失去对动物的控制后,动物会乱跑
general_unit = The unit can be used for a named character's bodyguard 亲卫队
cantabrian_circle = The unit has this special ability 单位拥有的技能
no_custom = The unit may not be selected in custom battles 在自定义战役里不能选择
command = The unit carries a legionary eagle, and gives bonuses to nearby units 单位携带一只古代罗马军团的鹰, 能激励附近的单位
mercenary_unit = The unit is s mercenary unit available to all factions 可雇佣
10、formation 7, 11, 13,16, 1, square
阵型 依次为:
紧密阵型士兵左右和前后的间距;
松散阵型士兵左右的间距;
默认的行数;
单位拥有的特殊阵型(可以有一或两个):square 正方形方阵,horde游牧阵型,phalanx步兵方阵,testudo龟甲阵,wedge三角阵;
11、stat_health 1, 15
1, 15 这个是生命值,前一个是人的,后一个是动物的(骑兵的坐骑不计算生命值)大多数兵种是1,斯巴达枪兵和公牛战士是2,狂战士是3,大象是15。
12、stat_pri 10, 3, arrow, 120, 60, missile, archery, piercing, none, 25 ,1
士兵的主要武器,如果是远程兵种,远程武器就是主要的 依次为:
攻击力;
冲锋时的攻击加成(突击力);
远程武器类型;
远程武器射击距离;
士兵携带的远程武器数量;
武器类型:melee肉搏, thrown投掷, missile远程(弓箭),siege_missile机械;
技术类型:simple简单,other其他,blade刀刃,archery弓箭或siege机械;
伤害类型:piercing穿刺,blunt钝武器,slashing猛击,fire火烧;
武器撞击的声音:none无,knife小刀,mace铁锤,axe斧头,sword刀剑,spear长矛;
攻击的最小时间间隔;
13、stat_pri_attr no
主要武器属性 依次为:
ap 破甲,只有目标有甲时才计算
bp 穿透身体,指远程武器在上穿第一个人后,是否还对后面的人造成伤害
spear 长矛,对骑兵有加成,对步兵有扣除
long_pike 长枪,只有能组成方阵的步兵使用
short_pike 短枪,只有能组成方阵的步兵使用
prec 只在冲锋前投掷武器
thrown 投掷,指距离比较短的武器
launching 射击,能在空中飞行一段距离
area = 成片攻击,不只是一个人
14、stat_sec 7, 11, no, 0, 0, melee, other, blunt, none, 25 ,1
次要武器:如果是骑兵、动物、战车,这就是他们的攻击力;如果是远程兵种,这就是他们的肉搏能力;如果是一些特殊的肉搏兵种(长武器的),这就是他们短武器的攻击力,具体同stat_pri
15、stat_sec_attr area, launching, ap
具体同stat_pri_attr
16、stat_pri_armour 0, 4, 0, flesh
主要防御 依次为
防御力;防御技巧加成(被射击时无用);盾牌加成(只对来自左边的攻击有效);被撞击发出的声音:身体,皮革,金属
17、stat_sec_armour 16, 3, flesh
次要防御:指动物或战车的防御(骑马的另外计算),具体同stat_pri_armour
18、stat_heat -1
在炎热天气作战时,体力的额外损失(正的越多表示损失越大)
19、stat_ground 0, 1, -6, -1
在不同地形作战的加成(对于攻击力而言): 灌木,沙漠,森林,雪地
20、stat_mental 8, normal, untrained
依次为:基本的士气,纪律和训练。纪律分为正常,低纪律,有纪律和狂暴,狂暴的部队有可能不下令就突击。训练决定阵型的整齐程度
21、stat_charge_dist 30
士兵开始突击敌人的距离
22、stat_fire_delay 0
这个不知道
23、stat_food 60, 300
已经无用了
24、stat_cost 2, 2670, 590, 270, 400, 2670
依次为:招募所需回合数;帝国战役的招募费用;平时的维护费用;升级武器的费用;升级盔甲的费用;自定义战役的招募费用
25、ownership carthage
哪个国家可以使用此单位
注意:这里,如果office,mount在游戏中原来没有的话,一定要把模型写在descr_model_battle文件里
第三,我们还要改一个:export_descr_unit_enums文件
这里是兵种的例举、
把新兵种名字加上去就可以了,标准格式如下:
gangduoh
gangduoh_descr
gangduoh_descr_short
为了在游戏里显示你新兵种的名字,打开DATA/TEXT文件夹,里面有一个export_units文件
打开,在最后一行写上兵种名字和基本介绍
{gangduoh} 希臘精銳黑騎兵
{gangduoh_descr}
精英\n有紀律\n可以組成楔形隊型\n\n希臘黑騎兵是希臘戰爭和社會中的精英。他們以重騎兵的方式\n作戰,其紀律是其他國家罕見匹敵者。他們使用長矛,穿戴好的盔\n甲,因此可以在衝鋒時造成極大的破壞。他們是羅馬帝國的忠心僕\n人,由他們的父母交給神殿,以負擔軍事責任,而非做為儀式的祭\n禮。
{gangduoh_descr_short}
希臘黑騎兵以重騎兵的方式作戰,配備長矛和\n劍,全身上上都穿著盔甲。他們是希臘戰事和\n社會的精英。
第一行是兵种名字
第二段是在帝国战役中拉出的兵种介绍
第三段是在自定义战役前,选兵的时候鼠标放在兵牌上显示的短介绍
繁体罗马最好用繁体写,英语罗马用英语写
为了在帝国征战中兵种能招募,请打开DATA下的export_descr_buildings文件,在你需要的兵营下写出兵种名字,如果你找不到也没关系,找一个你熟悉的兵种名字,找到后在这个兵种下画葫芦画一行,改成你的兵种名字就可以了
如:recruit "gangduoh" 0 requires factions { greek, }
这里注意两点:1:如果你在低级的兵营可以招募,记得要把这行字复制粘贴到更高一级别的兵营中,否则会出现升级兵营而不能造以前的兵种的现象。
2;一个国家同一建筑建造的单位不能超过32个
如果你想把某个兵种变成雇佣兵,请仍然按上面的除了改export_descr_buildings文件外的方式做,在export_descr_unit文件一定要加上雇佣属性(具体见上面该文件解释)
然后打开\Data\world\maps\campaign\imperial_campaign里的descr_mercenaries文件
把你兵种加到想出现的雇佣地区下
如下:
pool Britain
regions Britannia_Inferior Tribus_Silurii Britannia_Superior Hibernia
unit merc barbarian infantry, exp 0 cost 800 replenish 0.06 - 0.19 max 2 initial 1
第一行为地区
第二行:该地区省份
第三行开始为可雇佣军队,UNIT后加上兵种名字,EXP后面加上经验,COST后面加上价格,REPLENISH后加出现几率。
加新兵种注意事项:
1;严格按游戏文件格式:该空格空格,该加的标点等等一个不能少,请多参考已有的兵种。
2;加完一个兵种可以用自定义战役测试下是否正确,如果不能进游戏或者进自定义战役前跳出,就说明修改有问题,请
--------------------------------------------------------------
简单加新兵的方法:
先下那个黑暗军团的兵种,
按里面的文件名,一个一个加,这样应该不难吧
文件夹可以直接覆盖, 其中一个文件夹就不能覆盖,那个TEXT文件就不能直接覆盖,里面是文本,
文本要找到原来的游戏文件,把里面的数据直接添加进去。直接复制里面的数据,加到文件的最下面
加好后就用自定战役测试,加入新兵种模型的测试好方法之一,不能在自定战役正常使用的兵种,在会战中也会出错的。
测试成功后,想在帝国会战里玩就要:
由于我做的兵种模型没有在export_descr_buildings.txt加入该兵种,是因为各版本的这个文件都不相同,所以只能自己修改。
1、用“Ctrl+F”查找barracks,找到:
building barracks
{
levels muster_field militia_barracks city_barracks army_barracks royal_barracks
{
muster_field requires factions { barbarian, ct_carthage, eastern, parthia, egyptian, greek, roman, }
{
capability
{
recruit "carthaginian city militia" 0 requires factions { spain, }
recruit "barb infantry briton" 0 requires factions { britons, }
recruit "barb infantry dacian" 0 requires factions { dacia, }
recruit "barb infantry gaul" 0 requires factions { gauls, }
recruit "warband spear german" 0 requires factions { germans, }
recruit "barb horse archers scythian" 0 requires factions { scythia, }
recruit "carthaginian city militia" 0 requires factions { carthage, }
recruit "numidian javelinmen" 0 requires factions { numidia, }
recruit "east infantry" 0 requires factions { eastern, }
recruit "egyptian nubian spearmen" 0 requires factions { egyptian, }
recruit "greek hoplite militia" 0 requires factions { greek, }
recruit "roman city militia" 0 requires factions { roman, }
}
construction 2
cost 600
settlement_min town
upgrades
在recruit "roman city militia" 0 requires factions { roman, }下面
增加recruit "你的兵种" 0 requires factions { 国家, } ,例:
recruit "greek hoplite militia" 0 requires factions { greek, }
recruit "roman city militia" 0 requires factions { roman, }
recruit "你的兵种" 0 requires factions { 国家, }
}
construction 2
要知道兵种名和国家名,打开export_descr_unit.txt
第一行 type后面就是你的兵种名字
最下面一行 ownership后面就是国家名
加入新兵种,要改的地方有models_unit(这个是模型存放的地方)、
ui(其中UNIT_INFO是存放部队简介时显示部队样子的图像、
UNITS是存放部队列表中显示部队样子的图像)文件夹,
text文件夹里的export_units.txt(这个是兵种汉化输出的文件)、
descr_model_battle.txt(这个是模型战斗链接文件)、
export_descr_unit.txt(这个是部队设定文件)、export_descr_unit_enums.txt(这个是部队列举文件)。
第一、其中models_unit文件夹和descr_model_battle.txt是有关联的,比如descr_model_battle.txt里经常看到有这么一段:
type greek_hoplite_spartan_pylos(期巴达步兵)
skeleton fs_spearman, fs_swordsman
indiv_range 40
;texture greek_cities, data/models_unit/textures/UNIT_GREEK_SPARTAN_HOPLITE_PYLOS_GLOSS.TGA
model_flexi_m data/models_unit/unit_greek_athenian_hoplite_400.CAS, 8
model_flexi_m data/models_unit/unit_greek_athenian_hoplite_300.CAS, 15
model_flexi_m data/models_unit/unit_greek_athenian_hoplite_200.CAS, 30
model_flexi data/models_unit/unit_greek_athenian_hoplite_100.CAS, max
model_sprite 60.0, data/sprites/greek_hoplite_spartan_pylos_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f
“data/models_unit/textures/UNIT_GREEK_SPARTAN_HOPLITE_PYLOS_GLOSS.TGA”、“data/models_unit/unit_greek_athenian_hoplite_400.CAS”……一共有五句话是指兵种模型存放的地方,也就是斯巴达步兵模型文件一共有五个,分别存放在“data/models_unit/textures/”和“data/models_unit/”。修改时就要保证models_unit文件夹的模型文件和descr_model_battle.txt的正确。
小提示:1、能进入游戏,但在自定战役中使用刚加入新兵种时读进度条时跳出,那就是descr_model_battle.txt里模型指向文件出错,这时可打开descr_model_battle.txt文件和models_unit文件夹查找相对应的模型文件,看看是那里出错,可用“Ctrl+F”来查找。
2、由于加入新兵种是在原TXT文件里进行编辑,所以在加如某一新兵种时最好保证每一个文件里新兵种内容存放的地方是一致的,放在文件页首的就一致放在页首,放在页未也是一样。比如在descr_model_battle.txt加入新兵种模型链接时,我选择放在页首,那最好放在第一个兵种模型链接语句的上面:“type barb_female_peasant”,因为有可能一些不同的游戏版本的descr_model_battle.txt文件里开头还有一段关联语句。
第二、export_descr_unit.txt和export_units.txt、export_descr_unit_enums.txt、ui文件夹是有关联的,打开export_descr_unit.txt文件后经常看到兵种设定有这么一段:
type greek hoplite spartan
dictionary greek_spartiate_pentekostys ; Greek Spartiate Pentekostys
category infantry
class spearmen
voice_type Medium_1
soldier greek_hoplite_spartan_pylos, 40, 0, 1.3
attributes sea_faring, hide_forest, can_sap, very_hardy, frighten_foot
formation 1, 1, 2, 2, 5, square, phalanx
stat_health 2, 0
stat_pri 16, 4, no, 0, 0, melee, simple, piercing, spear, 25 ,1
stat_pri_attr spear
stat_sec 14, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 10, 8, 5, leather
stat_sec_armour 0, 1, flesh
stat_heat 2
stat_ground 2, 0, 0, 0
stat_mental 14, disciplined, highly_trained
stat_charge_dist 30
stat_fire_delay 0
stat_food 60, 300
stat_cost 2, 1200, 600, 230, 290, 1200
ownership greek_cities
相关的内容我就不再详细说了,我就说说要改的地方,“type”后面是兵种的内部名称,不会在游戏界面显示,但是,比如你再加入一个新的期巴达步兵这个名称就不能再一样了,一样的话一进入游戏就跳出,可以在后面加标记123,也可以起不同的名字;“dictionary”后是游戏界面上显示的名字,是英文版的话就是显示这个名称了,“soldier”后的“greek_hoplite_spartan_pylos”和descr_model_battle.txt文件的“type”是一致的,不能出错。"ownership"后就是使用此单位的国家。最好改这里时再仔细看一下论坛的“Rome 常见修改方法汇总”。
用期巴达步兵说一下,在export_descr_unit.txt和export_units.txt、export_descr_unit_enums.txt中都有“greek_spartiate_pentekostys”后面的名称,要保证是一致的才行,还有ui文件夹里的UNIT_INFO、UNITS目录下的greek_cities目录下,也分别存有“greek_spartiate_pentekostys_INFO.tga”和“#greek_spartiate_pentekostys.tga”两个文件。
第三、按步骤把兵种模型加到游戏后,只能在自定战役中使用。由于我做的兵种模型没有在export_descr_buildings.txt加入该兵种,是因为各版本的这个文件都不相同,所以只能自己修改。(另外自定战役也是测试加入新兵种模型的好方法之一,不能在自定战役正常使用的兵种,在会战中也会出错的。)
1、用“Ctrl+F”查找barracks,找到:
building barracks
{
levels muster_field militia_barracks city_barracks army_barracks royal_barracks
{
muster_field requires factions { barbarian, ct_carthage, eastern, parthia, egyptian, greek, roman, }
{
capability
{
recruit "carthaginian city militia" 0 requires factions { spain, }
recruit "barb infantry briton" 0 requires factions { britons, }
recruit "barb infantry dacian" 0 requires factions { dacia, }
recruit "barb infantry gaul" 0 requires factions { gauls, }
recruit "warband spear german" 0 requires factions { germans, }
recruit "barb horse archers scythian" 0 requires factions { scythia, }
recruit "carthaginian city militia" 0 requires factions { carthage, }
recruit "numidian javelinmen" 0 requires factions { numidia, }
recruit "east infantry" 0 requires factions { eastern, }
recruit "egyptian nubian spearmen" 0 requires factions { egyptian, }
recruit "greek hoplite militia" 0 requires factions { greek, }
recruit "roman city militia" 0 requires factions { roman, }
}
construction 1
cost 600
settlement_min town
这是建“militia_barracks”民兵兵营,muster_field requires factions {} 括号里就是兵营能通用的国家,在recruit "……"里加入新兵种的“type”后的名称,{}里加入该兵种的派系即可。
特殊在他们的兵牌文件在Rome - Total War\bi\data\ui\units\mercs里,而其他派系的UI文件夹里没有他们的兵牌文件,所以看不到兵牌。
兵牌和文本没有任何关联的,
如果看不到兵牌,就要把
Rome - Total War\bi\data\ui\units\mercs里的相应的那几个兵的文件,如:
#merc_moorish_raiders.tga
#merc_moorish_raiders.tga
#merc_moorish_raiders.tga
merc_moorish_raiders_info.tga
merc_moorish_raiders_info.tga
复制到Rome - Total War\bi\data\ui\units\(要用的派系)和Rome - Total War\bi\data\ui\unit_info\(要用的派系)里面去,再进游戏就看到兵牌正常了!!!
添加音乐的方法
首先说明一下新加音乐其实不需要解压和反压缩回去。
楼主先去bi\data下找到这个文件descr_sounds_music.txt
这个就是控制播放音乐的文件,在里面更改文件播放列表,不过要注意一个问题,音乐的文件名不能有空格和奇怪的符号和中文,建议都用几个英文字母命名就ok了。
然后把你想在游戏里面听到的音乐放在Rome - Total War\data\sounds\music下面,注意不是Rome - Total War\bi\data\sounds\music是Rome - Total War\data\sounds\music!!!!!
然后你新建一个空白的写字板文档*.txt那种,然后命名为events然后把txt文档的后缀txt改为dat,整个文件名就是events.dat,然后把这个空白的文档复制到\Rome - Total War\bi\data\sounds里面覆盖原来的文件,那么你就可以听到自己添加的音乐了。 |
|