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

野外刷怪的触发..请高手们进来帮忙看看哪里出问题..

[复制链接]
发表于 2010-7-21 21:50:02 | 显示全部楼层 |阅读模式
这是参照朋友给的一个演示做的刷野怪触发.....

普通刷怪没什么问题....

问题是某些技能(比方说点金术)杀死野怪不留下尸体的时候..野怪就不会刷新..

不知道是哪里出了问题..所以上来请教一下..

1.
[trigger]
FB bianliang
    事件
        时间 - 当游戏逝去 2.00 秒
    条件
    动作
        单位组 - 选取 ((可用地图区域) 内满足 (((((匹配单位) 是存活的) 等于 TRUE) 且 (((匹配单位) 是 英雄) 等于 FALSE)) 且 (((匹配单位) 的所有者) 等于 中立敌对)) 的所有单位) 内所有单位做动作
            Loop - 动作
                Set FB_DANWEI[N] = (选取单位)
                Set FB_DANDIAN[N] = (FB_DANWEI[N] 的位置)
                Set FB_LEIXING[N] = (FB_DANWEI[N] 的类型)
                Set N = (N + 1)
        Set FB_MAX = N
[/trigger]


2.
[trigger]
FB
    事件
        单位 - 中立敌对 的单位 死亡
    条件
    动作
        循环动作[N]从 0 到 FB_MAX, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
                    If - 条件
                        (触发单位) 等于 FB_DANWEI[N]
                    Then - 动作
                        Set FB_SHUA[N] = 10
                    Else - 动作
[/trigger]


3.
[trigger]
FB shua
    事件
        时间 - 每当游戏逝去 1.00 秒
    条件
    动作
        循环动作[N]从 0 到 FB_MAX, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
                    If - 条件
                        FB_SHUA[N] 大于或等于 0
                    Then - 动作
                        Set FB_SHUA[N] = (FB_SHUA[N] - 1)
                    Else - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
                    If - 条件
                        FB_SHUA[N] 等于 0
                    Then - 动作
                        单位 - 创建 1 个 (FB_LEIXING[N]) 给 中立敌对 在 FB_DANDIAN[N] ,面向角度为 (随机实数,最小值: 1.00 最大值: 360.00) 度
                        Set FB_DANWEI[N] = 最后创建的单位 <New>
                    Else - 动作
[/trigger]
发表于 2010-7-21 22:06:17 | 显示全部楼层
回复

使用道具 举报

发表于 2010-7-21 22:09:06 | 显示全部楼层
http://bbs.islga.org/read.php?tid=17915
为了方便观看,请贴触发,不要贴图片。
回复

使用道具 举报

 楼主| 发表于 2010-7-21 22:26:04 | 显示全部楼层
终于贴好触发了..
回复

使用道具 举报

发表于 2010-7-21 23:05:43 | 显示全部楼层
不知道你这个触发为什么要这么些,我感觉还是有点麻烦了,我刚刚试了下(不是你这个触发),用点金术杀死的中立单位可以随机刷出来。

http://bbs.islga.org/read.php?tid=26527#320212
回复

使用道具 举报

发表于 2010-7-22 08:16:41 | 显示全部楼层
哎,这个触发有点粗糙了

主要原理
一开始记录所有的野怪到记录系统
中立单位死了判断是记录中的哪个,把该单位的对应变量设为10
每秒循环,把对应变量如果大于零就减去1,如果等于0,就算怪

但是刷怪据捕获死亡有10秒钟的时间!怎么还引用单位变量,他可能已经被系统删除了,正常死亡会变尸体,所以删除的慢,但是点金没有尸体,被杀单位很快就被删除了。
话说 FB_LEIXING[N] 怎么不用。。。

把  单位 - 创建 1 个 (FB_DANWEI[N] 的类型) 给 中立敌对 在 FB_DANDIAN[N] ,面向角度为 (随机实数,最小值: 1.00 最大值: 360.00) 度
中的FB_DANWEI[N] 的类型换成FB_LEIXING[N]

另外,你的计数器是每隔9秒的,当那个关键变量=1的时候,减去1变成0,紧接着就会参加下面的=0的判断。不过没啥大不了的。
回复

使用道具 举报

发表于 2010-7-22 09:33:52 | 显示全部楼层
好吧,编辑掉。
回复

使用道具 举报

 楼主| 发表于 2010-7-22 10:07:46 | 显示全部楼层

回 5楼(lala_future) 的帖子

谢谢了..已经弄好了..
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 00:17 , Processed in 0.229849 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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