|
发表于 2011-1-31 15:57:56
|
显示全部楼层
你这直接修改游戏自带的mod文件吧。
你有几句完全是互相矛盾的。
<ValidatorArray index="0" value="TimeWarpTargetFilters"/>
<ValidatorArray value="TimeWarpViableTargets"/>
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
在同一级别中定义它们然后又删掉。这样没有意义。
另外你这些是放在哪个mod文件夹下的?Liberty.SC2Mod还是Liberty.SC2Campaign还是LibertyStory.SC2Campaign?
如果是后两者的话你写的很多东西根本就是多余的,因为xml只需要记录差异就以了,既然Liberty.SC2Mod里已经定义了大部分属性你又何必重写一遍。这里就有bug。
另外<TargetFilters value="-;Ally,Neutral,Enemy,Missile,Stasis,Dead,Hidden,Invulnerable"/>这句又有bug。你得加上index="0"
也就是<TargetFilters index="0" value="-;Ally,Neutral,Enemy,Missile,Stasis,Dead,Hidden,Invulnerable"/>
顺便<EditorCategories>这个属性和限制完全无关,这个只和编辑器中分类有关,别无其它用途。
既然你说你改的是战役文件,我就认为你改的是Liberty.SC2Campaign或者LibertyStory.SC2Campaign好了。你需要做以下修改。
把你对UnitData.xml的那部分修改留着。
其余全部恢复成原始战役文件,然后按照以下步骤来做:
在原始的战役Abil.xml里加入这样一段:
[codes=xml]
<CAbilEffectTarget id="TimeWarp">
<TargetFilters index="0" value="-;Ally,Neutral,Enemy,Missile,Stasis,Dead,Hidden,Invulnerable"/>
</CAbilEffectTarget>
[/codes]
BehaviorData.xml完全不要改。
EffectData.xml里加入这样一段。
[codes=xml]
<CEffectApplyBehavior id="ChronoBoost">
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
</CEffectApplyBehavior>
[/codes]
注意这里的Abil.xml和EffectData.xml都必须是Liberty.SC2Campaign或者LibertyStory.SC2Campaign里的。 |
|