Project1

标题: 【已解决】公共事件跳转地图,中断后续事件问题,跪求... [打印本页]

作者: 白嫩白嫩的    时间: 2020-8-22 19:42
标题: 【已解决】公共事件跳转地图,中断后续事件问题,跪求...
本帖最后由 白嫩白嫩的 于 2020-8-24 13:19 编辑

不做不知道,一做就出各种奇葩问题,最近在使用图片公共事件实现地图间跳转的实验,发现大问题:
1.如果通过点击图片执行绑定的公共事件的话,可以完全执行完毕
2.如果通过事件选项进行选择执行公共事件,一旦中间有个跳转地图的命令,就从跳转地图那里停止了,后续的命令都不执行了,what?????


比如公共事件写的是:
=====================
玩家跳跃
玩家感叹号
跳转地图到地图10
玩家问号
玩家zzz

=====================
如果是点击图片执行公共事件,那么跳转到地图10之后,玩家还能继续问号,然后zzz
如果是通过选项选择执行此公共事件,跳转到地图10之后,下面没有了..........没有了...............我都不知道我这四年mv是怎么玩的,到现在我还没有搞懂软件的基础使用方法,难道是跳转地图必中止公共事件吗?


请问有没有办法可以解决这个问题呢,跪求各位大佬、太太支招

PS:试了下通过打开开关1,公共事件自动执行,公共事件内最后一步执行关闭开关1来结束公共事件的循环,有时候还可以,但有时候又是跳转地图后不执行后续了...新建工程也如此,应该跟插件没关系
作者: zths    时间: 2020-8-22 21:12
我等下看看。。
地图初始化是怎么操作$gameMap的。。
因为事件就在$gameMap._interpreter里
作者: 白嫩白嫩的    时间: 2020-8-22 21:21
zths 发表于 2020-8-22 21:12
我等下看看。。
地图初始化是怎么操作$gameMap的。。
因为事件就在$gameMap._interpreter里  ...

新建工程没有对地图做任何改动,只有图片公共事件可以完整执行,前一个地图用事件执行公共事件就会在跳转地图的那一刻停止执行公共事件,感谢大神来帮忙,太感谢了
作者: zths    时间: 2020-8-22 21:34
白嫩白嫩的 发表于 2020-8-22 21:21
新建工程没有对地图做任何改动,只有图片公共事件可以完整执行,前一个地图用事件执行公共事件就会在跳转 ...

我试了下啊。。
好像没啥问题。。
我做了一个空工程。

地图1事件触发
调用公共事件1

公共事件1:
    显示文字111
    传送到地图2
    显示文字222
    显示文字333
    传送到地图1

都正常执行了。。
作者: 白嫩白嫩的    时间: 2020-8-22 21:35
本帖最后由 白嫩白嫩的 于 2020-8-22 21:43 编辑
zths 发表于 2020-8-22 21:34
我试了下啊。。
好像没啥问题。。
我做了一个空工程。


啊啊啊??那我再新建工程试试看,太奇怪了

试验了下,发现问题了,直接点击事件执行公共事件是可以的,但是如果点击事件后,弹出选项,选择是→执行公共事件1,否退出的话,就会不执行完全


补充,点击事件进行选项是不会出现问题的,我用的是并行事件,然后扫描分歧,当取消按钮按下的时候弹出选项,然后选择是,执行公共事件,然后出了问题,是不是问题在这个并行上面?
===============================
◆如果:按键 [取消] 正被按着
  ◆显示选项:是, 否 (窗口, 右侧, #1, #2)
  :选择 是 时
    ◆公共事件:shiyan
    ◆
  :选择 否 时
    ◆
  :结束
  ◆
:结束
============================
作者: zths    时间: 2020-8-22 21:44
白嫩白嫩的 发表于 2020-8-22 21:35
啊啊啊??那我再新建工程试试看,太奇怪了

试验了下,发现问题了,直接点击事件执行公共事件是可以的, ...



我这样是可以完成然后回到地图1的。。
作者: zths    时间: 2020-8-22 21:54
白嫩白嫩的 发表于 2020-8-22 21:35
啊啊啊??那我再新建工程试试看,太奇怪了

试验了下,发现问题了,直接点击事件执行公共事件是可以的, ...

JAVASCRIPT 代码复制
  1. //这代码在工程随便找个插件塞进去. 或者f12执行一下都行..
  2. function CallInterpreter(list){
  3.     if(typeof $gameMap === "undefined" && $gameTroop === "undefined"){return;}
  4.     var target = $gameMap
  5.     if($gameTroop && $gameTroop._inBattle){
  6.          target = $gameTroop
  7.     }
  8.  
  9.     if(list !== target._interpreter._list){
  10.         target._interpreter = new Game_Interpreter(0);
  11.         target._interpreter.setup(list,0);
  12.     }
  13.     target._interpreter._index = 0;
  14.     target._interpreter._params = list[0].parameters;
  15. }
  16. function CallCommonEv(i){
  17.     CallInterpreter($dataCommonEvents[i].list)
  18. }

然后以这命令调用公共事件.
CallCommonEv(1);//1换成你的公共事件id


作者: 白嫩白嫩的    时间: 2020-8-22 21:59
大佬太强了,大佬爱死您了,这两天因为这个问题让我痛苦的又将rm丢掉,重新回到峡谷打人机自闭了,现在活力爆满,继续开始研究

感谢感谢~~~~~~







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