查看: 5211|回复: 4

[有事请教] 能否事件接触事件触发?

[复制链接]

姬魂

梦石
0
星屑
443
在线时间
400 小时
注册时间
2009-8-30
回帖
568

开拓者

发表于 2020-8-26 15:50:26 | 显示全部楼层 |阅读模式

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

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

×
如题,A事件接触B事件,然后触发X事件的内容,貌似系统只有角色触发事件?
【RPG MAKER MZ 】游戏制作新手群:185916404
梦石
0
星屑
4100
在线时间
302 小时
注册时间
2019-4-23
回帖
185
发表于 2020-8-26 17:06:39 | 显示全部楼层
变量设置里面可以获取到事件的位置,
设置一个并行事件,检测两个事件的位置,
就可以触发事件了。

评分

参与人数 1赞 +1 收起 理由
高须小龙 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3930
在线时间
1198 小时
注册时间
2016-8-9
回帖
2355

开拓者

发表于 2020-8-26 17:33:14 | 显示全部楼层
哎,多少代了,还是需要插件才能实现这类很基础的功能,如楼上,判断两个重合的事件用变量坐标就可以,但是如果都是与角色相同的话还得四个方向【x-1, y】 【x+1, y】 【 x, y-1】【 x, y+1】去判断
事件太多的话只能脚本解决了

评分

参与人数 1赞 +1 收起 理由
高须小龙 + 1 认可答案

查看全部评分

酸酸甜甜就④哇噢
回复

使用道具 举报

梦石
0
星屑
261
在线时间
22 小时
注册时间
2020-8-16
回帖
3
发表于 2020-8-27 10:06:05 | 显示全部楼层
本帖最后由 godoway 于 2020-8-27 10:46 编辑

覆盖事件移动的方法,每次移动后都检查就行了吧
大概是这样
[pre lang="javascript"]const _gameEventMoveStraight = Game_Event.prototype.moveStraight;
Game_Event.prototype.moveStraight = function(direction) {
  _gameEventMoveStraight.call(this, direction);
  if (this.isMovementSucceeded()) {
    const x = this._x;
    const y = this._y;
    if (this.isCollidedWithPlayerCharacters(x, y) || $gameMap.eventsXy(x, y).length > 1) {
      console.log('is collided')
      const events = $gameMap.eventsXyNt(x, y);
      const effect = events.some(it => {
        //todo 检查是否存在能激活该事件的事件
        return true;
      });
      if (effect) {
        this.start();
      }
    }
  }
};[/pre]

评分

参与人数 1赞 +1 收起 理由
高须小龙 + 1 精品文章

查看全部评分

回复

使用道具 举报

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
回帖
566
发表于 2020-8-27 15:48:33 | 显示全部楼层
你看到的一切都是模拟的。
表面上看似NPC与NPC之间的交互,实际上幕后总有一只大手在操控一切。
人工智能之类的,在RM中根本就不存在。不过,竟然至今都没有事件碰撞检测之类的基本功能,有点过分了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部