查看: 2795|回复: 5

[已经解决] 有没有办法限制交通工具的乘降只能在指定位置进行。

[复制链接]
梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
发表于 2015-1-6 00:09:01 | 显示全部楼层 |阅读模式

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

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

×
就像大航海时代哪样只能在港口上下船……同理飞艇也是只能在机场起降!
或者简单点
取消用确定键来乘坐交通工具的功能!改成乘降都用事件来完成!
怎么才能用最简单的方法达到效果?

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2015-1-6 00:51:07 | 显示全部楼层
本帖最后由 三途亚梦 于 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-6 12:58
那就是你找错地方了。找一下根据按键 :C 来乘降载具的脚本位置,估计和 Game_Player#update_xxx 有点关系  发表于 2015-1-6 12:49
我试过全删掉,结果事件里的按个“载具乘\降”指令都无法执行了,2333  发表于 2015-1-6 12:45
第二行到第六行删光不就好了  发表于 2015-1-6 12:44

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
 楼主| 发表于 2015-1-7 14:52:49 | 显示全部楼层
试过了都不行啊!!

点评

我实测没有问题,你确定自己操作对了吗?如果确定是对的请检查一下是否有其它载具脚本与这个方法冲突。  发表于 2015-1-7 15:02
回复

使用道具 举报

梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
 楼主| 发表于 2015-1-7 16:52:51 | 显示全部楼层
试过了!出现的问题是飞艇方面!
船的问题还好,因为需要面对载具,可以在岸上设置一个乘船事件。在水里设置一个下船事件,然后用事件移动载具就可以达成,也能避免设置时事件与载具不能重叠的问题!
可是飞艇不行!可以设置登上飞艇!可是登上后就下不来了!!无法在原来的地方触发乘降的事件了!
回复

使用道具 举报

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2015-1-7 17:01:34 | 显示全部楼层
本帖最后由 三途亚梦 于 2015-1-7 17:02 编辑
雷影 发表于 2015-1-7 16:52
试过了!出现的问题是飞艇方面!
船的问题还好,因为需要面对载具,可以在岸上设置一个乘船事件。在水里设 ...


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

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

我现在只能口头表达,没有环境给你做饭粒,希望你能看懂啥意思。
回复

使用道具 举报

梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
 楼主| 发表于 2015-1-7 18:58:40 | 显示全部楼层
本帖最后由 雷影 于 2015-1-7 19:01 编辑
三途亚梦 发表于 2015-1-7 17:01
这是因为飞艇的位置特殊,不会和事件发生碰撞,也不能用确定键触发事件。

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


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

点评

嗯!我是先判断有没按下确定键,在执行获取坐标来上下的!另外最后需要加点等待时间,不然执行太快,老是跳出选项成一个半死的循环!  发表于 2015-1-7 19:40
先判断按键再判断坐标可以降低运行压力哦~  发表于 2015-1-7 19:05
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部