赞 | 21 |
VIP | 308 |
好人卡 | 199 |
积分 | 14 |
经验 | 129932 |
最后登录 | 2020-6-11 |
在线时间 | 2881 小时 |
闇吼者の災悪眷族 不気味存在締造者
- 梦石
- 0
- 星屑
- 1366
- 在线时间
- 2881 小时
- 注册时间
- 2014-7-29
- 帖子
- 6491
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 三途亚梦 于 2015-6-30 20:52 编辑
类似图例这样绘制区域即可达到一个类似泳池的效果;
其中地面是“○”通行度,水域是“×”通行度且开启了“≈”属性,在楼梯处设置一个事件用来开启/关闭玩家的穿透。
动图效果:
#============================================================================== # +++ 限制移动方向的特定区域 +++ #============================================================================== # 提问区应求 By 三途亚梦 # 原帖地址:[url=https://rpg.blue/thread-379688-1-1.html]https://rpg.blue/thread-379688-1-1.html[/url] #============================================================================== # 本脚本的作用给区域自定义不同方向的通行。 #============================================================================== # # ★在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[i] == d}} amu_passable_without_region?(x, y, d) end end
#==============================================================================
# +++ 限制移动方向的特定区域 +++
#==============================================================================
# 提问区应求 By 三途亚梦
# 原帖地址:[url=https://rpg.blue/thread-379688-1-1.html]https://rpg.blue/thread-379688-1-1.html[/url]
#==============================================================================
# 本脚本的作用给区域自定义不同方向的通行。
#==============================================================================
#
# ★在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[i] == d}}
amu_passable_without_region?(x, y, d)
end
end
|
|