找回密码
 点一下
查看: 1816|回复: 8

[已解决] 如何给技能添加伤害效果?

[复制链接]
发表于 2010-10-11 19:30:09 | 显示全部楼层 |阅读模式
比如我想给凤凰战机的引粒子光束这个技能添加一个伤害效果,我在效果里面新建了一个伤害类型的效果,之后应该如何与这个技能联系起来?
发表于 2010-10-11 20:17:06 | 显示全部楼层
每个技能都有效果链,看你想在技能的哪个环节加入伤害的效果了。

一般技能只能触发一个效果,用CEffectSet可以将多个效果同时触发。(在技能的效果列表添加多个效果不会同时生效,而是默认为多级别技能,每个效果对应不同的技能级别时生效。要在特定级别产生多个效果需要Set包容多个效果。)

一般可以这样添加效果,在效果链中增加一个Set,然后将需要的效果和链的下一个效果都放进这个Set。

具体做法是,技能1产生效果A,效果A产生效果B,效果B产生效果C,你想让发生B效果的时候同时发生效果X,则需要添加一个Set类效果Y的。,将效果B,和效果X放进效果Y的效果列表,将效果A中指向效果B的链接修改为指向效果Y的链接。

凤凰战机的引力效果链比较复杂:
GravitonBeam——基础技能效果,类型持续效果
该效果触发后立刻执行GravitonBeamInitialSet(效果集),然后周期性执行效果GravitonBeamPeriodcSet(效果集),执行周期为0.125秒,最大执行80次后结束。

GravitonBeamInitialSet——效果集,释放技能立刻发生1次,包容了4个效果,同时发生。
DisableCasterWeaponsApplyBehavior,添加行为的效果,目标为自身,添加了禁用单位武器的行为,让战机在使用技能期间无法攻击。添加的行为为DisableCasterWeapons。
GravitonBeamUnburrowCancel,命令类效果下令让虫族单位钻出地面。
GravitonBeamUnburrow,同上,应该是组合效果,具体作用不明,也是钻地相关。
GravitonBeamHeightBehavior,添加行为的效果,目标为敌人,将敌人浮空。添加的行为为GravitonBeamHeight

GravitonBeamPeriodcSet——效果集,释放技能后每0.125秒周期发生做大80次,包容了2个效果。
GravitonBeamDummy这个效果其实什么都没有,是一个伤害类型效果,用来让系统显示你的单位一直在攻击目标。(可以直接将这个效果添加伤害,让目标每0.125秒受到一次伤害。
GravitonBeamBehavior添加行为GravitonBeam


相关行为
DisableCasterWeapons,通道类行为,效果为让凤凰战机无法普通攻击。
GravitonBeamHeight,通道类行为,效果是让技能目标浮空。
GravitonBeam,短暂行为,持续时间0.5秒,作用是让目标无法攻击,无法移动,无法施法,无法进行跃迁等各种动作。由于周期释放因此0.125秒内刷新。实际作用为单位落地后0.5秒内无法立刻攻击。


另外有5个相关动作者用来表现这个技能。分别连接了3个模型。
GravitonBeam,持续动画动作者,技能攻击模型,链接模型GravitonBeam,用来表现技能施法时候射出的光束。
GravitonBeamImpact,持续动画动作者,链接模型GravitonBeamImpact,用来表现被技能命中目标身上的光球效果
GravitonBeamRange,射程范围圈动作者,生成三角形围成的圆圈,表现技能施法范围。
GravitonBeamRocker,CActorSite动作者,不知道具体作用,看注释应该是让模型在空中晃动的轴点。
GravitonBeamRocks,持续动画动作者,链接模型GravitonBeamRocks,用来表现被浮起单位周围漂浮的岩石……

模型
GravitonBeam,光束
GravitonBeamImpact,光球
GravitonBeamRocks,岩石


……………………………………

修改建议:
如果你只想释放技能瞬间造成一次伤害,在GravitonBeamInitialSet中添加一个Damage类效果就可以了。
如果你想持续造成伤害,不太在意伤害周期,可以直接修改技能的效果。GravitonBeamDummy为Damage类效果,只不过伤害是0,该效果0.125秒发生一次,最大可执行80次,因此在该效果的战斗,Amount中添加1就是美秒8伤害最多持续10秒,一共80伤害。

由于该技能既有立即效果,也有持续效果,而且都用了Set来包容,因此直接在立即或持续效果Set中添加你想要的效果就可以了,简单有效。

你要是看完我上面的说明,完全理解了这个技能,你可以做更大的修改来满足你的需要。
回复

使用道具 举报

 楼主| 发表于 2010-10-11 22:05:37 | 显示全部楼层

回 1楼(angerking) 的帖子

这么详细的回答远远超过了我的预期,比看教程能学到的都多,非常感谢!
回复

使用道具 举报

发表于 2010-10-11 22:54:13 | 显示全部楼层
加油加油~~
回复

使用道具 举报

发表于 2010-10-12 10:44:59 | 显示全部楼层
angerking 其實應該將自己已往答人問題的回複收錄整理一下做個教程, 因為真的很詳細!
回复

使用道具 举报

发表于 2010-10-12 11:43:31 | 显示全部楼层
mark...仰目angerking
回复

使用道具 举报

发表于 2010-10-12 12:10:04 | 显示全部楼层
加分加分。
回复

使用道具 举报

发表于 2010-10-12 18:21:40 | 显示全部楼层
谢谢捧场。

其实我也只是个初学者,只不过大学学软件的出来的,搞搞编程,看代码比较注重逻辑关系。

其实我还有很多东西不懂需要请教论坛的其他人。

目前是尽量详尽的解答我已经理解的部分,方便大家共同学习,共同进步。
回复

使用道具 举报

发表于 2010-10-12 19:51:46 | 显示全部楼层
别那么拘谨...
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 06:53 , Processed in 0.046872 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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