查看: 3465|回复: 3

[搬运汉化] 有人要的删除event的脚本,摘自est,亲测可用

[复制链接]
梦石
0
星屑
7735
在线时间
1227 小时
注册时间
2008-12-14
回帖
504
发表于 2018-3-12 18:43:48 | 显示全部楼层 |阅读模式

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

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

×
Game_Map.prototype.deleteEvent = function (eventid){
  if ($gameMap._events[eventid]) var ev = $gameMap._events[eventid];
  if (ev === undefined) return;
  for (sprite of SceneManager._scene._spriteset._tilemap.children)   
  {
    if (sprite._character == ev) SceneManager._scene._spriteset._tilemap.removeChild(sprite);
  }

  $gameMap._events[eventid] = null;

  $gameSelfSwitches.setValue([this._mapId, eventid, 'A'], false);
  $gameSelfSwitches.setValue([this._mapId, eventid, 'B'], false);
  $gameSelfSwitches.setValue([this._mapId, eventid, 'C'], false);
  $gameSelfSwitches.setValue([this._mapId, eventid, 'D'], false);
};

把上面一段放在任意脚本之后,在需要用到时调用:
$gameMap.deleteEvent(15);   //其中15是事件id

事件将被删除,但如果重新载入这个场景事件又会出现,
如果不想让他出现,就必须在删除后,用est的另外插件save下event的变化。

那就比较复杂了,不想讨论。

评分

参与人数 1赞 +1 收起 理由
Heiko + 1 正好发愁,解决了

查看全部评分

需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图
梦石
0
星屑
248
在线时间
164 小时
注册时间
2010-12-28
回帖
29
发表于 2018-3-12 20:32:09 | 显示全部楼层
兄弟很感谢你,但是问题在于,敌人是随机召唤的,所以ID也是不固定的,而且“事件将被删除,但如果重新载入这个场景事件又会出现,
如果不想让他出现,就必须在删除后,用est的另外插件save下event的变化。”这个是你刚上面说的,而我遇到了的主要问题,就是重新载入场景后,不能让他出现,就等于是必须让这个事件在游戏中彻底删除。

点评

给这类事件加一个事件页,判断某个公共开关、变量的状态,根据判断结果决定自身的行为。  发表于 2018-3-12 20:36
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-3-12 22:47:41 | 显示全部楼层
估计没用。重新进地图一样会刷新
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部