Project1

标题: [已解决]上下船,陆地和海洋通行度切换如何解决? [打印本页]

作者: miantouchi    时间: 2019-9-1 16:07
标题: [已解决]上下船,陆地和海洋通行度切换如何解决?
本帖最后由 miantouchi 于 2019-9-2 18:13 编辑

我把海洋正常是设置不可通行的状态,
角色在陆地时,陆地可以通行,海洋不可通行。
角色上船后,   就只可以在海洋图块可以通行。

我的做法是,角色坐上船后,开启穿透,用脚本设置,航船时只允许穿透地形标志为2的图块(也就是海洋图块),效果是达到了。
出现的问题:现在的问题是海洋图块如果是相连的话,并且是两条小河流的话,会发生穿越河流。
如何解决。


之后我又改了河流的通行度,关闭船只事件里面的穿越功能,河流穿越问题解决了,但是角色如果是经过中心那个河流图块,角色又能过河了,悲剧!!!

1.图块通行度.png (26.13 KB, 下载次数: 25)

1.图块通行度.png

2.png (17.96 KB, 下载次数: 21)

2.png

3.脚本修改的地方.png (69.87 KB, 下载次数: 25)

3.脚本修改的地方.png

4.事件写的地方.png (32.67 KB, 下载次数: 21)

4.事件写的地方.png

5.事件第二页.png (29.87 KB, 下载次数: 20)

5.事件第二页.png

12123123.png (37.25 KB, 下载次数: 25)

12123123.png

作者: 灯笼菜刀王    时间: 2019-9-1 19:49
本帖最后由 灯笼菜刀王 于 2019-9-1 19:51 编辑

既然如此, 那就直接搞两套通行度,  在数据库把图块设置复制一份, 通行度设置成不一样的, 然后, 到game map 里加一句

def 通行替换(n)
   @passages = $data_tilesets[n].passages
end

然后,上船的时候  $game_map.通行替换(10086),
下船的时候,  $game_map.通行替换(10087), 搞定收工,还省了个穿透呢
作者: miantouchi    时间: 2019-9-1 21:27
本帖最后由 miantouchi 于 2019-9-2 07:52 编辑
灯笼菜刀王 发表于 2019-9-1 19:49
既然如此, 那就直接搞两套通行度,  在数据库把图块设置复制一份, 通行度设置成不一样的, 然后, 到 ...


最后一个问题就是,水中的荷花,开始的时候是不可通行,当使用一个宝物后,
船就可以通行荷花了。
也就是使用宝物后更改荷花的通行度。
我也不至于为了水中个别几个屏障,再弄个这么大工程吧

是这个样子,不单单几片荷叶的。

111111.png (17.42 KB, 下载次数: 22)

111111.png

1.png (12.54 KB, 下载次数: 19)

1.png

作者: 灯笼菜刀王    时间: 2019-9-2 11:57
本帖最后由 灯笼菜刀王 于 2019-9-2 11:59 编辑

那就用你前面的方法呗, 用地形标志, 满足条件后放行  或者用元件ID判断

# 从层按从上到下的顺序调查循环
    for i in [2, 1, 0]
      # 取得元件 ID
      tile_id = data[x, y, i]
      # 取得元件 ID 失败
      if tile_id == nil
        # 不能通行
        return false
      elsif [10086,10087,10088].include?(tile_id)  and $game_switches[10086]
          return true

      # 如果障碍物的接触被设置的情况下
      elsif @passages[tile_id] & bit != 0
        # 不能通行
        return false




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