| 赞 | 20 |
| VIP | |
| 好人卡 | |
| 积分 | 14 |
| 经验 | |
| 最后登录 | 2020-6-11 |
| 在线时间 | 2881 小时 |
闇吼者の災悪眷族
- 梦石
- 0
- 星屑
- 1366
- 在线时间
- 2881 小时
- 注册时间
- 2014-7-29
- 回帖
- 6408
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 三途亚梦 于 2015-6-30 20:52 编辑
类似图例这样绘制区域即可达到一个类似泳池的效果;
其中地面是“○”通行度,水域是“×”通行度且开启了“≈”属性,在楼梯处设置一个事件用来开启/关闭玩家的穿透。
动图效果:
[pre lang="ruby"]#==============================================================================
# +++ 限制移动方向的特定区域 +++
#==============================================================================
# 提问区应求 By 三途亚梦
# 原帖地址:https://rpg.blue/thread-379688-1-1.html
#==============================================================================
# 本脚本的作用给区域自定义不同方向的通行。
#==============================================================================
#
# ★在Nopassaingregion按照[区域ID, 通行方向的ID]
# 的格式写下数值就能使得特定区域的图块不可通行。
#
# 其中代表通行方向的ID为:
# 向下(2) 向左(4) 向右(6) 向上 (8)
#
#==============================================================================
module Amu
module Region_Nopassaing
Nopassaingregion = [[11, 2], [12, 4], [13, 6], [14, 8],
[15, 8, 4], [16, 8, 6], [17, 2, 4], [18, 2, 6]]
#这里默认使用了11~18号区域,分别为
#11禁止向下;12禁止向左;13禁止向右;14禁止向上
#15禁止向上和向左;16禁止向上向右;17禁止向下向左;18禁止向下向右。
end
end
class Game_CharacterBase
#--------------------------------------------------------------------------
# ● 判定是否可以通行(检查 地图的通行度 和 前方是否有路障)
# d : 方向(2,4,6,8)
#--------------------------------------------------------------------------
alias amu_passable_without_region? passable?
def passable?(x, y, d)
regions = Amu::Region_Nopassaing::Nopassaingregion
return false if regions.any? {|r| r[0] == $game_map.region_id(x, y) && (1..(r.size-1)).any? {|i| r == d}}
amu_passable_without_region?(x, y, d)
end
end
[/pre] |
|