XP 스크립트



출처 : http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/frame.html

사진 - 있거여

---------------------- 밑에부터에영

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆メッセージウィンドウ改造 - KGC_MessageAlter◆
#_/----------------------------------------------------------------------------
#_/  メッセージウィンドウを改造し、微妙な機能を追加します。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
  # ◆ウィンドウサイズ自動調整初期設定
  MSGA_AUTO_ADJUST_DEFAULT = true
  # ◆スクロール機能初期設定
  MSGA_SCROLL_DEFAULT = false

  # ◆スクロール速度【単位:px】
  MSGA_SCROLL_SPEED = 4
  # ◆最下部到達必須
  #  true にすると、最下部までスクロールしないとメッセージが消せない
  MSGA_MUST_LOWEST = false

  # ◆顔グラフィック専用ウィンドウを使用
  MSGA_FACE_WINDOW = true
  # ◆名前ウィンドウの縦幅
  #  文字サイズも自動調整(48~64 あたりを推奨)
  MSGA_NAME_WINDOW_HEIGHT = 48
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["MessageAlter"] = true

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :message_auto_adjust      # メッセージウィンドウ自動サイズ調整
  attr_accessor :message_align            # メッセージウィンドウ アライン
  attr_accessor :message_scroll          # メッセージウィンドウ スクロール
  attr_accessor :name_window_skin        # 名前ウィンドウスキン
  attr_accessor :face_window_skin        # 顔グラフィック専用ウィンドウスキン
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MessageAlter initialize
  def initialize
    # 元の処理を実行
    initialize_KGC_MessageAlter

    @message_auto_adjust = KGC::MSGA_AUTO_ADJUST_DEFAULT
    @message_align = 0
    @message_scroll = KGC::MSGA_SCROLL_DEFAULT
    @name_window_skin = nil
    @face_window_skin = nil
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Message
#==============================================================================

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MessageAlter initialize
  def initialize
    # 元の処理を実行
    initialize_KGC_MessageAlter

    # 名前用小型ウィンドウ作成
    @name_window = Window_Base.new(80, 240, 160, KGC::MSGA_NAME_WINDOW_HEIGHT)
    @name_window.visible = false
    @name_window.back_opacity = 160
    @name_window.z = 9999
    # 顔グラフィック専用ウィンドウ作成
    @face_window = Window_Base.new(0, 0, 32, 32)
    @face_window.visible = false
    @face_window.back_opacity = 160
    @face_window.z = 9998
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias dispose_KGC_MessageAlter dispose
  def dispose
    # ウィンドウ解放
    @name_window.dispose
    @face_window.dispose

    # 元の処理を実行
    dispose_KGC_MessageAlter
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    # ウィンドウ初期化
    initialize_window
    # 文字列バッファ作成
    text_buf, trans_x = [Bitmap.new(608, 32)], [0]
    # メッセージウィンドウ自動サイズ調整がオフの場合
    unless $game_system.message_auto_adjust
      self.contents = Bitmap.new(width - 32, height - 32)
    end
    text_buf[0].font.color = self.normal_color
    x = y = max_x = 0
    @cursor_width = 0
    # 選択肢なら字下げを行う
    x = 8 if $game_temp.choice_start == 0
    # 表示待ちのメッセージがある場合
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      # 制御文字処理
      begin
        last_text = text.clone
        text.gsub!(/\[V][(d+)]/i) { $game_variables[$1.to_i] }
        text.gsub!(/\IN[(d+)]/i) { $data_items[$1.to_i] == nil ?
          "" : $data_items[$1.to_i].name }
        text.gsub!(/\WN[(d+)]/i) { $data_weapons[$1.to_i] == nil ?
          "" : $data_weapons[$1.to_i].name }
        text.gsub!(/\AN[(d+)]/i) { $data_armors[$1.to_i] == nil ?
          "" : $data_armors[$1.to_i].name }
      end until text == last_text
      text.gsub!(/\[N][(d+)]/i) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # 便宜上、"\\" を "00" に変換
      text.gsub!(/\\/) { "00" }
      # "\C" を "01" に、"\G" を "02" に変換
      text.gsub!(/\[C][(d+)]/i) { "01[#{$1}]" }
      text.gsub!(/\[G]/i) { "02" }

      text.gsub!(/\AL[(d+)]/i) { "x10[#{$1}]" }
      text.gsub!(/\IT[(d+)]/i) { "x11[#{$1}]" }
      text.gsub!(/\WP[(d+)]/i) { "x12[#{$1}]" }
      text.gsub!(/\AR[(d+)]/i) { "x13[#{$1}]" }
      # c に 1 文字を取得 (文字が取得できなくなるまでループ)
      while ((c = text.slice!(/./m)) != nil)
        # \ の場合
        if c == "00"
          # 本来の文字に戻す
          c = "\"
        end
        # C[n] の場合
        if c == "01"
          # 文字色を変更
          text.sub!(/[(d+)]/, "")
          color = $1.to_i
          if color >= 0 && color <= 7
            text_buf[y].font.color = self.text_color(color)
          end
          # 次の文字へ
          next
        end
        # G の場合
        if c == "02"
          # ゴールドウィンドウを作成
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = self.opacity
            @gold_window.back_opacity = self.back_opacity
          end
          # 次の文字へ
          next
        end
        # AL[n] の場合
        if c == "x10"
          # アラインタイプを変更
          text.sub!(/[(d+)]/, "")
          align = $1.to_i
          # 次の文字へ
          next
        end
        # 改行文字の場合
        if c == "n"
          # 選択肢ならカーソルの幅を更新
          if y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          # y に 1 を加算
          y += 1
          # 新しい文字列バッファを作成
          text_buf[y] = Bitmap.new(608, 32)
          text_buf[y].font.color = self.normal_color
          # x の最大値更新判定
          max_x = [x, max_x].max
          # x を初期化
          x = 0
          # 選択肢なら字下げを行う
          x = 8 if y >= $game_temp.choice_start
          # 次の文字へ
          next
        end
        # IT[n] の場合
        if c == "x11"
          text.sub!(/[(d+)]/, "")
          item = $data_items[$1.to_i]
          if item != nil
            # アイテム名をアイコン付きで描画
            icon = RPG::Cache.icon(item.icon_name)
            text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
            x += icon.width + 8
            cx = text_buf[y].text_size(item.name).width + 8
            text_buf[y].draw_text(x, 0, cx, 32, item.name)
            x += cx - 8
          end
          next
        end
        # WP[n] の場合
        if c == "x12"
          text.sub!(/[(d+)]/, "")
          item = $data_weapons[$1.to_i]
          if item != nil
            # 武器名をアイコン付きで描画
            icon = RPG::Cache.icon(item.icon_name)
            text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
            x += icon.width + 8
            cx = text_buf[y].text_size(item.name).width + 8
            text_buf[y].draw_text(x, 0, cx, 32, item.name)
            x += cx - 8
          end
          next
        end
        # AR[n] の場合
        if c == "x13"
          text.sub!(/[(d+)]/, "")
          item = $data_armors[$1.to_i]
          if item != nil
            # 武器名をアイコン付きで描画
            icon = RPG::Cache.icon(item.icon_name)
            text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
            x += icon.width + 8
            cx = text_buf[y].text_size(item.name).width + 8
            text_buf[y].draw_text(x, 0, cx, 32, item.name)
            x += cx - 8
          end
          next
        end
        # 文字を描画
        text_buf[y].draw_text(4 + x, 0, 40, 32, c)
        # x に描画した文字の幅を加算
        x += text_buf[y].text_size(c).width
        # 転送用X座標保存
        trans_x[y] = x
        # 選択肢の場合はインデント分戻す
        trans_x[y] += 12 if $game_temp.choice_max > 0
      end
    end
    # メッセージウィンドウ自動サイズ調整がオンの場合
    if $game_system.message_auto_adjust
      # 数値入力の場合は1行余分に追加
      y += 1 if $game_temp.num_input_variable_id > 0
      # ウィンドウサイズを調整
      self.width = max_x + 48
      self.height = [y, 4].min * 32 + 32
      # 顔グラフィックが存在する場合
      if @face_bitmap != nil && !KGC::MSGA_FACE_WINDOW
        # ウィンドウの幅を加算
        self.width += @face_bitmap.width + 16
        # ウィンドウの高さが顔グラフィックよりも小さい場合
        if @face_bitmap.height + 32 > self.height
          # 顔グラフィックより大きいサイズに設定
          self.height = @face_bitmap.height + 32
        end
        self.contents = Bitmap.new(width - 32, [y * 32, @face_bitmap.height].max)
        face_y = (self.contents.height - @face_bitmap.height) / 2
        # 顔グラフィックが左側表示の場合
        if $msg_face[1] == 0
          @text_x = @face_bitmap.width + 16
          self.contents.blt(8, face_y, @face_bitmap,
            Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
        else
          @text_x = 0
          self.contents.blt(self.contents.width - @face_bitmap.width - 8,
            face_y, @face_bitmap,
            Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
        end
      else
        @text_x = 0
        self.contents = Bitmap.new(width - 32, y * 32)
      end
    # メッセージウィンドウ自動サイズ調整がオフの場合
    else
      # 顔グラフィックが存在する場合
      if @face_bitmap != nil && !KGC::MSGA_FACE_WINDOW
        # ウィンドウの高さが顔グラフィックよりも小さい場合
        if @face_bitmap.height + 32 > self.height
          # 顔グラフィックより大きいサイズに設定
          self.height = @face_bitmap.height + 32
        end
        face_y = (self.contents.height - @face_bitmap.height) / 2
        # 顔グラフィックが左側表示の場合
        if $msg_face[1] == 0
          @text_x = @face_bitmap.width + 16
          self.contents.blt(8, face_y, @face_bitmap,
            Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
        else
          @text_x = 0
          self.contents.blt(self.contents.width - @face_bitmap.width - 8,
            face_y, @face_bitmap,
            Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
        end
      else
        @text_x = 0
      end
    end
    # ウィンドウ内容を描画
    for i in 0...text_buf.size
      next if text_buf[i] == nil
      trans_x[i] = 0 if trans_x[i] == nil
      # 転送用X座標設定
      align = $game_system.message_align if align == nil
      case align
      when 0, nil  # 左側
        tx = @text_x
      when 1  # 中央
        if $msg_face != nil && $msg_face[1] == 1
          tx = (self.contents.width - trans_x[i] - @face_bitmap.width - 16) / 2
        else
          tx = (self.contents.width - trans_x[i] + @text_x) / 2
        end
      when 2  # 右側
        if $msg_face != nil && $msg_face[1] == 0
          tx = self.contents.width - trans_x[i] - 8
        elsif $msg_face != nil && $msg_face[1] == 1
          tx = self.contents.width - trans_x[i] - @face_bitmap.width - 24
        else
          tx = self.contents.width - trans_x[i] + @text_x - 8
        end
      end
      self.contents.blt(tx, i * 32, text_buf[i], text_buf[i].rect)
      text_buf[i].dispose
    end
    # 選択肢の場合
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    # 数値入力の場合
    if $game_temp.num_input_variable_id > 0
      digits_max = $game_temp.num_input_digits_max
      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8 + @text_x
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
      # メッセージウィンドウ自動サイズ調整がオンの場合
      if $game_system.message_auto_adjust
        # ウィンドウの幅を調整
        self.width = [self.width, @input_number_window.width + 16].max
        # ウィンドウを中央へ移動
        centering_window
        # 数値入力ウィンドウ位置を調整
        @input_number_window.x = self.x + 8 + @text_x
      end
    end
    # 名前が設定されている場合、名前表示
    if $msg_name != nil
      fs = [[22 - (64 - KGC::MSGA_NAME_WINDOW_HEIGHT) / 4, 12].max, 80].min
      bitmap = Bitmap.new(32, 32)
      bitmap.font.size = fs
      cx = bitmap.text_size($msg_name).width
      @name_window.width = cx + 32
      @name_window.contents.dispose if @name_window.contents != nil
      @name_window.contents = Bitmap.new(cx, KGC::MSGA_NAME_WINDOW_HEIGHT - 32)
      @name_window.contents.font.size = fs
      @name_window.contents.draw_text(0, 0, cx + 8, KGC::MSGA_NAME_WINDOW_HEIGHT - 32, $msg_name)
      @name_window.visible = true
      if $game_system.name_window_skin != nil
        @name_window.windowskin = RPG::Cache.windowskin($game_system.name_window_skin)
      else
        @name_window.windowskin = self.windowskin
      end
    # 名前が設定されていない場合、ウィンドウ消去
    else
      @name_window.visible = false
    end
    # 顔グラフィック専用ウィンドウ表示
    if $msg_face != nil && KGC::MSGA_FACE_WINDOW
      @face_window.width = @face_bitmap.width + 32
      @face_window.height = [@face_bitmap.height + 32, self.height].max
      self.height = [@face_window.height, self.height].max
      face_y = (@face_window.height - @face_bitmap.height - 32) / 2
      @face_window.contents.dispose if @face_window.contents != nil
      @face_window.contents = Bitmap.new(@face_window.width - 32, @face_window.height - 32)
      @face_window.contents.blt(0, face_y, @face_bitmap, @face_bitmap.rect)
      if $game_system.face_window_skin != nil
        @face_window.windowskin = RPG::Cache.windowskin($game_system.face_window_skin)
      else
        @face_window.windowskin = self.windowskin
      end
      @face_window.visible = true
    else
      @face_window.visible = false
    end
    # 中央に移動
    centering_window
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウ設定初期化
  #--------------------------------------------------------------------------
  def initialize_window
    if $msg_face == nil || $msg_face[0] == nil || $msg_face[1] == nil
      @face_bitmap.dispose if @face_bitmap != nil
      @face_bitmap = nil
      self.width = 480
    else
      @face_bitmap = RPG::Cache.picture($msg_face[0])
      self.width = KGC::MSGA_FACE_WINDOW ? 480 : 496 + @face_bitmap.width
    end
    centering_window
    self.y = 304
    self.oy = 0
    self.height = 160
    reset_window
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウを中央に移動
  #--------------------------------------------------------------------------
  def centering_window
    if @face_window.visible && $msg_face != nil
      cx = 640 - self.width - @face_window.width
      case $msg_face[1]
      when 1  # 右
        @face_window.x = cx / 2 + self.width
        self.x = cx / 2
        @name_window.x = self.x
      else  # 左
        @face_window.x = cx / 2
        self.x = cx / 2 + @face_window.width
        @name_window.x = @face_window.x
      end
    else
      cx = 640 - self.width
      self.x = cx / 2
      @name_window.x = self.x
    end
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウの位置と不透明度の設定
  #--------------------------------------------------------------------------
  def reset_window
    if $game_temp.in_battle
      self.y = 32
    else
      case $game_system.message_position
      when 0  # 上
        self.y = 32
      when 1  # 中
        self.y = 160
      when 2  # 下
        self.y = 304
      end
    end
    if $game_system.message_frame == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    @name_window.y = self.y - KGC::MSGA_NAME_WINDOW_HEIGHT + 16
    @name_window.opacity = self.opacity
    @face_window.y = self.y
    @face_window.opacity = self.opacity
    self.back_opacity = 160
    self.pause = false
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    # ウィンドウを更新
    @name_window.update
    @face_window.update
    # フェードインの場合
    if @fade_in
      self.contents_opacity += 24
      @name_window.contents_opacity += 24 if $msg_name != nil
      @face_window.contents_opacity += 24 if $msg_face != nil
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.contents_opacity == 255
        @fade_in = false
      end
      return
    end
    # 数値入力中の場合
    if @input_number_window != nil
      @input_number_window.update
      # 決定
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        # 数値入力ウィンドウを解放
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    # メッセージ表示中の場合
    if @contents_showing
      # スクロール最大位置を計算
      scroll_max = self.contents.height - (self.height - 32)
      # 選択肢の表示中でなければポーズサインを表示
      if $game_temp.choice_max == 0
        self.pause = true
      end
      # キャンセル
      if Input.trigger?(Input::B) && $game_temp.choice_max > 0 &&
          $game_temp.choice_cancel_type > 0
        $game_system.se_play($data_system.cancel_se)
        $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
        terminate_message
      end
      # 決定
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        # スクロール機能がオン、かつ選択肢でない場合
        if $game_system.message_scroll && $game_temp.choice_max == 0
          # 最下部到達判定
          if KGC::MSGA_MUST_LOWEST
            terminate_message if self.oy == scroll_max
          else
            terminate_message
          end
        else
          terminate_message
        end
      end
      # スクロール機能がオン、かつ選択肢でない場合
      if $game_system.message_scroll && $game_temp.choice_max == 0
        # 方向ボタンの上が押されている場合
        if Input.press?(Input::UP)
          self.oy = [self.oy - KGC::MSGA_SCROLL_SPEED, 0].max
        # 方向ボタンの下が押されている場合
        elsif Input.press?(Input::DOWN)
          self.oy = [self.oy + KGC::MSGA_SCROLL_SPEED, scroll_max].min
        # R ボタンが押された場合
        elsif Input.repeat?(Input::R)
          self.oy = [self.oy + (self.height - 32), scroll_max].min
        # L ボタンが押された場合
        elsif Input.repeat?(Input::L)
          self.oy = [self.oy - (self.height - 32), 0].max
        end
        # ウィンドウ最下部に達した場合
        if $game_temp.choice_max == 0 && self.oy == scroll_max
          # ポーズサインを表示
          self.pause = true
        else
          # ポーズサインを消去
          self.pause = false
        end
      end
      return
    end
    # フェードアウト中以外で表示待ちのメッセージか選択肢がある場合
    if !@fade_out && $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @fade_in = true
      return
    end
    # 表示すべきメッセージがないが、ウィンドウが可視状態の場合
    if self.visible
      @fade_out = true
      self.opacity -= 48
      @name_window.opacity -= 48
      @face_window.opacity -= 48
      if self.opacity == 0
        self.visible = false
        @name_window.visible = false
        @face_window.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● カーソルの矩形更新
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8 + @text_x, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Interpreter (分割定義 3)
#==============================================================================

class Interpreter
  #--------------------------------------------------------------------------
  # ● 文章の表示
  #--------------------------------------------------------------------------
  def command_101
    # ほかの文章が message_text に設定済み、かつスクロール機能がオフの場合
    if $game_temp.message_text != nil && !$game_system.message_scroll
      # 終了
      return false
    end
    # メッセージ終了待機中フラグおよびコールバックを設定
    @message_waiting = true
    $game_temp.message_proc = Proc.new { @message_waiting = false }
    # message_text に 1 行目を設定
    $game_temp.message_text = @list[@index].parameters[0] + "n"
    line_count = 1
    # ループ
    loop {
      # 次のイベントコマンドが文章 2 行目以降の場合
      if @list[@index+1].code == 401
        # message_text に 2 行目以降を追加
        $game_temp.message_text += @list[@index+1].parameters[0] + "n"
        line_count += 1
      # イベントコマンドが文章 2 行目以降ではない場合
      else
        # 次のイベントコマンドが文章表示、かつスクロール機能がオンの場合
        if @list[@index+1].code == 101 && $game_system.message_scroll
          # message_text に次の文章を追加
          $game_temp.message_text += @list[@index+1].parameters[0] + "n"
          line_count += 1
          # インデックスを進める
          @index += 1
          next
        # 次のイベントコマンドが選択肢の表示の場合
        elsif @list[@index+1].code == 102
          # 選択肢が画面に収まる場合
          if @list[@index+1].parameters[0].size <= 4 - line_count
            # インデックスを進める
            @index += 1
            # 選択肢のセットアップ
            $game_temp.choice_start = line_count
            setup_choices(@list[@index].parameters)
          end
        # 次のイベントコマンドが数値入力の処理の場合
        elsif @list[@index+1].code == 103
          # 数値入力ウィンドウが画面に収まる場合
          if line_count < 4
            # インデックスを進める
            @index += 1
            # 数値入力のセットアップ
            $game_temp.num_input_start = line_count
            $game_temp.num_input_variable_id = @list[@index].parameters[0]
            $game_temp.num_input_digits_max = @list[@index].parameters[1]
          end
        end
        # 継続
        return true
      end
      # インデックスを進める
      @index += 1
    }
  end
end

Who's 백호

?

이상혁입니다.

http://elab.kr

Atachment
첨부 '1'
Comment '4'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
1021 키입력 한글입력스크립트 16 file 아방스 2007.11.09 11828
1020 온라인 채팅 가능 온라인 스크립트 배포 107 file 아방스 2009.01.03 10685
1019 온라인 RPG 만들기 xp 온라인 스크립트 33 아방스 2007.11.09 9601
1018 맵/타일 [유니크급] RPG XP 게임을 3D화로 보자! Neo Mode7 script / 52 file 쉴더 2009.02.28 9447
1017 온라인 온라인 스크립트 Unis Net RMXP 공식 배포! 25 file 뮤바보 2011.12.25 9403
1016 온라인 광넷[ 광땡 온라인 + 넷플레이 ] 62 - 하늘 - 2009.08.02 9003
1015 전투 [액알]neo_a-rpg_module_1[1][1].2 스크립트 83 file 은빛바람 2009.10.03 8307
1014 이름입력 대화창에 얼굴, 이름 띄우기 37 킬라롯 2008.11.09 7497
1013 온라인 넷플레이1.7.0+abs5.5+한챗 49 쀍뛝쒧 2009.01.24 7289
1012 메뉴 메이플스토리처럼 메뉴를^^ 57 file 딸기님 2010.07.13 7145
1011 메시지 대화창에 얼굴 그래픽 띠우기 73 아방스 2007.11.09 7119
1010 스킬 ABP액알 v1.2 스킬추가, 버그수정판 36 file 백호 2009.02.22 6920
1009 전투 [신기술 체험] 강회된 횡스크롤 액알 13 file 백호 2009.02.22 6841
1008 메뉴 온라인메뉴처럼!! 메이플 메뉴처럼!! 변신~스크립트 33 WMN 2008.03.17 6824
1007 그래픽 화면을 부드럽게 해주는스크립트[ 아주 유용] 56 file - 하늘 - 2009.08.05 6566
1006 온라인 Mr.Metring NPE 1.0 [RPG XP 온라인 스크립트] 35 아방스 2009.01.07 6535
1005 이름입력 케릭터 위에 또는 NPC 위에 이름 뛰우기 [헬악이님 제공] 49 file 아방스 2007.11.09 6414
1004 액터 시트르산의 XP용 감정 말풍선 표시 스크립트 37 file 시트르산 2011.01.25 6114
1003 HUD 주인공,NPC이름 머리 나타내기 49 file 송긔 2010.11.28 6067
1002 전투 액알 스크립트 24 백호 2009.02.22 6017
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52