赞 | 5 |
VIP | 71 |
好人卡 | 22 |
积分 | 6 |
经验 | 32145 |
最后登录 | 2013-8-9 |
在线时间 | 184 小时 |
Lv2.观梦者 天仙
- 梦石
- 0
- 星屑
- 620
- 在线时间
- 184 小时
- 注册时间
- 2008-4-15
- 帖子
- 5023
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这个脚本neneko曾经在论坛上转载过
VX四方通行和地形标签设置工具
不过是未汉化版的,而且说明也不完全
这是汉化版的:- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- #_/ ◆ 图块扩张 - KGC_TilesetExtension ◆ VX ◆
- #_/ ◇ Last update : 2008/01/20 ◇
- #_/----------------------------------------------------------------------------
- #_/ 变更图块图像、增加4方向通行、地形标记功能。
- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- #==============================================================================
- # ★ 自定义項目 - Customize ★
- #==============================================================================
- module KGC
- module TilesetExtension
- # ◆ 图块图像的字首
- # 图块图像名称前方的文字(如 TileA1 中的 Tile)
- TILE_IMAGE_PREFIX = "Tile"
- # ◆ 预设的图块图像
- # 使用[SET <预设组名称>]设定。
- TILE_PRESET = {} # ← 这行不可删除
- # 预设在下方。
- # ↓范例
- TILE_PRESET["魔王之城"] = {
- "A1"=>"A1-Maou",
- "A2"=>"A2-Maou",
- "B"=>"B-Maou",
- "D"=>"D-Maou",
- }
- # 使用时,在地图名插入[SET 魔王之城]
- # ◆ 4方向通行、地形标记确认的按钮 (DEBUG用)
- # 按下此键之时,就会以对话框的方式显现
- # 当前玩家所在图块的可通行方向和地形标记。
- # 当设定为nil时则关闭此功能
- # ※ 此功能只有在游戏测试时有效
- DEBUG_INFO_BUTTON = Input::F7
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- $imported = {} if $imported == nil
- $imported["TilesetExtension"] = true
- if $data_mapinfos == nil
- $data_mapinfos = load_data("Data/MapInfos.rvdata")
- end
- # 方向通行度 (4方向通行对应)
- module DirectionFlag
- DOWN = 0x01
- LEFT = 0x02
- RIGHT = 0x04
- UP = 0x08
- end
- module KGC::TilesetExtension
- # 扩张时储存的档案名称
- EX_RVDATA = "TilesetEx.rvdata"
- # 正規表現
- module Regexp
- # 継承
- INHERIT = /\[INHERIT\]/i
- # プリセット
- PRESET = /\[SET ([\w\-]+)\]/i
- end
- # デフォルトタイルセットファイル名
- DEFAULT_FILENAME = {
- "A1"=>"TileA1",
- "A2"=>"TileA2",
- "A3"=>"TileA3",
- "A4"=>"TileA4",
- "A5"=>"TileA5",
- "B"=>"TileB",
- "C"=>"TileC",
- "D"=>"TileD",
- "E"=>"TileE"
- }
- @@__filename = DEFAULT_FILENAME.dup
- module_function
- #--------------------------------------------------------------------------
- # ○ 指定マップのタイル画像ファイル名初期化
- # map_id : マップ ID
- #--------------------------------------------------------------------------
- def init_tileset_filename(map_id)
- @@__filename = get_converted_tileset_filename(map_id)
- end
- #--------------------------------------------------------------------------
- # ○ 変換後のタイル画像ファイル名を取得
- # map_id : マップ ID
- #--------------------------------------------------------------------------
- def get_converted_tileset_filename(map_id)
- info = $data_mapinfos[map_id]
- name = info.original_name
- filename = DEFAULT_FILENAME.dup
- if name =~ Regexp::INHERIT
- # 継承する場合は親を調べる
- parent_id = $data_mapinfos[map_id].parent_id
- if parent_id > 0
- filename = get_converted_tileset_filename(parent_id)
- end
- end
- # 現マップの変換規則を適用
- return convert_tileset_filename(filename, name)
- end
- #--------------------------------------------------------------------------
- # ○ タイル画像ファイル名変換
- # filename : ファイル名 (Hash)
- # map_name : マップ名
- #--------------------------------------------------------------------------
- def convert_tileset_filename(filename, map_name)
- name_buf = filename.dup
- # プリセット適用
- presets = map_name.scan(Regexp::PRESET)
- presets.each { |s|
- if TILE_PRESET.has_key?(s[0])
- TILE_PRESET[s[0]].each { |k, v|
- name_buf[k] = TILE_IMAGE_PREFIX + v
- }
- end
- }
- # 置換
- DEFAULT_FILENAME.keys.each { |key|
- if map_name =~ /\[#{key} ([\w\-]+)\]/
- name_buf[key] = TILE_IMAGE_PREFIX + $1
- end
- }
- return name_buf
- end
- #--------------------------------------------------------------------------
- # ○ タイル画像ファイル名取得
- #--------------------------------------------------------------------------
- def get_tileset_filename
- return @@__filename
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # □ KGC::Commands
- #==============================================================================
- module KGC::Commands
- module_function
- #--------------------------------------------------------------------------
- # ○ 指定座標の地形タグ取得
- # x : マップの X 座標
- # y : マップの Y 座標
- # variable_id : 取得した地形タグを代入する変数の ID
- #--------------------------------------------------------------------------
- def get_terrain_tag(x, y, variable_id = 0)
- tag = $game_map.terrain_tag(x, y) # 指定位置のタグを取得
- if variable_id > 0
- $game_variables[variable_id] = tag # 指定された変数に代入
- end
- return tag
- end
- #--------------------------------------------------------------------------
- # ○ 指定イベント ID の位置の地形タグ取得
- # event_id : イベント ID
- # variable_id : 取得した地形タグを代入する変数の ID
- #--------------------------------------------------------------------------
- def get_event_terrain_tag(event_id, variable_id = 0)
- event = $game_map.events.values.find { |e| e.id == event_id }
- if event == nil
- # 該当するイベントが無ければ 0
- tag = 0
- else
- tag = $game_map.terrain_tag(event.x, event.y)
- end
- # 指定された変数に代入
- if variable_id > 0
- $game_variables[variable_id] = tag
- end
- return tag
- end
- #--------------------------------------------------------------------------
- # ○ プレイヤーの位置の地形タグ取得
- # variable_id : 取得した地形タグを代入する変数の ID
- #--------------------------------------------------------------------------
- def get_player_terrain_tag(variable_id = 0)
- tag = $game_map.terrain_tag($game_player.x, $game_player.y)
- # 指定された変数に代入
- if variable_id > 0
- $game_variables[variable_id] = tag
- end
- return tag
- end
- end
- class Game_Interpreter
- include KGC::Commands
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ RPG::MapInfo
- #==============================================================================
- class RPG::MapInfo
- #--------------------------------------------------------------------------
- # ● マップ名取得
- #--------------------------------------------------------------------------
- def name
- return @name.gsub(/\[.*\]/) { "" }
- end
- #--------------------------------------------------------------------------
- # ○ オリジナルマップ名取得
- #--------------------------------------------------------------------------
- def original_name
- return @name
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # □ RPG::Tileset
- #------------------------------------------------------------------------------
- # タイルセットの付加的情報を扱うクラスです。
- #==============================================================================
- class RPG::Tileset
- #--------------------------------------------------------------------------
- # ○ 定数
- #--------------------------------------------------------------------------
- TABLE_SIZE = 8192 # 通行・地形タグテーブルのサイズ
- #--------------------------------------------------------------------------
- # ○ 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :version # 内部バージョン
- attr_accessor :passages # 4 方向通行フラグ
- attr_accessor :terrain_tags # 地形タグ
- #--------------------------------------------------------------------------
- # ○ オブジェクト初期化
- #--------------------------------------------------------------------------
- def initialize
- @version = 1
- @passages = Table.new(TABLE_SIZE)
- @terrain_tags = Table.new(TABLE_SIZE)
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Game_Map
- #==============================================================================
- class Game_Map
- LAYERS = [2, 1, 0]
- #--------------------------------------------------------------------------
- # ● セットアップ
- # map_id : マップ ID
- #--------------------------------------------------------------------------
- alias setup_KGC_TilesetExtension setup
- def setup(map_id)
- # タイルセット画像ファイル名を初期化
- KGC::TilesetExtension.init_tileset_filename(map_id)
- setup_KGC_TilesetExtension(map_id)
- end
- #--------------------------------------------------------------------------
- # ○ 指定座標の通行フラグ取得
- # x : X 座標
- # y : Y 座標
- #--------------------------------------------------------------------------
- def passage(x, y)
- LAYERS.each { |i|
- tile_id = @map.data[x, y, i]
- return 0 if tile_id == nil
- return $data_tileset.passages[tile_id]
- }
- return 0
- end
- #--------------------------------------------------------------------------
- # ○ 指定座標の地形タグ取得
- # x : X 座標
- # y : Y 座標
- #--------------------------------------------------------------------------
- def terrain_tag(x, y)
- LAYERS.each { |i|
- tile_id = @map.data[x, y, i] # タイル ID を取得
- return 0 if tile_id == nil # タイル ID 取得失敗 : タグなし
- tag = $data_tileset.terrain_tags[tile_id] # 地形タグを取得
- return tag if tag > 0 # タグが設定してあれば返す
- }
- return 0
- end
- #--------------------------------------------------------------------------
- # ○ 指定方向通行可能判定
- # x : X 座標
- # y : Y 座標
- # d : 移動方向
- #--------------------------------------------------------------------------
- def passable_dir?(x, y, d)
- # 方向 (0,2,4,6,8,10) から 通行フラグ (0,1,2,4,8,0) に変換
- flag = (1 << (d / 2 - 1)) & 0x0F
- LAYERS.each { |i| # レイヤーの上から順に調べる
- tile_id = @map.data[x, y, i] # タイル ID を取得
- return false if tile_id == nil # タイル ID 取得失敗 : 通行不可
- pass = $data_tileset.passages[tile_id] # タイルセットの通行属性を取得
- return false if pass & flag != 0x00 # フラグが立っていたら通行不可
- }
- return true
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Game_Character
- #==============================================================================
- class Game_Character
- #--------------------------------------------------------------------------
- # ○ 通行可能判定
- # x : X 座標
- # y : Y 座標
- # d : 移動方向 (省略時: 10)
- #--------------------------------------------------------------------------
- def passable?(x, y, d = 10)
- nx = moved_x(x, d)
- ny = moved_y(y, d)
- nx = $game_map.round_x(nx) # 横方向ループ補正
- ny = $game_map.round_y(ny) # 縦方向ループ補正
- return false unless $game_map.valid?(nx, ny) # マップ外?
- return true if @through or debug_through? # すり抜け ON?
- return false unless map_passable?(x, y, d) # 指定方向に移動不能?
- return false unless map_passable?(nx, ny, 10 - d) # 移動先が進入不能?
- return false if collide_with_characters?(nx, ny) # キャラクターに衝突?
- return true # 通行可
- end
- #--------------------------------------------------------------------------
- # ○ 移動後の X 座標算出
- # x : X 座標
- # d : 移動方向
- # 移動後の X 座標を計算する。
- #--------------------------------------------------------------------------
- def moved_x(x, d)
- return x + (d == 6 ? 1 : d == 4 ? -1 : 0)
- end
- #--------------------------------------------------------------------------
- # ○ 移動後の Y 座標算出
- # y : Y 座標
- # d : 移動方向
- # 移動後の Y 座標を計算する。
- #--------------------------------------------------------------------------
- def moved_y(y, d)
- return y + (d == 2 ? 1 : d == 8 ? -1 : 0)
- end
- #--------------------------------------------------------------------------
- # ○ マップ通行可能判定
- # x : X 座標
- # y : Y 座標
- # d : 移動方向
- # 指定座標の指定した方向が通行可能かを取得する。
- #--------------------------------------------------------------------------
- def map_passable?(x, y, d)
- return $game_map.passable?(x, y) && $game_map.passable_dir?(x, y, d)
- end
- #--------------------------------------------------------------------------
- # ● 下に移動
- # turn_ok : その場での向き変更を許可
- #--------------------------------------------------------------------------
- def move_down(turn_ok = true)
- if passable?(@x, @y, 2) # 通行可能
- turn_down
- @y = $game_map.round_y(@y+1)
- @real_y = (@y-1)*256
- increase_steps
- @move_failed = false
- else # 通行不可能
- turn_down if turn_ok
- check_event_trigger_touch(@x, @y+1) # 接触イベントの起動判定
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 左に移動
- # turn_ok : その場での向き変更を許可
- #--------------------------------------------------------------------------
- def move_left(turn_ok = true)
- if passable?(@x, @y, 4) # 通行可能
- turn_left
- @x = $game_map.round_x(@x-1)
- @real_x = (@x+1)*256
- increase_steps
- @move_failed = false
- else # 通行不可能
- turn_left if turn_ok
- check_event_trigger_touch(@x-1, @y) # 接触イベントの起動判定
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 右に移動
- # turn_ok : その場での向き変更を許可
- #--------------------------------------------------------------------------
- def move_right(turn_ok = true)
- if passable?(@x, @y, 6) # 通行可能
- turn_right
- @x = $game_map.round_x(@x+1)
- @real_x = (@x-1)*256
- increase_steps
- @move_failed = false
- else # 通行不可能
- turn_right if turn_ok
- check_event_trigger_touch(@x+1, @y) # 接触イベントの起動判定
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 上に移動
- # turn_ok : その場での向き変更を許可
- #--------------------------------------------------------------------------
- def move_up(turn_ok = true)
- if passable?(@x, @y, 8) # 通行可能
- turn_up
- @y = $game_map.round_y(@y-1)
- @real_y = (@y+1)*256
- increase_steps
- @move_failed = false
- else # 通行不可能
- turn_up if turn_ok
- check_event_trigger_touch(@x, @y-1) # 接触イベントの起動判定
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 左下に移動
- #--------------------------------------------------------------------------
- def move_lower_left
- unless @direction_fix
- @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
- end
- if (passable?(@x, @y, 2) && passable?(@x, @y+1, 4)) ||
- (passable?(@x, @y, 4) && passable?(@x-1, @y, 2))
- @x -= 1
- @y += 1
- increase_steps
- @move_failed = false
- else
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 右下に移動
- #--------------------------------------------------------------------------
- def move_lower_right
- unless @direction_fix
- @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
- end
- if (passable?(@x, @y, 2) && passable?(@x, @y+1, 6)) ||
- (passable?(@x, @y, 6) && passable?(@x+1, @y, 2))
- @x += 1
- @y += 1
- increase_steps
- @move_failed = false
- else
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 左上に移動
- #--------------------------------------------------------------------------
- def move_upper_left
- unless @direction_fix
- @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
- end
- if (passable?(@x, @y, 8) && passable?(@x, @y-1, 4)) ||
- (passable?(@x, @y, 4) && passable?(@x-1, @y, 8))
- @x -= 1
- @y -= 1
- increase_steps
- @move_failed = false
- else
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 右上に移動
- #--------------------------------------------------------------------------
- def move_upper_right
- unless @direction_fix
- @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
- end
- if (passable?(@x, @y, 8) && passable?(@x, @y-1, 6)) ||
- (passable?(@x, @y, 6) && passable?(@x+1, @y, 8))
- @x += 1
- @y -= 1
- increase_steps
- @move_failed = false
- else
- @move_failed = true
- end
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Game_Player
- #==============================================================================
- class Game_Player < Game_Character
- #--------------------------------------------------------------------------
- # ○ マップ通行可能判定
- # x : X 座標
- # y : Y 座標
- # d : 移動方向
- # 指定座標の指定した方向が通行可能かを取得する。
- #--------------------------------------------------------------------------
- alias map_passable_KGC_TilesetExtension? map_passable?
- def map_passable?(x, y, d)
- return false unless map_passable_KGC_TilesetExtension?(x, y)
- return $game_map.passable_dir?(x, y, d)
- end
- if $TEST && KGC::TilesetExtension::DEBUG_INFO_BUTTON != nil
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- alias update_KGC_TilesetExtension update
- def update
- update_KGC_TilesetExtension
- if Input.trigger?(KGC::TilesetExtension::DEBUG_INFO_BUTTON)
- show_passage_and_terrain_tag
- end
- end
- #--------------------------------------------------------------------------
- # ○ プレイヤー位置の通行フラグ・地形タグを表示
- #--------------------------------------------------------------------------
- def show_passage_and_terrain_tag
- passage = $game_map.passage(x, y)
- tag = $game_map.terrain_tag(x, y)
- # デバッグ情報作成
- s = "通行可能: "
- s += "↓" if passage & DirectionFlag::DOWN == 0x00
- s += "←" if passage & DirectionFlag::LEFT == 0x00
- s += "→" if passage & DirectionFlag::RIGHT == 0x00
- s += "↑" if passage & DirectionFlag::UP == 0x00
- s += " 地形标记: #{tag}"
- p s
- end
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Sprite_Character
- #==============================================================================
- class Sprite_Character < Sprite_Base
- #--------------------------------------------------------------------------
- # ● 指定されたタイルが含まれるタイルセット画像の取得
- # tile_id : タイル ID
- #--------------------------------------------------------------------------
- def tileset_bitmap(tile_id)
- filename = KGC::TilesetExtension.get_tileset_filename
- set_number = tile_id / 256
- return Cache.system(filename["B"]) if set_number == 0
- return Cache.system(filename["C"]) if set_number == 1
- return Cache.system(filename["D"]) if set_number == 2
- return Cache.system(filename["E"]) if set_number == 3
- return nil
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Spriteset_Map
- #==============================================================================
- class Spriteset_Map
- #--------------------------------------------------------------------------
- # ● タイルマップの作成
- #--------------------------------------------------------------------------
- def create_tilemap
- filename = KGC::TilesetExtension.get_tileset_filename
- @tilemap = Tilemap.new(@viewport1)
- @tilemap.bitmaps[0] = Cache.system(filename["A1"])
- @tilemap.bitmaps[1] = Cache.system(filename["A2"])
- @tilemap.bitmaps[2] = Cache.system(filename["A3"])
- @tilemap.bitmaps[3] = Cache.system(filename["A4"])
- @tilemap.bitmaps[4] = Cache.system(filename["A5"])
- @tilemap.bitmaps[5] = Cache.system(filename["B"])
- @tilemap.bitmaps[6] = Cache.system(filename["C"])
- @tilemap.bitmaps[7] = Cache.system(filename["D"])
- @tilemap.bitmaps[8] = Cache.system(filename["E"])
- @tilemap.map_data = $game_map.data
- @tilemap.passages = $game_map.passages
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ Scene_Title
- #==============================================================================
- class Scene_Title < Scene_Base
- #--------------------------------------------------------------------------
- # ● データベースのロード
- #--------------------------------------------------------------------------
- alias load_database_KGC_TilesetExtension load_database
- def load_database
- load_database_KGC_TilesetExtension
- load_tileset
- end
- #--------------------------------------------------------------------------
- # ○ タイルセット付加情報のロード
- #--------------------------------------------------------------------------
- def load_tileset
- begin
- $data_tileset = load_data("Data/#{KGC::TilesetExtension::EX_RVDATA}")
- rescue
- $data_tileset = RPG::Tileset.new
- end
- end
- end
复制代码 使用方法:
在地图名称加上[RTP图档名称 新图档名称]
例如:
森林[A2 A2_2][B B_3]
就是说用 TileA2_2 代替 TileA2
而用 TileB_3 代替 TileB
在[]里面不需要写Tile这个字
直接在脚本中定义方法 在脚本里定义可以不用在地图名称里打那麽长的定义
在30行下面定义哈希表:
TILE_PRESET["组名称"] = {
"默认地图图块图档名称1"=>"新地图图块图档名称",
"默认地图图块图档名称2"=>"新地图图块图档名称",
"默认地图图块图档名称3"=>"新地图图块图档名称",
"默认地图图块图档名称4"=>"新地图图块图档名称",
...
}
然後在地图名称使用
地图名称 [SET 组名称]
例如:
TILE_PRESET["魔王之城"] = {
"A1" => "A1-Maou",
"A2" => "A2-Maou",
"B" => "B-Maou",
"D" => "D-Maou",
}
所以
魔王城─走廊[SET 魔王之城]
就等於
魔王城─走廊[A1 A1-Maou][A2 A2-Maou][B B-Maou][D D-Maou]
继承自定义图块: 在地图名称使用[inherit]就能继承其在地图管理器中父地图所定义的图块
(这段有点程序设计的意味,不懂的人就略过)
例如:
魔王城─走廊[A1 A1-Maou][A2 A2-Maou][B B-Maou][D D-Maou]
+--魔王城─房间一[inherit]
如此「魔王城─房间一」就继承了魔王城─走廊已经定义过的所有图块。
PS:地图管理器就是RMVX介面左下角(图块选择器的下面)那个
变更的优先度:
1. 继承
2. 脚本自定义
3. 个别设定
例如
- 魔王城堡[A1 A1-2][B B2][C C2]
魔王城堡大厅[inherit][A2 A2-2]
- 魔王城堡走廊[inherit][B B3]
魔王城堡房间一[inherit][D D2]
- 魔王城堡後院[A1 A1-100]
魔王城堡─谜之间[inherit]
则效果:
*魔王城堡
A1: TileA1-2
B : TileB2
C : TileC2
*魔王城堡大厅
A1: TileA1-2
A2: TileA2-2
B : TileB2
C : TileC2
*魔王城堡走廊
A1: TileA1-2
B : TileB3
C : TileC2
*魔王城堡房间一
A1: TileA1-2
B : TileB3
C : TileC2
D : TileD2
*魔王城堡後院
A1: TileA1-100
*魔王城堡─谜之间
A1: TileA1-100
四方向和地形标记需要软体
下载:http://f44.aaa.livedoor.jp/~ytomy/cgi-bin/dl/dl.php?dl=vxtiletool
说明:与XP相同,就是四方向
地形标记可以增加到1~99个,不设置的话默认为0
使用插件软件设置时,用shift + 点击可以将地形标记增加 10
使用方式请看XP的说明
地形标记相关脚本:
get_terrain_tag(x, y[, variable_id])
返回指定图块的地形标记至指定的变量
x, y: 指定图块的XY座标
variable_id:返回值储存位置(变量ID)(可不填)
例如:get_terrain_tag(0, 32, 1)返回座标为(0,32)的地形标记并储存至1号变量
$game_variable[1] = get_terrain_tag(0, 32) 同上
get_event_terrain_tag(event_id[, variable_id])
返回指定事件的地形标记至指定的变量
event_id:指定事件的ID
variable_id:返回值储存位置(变量ID)(可不填)
例如:get_event_terrain_tag(32, 1)返回32号事件所在的地形标记并储存至1号变量
$game_variable[1] = get_event_terrain_tag(32) 同上
get_player_terrain_tag[(variable_id)]
返回玩家角色的地形标记至指定的变量
variable_id:返回值储存位置(变量ID)(可不填)
例如:get_event_terrain_tag(1)返回玩家角色所在的地形标记并储存至1号变量
$game_variable[1] = get_event_terrain_tag 同上
范例:VX图块加强 |
|