设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1262|回复: 2
打印 上一主题 下一主题

[已经过期] 问一下,VX的图块扩张脚本怎么用。。

[复制链接]

Lv1.梦旅人

天才琪露诺

梦石
0
星屑
54
在线时间
276 小时
注册时间
2013-6-24
帖子
1741
跳转到指定楼层
1
发表于 2013-7-7 15:59:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 八月桑 于 2013-7-7 17:05 编辑
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ タイルセット拡張 - KGC_TilesetExtension ◆ VX ◆
  3. #_/    ◇ Last update : 2008/07/13 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  タイル画像変更、4方向通行、地形タグなどの機能を追加します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. #==============================================================================
  8. # ★ カスタマイズ項目 - Customize ★
  9. #==============================================================================

  10. module KGC
  11. module TilesetExtension
  12.   # ◆ タイル画像ファイル名のプレフィックス
  13.   #  タイル画像ファイル名の先頭に必要な文字列。
  14.   TILE_IMAGE_PREFIX = "Tile"

  15.   # ◆ タイル画像のプリセット
  16.   #  [SET <セット名>] で使用可能。
  17.   TILE_PRESET = {}  # ← これは消さないこと!
  18.   # ここから下に、プリセットを定義。
  19.   # ↓は設定例
  20.     TILE_PRESET["_1图块"] = {
  21.     "A2"=>"A2_1",
  22.    "A1"=>"A1_1",
  23.    "A4"=>"A4_1",

  24.   }
  25.     TILE_PRESET["_沙漠"] = {
  26.     "A1"=>"A1_沙漠",
  27.     "A2"=>"A2_沙漠",
  28.     "A3"=>"A3_沙漠",
  29.     "A4"=>"A4_沙漠",
  30.     "A5"=>"A5_沙漠",
  31.     "E"=>"E_沙漠",
  32.     "B"=>"B_沙漠",
  33.     "C"=>"C_沙漠",
  34.     "D"=>"D_沙漠",
  35.   }
  36.     TILE_PRESET["_沙漠2"] = {
  37.     "A1"=>"A1_沙漠",
  38.     "A2"=>"A2_沙漠",
  39.     "A3"=>"A3_沙漠",
  40.     "A4"=>"A4_沙漠",
  41.     "A5"=>"A5_沙漠",
  42.   }
  43.       TILE_PRESET["_沙漠建筑"] = {
  44.     "A4"=>"A4_1",
  45.     "A2"=>"A2_1",
  46.     "C"=>"C_沙漠",
  47.   }
  48.       TILE_PRESET["_冰窟"] = {
  49.     "A4"=>"A4_冰窟",

  50.   }
  51.       TILE_PRESET["_晋城"] = {
  52.     "A1"=>"A1_沙漠",
  53.     "A2"=>"A2_沙漠",
  54.     "A3"=>"A3_晋城",
  55.     "A4"=>"A4_沙漠",
  56.     "A5"=>"A5_沙漠",
  57.     "E"=>"E_晋城",
  58.   }  
  59.       TILE_PRESET["_血洞"] = {
  60.     "A2"=>"A2_血洞",
  61.     "E"=>"E_血洞",
  62.   }
  63.       TILE_PRESET["_狩猎场"] = {
  64.     "E"=>"E_狩猎场",
  65.     }
  66.       TILE_PRESET["_狩猎场2"] = {
  67.     "E"=>"E_狩猎场2",
  68.   }
  69.   # 使うときは、マップ名に [SET 魔王の城] を入れる。

  70.   # ◆ 4方向通行・地形タグ確認ボタン (デバッグ用)
  71.   #  このボタンを押すと、プレイヤーが立っている場所の4方向通行設定と
  72.   #  地形タグをダイアログに表示します。
  73.   #  nil にすると、この機能は無効になります。
  74.   #   ※ この機能はテストプレイ中のみ有効になります。
  75.   DEBUG_INFO_BUTTON = Input::F7
  76. end
  77. end

  78. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  79. $imported = {} if $imported == nil
  80. $imported["TilesetExtension"] = true

  81. if $data_mapinfos == nil
  82.   $data_mapinfos = load_data("Data/MapInfos.rvdata")
  83. end

  84. # 方向フラグ (4方向通行フラグ対応)
  85. module DirectionFlag
  86.   DOWN  = 0x01
  87.   LEFT  = 0x02
  88.   RIGHT = 0x04
  89.   UP    = 0x08
  90. end

  91. module KGC::TilesetExtension
  92.   # 拡張タイルセットのファイル名
  93.   EX_RVDATA = "TilesetEx.rvdata"

  94.   # 正規表現
  95.   module Regexp
  96.     # 継承
  97.     INHERIT = /\[INHERIT\]/i
  98.     # プリセット
  99.     PRESET = /\[SET ([\w\-]+)\]/i
  100.   end

  101.   # デフォルトタイルセットファイル名
  102.   DEFAULT_FILENAME = {
  103.     "A1"=>"TileA1",
  104.     "A2"=>"TileA2",
  105.     "A3"=>"TileA3",
  106.     "A4"=>"TileA4",
  107.     "A5"=>"TileA5",
  108.     "B"=>"TileB",
  109.     "C"=>"TileC",
  110.     "D"=>"TileD",
  111.     "E"=>"TileE"
  112.   }
  113.   @@__filename = DEFAULT_FILENAME.dup

  114.   module_function
  115.   #--------------------------------------------------------------------------
  116.   # ○ 指定マップのタイル画像ファイル名初期化
  117.   #     map_id : マップ ID
  118.   #--------------------------------------------------------------------------
  119.   def init_tileset_filename(map_id)
  120.     @@__filename = get_converted_tileset_filename(map_id)
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ○ 変換後のタイル画像ファイル名を取得
  124.   #     map_id : マップ ID
  125.   #--------------------------------------------------------------------------
  126.   def get_converted_tileset_filename(map_id)
  127.     info = $data_mapinfos[map_id]
  128.     name = info.original_name
  129.     filename = DEFAULT_FILENAME.dup
  130.     if name =~ Regexp::INHERIT
  131.       # 継承する場合は親を調べる
  132.       parent_id = $data_mapinfos[map_id].parent_id
  133.       if parent_id > 0
  134.         filename = get_converted_tileset_filename(parent_id)
  135.       end
  136.     end
  137.     # 現マップの変換規則を適用
  138.     return convert_tileset_filename(filename, name)
  139.   end
  140.   #--------------------------------------------------------------------------
  141.   # ○ タイル画像ファイル名変換
  142.   #     filename : ファイル名 (Hash)
  143.   #     map_name : マップ名
  144.   #--------------------------------------------------------------------------
  145.   def convert_tileset_filename(filename, map_name)
  146.     name_buf = filename.dup
  147.     # プリセット適用
  148.     presets = map_name.scan(Regexp::PRESET)
  149.     presets.each { |s|
  150.       if TILE_PRESET.has_key?(s[0])
  151.         TILE_PRESET[s[0]].each { |k, v|
  152.           name_buf[k] = TILE_IMAGE_PREFIX + v
  153.         }
  154.       end
  155.     }
  156.     # 置換
  157.     DEFAULT_FILENAME.keys.each { |key|
  158.       if map_name =~ /\[#{key} ([\w\-]+)\]/
  159.         name_buf[key] = TILE_IMAGE_PREFIX + $1
  160.       end
  161.     }
  162.     return name_buf
  163.   end
  164.   #--------------------------------------------------------------------------
  165.   # ○ タイル画像ファイル名取得
  166.   #--------------------------------------------------------------------------
  167.   def get_tileset_filename
  168.     return @@__filename
  169.   end
  170. end

  171. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  172. #==============================================================================
  173. # □ KGC::Commands
  174. #==============================================================================

  175. module KGC
  176. module Commands
  177.   module_function
  178.   #--------------------------------------------------------------------------
  179.   # ○ 指定座標の地形タグ取得
  180.   #     x : マップの X 座標
  181.   #     y : マップの Y 座標
  182.   #     variable_id : 取得した地形タグを代入する変数の ID
  183.   #--------------------------------------------------------------------------
  184.   def get_terrain_tag(x, y, variable_id = 0)
  185.     tag = $game_map.terrain_tag(x, y)       # 指定位置のタグを取得
  186.     if variable_id > 0
  187.       $game_variables[variable_id] = tag    # 指定された変数に代入
  188.     end
  189.     return tag
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ○ 指定イベント ID の位置の地形タグ取得
  193.   #     event_id : イベント ID
  194.   #     variable_id : 取得した地形タグを代入する変数の ID
  195.   #--------------------------------------------------------------------------
  196.   def get_event_terrain_tag(event_id, variable_id = 0)
  197.     event = $game_map.events.values.find { |e| e.id == event_id }
  198.     if event == nil
  199.       # 該当するイベントが無ければ 0
  200.       tag = 0
  201.     else
  202.       tag = $game_map.terrain_tag(event.x, event.y)
  203.     end

  204.     # 指定された変数に代入
  205.     if variable_id > 0
  206.       $game_variables[variable_id] = tag
  207.     end
  208.     return tag
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ○ プレイヤーの位置の地形タグ取得
  212.   #     variable_id : 取得した地形タグを代入する変数の ID
  213.   #--------------------------------------------------------------------------
  214.   def get_player_terrain_tag(variable_id = 0)
  215.     tag = $game_map.terrain_tag($game_player.x, $game_player.y)

  216.     # 指定された変数に代入
  217.     if variable_id > 0
  218.       $game_variables[variable_id] = tag
  219.     end
  220.     return tag
  221.   end
  222. end
  223. end

  224. class Game_Interpreter
  225.   include KGC::Commands
  226. end

  227. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  228. #==============================================================================
  229. # ■ RPG::MapInfo
  230. #==============================================================================

  231. class RPG::MapInfo
  232.   #--------------------------------------------------------------------------
  233.   # ● マップ名取得
  234.   #--------------------------------------------------------------------------
  235.   def name
  236.     return @name.gsub(/\[.*\]/) { "" }
  237.   end
  238.   #--------------------------------------------------------------------------
  239.   # ○ オリジナルマップ名取得
  240.   #--------------------------------------------------------------------------
  241.   def original_name
  242.     return @name
  243.   end
  244. end

  245. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  246. #==============================================================================
  247. # □ RPG::Tileset
  248. #------------------------------------------------------------------------------
  249. #   タイルセットの付加的情報を扱うクラスです。
  250. #==============================================================================

  251. class RPG::Tileset
  252.   #--------------------------------------------------------------------------
  253.   # ○ 定数
  254.   #--------------------------------------------------------------------------
  255.   TABLE_SIZE = 8192                       # 通行・地形タグテーブルのサイズ
  256.   #--------------------------------------------------------------------------
  257.   # ○ 公開インスタンス変数
  258.   #--------------------------------------------------------------------------
  259.   attr_accessor :version                  # 内部バージョン
  260.   attr_accessor :passages                 # 4 方向通行フラグ
  261.   attr_accessor :terrain_tags             # 地形タグ
  262.   #--------------------------------------------------------------------------
  263.   # ○ オブジェクト初期化
  264.   #--------------------------------------------------------------------------
  265.   def initialize
  266.     @version = 1
  267.     @passages = Table.new(TABLE_SIZE)
  268.     @terrain_tags = Table.new(TABLE_SIZE)
  269.   end
  270. end

  271. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  272. #==============================================================================
  273. # ■ Game_Map
  274. #==============================================================================

  275. class Game_Map
  276.   LAYERS = [2, 1, 0]
  277.   #--------------------------------------------------------------------------
  278.   # ● セットアップ
  279.   #     map_id : マップ ID
  280.   #--------------------------------------------------------------------------
  281.   alias setup_KGC_TilesetExtension setup
  282.   def setup(map_id)
  283.     @map_id = map_id
  284.     init_tileset_filename

  285.     setup_KGC_TilesetExtension(map_id)
  286.   end
  287.   #--------------------------------------------------------------------------
  288.   # ○ タイルセット画像ファイル名を初期化
  289.   #--------------------------------------------------------------------------
  290.   def init_tileset_filename
  291.     KGC::TilesetExtension.init_tileset_filename(@map_id)
  292.   end
  293.   #--------------------------------------------------------------------------
  294.   # ○ 指定座標の通行フラグ取得
  295.   #     x : X 座標
  296.   #     y : Y 座標
  297.   #--------------------------------------------------------------------------
  298.   def passage(x, y)
  299.     LAYERS.each { |i|
  300.       tile_id = @map.data[x, y, i]
  301.       return 0 if tile_id == nil
  302.       return $data_tileset.passages[tile_id]
  303.     }
  304.     return 0
  305.   end
  306.   #--------------------------------------------------------------------------
  307.   # ○ 指定座標の地形タグ取得
  308.   #     x : X 座標
  309.   #     y : Y 座標
  310.   #--------------------------------------------------------------------------
  311.   def terrain_tag(x, y)
  312.     LAYERS.each { |i|
  313.       tile_id = @map.data[x, y, i]               # タイル ID を取得
  314.       return 0 if tile_id == nil                 # タイル ID 取得失敗 : タグなし
  315.       tag = $data_tileset.terrain_tags[tile_id]  # 地形タグを取得
  316.       return tag if tag > 0                      # タグが設定してあれば返す
  317.     }
  318.     return 0
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ○ 指定方向通行可能判定
  322.   #     x : X 座標
  323.   #     y : Y 座標
  324.   #     d : 移動方向
  325.   #--------------------------------------------------------------------------
  326.   def passable_dir?(x, y, d)
  327.     # 方向 (0,2,4,6,8,10) から 通行フラグ (0,1,2,4,8,0) に変換
  328.     flag = (1 << (d / 2 - 1)) & 0x0F

  329.     LAYERS.each { |i|                         # レイヤーの上から順に調べる
  330.       tile_id = @map.data[x, y, i]            # タイル ID を取得
  331.       return false if tile_id == nil          # タイル ID 取得失敗 : 通行不可
  332.       pass = $data_tileset.passages[tile_id]  # タイルセットの通行属性を取得
  333.       return false if pass & flag != 0x00     # フラグが立っていたら通行不可
  334.     }
  335.     return true
  336.   end
  337. end

  338. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  339. #==============================================================================
  340. # ■ Game_Character
  341. #==============================================================================

  342. class Game_Character
  343.   #--------------------------------------------------------------------------
  344.   # ○ 通行可能判定
  345.   #     x : X 座標
  346.   #     y : Y 座標
  347.   #     d : 移動方向 (省略時: 10)
  348.   #--------------------------------------------------------------------------
  349.   def passable?(x, y, d = 10)
  350.     nx = moved_x(x, d)
  351.     ny = moved_y(y, d)
  352.     nx = $game_map.round_x(nx)                         # 横方向ループ補正
  353.     ny = $game_map.round_y(ny)                         # 縦方向ループ補正
  354.     return false unless $game_map.valid?(nx, ny)       # マップ外?
  355.     return true if @through or debug_through?          # すり抜け ON?
  356.     return false unless map_passable?(x, y, d)         # 指定方向に移動不能?
  357.     return false unless map_passable?(nx, ny, 10 - d)  # 移動先が進入不能?
  358.     return false if collide_with_characters?(nx, ny)   # キャラクターに衝突?
  359.     return true                                        # 通行可
  360.   end
  361.   #--------------------------------------------------------------------------
  362.   # ○ 移動後の X 座標算出
  363.   #     x : X 座標
  364.   #     d : 移動方向
  365.   #    移動後の X 座標を計算する。
  366.   #--------------------------------------------------------------------------
  367.   def moved_x(x, d)
  368.     return x + (d == 6 ? 1 : d == 4 ? -1 : 0)
  369.   end
  370.   #--------------------------------------------------------------------------
  371.   # ○ 移動後の Y 座標算出
  372.   #     y : Y 座標
  373.   #     d : 移動方向
  374.   #    移動後の Y 座標を計算する。
  375.   #--------------------------------------------------------------------------
  376.   def moved_y(y, d)
  377.     return y + (d == 2 ? 1 : d == 8 ? -1 : 0)
  378.   end
  379.   #--------------------------------------------------------------------------
  380.   # ○ マップ通行可能判定
  381.   #     x : X 座標
  382.   #     y : Y 座標
  383.   #     d : 移動方向
  384.   #    指定座標の指定した方向が通行可能かを取得する。
  385.   #--------------------------------------------------------------------------
  386.   def map_passable?(x, y, d)
  387.     return $game_map.passable?(x, y) && $game_map.passable_dir?(x, y, d)
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   # ● 下に移動
  391.   #     turn_ok : その場での向き変更を許可
  392.   #--------------------------------------------------------------------------
  393.   def move_down(turn_ok = true)
  394.     if passable?(@x, @y, 2)                 # 通行可能
  395.       turn_down
  396.       @y = $game_map.round_y(@y+1)
  397.       @real_y = (@y-1)*256
  398.       increase_steps
  399.       @move_failed = false
  400.     else                                    # 通行不可能
  401.       turn_down if turn_ok
  402.       check_event_trigger_touch(@x, @y+1)   # 接触イベントの起動判定
  403.       @move_failed = true
  404.     end
  405.   end
  406.   #--------------------------------------------------------------------------
  407.   # ● 左に移動
  408.   #     turn_ok : その場での向き変更を許可
  409.   #--------------------------------------------------------------------------
  410.   def move_left(turn_ok = true)
  411.     if passable?(@x, @y, 4)                 # 通行可能
  412.       turn_left
  413.       @x = $game_map.round_x(@x-1)
  414.       @real_x = (@x+1)*256
  415.       increase_steps
  416.       @move_failed = false
  417.     else                                    # 通行不可能
  418.       turn_left if turn_ok
  419.       check_event_trigger_touch(@x-1, @y)   # 接触イベントの起動判定
  420.       @move_failed = true
  421.     end
  422.   end
  423.   #--------------------------------------------------------------------------
  424.   # ● 右に移動
  425.   #     turn_ok : その場での向き変更を許可
  426.   #--------------------------------------------------------------------------
  427.   def move_right(turn_ok = true)
  428.     if passable?(@x, @y, 6)                 # 通行可能
  429.       turn_right
  430.       @x = $game_map.round_x(@x+1)
  431.       @real_x = (@x-1)*256
  432.       increase_steps
  433.       @move_failed = false
  434.     else                                    # 通行不可能
  435.       turn_right if turn_ok
  436.       check_event_trigger_touch(@x+1, @y)   # 接触イベントの起動判定
  437.       @move_failed = true
  438.     end
  439.   end
  440.   #--------------------------------------------------------------------------
  441.   # ● 上に移動
  442.   #     turn_ok : その場での向き変更を許可
  443.   #--------------------------------------------------------------------------
  444.   def move_up(turn_ok = true)
  445.     if passable?(@x, @y, 8)                 # 通行可能
  446.       turn_up
  447.       @y = $game_map.round_y(@y-1)
  448.       @real_y = (@y+1)*256
  449.       increase_steps
  450.       @move_failed = false
  451.     else                                    # 通行不可能
  452.       turn_up if turn_ok
  453.       check_event_trigger_touch(@x, @y-1)   # 接触イベントの起動判定
  454.       @move_failed = true
  455.     end
  456.   end
  457.   #--------------------------------------------------------------------------
  458.   # ● 左下に移動
  459.   #--------------------------------------------------------------------------
  460.   def move_lower_left
  461.     unless @direction_fix
  462.       @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
  463.     end
  464.     if (passable?(@x, @y, 2) && passable?(@x, @y+1, 4)) ||
  465.        (passable?(@x, @y, 4) && passable?(@x-1, @y, 2))
  466.       @x -= 1
  467.       @y += 1
  468.       increase_steps
  469.       @move_failed = false
  470.     else
  471.       @move_failed = true
  472.     end
  473.   end
  474.   #--------------------------------------------------------------------------
  475.   # ● 右下に移動
  476.   #--------------------------------------------------------------------------
  477.   def move_lower_right
  478.     unless @direction_fix
  479.       @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
  480.     end
  481.     if (passable?(@x, @y, 2) && passable?(@x, @y+1, 6)) ||
  482.        (passable?(@x, @y, 6) && passable?(@x+1, @y, 2))
  483.       @x += 1
  484.       @y += 1
  485.       increase_steps
  486.       @move_failed = false
  487.     else
  488.       @move_failed = true
  489.     end
  490.   end
  491.   #--------------------------------------------------------------------------
  492.   # ● 左上に移動
  493.   #--------------------------------------------------------------------------
  494.   def move_upper_left
  495.     unless @direction_fix
  496.       @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
  497.     end
  498.     if (passable?(@x, @y, 8) && passable?(@x, @y-1, 4)) ||
  499.        (passable?(@x, @y, 4) && passable?(@x-1, @y, 8))
  500.       @x -= 1
  501.       @y -= 1
  502.       increase_steps
  503.       @move_failed = false
  504.     else
  505.       @move_failed = true
  506.     end
  507.   end
  508.   #--------------------------------------------------------------------------
  509.   # ● 右上に移動
  510.   #--------------------------------------------------------------------------
  511.   def move_upper_right
  512.     unless @direction_fix
  513.       @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
  514.     end
  515.     if (passable?(@x, @y, 8) && passable?(@x, @y-1, 6)) ||
  516.        (passable?(@x, @y, 6) && passable?(@x+1, @y, 8))
  517.       @x += 1
  518.       @y -= 1
  519.       increase_steps
  520.       @move_failed = false
  521.     else
  522.       @move_failed = true
  523.     end
  524.   end
  525. end

  526. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  527. #==============================================================================
  528. # ■ Game_Player
  529. #==============================================================================

  530. class Game_Player < Game_Character
  531.   #--------------------------------------------------------------------------
  532.   # ○ マップ通行可能判定
  533.   #     x : X 座標
  534.   #     y : Y 座標
  535.   #     d : 移動方向
  536.   #    指定座標の指定した方向が通行可能かを取得する。
  537.   #--------------------------------------------------------------------------
  538.   alias map_passable_KGC_TilesetExtension? map_passable?
  539.   def map_passable?(x, y, d)
  540.     return false unless map_passable_KGC_TilesetExtension?(x, y)

  541.     return $game_map.passable_dir?(x, y, d)
  542.   end

  543.   if $TEST && KGC::TilesetExtension::DEBUG_INFO_BUTTON != nil
  544.   #--------------------------------------------------------------------------
  545.   # ● フレーム更新
  546.   #--------------------------------------------------------------------------
  547.   alias update_KGC_TilesetExtension update
  548.   def update
  549.     update_KGC_TilesetExtension

  550.     if Input.trigger?(KGC::TilesetExtension::DEBUG_INFO_BUTTON)
  551.       show_passage_and_terrain_tag
  552.     end
  553.   end
  554.   #--------------------------------------------------------------------------
  555.   # ○ プレイヤー位置の通行フラグ・地形タグを表示
  556.   #--------------------------------------------------------------------------
  557.   def show_passage_and_terrain_tag
  558.     passage = $game_map.passage(x, y)
  559.     tag = $game_map.terrain_tag(x, y)

  560.     # デバッグ情報作成
  561.     s = "通行可能: "
  562.     s += "↓" if passage & DirectionFlag::DOWN  == 0x00
  563.     s += "←" if passage & DirectionFlag::LEFT  == 0x00
  564.     s += "→" if passage & DirectionFlag::RIGHT == 0x00
  565.     s += "↑" if passage & DirectionFlag::UP    == 0x00
  566.     s += "  地形タグ: #{tag}"

  567.     p s
  568.   end
  569.   end

  570. end

  571. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  572. #==============================================================================
  573. # ■ Sprite_Character
  574. #==============================================================================

  575. class Sprite_Character < Sprite_Base
  576.   #--------------------------------------------------------------------------
  577.   # ● 指定されたタイルが含まれるタイルセット画像の取得
  578.   #     tile_id : タイル ID
  579.   #--------------------------------------------------------------------------
  580.   def tileset_bitmap(tile_id)
  581.     filename = KGC::TilesetExtension.get_tileset_filename
  582.     set_number = tile_id / 256
  583.     return Cache.system(filename["B"]) if set_number == 0
  584.     return Cache.system(filename["C"]) if set_number == 1
  585.     return Cache.system(filename["D"]) if set_number == 2
  586.     return Cache.system(filename["E"]) if set_number == 3
  587.     return nil
  588.   end
  589. end

  590. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  591. #==============================================================================
  592. # ■ Spriteset_Map
  593. #==============================================================================

  594. class Spriteset_Map
  595.   #--------------------------------------------------------------------------
  596.   # ● タイルマップの作成
  597.   #--------------------------------------------------------------------------
  598.   def create_tilemap
  599.     filename = KGC::TilesetExtension.get_tileset_filename
  600.     @tilemap = Tilemap.new(@viewport1)
  601.     @tilemap.bitmaps[0] = Cache.system(filename["A1"])
  602.     @tilemap.bitmaps[1] = Cache.system(filename["A2"])
  603.     @tilemap.bitmaps[2] = Cache.system(filename["A3"])
  604.     @tilemap.bitmaps[3] = Cache.system(filename["A4"])
  605.     @tilemap.bitmaps[4] = Cache.system(filename["A5"])
  606.     @tilemap.bitmaps[5] = Cache.system(filename["B"])
  607.     @tilemap.bitmaps[6] = Cache.system(filename["C"])
  608.     @tilemap.bitmaps[7] = Cache.system(filename["D"])
  609.     @tilemap.bitmaps[8] = Cache.system(filename["E"])
  610.     @tilemap.map_data = $game_map.data
  611.     @tilemap.passages = $game_map.passages
  612.   end
  613. end

  614. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  615. #==============================================================================
  616. # ■ Scene_Title
  617. #==============================================================================

  618. class Scene_Title < Scene_Base
  619.   #--------------------------------------------------------------------------
  620.   # ● データベースのロード
  621.   #--------------------------------------------------------------------------
  622.   alias load_database_KGC_TilesetExtension load_database
  623.   def load_database
  624.     load_database_KGC_TilesetExtension

  625.     load_tileset
  626.   end
  627.   #--------------------------------------------------------------------------
  628.   # ○ タイルセット付加情報のロード
  629.   #--------------------------------------------------------------------------
  630.   def load_tileset
  631.     begin
  632.       $data_tileset = load_data("Data/#{KGC::TilesetExtension::EX_RVDATA}")
  633.     rescue
  634.       $data_tileset = RPG::Tileset.new
  635.     end
  636.   end
  637. end

  638. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  639. #==============================================================================
  640. # ■ Scene_File
  641. #==============================================================================

  642. class Scene_File < Scene_Base
  643.   #--------------------------------------------------------------------------
  644.   # ● セーブデータの読み込み
  645.   #     file : 読み込み用ファイルオブジェクト (オープン済み)
  646.   #--------------------------------------------------------------------------
  647.   alias read_save_data_KGC_TilesetExtension read_save_data
  648.   def read_save_data(file)
  649.     read_save_data_KGC_TilesetExtension(file)

  650.     $game_map.init_tileset_filename
  651.     Graphics.frame_reset
  652.   end
  653. end
复制代码
@protosssonny P叔快来..
【有问题 找P叔】
附@ @彭格列第XI代 @763663412 @黄嫩凉太
【有事儿没事儿都塞点糖给我吧..草莓味儿的..】  

点评

我一般懒得去翻别人游戏的脚本= =  发表于 2013-7-7 17:36
没用过  发表于 2013-7-7 16:11

说人家是笨蛋的自己才是笨蛋,我最强了,最最最强!

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
2
发表于 2013-7-7 17:16:12 | 只看该作者

同没用过这种,以上是推测,你试试~

点评

这个就是六道里面的脚本呐 为毛你们都没用过.. 就是最普通的那种啊.. 你们用的可能都是汉化的吧》。。  发表于 2013-7-7 17:17
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-30 03:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表