查看: 3132|回复: 8

[有事请教] 请问如何用变量操作公共事件?

[复制链接]
梦石
0
星屑
234
在线时间
19 小时
注册时间
2022-3-15
回帖
4
发表于 2022-4-18 20:16:26 | 显示全部楼层 |阅读模式

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

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

×
  各位大佬,感谢您的驻足。这是我个人的一点小问题。
  我游戏我决定以某个变量作为主线推动的标准。就是希望可以当某个变量达到时,无论玩家在哪里,都会主动触发一段剧情。
  我最先想到的是公共事件,不过公共事件只有开关……
  所以想问一下各位大佬,请问有办法做到吗?没有的话只能每个地图挨个粘贴吗?
梦石
0
星屑
10274
在线时间
1919 小时
注册时间
2020-1-2
回帖
1043
发表于 2022-4-18 20:35:37 | 显示全部楼层
那就开关开启内容由分支条件判断变量
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复

使用道具 举报

梦石
0
星屑
197
在线时间
25 小时
注册时间
2021-12-17
回帖
7
发表于 2022-4-19 00:25:07 | 显示全部楼层
触发条件选并行处理,然后执行内容第一句就是if变量=你想要的。然后分支里面写剧情事件。结束分支之前再加一个改变这个变量的语句避免反复触发。
回复

使用道具 举报

梦石
0
星屑
14317
在线时间
2609 小时
注册时间
2013-6-10
回帖
1692
发表于 2022-4-19 08:16:07 | 显示全部楼层
嗯,以上二位言之有理,令人赞同
回复

使用道具 举报

梦石
0
星屑
234
在线时间
19 小时
注册时间
2022-3-15
回帖
4
 楼主| 发表于 2022-4-20 10:02:11 | 显示全部楼层
xiamumomo 发表于 2022-4-18 20:35
那就开关开启内容由分支条件判断变量

  谢谢大佬,我去试试。
回复

使用道具 举报

梦石
0
星屑
234
在线时间
19 小时
注册时间
2022-3-15
回帖
4
 楼主| 发表于 2022-4-20 10:14:16 | 显示全部楼层
米诺松鼠 发表于 2022-4-19 00:25
触发条件选并行处理,然后执行内容第一句就是if变量=你想要的。然后分支里面写剧情事件。结束分支之前再加 ...

谢谢大佬
回复

使用道具 举报

梦石
8
星屑
4153
在线时间
656 小时
注册时间
2021-8-13
回帖
629

极短26参与极短25获奖

发表于 2022-4-20 10:20:21 | 显示全部楼层
20220420101631_1.png
触发条件并行处理,开关选你想要的那个
例如我这个图里的,就是开关#0041变为ON之后自动响起电话铃

如果你希望事件只执行一次就中止,可以在事件里加上一行
开关操作#XXXX = OFF
回复

使用道具 举报

梦石
0
星屑
1896
在线时间
603 小时
注册时间
2022-7-5
回帖
104
发表于 2022-8-16 13:54:03 | 显示全部楼层
本帖最后由 bleen 于 2022-8-16 14:00 编辑

我现在遇到同样的问题,受教了受教了

回复

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2022-8-23 22:07:32 | 显示全部楼层
Game_Map.prototype.requestRefresh = function() {
    this._needsRefresh = true;
};
官方的所有事件页都是通过这个函数来刷新的(比如改变行走图),这个函数会在【开关/变量/独立开关/队员组成/道具数量】变化时自动执行。
既然公共事件的自动触发只能用开关而不能用变量,那我们可以在这个函数里判断变量并且根据变量去捆绑性地修改开关,比如这样:
Game_Map.prototype.requestRefresh = function() {
    if ($gameVariables.value(114) >= 514) $gameSwitches._data[810] = true; // 当114号变量的值大于等于514时,同步自动开启810号开关。
    this._needsRefresh = true;
};
那么你就可以把公共事件的条件设为810号开关,但实际上通过114号变量去触发了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部