魔兽地图吧's Archiver

feelerly 发表于 2008-2-21 14:36

【代码】新!强大的伤害显示系统 [自由调整伤害]

==============================================================================================
最完美的伤害显示系统
==============================================================================================
做了好几天, 终于把这个要合的东西做完了.经过自己的排泄漏处理,已经相当完美了.
当然,这个系统只是做为偶回合制系统中的一个部分, 发上来给大家分享一下!
由于这些采用了数据类型判断系统,在运行速度上可能要慢一些,但不会对游戏产生多少影响的.
这次是据上次发布的伤害显示系统进行了改进,增加了附加伤害运算方法与因素.运算方式就是乘
或加法运算. 因素就是伤害来源所必须的一件条件,只有伤害来源的因素正确时,才可能产生附加伤害.
比如,附加伤害的因素为:玩家1,就是说,伤害来源必须是玩家1的单位.或者伤害因素是一个单位组.
那么,伤害来源必须是这个单位组中的单位,否则不产生附加伤害效果.
当然,还有很多,但没有必要做过多的说明,附有演示图一张.不懂的可以看看演示图中的效果.
补充一下调用"玩家单位伤害显示"用代码:
[jass] call ShowDamageForPlayerUnit( 指定玩家, 开启/关闭 显示, 附加伤害值, 运算方式, 附加伤害因素 )
// 让玩家1的单位瑞受到玩家2单位攻击时, 受到10的伤害加成:
call ShowDamageForPlayerUnit( Player(0), true, 10, 0, Player(1) )
// 运算方法只有0和1, 0为加法运算, 1为乘法运算. 附加伤害因素须为handle类型数据, 可以为null.
// 如果附加伤害因素为null则默认为任何伤害来源都能对指定目标造成伤害加成.
[/jass]
调用"指定单位伤害显示"代码:
[jass] call ShowDamageForUnit( 指定单位, 开启/关闭 显示, 附加伤害值, 运算方式, 附加伤害因素 )
// 让一个单位Hero受到任何单位攻击时, 减少10%的伤害:
call ShowDamageForUnit( udg_Hero, true, -0.10, 1, null )
// 除了指定单位外,其他设置基本上与"玩家显示伤害"一样的.
// 如果附加伤害因素为null则默认为任何伤害来源都能对指定目标造成伤害加成.
[/jass]
好了, 不多说了, 可以下载试试效果, 目前支持的附加伤害因素类型有:单位,单位组,物品,玩家,玩家组,地区,区域
单位因素就素指伤害来源必须为指定单位.
单位组因素就是指伤类来源须在指定的单位组中.
物品因素是指伤害来源须持有某个物品.
玩家与玩家组就是伤害来源的所属玩家必须等于指定玩家或在指定的玩家组中.
地区与区域就是伤害来源必须在指定地区或区域内.
以上因素任意满足其中之一后,附加伤害的效果才能产生,否则不运行伤害附加.
这样做虽然会降低附加伤害的计算精确度,但可以实现伤害自由定制,是做技能伤害,捕捉伤害的最佳方案.

[attach]122784[/attach]

[attach]122785[/attach]

[[i] 本帖最后由 feelerly 于 2009-1-5 22:21 编辑 [/i]]

jiwalv 发表于 2008-2-21 14:55

这麽复杂- -下来看看效果如何。

jiwalv 发表于 2008-2-21 14:59

。。。米看懂,为何攻击会被miss掉- -

feelerly 发表于 2008-2-21 15:41

回LS

那昌因为当伤害值小于0.04时,四舍五入,显示的伤害很很怪异~所以用个Miss打发了~

堕落圣童 发表于 2008-2-21 17:40

下来看看-0-

七夜的瞳 发表于 2008-2-21 19:56

很好 很强大  不过文本的注释都很不错的说- -

lafeng 发表于 2008-2-21 20:18

回帖是一种美德,好帖要大家顶的

Trevors 发表于 2008-2-22 20:00

-O-...不错不错

ewdlop 发表于 2008-2-23 20:23

回帖是一种美德,咱们一定要顶上去的

shingoscar 发表于 2008-2-23 20:45

无论如何,这次注释的颜色看来是可以了。

hmpy886 发表于 2008-2-23 22:49

回复 楼主 的帖子

very good

悬崖乐马 发表于 2008-2-26 11:23

学习一下,额。

『小灬狼』 发表于 2008-2-27 21:14

学习了~~~

Kohki 发表于 2008-3-15 14:34

回帖是一种美德。何况这么好的东东

lina 发表于 2008-3-18 14:28

不错,不错!

宇宙黑洞 发表于 2008-3-18 15:08

又有新版本了. 说实话不太明白为什么这么多人在研究伤害显示系统, 这个系统有什么实际用处吗?

ahro 发表于 2008-3-18 19:00

这麽复杂- -下来看看效果如何。!~!~

jedimwind 发表于 2008-3-22 00:28

回帖是一种美德,咱们一定要顶上去的

qq544686167 发表于 2008-3-25 22:46

顶个~~~~~~~~~~~~~~~!

qq544686167 发表于 2008-3-25 22:47

汗``想下载智力不够~~~!

hyl879 发表于 2008-4-3 12:31

很强大呀
支持。

风雪夜 发表于 2008-4-3 18:09

很不错
支持~~~~

o396401809 发表于 2008-4-4 02:16

*** 作者被禁止或删除 内容自动屏蔽 ***

112223123 发表于 2008-4-7 11:26

强大的系统,顶一个:$

风雪夜 发表于 2008-4-7 12:03

。。。顶贴 学习

xiao1590 发表于 2008-4-18 13:56

域就是伤害来源必须在指定地区或区域内.
以上因素任意满足其中之一后,附加伤害的效果才能产生,否则不运行伤害附加.

鬼和尚 发表于 2008-4-18 17:18

运行速度  看看  不知道怎么样  要是还是可用地图区域  感觉。。。。
不知道是不是我的电脑 该淘汰了
:'(

as19821022 发表于 2008-5-24 23:48

回帖是一种美德,咱们一定要顶上去的回帖是一种美德,咱们一定要顶上去的

as19821022 发表于 2008-5-24 23:49

回帖是一种美德,咱们一定要顶上去的回帖是一种美德,咱们一定要顶上去的回帖是一种美德,咱们一定要顶上去的

as19821022 发表于 2008-5-25 00:41

学习学习学习学习学习学习学习学习学习学习

592957277 发表于 2008-5-27 16:44

还不够啊,你没看我都负了啊````:Q

tk66456 发表于 2008-5-29 13:43

支持一下.!

2517420 发表于 2008-6-19 16:05

thtc怎么不让下了~

wyn719943 发表于 2008-6-24 19:41

回帖是一种美德,好帖要大家顶的

wyn719943 发表于 2008-6-24 19:41

回帖是一种美德,好帖要大家顶的

huang911118 发表于 2008-7-26 20:05

求得就是这个

a1s2d3f4win 发表于 2008-8-2 14:39

LZ牛人,支持

剑魔 发表于 2008-8-2 14:49

为了地图,拼了..

KMT007 发表于 2008-8-4 13:40

让我侃侃先

lychello 发表于 2008-8-14 21:35

能否让数字有大小变化呢

页: [1] 2

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.