Project1

标题: 请问如何实现如果xxx就会触发xxx公共事件呢 [打印本页]

作者: qdthmlpo    时间: 2022-12-9 21:59
标题: 请问如何实现如果xxx就会触发xxx公共事件呢
比如,如果我进入某地图,就会触发禁止存档功能,如果我装备某件道具,就会触发战斗,
是通过变量来触发吗,实在是搞不懂怎么设置怎么去触发然后执行公共事件
求大佬指点一下
作者: 遮那    时间: 2022-12-9 21:59
本帖最后由 遮那 于 2022-12-10 20:13 编辑

关于存档问题,咱简单的尝试了一下,感觉可以用变量代入地图id,再用判断语句是不是想要实现禁止存档功能的地图id来实现?
试了下,是可行的,就是不清楚这种方法是不是你想要的方式啦?




至于装备某一件道具就会触发战斗的话,也许可以通过物品id判断的方法来实现?就是现在太晚了,咱想睡觉了,咱明天晚上可以帮忙试试看~
—— —— —— —— —— —— ——
晚上好~昨晚太晚了,咱有点迷糊,现在可以了。

关于这个问题,咱的想法是,可以将这些功能都集成在公共事件中,在每个功能前加一个触发判断,

例如 “如果我进入某地图,就会触发禁止存档功能”,那么先准备一个变量,将地图id的数据储存在其中,然后在用以判断,就像咱上面发的那张图一样,

假设想要实现禁止存档功能的地图id为5,那么就判断这个储存地图id的变量是否为5,是:则 “禁止存档” ,否:则 “允许存档” 。

其他功能亦然,例如道具,那么就判断背包里有无该物品,具体方法和刚刚那个存档类似,只不过,mv自带的数据只有单项的,也就是说,这样只能判断玩家有无携带特定的物品。

如果想批量判断,就需要利用到下面的脚本一项啦~



具体可以参考 [url=如何统计所有道具的数量 https://rpg.blue/forum.php?mod=v ... amp;fromuid=2723194 (出处: Project1)]如何统计所有道具的数量 https://rpg.blue/forum.php?mod=v ... amp;fromuid=2723194 (出处: Project1)[/url]

咱之前也是请教了论坛的大佬才了解的。基本上,咱认为问题的核心在于公共事件内每个功能执行前的判断。





作者: 小秋橙    时间: 2022-12-9 22:14
公共事件只能通过“开关”来自动触发,因此如果不借助脚本的话,唯一能“自动根据任意条件改变开关”从而间接触发公共事件的方法是“并行事件”,并行事件可以是公共事件也可以是地图事件……
如果借助脚本的话,可以看看$gameMap.refresh这个函数的内容?
作者: 蜜橘团子    时间: 2022-12-9 22:22
我是新手

来几个并行处理的公共事件,一秒一次,判断玩家是否在某个地图,然后开启禁止存档,否则就开启存档
但这样不严谨

通常的游戏是直接在地图进入的地方就设置好禁止存档,出去就开启存档
因为大部分游戏一般是没有什么传送戒指奥义之类的,这样适用性不高


战斗的话,可以用装备触发公共事件的插件,给装备定义好战斗的公共事件就可以了
https://rpg.blue/thread-490087-1-1.html
作者: qdthmlpo    时间: 2022-12-11 16:30
遮那 发表于 2022-12-9 21:59
关于存档问题,咱简单的尝试了一下,感觉可以用变量代入地图id,再用判断语句是不是想要实现禁止存档功能的 ...

感谢大佬  牛皮




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