查看: 3713|回复: 13

[已经解决] 请教在地图事件中用$game_temp.common_event_id多次执行同一个事件

[复制链接]
梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
发表于 2020-4-15 20:39:12 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taeckle 于 2020-4-15 20:41 编辑

目前是这样的,在地图事件中不管写多少遍$game_temp.common_event_id = 100,最后游戏都只执行1次,比如这么写:
  1. $game_temp.common_event_id = 100
  2. 等待2帧
  3. $game_temp.common_event_id = 100
  4. 等待2帧
  5. $game_temp.common_event_id = 100
  6. 等待2帧
  7. $game_temp.common_event_id = 100
  8. 等待2帧
  9. $game_temp.common_event_id = 100
  10. 等待2帧
复制代码


这里虽然写了5遍运行第100号公共事件但游戏只运行1遍,

但要用地图事件指令直接调用第100号公共事件的话,就可以想执行多少遍就执行多少遍,比如在地图事件上这么搞:


请问大神在地图事件中怎么用$game_temp.common_event_id多次执行同一个事件啊?

用指令调用

用指令调用
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2020-4-15 20:48:31 | 显示全部楼层
$game_temp.common_event_id並不是执行公共事件的脚本..只是予约

点评

那执行公共事件的脚本是什么啊?  发表于 2020-4-15 21:04
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2020-4-15 21:14:50 | 显示全部楼层
f = []
10086.times {f += $data_common_events[100].list}
$game_system.map_interpreter.setup(f, 0)
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2020-4-15 21:15:32 | 显示全部楼层
f = []
10086.times {f += $data_common_events[100].list}
$game_system.map_interpreter.setup(f, 0)
回复

使用道具 举报

梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
 楼主| 发表于 2020-4-15 21:22:10 | 显示全部楼层
灯笼菜刀王 发表于 2020-4-15 21:14
f = []
10086.times {f += $data_common_events[100].list}
$game_system.map_interpreter.setup(f, 0)

多谢大神指点,
请问下那个10086.times {f += $data_common_events[100].list}是什么意思啊?为啥是10086不是66666。。

点评

多谢指点!  发表于 2020-4-16 04:26
把100号公共事件推进一个数组10086次 ==|||,也就是说会执行10086次……  发表于 2020-4-15 23:34
回复

使用道具 举报

梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
 楼主| 发表于 2020-4-15 21:30:32 | 显示全部楼层
还有请问下这句"$game_system.map_interpreter.setup($data_common_events[100].list, 0) "
在地图事件脚本里换行该怎么换啊?



点评

多谢大神指点!  发表于 2020-4-16 04:27
在左小括号、点和逗号后面换  发表于 2020-4-15 23:41
用\换行..  发表于 2020-4-15 22:40
回复

使用道具 举报

梦石
0
星屑
8003
在线时间
1184 小时
注册时间
2007-7-29
回帖
2014
发表于 2020-4-15 23:43:52 | 显示全部楼层
我顺便提一个很邪恶的方法,使用脚本:
  1. @parameters = [100]
  2. command_117()
复制代码

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
taeckle + 1 多谢大神指点!

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2020-4-16 00:08:25 | 显示全部楼层
正如7楼所说,地图事件里调用公共事件这一指令是方法command_117,此方法里并未操作变量:$game_temp.common_event_id
  1.   #--------------------------------------------------------------------------
  2.   # ● 公共事件
  3.   #--------------------------------------------------------------------------
  4.   def command_117
  5.     # 获取公共事件
  6.     common_event = $data_common_events[@parameters[0]]
  7.     # 公共事件有效的情况下
  8.     if common_event != nil
  9.       # 生成子解释器
  10.       @child_interpreter = Interpreter.new(@depth + 1)
  11.       @child_interpreter.setup(common_event.list, @event_id)
  12.     end
  13.     # 继续
  14.     return true
  15.   end
复制代码

$game_temp.common_event_id是在使用了物品和技能后记录了此物品、技能的公共事件,然后在地图或者战斗中调用

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
taeckle + 1 多谢大神指点!

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部