查看: 4136|回复: 10

[已经解决] 请问一下公共事件只要不并行处理就不怕多?

[复制链接]
梦石
0
星屑
2019
在线时间
940 小时
注册时间
2015-10-26
回帖
293

开拓者

发表于 2015-11-12 17:52:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 踢腿水上飘 于 2015-11-12 18:30 编辑

我准备试验用公共事件来做书本阅读系统……具体就是 书本做成物品,然后使用效果是公共事件显示滚动文字……
但是书本很多……这样公共事件也会很多,我看帖子都说公共事件并行处理太多的话会很卡很卡,我想问下我设成正常触发是不是就不会有这种严重后果了 - -!
还有就是公共事件显示的图片怎么才能控制它消失掉?
我设了分歧条件,按下C的时候图片消失 都没用啊,图片一出来就不消失了,设60帧后消失也行,但是我想要可以控制它消失呀

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2015-11-12 19:14:07 | 显示全部楼层
硬要说的话太多确实会卡,但一般正常RM个数上限以内的公共事件都不用担心

你的分歧条件是怎么设置的?

点评

我看过VA的脚本了,中间使用了正则过滤  发表于 2015-11-13 11:56
http://rm.66rpg.com/forum.php?mod=viewthread&tid=193372 这是以前某人研究出来的结果  发表于 2015-11-13 11:56
是啊,但是VA并没有这么做,VA检测公共事件仍然是整个公共事件列表跑一遍。然而,正常情况下999个公共事件并不会有太严重的影响  发表于 2015-11-13 11:55
判断数据库里并行事件的trigger是0无 1并行 2自动。载入的时候如果做一下正则就能把所有的为0的全部不载入,就能减少很多刷新量  发表于 2015-11-13 11:53
那么,你觉得系统是怎么判断上万个公共事件中哪个是并行或者自动的?  发表于 2015-11-13 11:36
回复

使用道具 举报

梦石
0
星屑
2019
在线时间
940 小时
注册时间
2015-10-26
回帖
293

开拓者

 楼主| 发表于 2015-11-12 19:30:37 | 显示全部楼层
喵呜喵5 发表于 2015-11-12 19:14
硬要说的话太多确实会卡,但一般正常RM个数上限以内的公共事件都不用担心

你的分歧条件是怎么设置的? ...

那啥,RM上限是多少,默认的是10个……一本书一个的话肯定不够撒- -
如果一本书一个公共事件的话怎么也要几十个公共事件吧

分歧条件我这么设的……
111.jpg

点评

谢谢了,这下不担心了  发表于 2015-11-13 12:05
正常的添加公共事件,没有使用破限脚本的话,都没问题  发表于 2015-11-13 11:12
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-11-12 23:54:06 | 显示全部楼层
踢腿水上飘 发表于 2015-11-12 19:30
那啥,RM上限是多少,默认的是10个……一本书一个的话肯定不够撒- -
如果一本书一个公共事件的话怎么也要 ...

·显示图片:————
·等待5帧
·循环
  等待1帧
  条件分歧:按下【下】时
    消除图片
    跳出循环
  结束
结束
回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2015-11-13 07:23:52 | 显示全部楼层
使用一个控制图片消失的并行公共事件就好。
公共事件是支持嵌套的。
显示图片1 你需要的文件
显示图片1 你需要的文件【此时图片会被弄掉】
。。。。
RMXP和RMVX都有公共事件引起的地图拖沓现象。
用这个来解决吧。
https://rpg.blue/forum.php?mod=viewthread&tid=193372
回复

使用道具 举报

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2015-11-13 11:57:36 | 显示全部楼层
精灵使者 发表于 2015-11-13 07:23
使用一个控制图片消失的并行公共事件就好。
公共事件是支持嵌套的。
显示图片1 你需要的文件

代码说明一切
  1.   #--------------------------------------------------------------------------
  2.   # ● 检测/设置自动执行的公共事件
  3.   #--------------------------------------------------------------------------
  4.   def setup_autorun_common_event
  5.     event = $data_common_events.find do |event|
  6.       event && event.autorun? && $game_switches[event.switch_id]
  7.     end
  8.     @interpreter.setup(event.list) if event
  9.     event
  10.   end
复制代码

点评

我找到了,看回复  发表于 2015-11-13 12:29
如果找到了就知会我一声,我更新一下我自己的脚本  发表于 2015-11-13 12:23
等等喵呜,你找找那里,有没有类似于我那个脚本的地图事件初始化的地方  发表于 2015-11-13 12:21
这个find是在每次update时执行的,假设没有公共事件需要执行时,每次update需要遍历一边全部事件来检查触发条件是否满足  发表于 2015-11-13 12:19
VA的思路比我的思路做了更加进一步优化:即使是自动/并行运行的事件,如果开关为关的情况下也不会进入刷新列表。  发表于 2015-11-13 12:11
回复

使用道具 举报

梦石
0
星屑
2019
在线时间
940 小时
注册时间
2015-10-26
回帖
293

开拓者

 楼主| 发表于 2015-11-13 12:04:00 | 显示全部楼层

@cinderelmini

我的计划是做个书样子的图片,上面有内容,但是有些书要用左右翻页,又可以随时退出
请问这种事件要怎么设置呢?- -
循环这个我直接看晕了………………求帮忙设置下,比方说一个书本有4页内容,我用4张图片1,2,3,4 来显示
这要怎么做呢?
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2015-11-13 12:19:39 | 显示全部楼层
https://rpg.blue/thread-383019-1-1.html
偷偷摸摸安利下自己的事件脚本

点评

这个感觉甚好啊,我来试试  发表于 2015-11-13 12:28

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2015-11-13 12:28:23 | 显示全部楼层
本帖最后由 精灵使者 于 2015-11-13 12:30 编辑
喵呜喵5 发表于 2015-11-13 11:57
代码说明一切
  1.   #--------------------------------------------------------------------------
  2.   # * Event Setup
  3.   #--------------------------------------------------------------------------
  4.   def setup_events
  5.     @events = {}
  6.     @map.events.each do |i, event|
  7.       @events[i] = Game_Event.new(@map_id, event)
  8.     end
  9.     @common_events = parallel_common_events.collect do |common_event|
  10.       Game_CommonEvent.new(common_event.id)
  11.     end
  12.     refresh_tile_events
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # * Get Array of Parallel Common Events
  16.   #--------------------------------------------------------------------------
  17.   def parallel_common_events
  18.     $data_common_events.select {|event| event && event.parallel? }
  19.   end
复制代码
这是event的初始化部分……很明显已经被过滤
其中,event.parrallel?是判断这个公共事件是否为并行/自动的依据

点评

parallel?是判断这个公共事件是否为并行的依据,而不是判定是否为自动的依据  发表于 2015-11-13 13:19
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-11-13 13:27:45 | 显示全部楼层
本帖最后由 cinderelmini 于 2015-11-13 13:43 编辑
踢腿水上飘 发表于 2015-11-13 12:04
@cinderelmini

我的计划是做个书样子的图片,上面有内容,但是有些书要用左右翻页,又可以随时退出

QQ截图20151113133508.png

公共事件大概就是这样设置。。。
可以适当增加防快速持续的等待帧数,实测等待15帧间隔还是短了。。
顺便就是在按下对应键的分歧里可以加个播放音效啥的…………
唔…………

点评

PS:左右键分歧里显示图片的注释请自行无视“初始”两个字………………  发表于 2015-11-13 13:46

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 6R良心

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部