找回密码
 点一下
查看: 2393|回复: 14

怎么做一个象DOTA的物品循环使用的触发?

[复制链接]
发表于 2008-8-5 15:16:15 | 显示全部楼层 |阅读模式
怎么做一个象DOTA的物品循环使用的触发?
就是释放技能后,不能丢弃,等CD时间好了后,就可以丢弃了
只能搞出来一个用的
--------------------------------------
例:
事件-任意单位释放技能
条件-XX技能
动作-使用的物品不能丢弃
     等待N秒
     物品可以丢弃
----------------------------------------
多人的不行


高手来~
发表于 2008-8-5 15:18:41 | 显示全部楼层
dota现在已经不用这个了,因为1.22修复了物品cd的bug

关于这个以前也讨论过,就是首先把物品的cd与物品作关联,并且关联一个计时器,比如自定义值或者变量数组、缓存

然后使用物品时设置物品不可丢弃,开启关联计时器,计时器到期了恢复
回复

使用道具 举报

 楼主| 发表于 2008-8-5 15:57:56 | 显示全部楼层
我也知道1.22修复了这个CD BUG
但是现在多数还是在玩1.20
能具体发个触发来看下吗?谢
回复

使用道具 举报

发表于 2008-8-5 16:14:54 | 显示全部楼层
我来写的话估计要用J,不知LZ要不要求纯T
回复

使用道具 举报

发表于 2008-8-5 16:19:23 | 显示全部楼层
我写的话也会用到J的,毕竟物品与计时器关联T不好控制
回复

使用道具 举报

 楼主| 发表于 2008-8-5 22:45:19 | 显示全部楼层
J 也行啊,最好加个介绍,谢谢~
回复

使用道具 举报

发表于 2008-8-6 01:30:43 | 显示全部楼层
我只是简单做了一个,方法就是猪头说的

记录CD时间我没用自定义值,因为可能其他触发会用到他,如果没冲突,用自定义值也可以。我用的是数组。

查找物品CD时间,我只是用了顺序查找,如果物品类型较多,而且CD数组在游戏中没有变化(这个一般没什么问题),可以用折半查找。

虽然我这里用的是绑定计时器的方法,但对于物品较多时,我觉得这个方法不是很好,因为这个需要频繁地创建计时器和读写缓存。另一个方法是,使用物品后,把物品和物品CD到达冷却的时间写到一个数组里,然后用一个周期计时器扫描这个数组,把已冷却的物品设置为可丢弃。

物品.w3x

15 KB, 下载次数: 29

回复

使用道具 举报

发表于 2008-8-6 15:13:52 | 显示全部楼层
恩,我觉得ls这样可能会出bug,当物品刷新后再使用会怎么样呢?貌似前一次cd到就会恢复

我觉得应该把timer和物品作双重关联,计时器到期是获取物品,然后通过物品再得到一个计时器,判断是否是同一个计时器,如果是的话就恢复,不是的话就继续等下一个计时器,下面是我修改的版本

物品.w3x (15 KB, 下载次数: 38)

另外,那个使用物品貌似指的是技能结束额,那个乌云号角就是的………………
回复

使用道具 举报

恶声恶气 该用户已被删除
发表于 2008-8-6 16:28:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2008-8-6 16:32:45 | 显示全部楼层
总还是需要的,比如与cd挂钩,如果物品自定义值有了其他用途(确定拥有者之类),那还是需要通过变量
回复

使用道具 举报

 楼主| 发表于 2008-8-20 11:36:04 | 显示全部楼层
都不是解决方案啊
多人时候就不好用了
回复

使用道具 举报

发表于 2008-8-20 12:05:40 | 显示全部楼层
明显支持多人的好不好,真是的
回复

使用道具 举报

发表于 2008-8-20 14:36:16 | 显示全部楼层
这个我可以
回复

使用道具 举报

 楼主| 发表于 2008-9-12 12:38:55 | 显示全部楼层
过了好多天,我终于找出来方法了~
不过也很麻烦,
回复

使用道具 举报

发表于 2008-9-12 14:01:20 | 显示全部楼层
Dota之前的版本也没有用计时器的,只是PolledWait(x)
所以刷新后东西还是不能丢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 06:28 , Processed in 0.075724 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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