找回密码
 点一下
查看: 1072|回复: 7

类似于DOTA的助杀系统是怎样做的求解?

[复制链接]
发表于 2010-1-19 19:09:45 | 显示全部楼层 |阅读模式
貌似是 那个英雄死了后 谁对他产生了伤害的玩家都记录了下来  这个 不清楚 是怎么做的 有谁会做 帮忙做个教程 也让偶学习一下 - -|||
发表于 2010-1-19 19:16:58 | 显示全部楼层
这个的话不就是动态注册嘛……搜索动态注册之类的就好啦。btw虽然话说我觉得对目标单位是否施法比较准确……
回复

使用道具 举报

发表于 2010-1-19 19:19:27 | 显示全部楼层
http://bbs.islga.org/read-htm-ti ... AC%D7%A2%B2%E1.html
这玩意,就是T动态注册伤害事件的,然后再把伤害来源单位加入某单位组,然后就如此这般。
回复

使用道具 举报

发表于 2010-1-19 20:51:33 | 显示全部楼层
这个倒不需要动态注册,只要英雄出现在游戏中就添加英雄受到伤害事件到一个预设的触发器就行
然后建立1个实数数组DamageTime,每次英雄受到伤害,就设置DamageTime[受到伤害的单位的所有者的玩家编号*12+伤害来源的所有者的玩家编号]等于当前游戏时间

然后在英雄死亡时从受到伤害的单位的所有者的玩家编号*12开始,到受到伤害的单位的所有者的玩家编号*12+12结束扫描DamageTime数组,如果哪个值大于当前游戏时间减去助攻允许延迟(比如6秒内造成伤害都算助攻)就算助攻成功
回复

使用道具 举报

发表于 2010-1-19 21:10:52 | 显示全部楼层
对了……dota里面非伤害性法术算不算助攻呢……
回复

使用道具 举报

发表于 2010-1-19 21:31:08 | 显示全部楼层
似乎最早的时候只有伤害事件才能计入助攻,但现在好像很完善了,比如圣堂刺客的陷阱(只有减速)之类(暂时想不起来了,肯定还有这类例证)也会记入

个人猜测是施法事件也会监测计入
(我还遇到过Zeus一道g,还没产生伤害人就死了,但有助攻;当然也可以解释为静电场造成伤害的原因)
回复

使用道具 举报

发表于 2010-1-19 21:42:26 | 显示全部楼层
减速(陷阱那个)本来就有0伤害事件
回复

使用道具 举报

发表于 2010-1-19 22:31:22 | 显示全部楼层

回 6楼(libla) 的帖子

是么?我不清楚,印象中这个是女巫减速模板啊

印象中还有别的例证,暂时想不起来了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-22 08:31 , Processed in 0.048636 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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