我拿Settler_sbds作为例子(部分语句省略):
<protounit name="Settler"> 村民的调用名
<soundtype name="Select"> 选取单位的语音
<variationlogic> 当动画xml定义了两个模型以上(如村民一男一女),用这个语句进行区分
<choice name="0"> 男村民,实际为单位xml定义的第一个模型
<civlogic> 区分各文明语音
<choice name="Nature"/> 大自然
<choice name="French"> 法国
<soundset name="FrenchSettlerMaleSelect"/>Soundsetsy.xml定义的调用名
</choice>
<choice name="British"> 英国
<soundset name="BritishSettlerMaleSelect"/>
</choice>
<choice name="Russians"> 俄罗斯
<soundset name="RussianSettlerMaleSelect"/>
</choice>
</civlogic>
</choice>
<choice name="1"> 女村民,实际为单位xml定义的第二个模型
<civlogic> 区分各文明语音
<choice name="Nature"/> 大自然
<choice name="French"> 法国
<soundset name="FrenchSettlerMaleSelect"/>Soundsetsy.xml定义的调用名
</choice>
<choice name="British"> 英国
<soundset name="BritishSettlerMaleSelect"/>
</choice>
<choice name="Russians"> 俄罗斯
<soundset name="RussianSettlerMaleSelect"/>
</choice>
</civlogic>
</choice>
</variationlogic>
</soundtype>
<soundtype name="Grunt"> 受到伤害,惨叫语音
<variationlogic> 当动画xml定义了两个模型以上(如村民一男一女),用这个语句进行区分
<choice name="0">男村民惨叫,实际为单位xml定义的第一个模型
<soundset name="GenericMaleGrunt"/>Soundsetsy.xml定义的调用名
</choice>
<choice name="1">女村民惨叫,实际为单位xml定义的第二个模型
<soundset name="GenericFemaleGrunt"/>Soundsetsy.xml定义的调用名
</choice>
</variationlogic>
</soundtype>
<soundtype name="Acknowledge">右键指挥单位的语音
<variationlogic>
<choice name="0">
<civlogic>
<choice name="Nature">
<targetlogic>
<choice name="default"/>
<choice name="enemy"/>
</targetlogic>
</choice>
<choice name="French">
<targetlogic>根据点击目标不同触发不同语音
<choice name="default">默认,例如点击空地以及以牲畜为指派目标时
<soundset name="FrenchSettlerMaleAcknowledge"/>
</choice>
<choice name="enemy">敌人
<soundset name="FrenchSettlerMaleAttack"/>
</choice>
<choice name="build">建造
<soundset name="FrenchSettlerMaleBuild"/>
</choice>
<choice name="Huntable">打猎,Huntable是单位标签,指猎物
<soundset name="FrenchSettlerMaleGatherMeat"/>
</choice>
<choice name="Tree">砍树,Tree为树木的标签
<soundset name="FrenchSettlerMaleGatherWood"/>
</choice>
<choice name="AbstractFarm">采集磨坊、稻田农田等,村庄也有AbstractFarm这个标签的,所以你应该懂我想说什么吧?
<soundset name="FrenchSettlerMaleFarm"/>
</choice>
<choice name="AbstractMine">采集矿物,AbstractMine是矿场标签,种植园也有这个标签。
<soundset name="FrenchSettlerMaleGatherCoin"/>
</choice>
<choice name="AbstractResourceCrate">采集箱子
<soundset name="FrenchSettlerMaleAcknowledge"/>
</choice>
<choice name="AbstractFruit">采集浆果
<soundset name="FrenchSettlerMaleGatherFruit"/>
</choice>
</targetlogic>
</choice>
</civlogic>
</variationlogic>
</soundtype>
</protounit>
美观性太差,最不好写的教程之一....................
看到眼都要花了,随便乱写一些东西上去。
整理一下语句:
<protounit name="XXXXX">
<soundtype name="XX">
<variationlogic>
<choice name="X">
<civlogic>
<choice name="XXXX">
<targetlogic>
<choice name="XXXX">
<soundset name="XXXX"/>
</choice>
</targetlogic>
</choice>
<choice name="XXXX">
<targetlogic>
<choice name="XXXX">
<soundset name="XXXX"/>
</choice>
</targetlogic>
</choice>
</civlogic>
</choice>
<choice name="X">
<civlogic>
<choice name="XXXX">
<targetlogic>
<choice name="XXXX">
<soundset name="XXXX"/>
</choice>
</targetlogic>
</choice>
<choice name="XXXX">
<targetlogic>
<choice name="XXXX">
<soundset name="XXXX"/>
</choice>
</targetlogic>
</choice>
</civlogic>
</choice>
</variationlogic>
</soundtype>
</protounit>
protounit name="" |
第一个定义,定义单位调用名的语音 |
|
<protounit name="XXXXX"> |
单位调用名 |
|
soundtype name="" |
区分类型 |
|
<soundtype name="Select"> |
选取单位的语音 |
|
<soundtype name="Grunt"> |
受到伤害后惨叫 |
|
<soundtype name="Death"> |
死亡的语音 |
|
<soundtype name="Creation"> |
生产单位的语音 |
|
<soundtype name="Acknowledge"> |
按右键指挥的语音 |
|
<soundtype name="Exists"> |
重复一个语音,例如汤尼卡车的发动机(噪音) |
|
<soundtype name="KnockOut"> |
被打倒后的语音(探险家倒下那种) |
|
<soundtype name="KnockOutRevived"> |
倒下的探险家复活语音 |
|
<soundtype name="Ransomed"> |
赎回(探险家)的语音 |
|
<soundtype name="Claim"> |
作用不明 |
|
<variationlogic> |
区分不同模型的语音 |
|
<choice name="0"> |
单位xml定义两个模型以上,按照顺序第一个模型 |
|
<choice name="1"> |
单位xml定义两个模型以上,按照顺序第二个模型 |
|
<choice name="X"> |
单位xml定义两个模型以上,按照顺序第X+1个模型 |
|
<civlogic> |
区分不同国家的语音 |
|
<choice name="Nature"> |
大自然 |
|
<choice name="French"> |
法国 |
|
<choice name="British"> |
英国 |
|
<choice name="Russians"> |
俄罗斯 |
|
<choice name="Ottomans"> |
土耳其(奥斯曼) |
|
<choice name="Dutch"> |
荷兰 |
|
<choice name="Spanish"> |
西班牙 |
|
<choice name="Portuguese"> |
葡萄牙 |
|
<choice name="Germans"> |
德国 |
|
<choice name="SPCAct1"> |
圣约翰骑士团 |
|
<choice name="SPCAct2"> |
布莱克的佣兵 |
|
<choice name="SPCAct3"> |
猎鹰公司 |
|
<choice name="XPIroquois"> |
易落魁 |
|
<choice name="XPSioux"> |
苏族 |
|
<choice name="XPAztec"> |
阿兹特克 |
|
<choice name="XPSPC"> |
酋长战役 |
|
<choice name="Chinese"> |
中国 |
|
<choice name="Indians"> |
印度 |
|
<choice name="Japanese"> |
日本 |
|
<choice name="SPCJapanese"> |
日本战役 |
|
<choice name="SPCChinese"> |
中国战役 |
|
<choice name="SPCIndians"> |
印度战役 |
|
<choice name="XXXXX"> |
Civs.xml定义的国家调用名 |
|
<targetlogic> |
指挥单位时区分点中不同的类别的语音 |
|
<choice name="default"> |
默认,非下列设定都是采用这个 |
|
<choice name="enemy"> |
敌人 |
|
<choice name="build"> |
建造建筑 |
|
<choice name="Huntable"> |
猎物 |
|
<choice name="Tree"> |
树木 |
|
<choice name="AbstractFarm"> |
磨坊、稻田、农田等建筑物 |
|
<choice name="AbstractMine"> |
矿场 |
|
<choice name="AbstractResourceCrate"> |
木箱 |
|
<choice name="AbstractFruit"> |
浆果丛 |
|
用其他单位标签或调用名不能生效。 |
||
<soundset name="XXXX"/> |
Soundsetsy.xml定义的调用名 |
|