找回密码
 点一下
查看: 4136|回复: 25

[已解决]大家帮忙看看是触发的问题还是游戏BUG

[复制链接]
发表于 2008-5-3 13:38:00 | 显示全部楼层 |阅读模式
各位帮忙看一下这边出什么问题了
PS:之前我在老帖里提出了新问题,可是大家都只注意到了老问题,所以另开一贴说明白一点!


如果使用这个触发
[trigger]
TRghpd
    事件
        时间 - 每 1.00 秒触发事件
    条件
    动作
        设置 buffUnit = ((完整地图区域) 内的所有单位)
        单位组 - 选取 buffUnit 内所有单位做动作
            Loop - 动作
                设置 UNtemp = (选取单位)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (UNtemp 拥有 专注光环 1) 等于 TRUE
                    Then - 动作
                        单位组 - 选取 (半径为 550.00 圆心为 (UNtemp 的位置) 且满足 ((((选取单位) 的类型) 等于 圣骑士) and (((选取单位) 是 (UNtemp 的所有者) 的同盟单位) 等于 TRUE)) 的所有单位) 内所有单位 (如果 ((专注光环 (保留) 的等级对 (选取单位)) 大于 Buffgread) 成立则 (设置 Buffgread = (专注光环 (保留) 的等级对 (选取单位))) 否则 (无动作))
                        单位 - 添加 外壳 (专注) 给 UNtemp
                        单位 - 设置 闪避 ---专注 等级对 UNtemp 为 Buffgread
                        设置 Buffgread = 0
                        单位组 - 清空 (最后创建的单位组) 内所有单位
                    Else - 动作
                        单位 - 删除 外壳 (专注) 从 UNtemp
                单位组 - 把 UNtemp 从 buffUnit 移除
        单位组 - 清空 buffUnit 内所有单位
[/trigger]
那么当英雄的光环等级大于1的时候,其他单位得到的效果只有1级的效果,只有英雄身上的效果是等于光环等级的

如果在变量设置后给单位创建漂浮文字,像下面的触发:

[trigger]
TRghpd
    事件
        时间 - 每 1.00 秒触发事件
    条件
    动作
        设置 buffUnit = ((完整地图区域) 内的所有单位)
        单位组 - 选取 buffUnit 内所有单位做动作
            Loop - 动作
                设置 UNtemp = (选取单位)
                漂浮文字 - 创建漂浮文字: Buffgread 在 (UNtemp 的位置) ,Z轴高度: 100.00 ,字体大小: 10.00 ,颜色值:(100.00%, 0.00%, 100.00%) ,透明度: 35.00%
                漂浮文字 - 设置 (最后创建的漂浮文字) 的移动速率为 120.00 ,方向为 90.00 度
                漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
                漂浮文字 - 隐藏 (最后创建的漂浮文字) 对 (所有符合 ((匹配玩家) 不等于 (UNtemp 的所有者)) 的玩家)
                漂浮文字 - 设置 (最后创建的漂浮文字) 的生命周期为 1.25 秒
                漂浮文字 - 设置 (最后创建的漂浮文字) 的消逝时间点为 0.95 秒
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (UNtemp 拥有 专注光环 1) 等于 TRUE
                    Then - 动作
                        单位组 - 选取 (半径为 550.00 圆心为 (UNtemp 的位置) 且满足 ((((选取单位) 的类型) 等于 圣骑士) and (((选取单位) 是 (UNtemp 的所有者) 的同盟单位) 等于 TRUE)) 的所有单位) 内所有单位 (如果 ((专注光环 (保留) 的等级对 (选取单位)) 大于 Buffgread) 成立则 (设置 Buffgread = (专注光环 (保留) 的等级对 (选取单位))) 否则 (无动作))
                        单位 - 添加 外壳 (专注) 给 UNtemp
                        单位 - 设置 闪避 ---专注 等级对 UNtemp 为 Buffgread
                        设置 Buffgread = 0
                        单位组 - 清空 (最后创建的单位组) 内所有单位
                    Else - 动作
                        单位 - 删除 外壳 (专注) 从 UNtemp
                单位组 - 把 UNtemp 从 buffUnit 移除
        单位组 - 清空 buffUnit 内所有单位  
[/trigger]

那么只有英雄头上能飘出文字来,迷惑中~~~

再提供一个很大的细节:如果周围有英雄,那么几个英雄头上都会飘字出来~~
更令人不解的问题是,如果把触发改成下面这样:

[trigger]
TRghpd
    事件
        时间 - 每 1.00 秒触发事件
    条件
    动作
        设置 buffUnit = ((完整地图区域) 内的所有单位)
        单位组 - 选取 buffUnit 内所有单位做动作
            Loop - 动作
                设置 UNtemp = (选取单位)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (UNtemp 拥有 专注光环 1) 等于 TRUE
                    Then - 动作
                        单位组 - 选取 (半径为 550.00 圆心为 (UNtemp 的位置) 且满足 ((((选取单位) 的类型) 等于 圣骑士) and (((选取单位) 是 (UNtemp 的所有者) 的同盟单位) 等于 TRUE)) 的所有单位) 内所有单位 (如果 ((专注光环 (保留) 的等级对 (选取单位)) 大于 Buffgread) 成立则 (设置 Buffgread = (专注光环 (保留) 的等级对 (选取单位))) 否则 (无动作))
                        单位 - 添加 外壳 (专注) 给 UNtemp
                        单位 - 设置 闪避 ---专注 等级对 UNtemp 为 Buffgread
                        漂浮文字 - 创建漂浮文字: Buffgread 在 (UNtemp 的位置) ,Z轴高度: 100.00 ,字体大小: 10.00 ,颜色值:(100.00%, 0.00%, 100.00%) ,透明度: 35.00%
                        漂浮文字 - 设置 (最后创建的漂浮文字) 的移动速率为 120.00 ,方向为 90.00 度
                        漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
                        漂浮文字 - 隐藏 (最后创建的漂浮文字) 对 (所有符合 ((匹配玩家) 不等于 (Buffgread 的所有者)) 的玩家)
                        漂浮文字 - 设置 (最后创建的漂浮文字) 的生命周期为 1.25 秒
                        漂浮文字 - 设置 (最后创建的漂浮文字) 的消逝时间点为 0.95 秒
                        设置 Buffgread = 0
                        单位组 - 清空 (最后创建的单位组) 内所有单位
                    Else - 动作
                        单位 - 删除 外壳 (专注) 从 UNtemp
                单位组 - 把 UNtemp 从 buffUnit 移除
        单位组 - 清空 buffUnit 内所有单位
[/trigger]
文字还是只在英雄头上出现,但是周围单位能得到一级技能的效果
如果英雄技能大于一级,英雄头上文字变了,但是周围单位还是只有一级效果



多谢各位了,修改成下面这样就木有问题鸟~~

[trigger]
TRghpd
    事件
        时间 - 每 1.00 秒触发事件
    条件
    动作
        设置 buffUnit = ((完整地图区域) 内的所有单位)
        单位组 - 选取 buffUnit 内所有单位做动作
            Loop - 动作
                设置 UNtemp = (选取单位)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (UNtemp 拥有 专注光环 1) 等于 TRUE
                    Then - 动作
                        单位组 - 选取 (半径为 550.00 圆心为 (UNtemp 的位置) 且满足 ((((匹配单位) 的类型) 等于 圣骑士) and (((匹配单位) 是 (UNtemp 的所有者) 的同盟单位) 等于 TRUE)) 的所有单位) 内所有单位 (如果 ((专注光环 (保留) 的等级对 (选取单位)) 大于 Buffgread) 成立则 (设置 Buffgread = (专注光环 (保留) 的等级对 (选取单位))) 否则 (无动作))
                        单位 - 添加 外壳 (专注) 给 UNtemp
                        单位 - 设置 闪避 ---专注 等级对 UNtemp 为 Buffgread
                        设置 Buffgread = 0
                        单位组 - 清空 (最后创建的单位组) 内所有单位
                    Else - 动作
                        单位 - 删除 外壳 (专注) 从 UNtemp
                单位组 - 把 UNtemp 从 buffUnit 移除
        单位组 - 清空 buffUnit 内所有单位
[/trigger]
 楼主| 发表于 2008-5-3 14:29:39 | 显示全部楼层
木有人知道么?
  [s:190]
强烈召唤各位路人,路人头子,以及Renee大人
  [s:196]
神一般的人物啊,快点出现吧~~
回复

使用道具 举报

发表于 2008-5-3 14:56:21 | 显示全部楼层
虽然不知道你想要什么效果 不过有一点是肯定的

单位组 - 选取 buffUnit 内所有单位做动作  其实是一种LOOP 就是“循环-做动作”

然后 这个LOOP才符合条件进行THEN动作1次 你就安排它————单位组 - 清空 (最后创建的单位组) 内所有单位

所以只有一个单位有效 这T感觉怪怪的 你说的错误和我说的符合吗?
回复

使用道具 举报

发表于 2008-5-3 15:00:43 | 显示全部楼层
貌似ls说的不对额
lz的触发里选取单位做动作与清空单位组并没有任何联系吧
回复

使用道具 举报

 楼主| 发表于 2008-5-3 15:01:34 | 显示全部楼层
引用第2楼zh62920于2008-05-03 14:56发表的  :
虽然不知道你想要什么效果 不过有一点是肯定的

单位组 - 选取 buffUnit 内所有单位做动作  其实是一种LOOP 就是“循环-做动作”

然后 这个LOOP才符合条件进行THEN动作1次 你就安排它————单位组 - 清空 (最后创建的单位组) 内所有单位
.......
回楼上,我清空单位组是在LOOP之外,所以应该是循环完了再清空,
如果只循环一次的话,其他单位就不会有效果了
回复

使用道具 举报

traxex 该用户已被删除
发表于 2008-5-3 16:06:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2008-5-3 20:52:43 | 显示全部楼层
引用第5楼traxex于2008-05-03 16:06发表的  :
我看到的,仅是:
'); //-->


还素不明白你到底看到了虾米?
回复

使用道具 举报

发表于 2008-5-3 21:45:39 | 显示全部楼层
If - 条件
(UNtemp 拥有 专注光环 1) 等于 TRUE
Then - 动作
单位组 - 选取 (半径为 550.00 圆心为 (UNtemp 的位置) 且满足 ((((选取单位) 的类型) 等于 圣骑士) and (((选取单位) 是 (UNtemp 的所有者) 的同盟单位) 等于 TRUE)) 的所有单位) 内所有单位 (如果 ((专注光环 (保留) 的等级对 (选取单位)) 大于 Buffgread) 成立则 (设置 Buffgread = (专注光环 (保留) 的等级对 (选取单位))) 否则 (无动作))
单位 - 添加 外壳 (专注) 给 UNtemp
单位 - 设置 闪避 ---专注 等级对 UNtemp 为 Buffgread
设置 Buffgread = 0
单位组 - 清空 (最后创建的单位组) 内所有单位
Else - 动作
单位 - 删除 外壳 (专注) 从 UNtemp
回复

使用道具 举报

traxex 该用户已被删除
发表于 2008-5-3 22:02:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2008-5-4 00:31:30 | 显示全部楼层
引用第8楼traxex于2008-05-03 22:02发表的  :
能告诉我,你想做什么么?
为光环加一种可以升级的技能效果,比如做出可以升级的闪避光环,重击光环等等~~

虽然曾经看过演示,但是他们写的都只有1级,不升级的,而且不用考虑两不同等级光环效果叠加与否的问题
现在做出的这个就出问题了~
回复

使用道具 举报

traxex 该用户已被删除
发表于 2008-5-4 00:47:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2008-5-4 00:55:36 | 显示全部楼层
引用第10楼traxex于2008-05-04 00:47发表的  :
http://gacn.net/bbs/read.php?tid=5140&keyword=
上面那个链接的帖子里的做法,好像是处理了等级的..
恩恩,我研究一下,不过这个触发应该没有问题罢

一直搞不懂为什么创建漂浮文字的时候只有英雄头上才出现~~
回复

使用道具 举报

 楼主| 发表于 2008-5-4 13:50:41 | 显示全部楼层
里面的演示我看了,他是模拟光环

而我要做的是给光环影响的单位加效果

比如,辉煌光环只对有魔法值的单位有效,吸血光环只对近战单位有效,如果用他的系统模拟

所有单位都会加上效果~~~很郁闷!
回复

使用道具 举报

发表于 2008-5-4 13:58:55 | 显示全部楼层
那么做一个判断吧,比如辉煌光环的话判断单位魔法最大值大于0,吸血光环判断单位是近战的
回复

使用道具 举报

traxex 该用户已被删除
发表于 2008-5-4 15:53:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

traxex 该用户已被删除
发表于 2008-5-4 15:55:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2008-5-4 16:09:21 | 显示全部楼层
捕捉近战攻击已经失败好多次了,不过判断是近战攻击单位的话,貌似本来就有这个判断的阿
[codes=jass]constant unittype UNIT_TYPE_MELEE_ATTACKER              = ConvertUnitType(7)[/codes]
回复

使用道具 举报

 楼主| 发表于 2008-5-4 20:50:30 | 显示全部楼层
啊啊,天啊,你们为什么老是这样,还没告诉我我的触发有没有问题,就把概念偷换掉,讨论别的问题鸟~~~

真不知道说什么好了

  [s:186]
回复

使用道具 举报

发表于 2008-5-4 21:20:58 | 显示全部楼层
其它的还没看
首先 选取单位或匹配单位的区别
你知道吗
回复

使用道具 举报

发表于 2008-5-4 21:23:30 | 显示全部楼层
楼上这么一提,倒真是的呢~~
lz貌似选取单位与匹配单位没有区分额………………
选取时判断条件要用匹配单位,枚举单位组内单位做动作要用选取单位
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 20:17 , Processed in 0.101218 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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