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

这个刷怪为什么会一直卡卡的

[复制链接]
发表于 2011-12-7 23:57:35 | 显示全部楼层 |阅读模式
这个是我做刷怪得核心部分触发,为什么怪刷出来的时候,一直都是卡卡的,哪怕预读了也是卡的
在我没有给单位做添加技能这个动作的时候不卡,加上了给单位添加技能之后就一直卡卡的,求高手给予解决方法啊
[trigger]
未命名触发器 274
    事件
    条件
    动作
        单位组 - 选取 A277[3] 内所有单位做动作
            Loop - 动作
                设置 A279[2] = ((选取单位) 的自定义值)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        A275[A279[2]] 等于 5
                        (A278[A279[2]] 的剩余时间) 等于 0.00
                    Then - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 1) and (A279[2] 小于或等于 20)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 强盗 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 21) and (A279[2] 小于或等于 27)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cff00ff00强盗队长 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 28) and (A279[2] 小于或等于 35)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 强盗术士 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 36) and (A279[2] 小于或等于 36)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cffc850c8李自成 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[9] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[10] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 37) and (A279[2] 小于或等于 53)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cff00ff00大白狼 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 54) and (A279[2] 小于或等于 57)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cffffff00红狼 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[9] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[10] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 58) and (A279[2] 小于或等于 75)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 山贼 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 76) and (A279[2] 小于或等于 89)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cff00ff00山贼弓箭手 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 90) and (A279[2] 小于或等于 101)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cff00ff00山贼队长 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 102) and (A279[2] 小于或等于 109)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cffc850c8山贼巫术师 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[9] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A279[2] 大于或等于 110) and (A279[2] 小于或等于 110)
                            Then - 动作
                                设置 A273[1] = (新建 中立敌对 的 |cffffff00宋江 在 A274[A279[2]] 面向角度:A276[A279[2]] 度)
                                设置 A279[8] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[9] = (随机整数,最小值: 1 最大值: 48)
                                设置 A279[10] = (随机整数,最小值: 1 最大值: 48)
                            Else - 动作
                        单位 - 设置 A273[1] 的自定义值为 A279[2]
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                任一条件成立
                                    条件
                                        A279[8] 小于或等于 3
                                        A279[9] 小于或等于 3
                                        A279[10] 小于或等于 3
                            Then - 动作
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        任一条件成立
                                            条件
                                                A279[8] 等于 1
                                                A279[9] 等于 1
                                                A279[10] 等于 1
                                    Then - 动作
                                        设置 A279[4] = (8 + ((A273[1] 的等级) / 10))
                                    Else - 动作
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        任一条件成立
                                            条件
                                                A279[8] 等于 2
                                                A279[9] 等于 2
                                                A279[10] 等于 2
                                    Then - 动作
                                        设置 A279[5] = 35
                                    Else - 动作
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        任一条件成立
                                            条件
                                                A279[8] 等于 3
                                                A279[9] 等于 3
                                                A279[10] 等于 3
                                    Then - 动作
                                        设置 A279[11] = ((转换 (生命值 对于 A273[1]) 为整数) / 2)
                                        For A01[300] 从 1 到 17, 做动作
                                            Loop - 动作
                                                如果所有条件成立则做动作1,否则做动作2
                                                    If - 条件
                                                        A279[11] 大于或等于 A14[(18 - A01[300])]
                                                        (A279[11] mod A14[(18 - A01[300])]) 大于或等于 0
                                                    Then - 动作
                                                        设置 A279[11] = (A279[11] - A14[(18 - A01[300])])
                                                        单位 - 添加 A6[(18 - A01[300])] 给 A273[1]
                                                    Else - 动作
                                                        单位 - 删除 A6[(18 - A01[300])] 从 A273[1]
                                    Else - 动作
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                A279[8] 大于或等于 1
                            Then - 动作
                                单位 - 添加 A280[A279[8]] 给 A273[1]
                                设置 A281[A279[2]] = A279[8]
                                单位 - 设置 A280[A279[8]] 等级对 A273[1] 为 (1 + ((A273[1] 的等级) / 5))
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                A279[9] 大于或等于 1
                            Then - 动作
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        任一条件成立
                                            条件
                                                A279[9] 等于 A279[8]
                                                A279[9] 等于 A279[10]
                                    Then - 动作
                                        设置 A279[9] = 0
                                    Else - 动作
                                        设置 A282[A279[2]] = A279[9]
                                        单位 - 添加 A280[A279[9]] 给 A273[1]
                                        单位 - 设置 A280[A279[9]] 等级对 A273[1] 为 (1 + ((A273[1] 的等级) / 5))
                            Else - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                A279[10] 大于或等于 1
                            Then - 动作
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        任一条件成立
                                            条件
                                                A279[10] 等于 A279[9]
                                                A279[10] 等于 A279[8]
                                    Then - 动作
                                        设置 A279[10] = 0
                                    Else - 动作
                                        设置 A283[A279[2]] = A279[10]
                                        单位 - 添加 A280[A279[10]] 给 A273[1]
                                        单位 - 设置 A280[A279[10]] 等级对 A273[1] 为 (1 + ((A273[1] 的等级) / 5))
                            Else - 动作
                        设置 A275[A279[2]] = 0
                        单位 - 设置      敌人天生闪避 (中立敌对 100%) 等级对 A273[1] 为 ((转换 B8[5] 为整数) + A279[4])
                        单位 - 设置    魔法伤害减少100级 等级对 A273[1] 为 ((转换 B8[6] 为整数) + A279[5])
                        设置 A279[4] = 0
                        设置 A279[5] = 0
                        设置 A279[8] = 0
                        设置 A279[9] = 0
                        设置 A279[10] = 0
                        单位组 - 添加 A273[1] 到 A277[2]
                        单位组 - 把 (选取单位) 从 A277[3] 移除


                    Else - 动作
[/trigger]
 楼主| 发表于 2011-12-8 00:03:50 | 显示全部楼层
这个刷怪刷出来的怪有的能够有随机的技能,可是添加这个技能的时候好像会卡那么一下,实在是没有办法解决了,求人指导!
回复

使用道具 举报

发表于 2011-12-8 00:09:26 | 显示全部楼层
没有一个排泄,能不卡吗
回复

使用道具 举报

 楼主| 发表于 2011-12-8 00:24:27 | 显示全部楼层
  [s:174]

楼上大姐大,这段有哪里需要排泄的么。。。。。。
没有点的创建,单位组效果,什么都木有![s:174]

请问我是不是要把整数给吃了

我这个是定点的刷怪的核心部分,刷出来的怪物设置后可有1~3个随机的技能,问题是刷出来的时候要卡那么1~2秒时间,好像应该是技能添加的时候卡的
回复

使用道具 举报

发表于 2011-12-8 00:54:13 | 显示全部楼层
把那些技能做下预读处理
回复

使用道具 举报

发表于 2011-12-8 00:54:30 | 显示全部楼层
好吧其实刚才打瞌睡我没仔细看啦,因为一般很多人都是排泄没好然后问这种问题,习惯了都

不过我现在也没仔细看,因为触发实在太长了,一条触发判断这么多东西

你先禁用添加技能的触发,看看卡顿能解决没

能的话新开一条触发添加技能,应该会好点
回复

使用道具 举报

 楼主| 发表于 2011-12-8 10:33:15 | 显示全部楼层
实际上我这个是怪最初在哪(这个包括面向度等等),然后就在哪开始刷出来,和最开始的一样。
不过不一样的就是怪物能够获得1~3个随机的技能。那个随机数1~48就是48个技能的随机值。不过1~3技能是最特殊的3个技能,所以另外做的添加效果

部分技能
[trigger]
        设置 A280[1] = 疾风:物理闪避增加
        设置 A280[2] = 寡妇:魔法抗性提高
        设置 A280[3] = 强壮:生命值提高
        设置 A280[4] = 不死:能够重生
        设置 A280[5] = 光芒:能够群体恢复生命
        设置 A280[6] = 冰冻:攻击中有几率冰冻(时间长)
        设置 A280[7] = 冷血:会释放减速
        设置 A280[8] = 剑仙:能够召唤大面积攻击的剑
        设置 A280[9] = 剑刃:会使用刀风剑刃
        设置 A280[10] = 噬血:能够汲取生命
        设置 A280[11] = 复仇:对近身物理攻击反弹
        设置 A280[12] = 女神:能够释放治愈之光
        设置 A280[13] = 妖术:会妖术
        设置 A280[14] = 嫉妒:增加生命恢复
[/trigger]

另外经过text,发现不给单位添加技能就不卡,一添加就卡。。。。。。。
到底是随机数引起添加的技能卡,还是直接添加技能的时候卡!
而且做了预读貌似也没有改善多少!
[trigger]
未命名触发器 280
    事件
        时间 - 游戏开始 1.50 秒
    条件
    动作
        For A01[5] 从 27 到 35, 做动作
            Loop - 动作
                单位 - 添加 A7[A01[5]] 给  魔力 0070 <预设>
                For A01[6] 从 1 到 30, 做动作
                    Loop - 动作
                        单位 - 设置 A7[A01[5]] 等级对  魔力 0070 <预设> 为 A01[6]
                单位 - 删除 A7[A01[5]] 从  魔力 0070 <预设>
        等待 1.00 秒游戏时间
        For A01[5] 从 1 到 48, 做动作
            Loop - 动作
                单位 - 添加 A280[A01[5]] 给  魔力 0070 <预设>
                For A01[6] 从 1 到 10, 做动作
                    Loop - 动作
                        单位 - 设置 A280[A01[5]] 等级对  魔力 0070 <预设> 为 A01[6]
                单位 - 删除 A280[A01[5]] 从  魔力 0070 <预设>
        等待 1.50 秒游戏时间
        For A01[5] 从 1 到 12, 做动作
            Loop - 动作
                单位 - 添加 A1[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A1[A01[5]] 从  魔力 0070 <预设>
        等待 0.50 秒游戏时间
        For A01[5] 从 1 到 14, 做动作
            Loop - 动作
                单位 - 添加 A2[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A2[A01[5]] 从  魔力 0070 <预设>
        等待 0.50 秒游戏时间
        For A01[5] 从 1 到 14, 做动作
            Loop - 动作
                单位 - 添加 A3[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A3[A01[5]] 从  魔力 0070 <预设>
        等待 0.50 秒游戏时间
        For A01[5] 从 1 到 14, 做动作
            Loop - 动作
                单位 - 添加 A4[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A4[A01[5]] 从  魔力 0070 <预设>
        等待 0.50 秒游戏时间
        For A01[5] 从 1 到 14, 做动作
            Loop - 动作
                单位 - 添加 A5[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A5[A01[5]] 从  魔力 0070 <预设>
        等待 0.80 秒游戏时间
        For A01[5] 从 1 到 17, 做动作
            Loop - 动作
                单位 - 添加 A6[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A6[A01[5]] 从  魔力 0070 <预设>
        等待 0.80 秒游戏时间
        For A01[5] 从 1 到 17, 做动作
            Loop - 动作
                单位 - 添加 A7[A01[5]] 给  魔力 0070 <预设>
                单位 - 删除 A7[A01[5]] 从  魔力 0070 <预设>
        自定义代码: call DestroyTrigger( GetTriggeringTrigger() )
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2011-12-8 11:00:07 | 显示全部楼层
还忘记说了,我整个游戏的技能有400个以上,貌似光预读都要卡老半天
[s:166] [s:166]
回复

使用道具 举报

 楼主| 发表于 2011-12-8 11:30:29 | 显示全部楼层
解决了,把所有的有关东西都预读一遍就行了!!!!!!!!!
回复

使用道具 举报

 楼主| 发表于 2011-12-8 18:00:57 | 显示全部楼层
[s:166] [s:166]

话说楼上同学= =!
哪里不合理了。。。。。。
求指教
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 22:17 , Processed in 0.052025 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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