Project1

标题: 有没有办法限制交通工具的乘降只能在指定位置进行。 [打印本页]

作者: 雷影    时间: 2015-1-6 00:09
标题: 有没有办法限制交通工具的乘降只能在指定位置进行。
就像大航海时代哪样只能在港口上下船……同理飞艇也是只能在机场起降!
或者简单点
取消用确定键来乘坐交通工具的功能!改成乘降都用事件来完成!
怎么才能用最简单的方法达到效果?
作者: 三途亚梦    时间: 2015-1-6 00:51
本帖最后由 三途亚梦 于 2015-1-6 13:01 编辑

你在Game_Player中的362行找到下面这个
  1.   def update_nonmoving(last_moving)
  2.     return if $game_map.interpreter.running?
  3.     if last_moving
  4.       $game_party.on_player_walk
  5.       return if check_touch_event
  6.     end
  7.     if movable? && Input.trigger?(:C)
  8.       return if get_on_off_vehicle
  9.       return if check_action_event
  10.     end
  11.     update_encounter if last_moving
  12.   end
复制代码
把其中的 return if get_on_off_vehicle这一行
删除掉或者在前面加一个“#”或者使用 Ctrl + Q 把它注释掉。
这样载具就只能在输入了“载具乘/降”的地方下降了。
作者: 雷影    时间: 2015-1-7 14:52
试过了都不行啊!!
作者: 雷影    时间: 2015-1-7 16:52
试过了!出现的问题是飞艇方面!
船的问题还好,因为需要面对载具,可以在岸上设置一个乘船事件。在水里设置一个下船事件,然后用事件移动载具就可以达成,也能避免设置时事件与载具不能重叠的问题!
可是飞艇不行!可以设置登上飞艇!可是登上后就下不来了!!无法在原来的地方触发乘降的事件了!

作者: 三途亚梦    时间: 2015-1-7 17:01
本帖最后由 三途亚梦 于 2015-1-7 17:02 编辑
雷影 发表于 2015-1-7 16:52
试过了!出现的问题是飞艇方面!
船的问题还好,因为需要面对载具,可以在岸上设置一个乘船事件。在水里设 ...


这是因为飞艇的位置特殊,不会和事件发生碰撞,也不能用确定键触发事件。

你可以在登上飞艇的时候打开一个并行事件,并行事件的内容是检测玩家的xy的位置。
如果与可以下降的地点坐标重合,
并再检测玩家是否按下了按键“C”,如果是,执行载具乘降。

我现在只能口头表达,没有环境给你做饭粒,希望你能看懂啥意思。
作者: 雷影    时间: 2015-1-7 18:58
本帖最后由 雷影 于 2015-1-7 19:01 编辑
三途亚梦 发表于 2015-1-7 17:01
这是因为飞艇的位置特殊,不会和事件发生碰撞,也不能用确定键触发事件。

你可以在登上飞艇的时候打开一 ...


成了!测试了半天终于搞定了!谢谢!!
要注意的就是不能在同一个位置进行起降,登机时事件多添加个“向前一步”的动作就好!错开登机和降落的位置!




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