找回密码
 点一下
查看: 875|回复: 2

模拟了一下舰载机,虽然有效果,但是在触发几次后开始变卡

[复制链接]
发表于 2019-1-10 17:16:47 | 显示全部楼层 |阅读模式
可能需要该一下条件,然而我这个老年人看不出来=-=
以下是触发文本
舰载机——齐柏林
    事件
        事件[YDWE] - 任意单位 接受伤害
    条件
        ((伤害来源) 的类型) 等于 齐柏林伯爵
        (单位所受伤害是攻击伤害) 等于 TRUE
        (((伤害来源) 所持有的 基础舰载机) 的使用次数) 大于或等于 3
    动作
        逆天[YDWE] - 设置 [单位] loc_chufa = (伤害来源)
        逆天[YDWE] - 设置 [单位] loc_mubiao = (触发单位)
        逆天[YDWE] - 设置 [点] loc_chufapoi = ((loc_chufa) 的位置)
        逆天[YDWE] - 设置 [单位组] loc_gro = (新建的空单位组)
        逆天[YDWE] - 设置 [整数] loc_CS = (((loc_chufa) 所持有的 基础舰载机) 的使用次数)
        循环动作[循环整数A]从 1 到 3, 运行 (Loop - 动作)
            Loop - 动作
                逆天[YDWE] - 立即运行 (新建的计时器) 时间设置: 0.25 秒,是否循环: 一次性
                    参数
                    动作
                        循环动作[循环整数A]从 1 到 3, 运行 (Loop - 动作)
                            Loop - 动作
                                逆天[YDWE] - 设置 [单位] loc_majia = (新建 ((loc_chufa) 的所有者) 的 飞行机器 在 (loc_chufapoi) 面向角度:0 度)
                                单位组 - 为 (loc_gro) 添加 (loc_majia)
                        点 - 清除 (loc_chufapoi)
                        物品 - 设置 ((loc_chufa) 所持有的 基础舰载机) 的使用次数为 ((loc_CS) - 1)
                        逆天[YDWE] - 设置 [整数] loc_CS = ((loc_CS) - 1)
                        单位组 - 选取 (loc_gro) 内所有单位做动作
                            Loop - 动作
                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                    If - 条件
                                        (((loc_gro) 中的单位数量) 大于 0) 且 (((loc_gro) 中的单位数量) 小于 10)
                                    Then - 动作
                                        逆天[YDWE] - 设置 [单位] loc_xuanqu = (选取单位)
                                        单位 - 对 (loc_xuanqu) 发布 攻击 命令到目标: (loc_mubiao)
                                        逆天[YDWE] - 注册 (新建触发)
                                            事件
                                                时间 - 每当游戏逝去 0.10 秒
                                                单位 - (loc_mubiao) 接受伤害
                                            参数
                                            动作
                                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                                    If - 条件
                                                        (伤害来源) 等于 (loc_xuanqu)
                                                    Then - 动作
                                                        逆天[YDWE] - 立即运行 (新建的计时器) 时间设置: 0.10 秒,是否循环: 循环
                                                            参数
                                                            动作
                                                                逆天[YDWE] - 设置 [点] loc_chufapoi = ((loc_chufa) 的位置)
                                                                逆天[YDWE] - 设置 [点] loc_xuanqupoi = ((loc_xuanqu) 的位置)
                                                                单位 - 对 (loc_xuanqu) 发布 移动 命令到目标点: (loc_chufapoi)
                                                                逆天[YDWE] - 设置 [实数] loc_JL = ((loc_xuanqupoi) 和 (loc_chufapoi) 之间的距离)
                                                                点 - 清除 (loc_chufapoi)
                                                                点 - 清除 (loc_xuanqupoi)
                                                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                                                    If - 条件
                                                                        (loc_JL) 小于或等于 100.00
                                                                    Then - 动作
                                                                        单位组 - 为 (loc_gro) 删除 (loc_xuanqu)
                                                                        单位 - 删除 (loc_xuanqu)
                                                                        物品 - 设置 ((loc_chufa) 所持有的 基础舰载机) 的使用次数为 ((loc_CS) + 1)
                                                                        逆天[YDWE] - 设置 [整数] loc_CS = ((loc_CS) + 1)
                                                                        逆天[YDWE] - 清除当前逆天计时器
                                                                    Else - 动作
                                                    Else - 动作
                                    Else - 动作
                                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                            If - 条件
                                                (loc_CS) 等于 0
                                            Then - 动作
                                                任务 - 对 (转换 ((loc_chufa) 的所有者) 为玩家组) 发送 警告 信息: 舰载机可派遣...
                                            Else - 动作
                        逆天[YDWE] - 清除当前逆天计时器
发表于 2019-1-15 10:36:37 | 显示全部楼层
逆天[YDWE] - 注册 (新建触发)
事件
时间 - 每当游戏逝去 0.10 秒
动作
逆天[YDWE] - 立即运行 (新建的计时器) 时间设置: 0.10 秒,是否循环: 循环

这是说每0.1秒都创建一个每0.1秒循环的计时器?
这样可能10秒后就有了1000个计时器了……
为什么要把伤害事件和计时器循环事件放一起啊。
而且你每次伤害事件都会注册新的触发,这样你触发十次之后,就有了十个触发
然后每次技能都会重复触发十次,这也是卡的原因。
解决方法:
用变量储存创建的计时器,每次创建的时候都删除之前创建的计时器。
用变量储存创建的触发,每次创建的时候都删除之前创建的触发。

总的来说,你还没有理解触发器和计时器的正确用法,不要随便使用YDWE的所谓“逆天“功能,尤其是动态注册和创建计时器的功能……

点评

_(:з」∠)_我这是第一次用注册做技能,以前没试过做太麻烦的  详情 回复 发表于 2019-1-19 16:22
回复

使用道具 举报

 楼主| 发表于 2019-1-19 16:22:07 | 显示全部楼层
希瓦 发表于 2019-1-15 10:36
逆天[YDWE] - 注册 (新建触发)
事件
时间 - 每当游戏逝去 0.10 秒

_(:з」∠)_我这是第一次用注册做技能,以前没试过做太麻烦的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 19:17 , Processed in 0.179529 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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