找回密码
 点一下
查看: 1329|回复: 4

做了个T的反弹技能 但是出现BUG。。。

[复制链接]
发表于 2010-2-10 23:05:02 | 显示全部楼层 |阅读模式
[trigger]
JC
    事件
        单位 - 任意单位 被攻击
    条件
    动作
        触发器 - 为 JC 复制 <预设> 添加事件: (单位 - (被攻击单位) 接受伤害)
[/trigger]
[trigger]
JC 复制
    事件
    条件
        ((触发单位) 拥有 尖刺 ) 等于 TRUE
    动作
        Set JIANCI[(((触发单位) 的所有者) 的玩家索引号)] = (单位所受伤害)
        Set ZFC[(((触发单位) 的所有者) 的玩家索引号)] = (转换 JIANCI[(((触发单位) 的所有者) 的玩家索引号)] 为字符串)
        漂浮文字 - 创建漂浮文字: ZFC[(((触发单位) 的所有者) 的玩家索引号)] 在 (触发单位)的头顶, Z轴偏移 0.00,字体大小: 10.00 ,颜色值:(100.00%, 100.00%, 100.00%) ,透明度: 0.00%
        单位 - 命令 (触发单位) 对 (伤害来源) 造成 (转换 ZFC[(((触发单位) 的所有者) 的玩家索引号)] 为实数) 点伤害,攻击类型: 普通 伤害类型: 普通
[/trigger]
字符串显示正确 但是伤害却要累加 谁能告诉我为什么。。
发表于 2010-2-10 23:43:07 | 显示全部楼层
伤害是必然累加的....
LZ想想,每当单位受到攻击时,就向触发器2添加一次伤害接受事件,而且这个事件是一直存在的,那么在触发器2中就存在了无数条一个单位的接受伤害事件,而对于每一次事件都会做出一次相应的动作,那么不就形成了伤害的叠加么....
要想不叠加的话,在地图初始化时就将该单位注册一次就好了,也就是

事件:地图初始化
动作:触发器 - 为 触发器2  添加事件: (单位 - (XXX单位) 接受伤害)
仅此...

PS:我是懒人....
回复

使用道具 举报

发表于 2010-2-11 01:19:10 | 显示全部楼层
http://bbs.islga.org/read-htm-ti ... AC%D7%A2%B2%E1.html
http://bbs.islga.org/read-htm-ti ... AC%D7%A2%B2%E1.html
动态注册的示例

如果是针对单人使用,就在选择英雄后为其注册一个受伤事件
用伤害来源和触发单位来筑构一下就行了

DOTA人马的3技能可以参照下
但是DOTA人马的3技能反伤是发生于前摇之前

事件-一个单位受到攻击
条件-受攻击的单位的X技能等级 不等于 0
动作-
回复

使用道具 举报

发表于 2010-2-11 06:58:49 | 显示全部楼层
引用楼主dljjyt2008于2010-02-10 23:05发表的 做了个T的反弹技能 但是出现BUG。。。 :
[trigger]
JC
    事件
        单位 - 任意单位 被攻击
    条件
.......

LZ的触发里有个隐含的Bug。
就是如果两个有尖刺的家伙任何一个攻击对方。
此触发会直接陷入无限循环。
解决方法是在单位伤害的动作上面加上关闭当前触发。
在伤害动作之后开启当前触发。
回复

使用道具 举报

发表于 2010-2-11 09:55:47 | 显示全部楼层
引用第3楼血戮魔动冰于2010-02-11 06:58发表的  :


LZ的触发里有个隐含的Bug。
就是如果两个有尖刺的家伙任何一个攻击对方。
此触发会直接陷入无限循环。
.......

DOTA刃甲发来贺电
曾经的死循环
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 03:21 , Processed in 0.046514 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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