找回密码
 点一下
查看: 2290|回复: 4

求教<新手问题>如何让神族的超时空加速作用于单位,非外加载MOD,直接改原文件

[复制链接]
发表于 2011-1-31 13:13:19 | 显示全部楼层 |阅读模式
我在人族战役的原文件中关于雇佣兵营地的一段里加入超时空加速
UnitData.xml
        <AbilArray Link="TimeWarp"/>
        <EnergyStart value="100"/>
        <EnergyMax value="200"/>
        <EnergyRegenRate value="5"/>
        <CardLayouts>
          <LayoutButtons Face="TimeWarp" Type="AbilCmd" AbilCmd="TimeWarp,Execute" Row="2" Column="0"/>

AbilData.xml
        <CAbilEffectTarget id="TimeWarp">
        <EditorCategories value="AbilityorEffectType:-,Race:Terran"/>此处已经去掉限制为建筑类型
        <Cost>
            <Vital index="Energy" value="20"/>
        </Cost>
        <TargetFilters value="-;Ally,Neutral,Enemy,Missile,Stasis,Dead,Hidden,Invulnerable"/>
                                                  此处已经去掉限制为建筑类型
        <Range value="500"/>
        <Arc value="360"/>
        <CmdButtonArray index="Execute" DefaultButtonFace="TimeWarp"/>
        <UninterruptibleArray index="Approach" value="1"/>
        <UninterruptibleArray index="Prep" value="1"/>
        <UninterruptibleArray index="Cast" value="1"/>
        <UninterruptibleArray index="Channel" value="1"/>
        <UninterruptibleArray index="Finish" value="1"/>
        <Effect index="0" value="ChronoBoost"/>
        <AINotifyEffect value="ChronoBoost"/>
    </CAbilEffectTarget>

ButtonData.xml
        <CButton id="TimeWarp">
        <Icon value="Assets\Textures\btn-ability-protoss-protoncharge-color.dds"/>
        <EditorCategories value="Race:Protoss"/>
    </CButton>

BehaviorData.xml
        <CBehaviorBuff id="TimeWarpProduction">
        <Alignment value="Positive"/>
        <Cost>
            <Vital index="Energy" value="20"/>
        </Cost>
        <InfoIcon value="Assets\Textures\btn-ability-protoss-chronoboost.dds"/>
        <EditorCategories value="AbilityorEffectType:-,Race:Protoss"/>    此处已经去掉限制为建筑类型
        <Duration value="300"/>
        <Modification TimeScale="5">
            <VitalRegenArray index="Energy" value="-0.1992"/>
        </Modification>
        <TimeScaleSource Value="Global"/>
    </CBehaviorBuff>
</Catalog>

EffectData.xml
        <CEffectApplyBehavior id="ChronoBoost">
        <ValidatorArray index="0" value="TimeWarpTargetFilters"/>
        <ValidatorArray value="TimeWarpViableTargets"/>
        <ValidatorArray index="0" removed="1"/>
        <ValidatorArray index="1" removed="1"/>
        <EditorCategories value="Race:-"/>    此处已经去掉限制为神族
        <Behavior value="TimeWarpProduction"/>
    </CEffectApplyBehavior>

超时空加速用是能用了,但是不能作用于人族的单位,不知道怎么改,请高手指点
function forumhottag_callback(data){ tags = data; }parsetag();
发表于 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里的。
回复

使用道具 举报

发表于 2011-1-31 16:07:35 | 显示全部楼层
想要学习sc2的xml的话我有写过一套完整教程:
http://bbs.islga.org/read-htm-tid-44358.html
回复

使用道具 举报

 楼主| 发表于 2011-2-2 18:55:25 | 显示全部楼层
感谢版主这么热心解答,谢谢,祝你新年一切顺利,我两天没来看了
回复

使用道具 举报

 楼主| 发表于 2011-2-2 18:59:29 | 显示全部楼层
除了重复累赘之外,我最要命的是把TargetFilters index="0"里面index="0"定义给漏了,哎,笨死了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 03:28 , Processed in 0.265154 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表