设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2888|回复: 2
打印 上一主题 下一主题

[已经解决] 请问“设置事件位置”这个指令,每重进入地图时都还原?

[复制链接]

Lv4.逐梦者

梦石
3
星屑
3375
在线时间
449 小时
注册时间
2015-9-20
帖子
208
跳转到指定楼层
1
发表于 2018-2-20 16:33:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是NPC我放在A处,我和他对话后,用“设置事件位置”将NPC移动到B处,
这样每次再找这个NPC就要去B处啦。但是我离开这个地图后,再回来时,
NPC就又在A处啦!有没有什么方法可以使与NPC对话后,就一直留在B处。
还是说“设置事件位置”每次换地图都返回原位呢?有什么办法呢?
拜托大佬啊

Lv3.寻梦者

梦石
0
星屑
3646
在线时间
899 小时
注册时间
2017-10-30
帖子
347
2
发表于 2018-2-20 16:43:26 | 只看该作者
本帖最后由 MireniamuYuki 于 2018-2-20 16:52 编辑

一个比较蠢的事件做法是设2个NPC,对话完后NPC的位置从A变为B,同时开关打开,第一个NPC消失第二个NPC显示
RUBY 代码复制
  1. #==============================================================================
  2.     # ■ Game_Event
  3.     #------------------------------------------------------------------------------
  4.     #  处理事件的类。拥有条件判断、事件页的切换、并行处理、执行事件等功能。
  5.     #   在 Game_Map 类的内部使用。
  6.     #==============================================================================
  7.  
  8.     class Game_Event < Game_Character
  9.       # 改为true将会变成保存被标记为不保存的事件
  10.       INVERSE_MARK = false
  11.       #--------------------------------------------------------------------------
  12.       # ● 是否储存位置
  13.       #--------------------------------------------------------------------------
  14.       def save_pos?
  15.         return !INVERSE_MARK unless @list
  16.         return !INVERSE_MARK if @list[0].code != 108
  17.         return (@list[0].parameters[0].include?("不保存事件位置") == INVERSE_MARK)
  18.       end
  19.     end
  20.     #==============================================================================
  21.     # ■ Game_Map
  22.     #------------------------------------------------------------------------------
  23.     #  管理地图的类。拥有卷动地图以及判断通行度的功能。
  24.     #   本类的实例请参考 $game_map 。
  25.     #==============================================================================
  26.  
  27.     class Game_Map
  28.       #--------------------------------------------------------------------------
  29.       # ● 初始化对象
  30.       #--------------------------------------------------------------------------
  31.       alias save_event_pos_initialize initialize
  32.       def initialize
  33.         save_event_pos_initialize
  34.         @event_pos = {}
  35.       end
  36.       #--------------------------------------------------------------------------
  37.       # ● 设置
  38.       #--------------------------------------------------------------------------
  39.       alias save_event_pos_setup setup
  40.       def setup(map_id)
  41.         save_event_pos
  42.         save_event_pos_setup(map_id)
  43.         load_event_pos
  44.       end
  45.       #--------------------------------------------------------------------------
  46.       # ● 保存事件位置
  47.       #--------------------------------------------------------------------------
  48.       def save_event_pos
  49.         return if @map_id == 0
  50.         @event_pos[@map_id] ||= []
  51.         @events.each{|i,e|
  52.         if e.save_pos?
  53.           @event_pos[@map_id][i] = [e.x,e.y,e.direction]
  54.         else
  55.           @event_pos[@map_id][i] = nil
  56.         end
  57.         }
  58.       end
  59.       #--------------------------------------------------------------------------
  60.       # ● 读取事件位置
  61.       #--------------------------------------------------------------------------
  62.       def load_event_pos
  63.         return if @map_id == 0
  64.         @event_pos[@map_id] ||= []
  65.         @events.each{|i,e|
  66.           next unless @event_pos[@map_id][i]
  67.           e.moveto(@event_pos[@map_id][i][0],@event_pos[@map_id][i][1])
  68.           e.set_direction(@event_pos[@map_id][i][2])
  69.         }
  70.       end
  71.     end

插入main之上,你懂的,原贴https://rpg.blue/forum.php?mod=v ... 6%E4%BD%8D%E7%BD%AE

搜索了一下,你不是也问过类似的问题吗,善用搜索总是好的。。。

点评

谢谢您的帮助,最后用了2个事件的方法。  发表于 2018-2-25 22:02

评分

参与人数 1星屑 +50 收起 理由
RaidenInfinity + 50 认可答案

查看全部评分

啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 07:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表