じ☆ve冰风 发表于 2026-8-2 16:15:48

Terrain Tag/Region Passage Block via Switch

Made for a request here.

There are 2 scripts. 1 for terrain tag, 1 for region. So the users can choose to use either one or both.

Features:

A way to block paths using Region IDs/Terrain Tags

Able to add more than one region/terrain tag for blocking.

On/Off controllable by Switch.

How to Use:

Put either or both scripts under Material and above Main.

Set up the Region IDs/Terrain Tags you wish to block in the script as well as the Switch number.

Turn on the switch in the game to start blocking.

Compatibility:

Shouldn't be a problem with most custom scripts because both scripts are using alias method.

If you have scripts that overwrites passable checks, simply put these scripts below that script will do.

Terms of Use:

Free for both Commercial and Non-commercial use.

Scripts:

Region ID Version:

Spoiler#==============================================================================# Meow Face's Passage Block with Switch (Region Version)#==============================================================================module MEOWCHECK#==============================================================================# Settings Area#==============================================================================  REGION = #Change this to region id numbers you want to block  RSWITCH = 1 #Switch number to turn the block on/off#==============================================================================# End of Setting Area#==============================================================================endclass Game_CharacterBase  alias meowrpass? passable?  def passable?(x, y, d)    meow = MEOWCHECK::REGION    x2 = $game_map.round_x_with_direction(x, d)    y2 = $game_map.round_y_with_direction(y, d)    if $game_switches      meow.each do |m|        return false if $game_map.region_id(x2, y2) == m      end    end    meowrpass?(x, y, d)  endend



Terrain Tag Version:

Spoiler                Code:       
#==============================================================================# Meow Face's Passage Block with Switch (Terrain Version)#==============================================================================module MEOWCHECK#==============================================================================# Settings Area#==============================================================================  TERRAIN = #Change this to terrain tag numbers you want to block  TSWITCH = 1 #Switch number to turn the block on/off#==============================================================================# End of Setting Area#==============================================================================endclass Game_CharacterBase  alias meowtpass? passable?  def passable?(x, y, d)    meow = MEOWCHECK::TERRAIN    x2 = $game_map.round_x_with_direction(x, d)    y2 = $game_map.round_y_with_direction(y, d)    if $game_switches      meow.each do |m|        return false if $game_map.terrain_tag(x2, y2) == m      end    end    meowtpass?(x, y, d)  endend








本贴来自国际rpgmaker官方论坛作者:MeowFace处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/terrain-tag-region-passage-block-via-switch.45980/
页: [1]
查看完整版本: Terrain Tag/Region Passage Block via Switch