找回密码
 点一下
查看: 1934|回复: 6

如何实现触发技能多单位同时施放

  [复制链接]
发表于 2008-7-28 18:15:41 | 显示全部楼层 |阅读模式
我想大家应该都知道,触发技能多数都是有一个大大的问题的!那就是不能多单位同时施放!
一旦多单位同时施放,就要出笑话。我还是举个例子吧!首先设计一个叫做“连减三次血”的触发技能。
-----------------------------------------------------------------------------------------------------------------------------
事件:任意单位开始施放魔法
条件:施放的魔法 等于 “连减三次血”
动作:设置单位变量a=施法单位
      设置单位变量b=技能施放目标
      命令 单位变量a  对 单位变量b  造成200点伤害      “第一次减血”
      等待5秒
      命令 单位变量a  对 单位变量b  造成200点伤害      “第二次减血”
      等待5秒
      命令 单位变量a  对 单位变量b  造成200点伤害      “第三次减血”
      注释:所以叫“连减三次血”!
-----------------------------------------------------------------------------------------------------------------------------
如果说只有一个单位拥有该技能,且技能CD大于15秒,那么不会出任何BUG的。正如那些RPG那样,一种触发技能只出现在一个单位(一般是英雄)手里,又有CD作保障,自然没什么可说的。但是如果是CD小于等待时间或者多个单位都拥有同一种触发技能呢???

这里我们只讨论后者。

一个熊猫:“哈哈!我刚从师父Xino Snake那里学了一招叫‘连减三次血’!”
一个剑圣:“切!有什么了不起?我早就会了!”
熊猫:“什么?我的技能你也有?要不咱们比试比试?看看谁的更厉害?”
剑圣:“我让着你,你先出招吧!(嘿嘿!)”
熊猫二话不说就放招。剑圣立刻减掉了200血。心里想:“先出招就占上风!”
还没等熊猫反应过来,剑圣也出招了。十几秒钟过后,剑圣还是仅仅减掉了原先掉的那200点血,而熊猫呢?竟然死了!

我曾想用一种累加变量的算法解决,但没能想出。希望高手给予帮助。
可以用Jass。

连减三次血.w3x

18 KB, 下载次数: 11

演示

发表于 2008-7-28 18:20:59 | 显示全部楼层
使用ReturnBUG+Timer+GameCache+局部变量。
Over。详情可以参阅JASS教程或者DOTA未加密地图(到教学资料区找或搜索)
回复

使用道具 举报

发表于 2008-7-28 18:27:45 | 显示全部楼层
要解决这个技能,如果要求不高的话,直接用局部变量就好了

连减三次血.w3x (18 KB, 下载次数: 29)
回复

使用道具 举报

发表于 2008-7-28 18:30:06 | 显示全部楼层
局部变量是解决一切的关键呢。。。。
回复

使用道具 举报

发表于 2008-7-28 18:54:51 | 显示全部楼层
等5秒............用jass比较好 连减三次血.w3x (20 KB, 下载次数: 11)   
回复

使用道具 举报

 楼主| 发表于 2008-7-29 10:23:16 | 显示全部楼层
哦,原来是这样!谢谢诸位!
回复

使用道具 举报

发表于 2008-7-29 20:16:05 | 显示全部楼层
你连减3次哺乳放个毒镖-.-
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 12:58 , Processed in 0.057341 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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