找回密码
 点一下
查看: 3002|回复: 27

打打草稿……(好吧其实我很没把握)

[复制链接]
发表于 2010-10-13 23:04:10 | 显示全部楼层 |阅读模式
团结(抱团的天朝战士可以得到极大的加强,每个天朝战士可以为周围的天朝战士提供2%的攻击与防御加成)
(貌似能做可叠加光环?给周围的单位添加Buff而已,叠加没问题啊)
急救包(天朝战士为了应对各种情况而携带了几乎能处理任何伤口的医疗器械,他们能就地为队友开展手术——以每秒钟10点的速度为一个队友治疗,无法同时治疗同一个单位(最大的问题是该怎么阻止其他小兵围着一个傻看着,或者说优先攻击敌人))
(学魔兽……给被治疗的单位+个Buff,不过验证器到底怎么一回事啊……最近没啥研究,忙着考试了……)

诶诶诶……感觉这个大坑我怎么一辈子也填不满啊……
发表于 2010-10-14 09:09:04 | 显示全部楼层
第一个技能,我做过类似的,我有发过一张地图,里面异化虫的特殊天赋“集群性”,你可以看看,具体效果是每只异化虫为周围半径3以内的异化虫提供2%攻击速度和移动速度加成

第二个,在自动释放的验证器上做做功夫吧……我不知道有没有验证单位正被治疗的,不过医护兵也可能存在这个问题啊,看看暴雪是怎么做的吧
回复

使用道具 举报

发表于 2010-10-14 09:12:51 | 显示全部楼层
记得很久以前我试过,就算被验证了它们也一样发呆,不知道现在如何
回复

使用道具 举报

发表于 2010-10-14 09:13:37 | 显示全部楼层
用验证器就可以做到了~
给被治疗的一个单位追加一个行为DeBuff,然后用验证器判断目标单位是否存在这个行为Debuff。
如果存在,则不去执行相关的Effect。把入口Effct或者自动执行的Abil验证关闭即可。

验证器用这个子类便可:CValidatorUnitCompareBehaviorCount
需设定的节点有:

Compare:设定比较类型。一共有5种:>、>=、<、<=、=
Value:设定比较的值。
&#8658;这里我们只需要判定是否有这个行为Behavior,不关心它具有多少层,因此设定 大于等于1就好了。

Behavior:设定要比较的行为Behavior的ID名称。
&#8658;这里就是要设定被治疗的一个单位追加一个那个行为DeBuff的ID名称了。

WhichUnit:设定判定以上设定的单位是哪个?
&#8658;默认值为目标者,不填写也可以~为了明确子类的应用,所以在这里明确的说一下。

下面是一个XML的例子,对照编辑器看看如何设定吧。
  <CValidatorUnitCompareBehaviorCount id="TargetHave_XXX">
        <Compare value="GE"/>
        <Behavior value="XXX"/>
        <Value value="1"/>
        <WhichUnit Value="Target"/>
    </CValidatorUnitCompareBehaviorCount>
回复

使用道具 举报

发表于 2010-10-14 09:27:24 | 显示全部楼层
再说一下“团结”的制作吧~所谓光环叠加方法有很多,常见的方法有这样2种:
1.做一个很多层的行为BehaviorBuff,如:256层。每层增加一些特效。
2.用系统标准(个人理解)的光环资源设定用的行为子类CBehaviorPowerSource、CBehaviorPowerUser来做。

下面我简单说一下第二种方法,个人认为会是很好的实现方式之一。
首先给你的设定单位加一个CBehaviorPowerSource所做成的行为Behavior。设定好它的影响范围Radius。

其次再给每个单位加一个CBehaviorPowerUser。其中设定以下几个节点。
PowerLink:设定之前已给单位加上的CBehaviorPowerSource的ID名称,做好关联。

PowerStageArray-MinPowerLevel:默认为0,也就是0层。
PowerStageArray-Modification:设定好每层所提供的特效。
&#8658;如果你需要n层,且每层效果不一样的话,依次设定吧。(体力活,嘿嘿~)
回复

使用道具 举报

发表于 2010-10-14 09:45:36 | 显示全部楼层
1,做法,做一个buff,这个buff产生周期性效果,这个效果是一个范围效果,这个范围效果会给范围内的友方目标增加另一个增益效果buff2。buff2提高单位战斗力。buff2设置为多层效果,将buff1的触发周期设置和buff2周期相同则可以1个单位的时候只有1层buff,2个单位的时候有两层buff。

CBehaviorBuff  B1(永久持续-周期效果):
CBhaviorBuff_PeriodicEffect E1
CBehaviorBuff_Period T(与b2的Duration相同即可)

CEffectEnumArea E1(范围搜索-增益效果):
CEffectEnumArea_AreaArray_Arc 360(角度,正面360度角,全角度)
CEffectEnumArea_AreaArray_Effet E2
CEffectEnumArea_AreaArray_Radius x(你的光环范围)
CEffectEnumArea_ExcludeArray_Vale Caster(将自身排除,1个单位的时候不产生加成效果)

CEffectApplyBehavior E2(增加行为):
CEffectApplyBehavior_Behavior B2

CBehaviorBuff 2(短暂持续-修改单位属性):
CBehaviorBuff_MaxStackCount  n(你的单位最多套几层buff)
CBehaviorBuff_MaxStackCountPerCaster 0(这个你应该用不到,如果你设定释放周期较短,持续时间较长,一个单位就能给周围单位加好几层buff,这个限制每个释放者对其他人的buff层数。)
CBehaviorBuff_Duration T (持续时间)
CBehaviorBuff_Modification这个随便你设定了,修改单位属性


扩展:如果设置最大层数为100,每个释放者对一个单位最多套10层,套buff周期为5秒,buff持续时间为100秒。
然后设置一个3个不同的buff效果,设置3个需求,Buff A需要B2有10层,Buff B需要B2有50层,Buff C需要B2有100层。B2无任何效果。

这样产生的效果是:
当两个单位靠近,50秒后两个单位都能获得Buff A的强化。
当6个单位相互靠近后,10秒内所有单位都能获得Buff A强化。 50秒后所有单位都能获得Buff B强化。
当11个单位相互靠近后,5秒内所有单位都能获得Buff A强化。 25秒后所有单位都能获得Buff B强化。50秒后所有单位都能获得Buff C强化。
要获得Buff A需要两个以上单位【前提CEffectEnumArea_ExcludeArray_Vale Caster(将自身排除,1个单位的时候不产生加成效果)】(没排除自身则1个)
要获得Buff B需要6个以上单位,(没排除自身则5个)
要获得Buff C需要11个以上单位,(没排除自身则10个)
相互靠近的单位越多获得效果的速度越快。





2,验证器能验证buff数有个BehaviorCount的验证器。你可以给单位添加验证器,在自动释放里面添加,添加你的buff计数=0的要求,也就是单位没有buff的时候才会自动释放。
回复

使用道具 举报

发表于 2010-10-14 10:03:26 | 显示全部楼层

回 5楼(angerking) 的帖子

逆向思路也可以做~用个BT方法吧~~~我经常使用的方法~嘿嘿
虽说BT,实际上是最便捷的方法。

前提条件:
&#8658;一般来讲这样的光环是肯定需要上限的,假设我们这个“团结”的层数叠加为5层。也就是最多只能有5个增益Buff。

思路:

验证器中也有一个区域枚举,可以计算出在某个区域中存在某种单位的个数。利用这个验证器,作为增益行为的开关。
当X单位大于1小于2时,开启增益行为Level1
当X单位大于2小于3时,开启增益行为Level2
当X单位大于3小于4时,开启增益行为Level3
当X单位大于4小于5时,开启增益行为Level4
当X单位大于5时,开启增益行为Level5

当然我们需要设定5个行为的说~不过可以继承哦~验证器的设定也可以继承使用的~这样的设定非常便于维护
回复

使用道具 举报

发表于 2010-10-14 10:20:01 | 显示全部楼层
引用第4楼chilled于2010-10-14 09:27发表的  :
再说一下“团结”的制作吧~所谓光环叠加方法有很多,常见的方法有这样2种:
1.做一个很多层的行为BehaviorBuff,如:256层。每层增加一些特效。
2.用系统标准(个人理解)的光环资源设定用的行为子类CBehaviorPowerSource、CBehaviorPowerUser来做。

下面我简单说一下第二种方法,个人认为会是很好的实现方式之一。
.......
对Power类型没有研究,目前自己做的光环还是行为-周期范围效果-添加行为的模式。

仔细看了下Power类行为,貌似是光环+光环使用者的模式,和我的行为+范围效果的模式有些区别,例如行为可以通过设定持续时间来延缓离开光环和进入光环后的效果作用范围。也可以通过Remove等效果对光环进行控制,例如受到攻击的时候移除一层buff。

Power类行为能更简单的实现一般光环效果,可以设定不同单位收到相同光环后受到不同的影响,可以设定单位对应不同的光环层数有不同的战斗效果,研究透彻后应该能够完成更加华丽的光环效果。

目前使用上Buff+Area的模式能给所有单位产生影响,Power模式只能对有PowerUser属性的单位有效果,目前没找到跨越敌我盟友的目标选项,理论上只能对同Player生效。

Power更适用于只作用于自己单位,复杂,多技能影响的光环。Buff+Area模式适用于大量跨玩家,对所有类型单位产生影响的光环。
例如楼主要求的自己单位在一起增加战斗力用Power可以。
如果要求盟友站一起增加战斗力,或者两挺重机枪能更快的对敌人打出压制效果,Buff+Area模式可能就更好了。
回复

使用道具 举报

发表于 2010-10-14 10:23:21 | 显示全部楼层
个人觉得楼主应该把标题修改下,改成:“多层次光环研究”或者是“如何添加多层效果的光环”。

楼主这个标题根本没法搜索,以后查资料会麻烦死。
回复

使用道具 举报

发表于 2010-10-14 10:34:43 | 显示全部楼层
引用第7楼angerking于2010-10-14 10:20发表的  :

目前没找到跨越敌我盟友的目标选项,理论上只能对同Player生效。

.......
这个请问确认过吗?
如果没记错和自身、盟友、敌对没什么关系。只和行为+单位中的Link有关的说~
回复

使用道具 举报

发表于 2010-10-14 13:57:56 | 显示全部楼层
作为天朝怎能没有河蟹技能呢
回复

使用道具 举报

发表于 2010-10-14 19:11:42 | 显示全部楼层
治疗那个validator限制,真的有用吗?你们试过?
回复

使用道具 举报

发表于 2010-10-14 19:29:26 | 显示全部楼层
你们都写的太好了,让我烦恼怎么个加分法
回复

使用道具 举报

发表于 2010-10-14 19:38:49 | 显示全部楼层
这个头像看起来比较有气质的说~
回复

使用道具 举报

发表于 2010-10-14 20:29:37 | 显示全部楼层
如果我的Editor没出Bug,那么我猜测Auto Cast会是一下这样:

Auto Cast依据情况不同必须分为【无目标Auto Cast】&【Attack Auto Cast】
Validator在被Auto Cast使用时,依据情况不同必须分为【无目标Validator】&【有目标Validator】,例如【Cast】&【Target】
另外,Validator无论是放在Auto Cast Validator还是放在第一个Effect上面,对于Auto Cast而言几乎都是一样的,只是对于主动释放而言,就有了【能与不能】的区别

Auto Cast的发动流程是分情况的:
1.【无目标Auto Cast】→Auto Cast Validator→Auto Cast→Effect Validator→发动技能
2.【Attack Auto Cast】与上面不同,这里还要分情况
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;①【无目标Validator】→Auto Cast Validator→Auto Cast→Effect Validator→发动技能
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;②【有目标Validator】→Auto Cast→Auto Cast Validator→Effect Validator→发动技能

如这个过程所表达的,Auto Cast并不带表发动技能,而介于发动与未发动之间,类似于【技能发动距离不够,但却指定了目标】的状态


也可以看出,Validator放在Auto Cast Validator还是放在第一个Effect上面,对于【无目标Auto Cast】&【Attack Auto Cast】而言,虽然结果不同,但是过程却有影响:
【放在Auto Cast Validator】:【无目标Auto Cast】中,不会进入Auto Cast,那个类似【技能发动距离不够,但却指定了目标】的状态
【放在第一个Effect上面】:【无目标Auto Cast】也会进入Auto Cast,那个类似【技能发动距离不够,但却指定了目标】的状态
而无论哪种情况【Attack Auto Cast】一定会进入类似【技能发动距离不够,但却指定了目标】的状态

于是②就出问题了,就算Auto Cast Validator不允许,依然要进入Auto Cast阶段,但却永远进不了【发动技能】的阶段,这也就是所谓的治疗排队现象,其实是Auto Cast的问题。会导致这种流程不同的原因,大概是Validator的效率问题吧,【无目标Validator】的效率优于【有目标Validator】,或者是故意安排的,满足医疗运输机的需求。


思维有点混乱,有错误请指正
回复

使用道具 举报

发表于 2010-10-14 20:34:21 | 显示全部楼层
这里所有Validator都会导致【不满足条件,无法发动】
回复

使用道具 举报

发表于 2010-10-14 21:10:01 | 显示全部楼层
哦哦哦哦,刚才我说的现象都没有错,只不过有个地方要勾一下

Ability - Target 有个选项【Ability - Acquire Attackers】,医疗船是Enabled

如果只是要满足LZ的需求,只需要将这个选项改为Disabled就可以了

换句话说,如果是Enabled,就会进入【Attack Auto Cast】模式
回复

使用道具 举报

 楼主| 发表于 2010-10-14 22:48:50 | 显示全部楼层
啊,真是谢谢了……考试完了立刻就把这俩弄了……
回复

使用道具 举报

发表于 2010-10-14 23:42:43 | 显示全部楼层
Stats - Maximum Stack Count    10
Stats - Maximum Stack Count Per Caster    1

抱团这个技能要求呢,主要体现在Stats - Maximum Stack Count Per Caster,这个表示每个Caster添加的Buff最多能叠加几层

顺带修改了运输机


例子附上

123.SC2Map

23 KB, 下载次数: 13

回复

使用道具 举报

发表于 2010-10-16 17:44:57 | 显示全部楼层
强贴 Mark下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 19:15 , Processed in 0.197770 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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