找回密码
 点一下
查看: 1850|回复: 12

靠进单位无法使用技能

[复制链接]
发表于 2012-7-21 19:42:03 | 显示全部楼层 |阅读模式
怎么让一个有特定技能的单位靠近敌方后无法发动技能,也就是把原来的技能换掉。我原来想用动态注册,写到 条件就不知怎么下手来了,貌似也搜索不出神马大胆,便发帖提问,求大神们回答~~~
发表于 2012-7-21 20:08:50 | 显示全部楼层
不用动态注册,每X秒检测一遍XX范围内的敌军,有特定技能就替换.
回复

使用道具 举报

 楼主| 发表于 2012-7-21 20:27:08 | 显示全部楼层
替换成不可用的技能图标后,换不回来了!
[trigger]ANSHA
    事件
        时间 - 每当游戏逝去 0.50 秒
    条件
    动作
        逆天<YDWE> - 设置 [单位组] loc_SG = ((完整地图区域) 内满足 ((暗杀  的等级对 (匹配单位)) 大于或等于 1) 的所有单位)
        单位组 - 选取 (loc_SG) 内所有单位做动作
            Loop - 动作
                逆天<YDWE> - 设置 [单位] loc_GU = (选取单位)
                单位组 - 选取 (半径为 500.00 圆心为 ((loc_GU) 的位置) 且满足 ((((匹配单位) 是 建筑) 等于 FALSE) 且 ((((匹配单位) 处于死亡状态) 等于 FALSE) 且 (((匹配单位) 是 ((loc_GU) 的所有者) 的同盟单位) 等于 FALSE))) 的所有单位) 内所有单位做动作
                    Loop - 动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                                (((loc_GU) 的位置) 和 ((选取单位) 的位置) 之间的距离) 小于或等于 500.00
                            Then - 动作
                                单位 - 删除 暗杀  从 (loc_GU)
                                单位 - 添加 暗杀(|cffff0000不可用|r)  给 (loc_GU)
                            Else - 动作
                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                    If - 条件
                                        (暗杀(|cffff0000不可用|r)  的等级对 (loc_GU)) 大于或等于 1
                                    Then - 动作
                                        单位 - 删除 暗杀(|cffff0000不可用|r)  从 (loc_GU)
                                        单位 - 添加 暗杀  给 (loc_GU)
                                    Else - 动作
                        点 - 清除 ((选取单位) 的位置)
                        点 - 清除 ((loc_GU) 的位置)
        单位组 - 删除 (最后创建的单位组)
        单位组 - 删除 (loc_SG)
[/trigger]
回复

使用道具 举报

发表于 2012-7-21 20:39:47 | 显示全部楼层
  注册单位进入范围也可以实现。
回复

使用道具 举报

 楼主| 发表于 2012-7-21 20:47:18 | 显示全部楼层
那个单位怎么选取啊,用触发添加条件?那样支持多人吗
回复

使用道具 举报

发表于 2012-7-21 20:59:52 | 显示全部楼层
话说既然是选取了500范围内单位,为什么你还要判断距离呢,直接判断单位组是否为空就好了啊.

你把这个条件改掉试试.总觉得怪怪的
回复

使用道具 举报

发表于 2012-7-21 21:29:03 | 显示全部楼层
如果技能是用通魔做的……解法就方便多了……
回复

使用道具 举报

 楼主| 发表于 2012-7-21 22:48:58 | 显示全部楼层

回 hydralisk 的帖子

hydralisk:话说既然是选取了500范围内单位,为什么你还要判断距离呢,直接判断单位组是否为空就好了啊.

你把这个条件改掉试试.总觉得怪怪的 (2012-07-21 20:59)
如果不加后面那个条件,全图的有那技能单位都会无法使用技能吧
回复

使用道具 举报

发表于 2012-7-21 23:03:53 | 显示全部楼层
既然能选取到,距离肯定小于500啊....再判断一次距离,不是多此一举么
回复

使用道具 举报

 楼主| 发表于 2012-7-22 11:09:37 | 显示全部楼层
还是不行了,试了几个,一个是有了那个不可用技能的图标,但是突然可以学习那个可用的技能...
第二个是没反应~~(也就是没有替换..)
回复

使用道具 举报

发表于 2012-7-22 11:24:59 | 显示全部楼层
好吧,你的触发器问题是选取单位组SG的时候,有错误,只选取有技能的,但是没技能的就不选上了,自然加不回来技能了
回复

使用道具 举报

 楼主| 发表于 2012-7-22 13:04:50 | 显示全部楼层
好吧,我是煞得可以了,触发在此,求修改
[trigger]ANSHA1
    事件
        时间 - 每当游戏逝去 0.50 秒
    条件
    动作
        逆天<YDWE> - 设置 [单位组] loc_SG = ((完整地图区域) 内满足 ((暗杀  的等级对 (匹配单位)) 大于或等于 1) 的所有单位)
        单位组 - 选取 (loc_SG) 内所有单位做动作
            Loop - 动作
                逆天<YDWE> - 设置 [单位] loc_GU = (选取单位)
        单位组 - 选取 (半径为 500.00 圆心为 ((loc_GU) 的位置) 且满足 ((((匹配单位) 是 建筑) 等于 FALSE) 且 ((((匹配单位) 处于死亡状态) 等于 FALSE) 且 (((匹配单位) 是 ((loc_GU) 的所有者) 的同盟单位) 等于 FALSE))) 的所有单位) 内所有单位做动作
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((最后创建的单位组) 中的单位数量) 不等于 0
                    Then - 动作
                        单位 - 删除 暗杀  从 (loc_GU)
                        单位 - 添加 暗杀(|cffff0000不可用|r)  给 (loc_GU)
                    Else - 动作
                        不做任何动作
                点 - 清除 ((选取单位) 的位置)
                点 - 清除 ((loc_GU) 的位置)
[/trigger]
[trigger]ANSHA2
    事件
        时间 - 每当游戏逝去 0.50 秒
    条件
    动作
        逆天<YDWE> - 设置 [单位组] loc_SG = ((完整地图区域) 内满足 ((暗杀(|cffff0000不可用|r)  的等级对 (匹配单位)) 大于或等于 1) 的所有单位)
        单位组 - 选取 (loc_SG) 内所有单位做动作
            Loop - 动作
                逆天<YDWE> - 设置 [单位] loc_GU = (选取单位)
        单位组 - 选取 (半径为 500.00 圆心为 ((loc_GU) 的位置) 且满足 ((((匹配单位) 是 建筑) 等于 FALSE) 且 ((((匹配单位) 处于死亡状态) 等于 FALSE) 且 (((匹配单位) 是 ((loc_GU) 的所有者) 的同盟单位) 等于 FALSE))) 的所有单位) 内所有单位做动作
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((最后创建的单位组) 中的单位数量) 不等于 0
                    Then - 动作
                        不做任何动作
                    Else - 动作
                        单位 - 删除 暗杀  从 (loc_GU)
                        单位 - 添加 暗杀(|cffff0000不可用|r)  给 (loc_GU)
                点 - 清除 ((选取单位) 的位置)
                点 - 清除 ((loc_GU) 的位置)
[/trigger]
回复

使用道具 举报

发表于 2012-7-22 13:06:56 | 显示全部楼层
逆天 - 设置 [单位组] loc_SG = ((完整地图区域) 内满足 ((暗杀 的等级对 (匹配单位)) 大于或等于 1) 的所有单位)  用个 OR 条件不就行了,,为什么要分成2个写
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 12:23 , Processed in 0.031822 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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