找回密码
 点一下
查看: 1319|回复: 9

如何给随机后的英雄注册技能事件

[复制链接]
发表于 2009-3-14 09:31:06 | 显示全部楼层 |阅读模式
我把英雄放在酒馆里,让玩家购买英雄,一般地来说,通过单位-出售单位这个事件,来判断被贩卖的英雄的类型是什么,然后在后面的动作里通过触发器动作添加该英雄的技能事件。
如图
[trigger]
BOSS
    事件
        单位 - 任意单位 出售单位
    条件
        ((被贩卖单位) 是 英雄) 等于 TRUE
        ((被贩卖单位) 的类型) 等于 咒术师
    动作
        单位 - 设置 (被贩卖单位) 的生命值为 100.00%
        单位 - 设置 (被贩卖单位) 的魔法值为 100.00%
        设置 IndexDisplay[(((被贩卖单位) 的所有者) 的玩家索引号)] = (被贩卖单位)
        设置 Herotype[29] = 没有单位类型
        触发器 - 为 OrcZhoushushi <预设> 添加事件: (单位 - 任意单位 死亡)
[/trigger]

但是,我的随机英雄 是用随机整数 herotype[X] 来做的,在输入一个命令以后 为触发玩家创建一个类型为herotypex的英雄

但是这样一来如何才能给被随到的英雄注册技能事件?难道又要另外写触发?有没有其他较妙的办法?
发表于 2009-3-14 10:43:20 | 显示全部楼层
随机到的和出售的区别仅仅是一个捕捉该英雄的方式不一样而已
回复

使用道具 举报

发表于 2009-3-14 11:34:21 | 显示全部楼层
恩,创建的同时注册就行了
回复

使用道具 举报

发表于 2009-3-14 13:22:31 | 显示全部楼层
任意单位进入地图游戏区域事件。
判断进入的单位是否为英雄就可以了。
即使您用随机函数创建。一样也可以触发这个事件的。
回复

使用道具 举报

 楼主| 发表于 2009-3-14 14:51:31 | 显示全部楼层
哈哈  楼上正解

我就是觉得有个什么途径  但是一时又想不到,实在头脑不太聪明
只要把贩卖单位这个事件改成 任意单位进入某区域就可以了。。。哈哈 搞定
回复

使用道具 举报

发表于 2009-3-14 17:53:12 | 显示全部楼层
明明你在创造单位的时候直接可以注册刚创造的单位~~

当然如果你用单位进入地图的话方便统一~~也不是坏事~~
回复

使用道具 举报

发表于 2009-3-14 17:57:20 | 显示全部楼层
也许楼主并不希望去修改原来创建单位的逻辑。
从另外的事件注入可以不需要修改原来的触发(假设类似的动作存在于较多个触发器中)。
这样就能减少需要修改的代码量吧。
如果不用的时候直接禁止该触发或者删除即可。
回复

使用道具 举报

 楼主| 发表于 2009-3-14 20:23:12 | 显示全部楼层
完了。。。出问题了

我改成  当某单位进入某区域以后,和个区域也就是英雄刚买出来或者创建出来的区域
判断英雄的类型
动作注册英雄的死亡事件和技能事件

但是我发现问题出来了,如果这个英雄第一次出来以后 触发了该动作,但是再出区域 如果一旦再进入区域,就会触发两次
按照理论 应该添加两次事件

也就是该英雄死亡的事件被注册了2次,当该英雄死亡的时候。。。发现出来了2个计时器。。。

要怎么办啊?

PS:如果运行一次就关闭触发的话,那么要重选英雄怎么办?重选的话 英雄被删除了 但是技能事件已经被注册了。。。难道就让他注册了。。。。其实也不影响什么东西饿。。。但是总觉得不太完美
回复

使用道具 举报

发表于 2009-3-14 20:29:35 | 显示全部楼层
你可以加个单位组,触发事件时判断单位不在单位组里才注册并加入单位组
回复

使用道具 举报

发表于 2009-3-14 20:50:49 | 显示全部楼层
您不必选择某个区域,选择可用的游戏区域应该就可以了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 18:22 , Processed in 0.042842 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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