Project1

标题: 有没有办法屏蔽地图上的并行事件 [打印本页]

作者: 寒凌天    时间: 2019-12-18 00:36
标题: 有没有办法屏蔽地图上的并行事件
本帖最后由 寒凌天 于 2019-12-18 00:40 编辑

由于该款游戏是业余人士开发出来的,参与开发的人水平参差不齐,导致游戏里包含大量的类似截图中这种“他们自以为没事,但因为循环事件导致极耗资源”的情况比比皆是,数不胜数。

有没有办法一次性屏蔽地图上所有循环中的并行事件,并在我需要的时候继续回复循环?就等于弄两个方法,调用一个是暂停循环的,调用另一个是恢复循环的。

900多个地图,事件太多,改地图不现实,能不能从脚本上入手?

补充说明:最好是能从可以识别地图“事件出现条件”的,只屏蔽如截图中这样没有任何事件出现条件的。(不然屏蔽了有条件的可能会卡剧情)

QQ图片20191218003302.png (607.07 KB, 下载次数: 6)

QQ图片20191218003302.png

作者: 灯笼菜刀王    时间: 2019-12-18 10:34
在 Game_Event 脚本里,  找到 这段, 加上红色部分的内容试试, 位置在108行(莫妮卡汉化版本1.03)

        # 确认独立开关条件
        if c.self_switch_valid
          key = [@map_id, @event.id, c.self_switch_ch]
          if $game_self_switches[key] != true
            next
          end
        end
       if page.trigger == 4 and [c.self_switch_valid,c.variable_valid,
        c.switch2_valid,c.switch1_valid].any? {|i| i == false}
          next if !$game_switches[10086]
        end

        # 设置本地变量 new_page
        new_page = page
        # 跳出循环
        break

加上的内容是, 当页面是并行处理, 且出现的条件为 无 的时候, 额外增加一个开关条件, 打开这个开关才会启动这个页面

注意用脚本操作开关的时候要刷新地图才会让它改变, 原因可以查看事件解释器的开关操作




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1