조회 수 423 추천 수 0 댓글 13
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
제가 본 스크립트 2가지가 있는데
좀 알려주세요.

1. 대화할때 캐릭터 얼굴 나오는 스크립트
대화창 옆에나 위에 캐릭터의 얼굴이 나오더라고 요. 이 스크립트좀 알려주시거나 보내주세요.

2. 캐릭터 이름 띄우기 스크립트
외형적으로 말고, 주인공이 아니라 까로 대화창에 이름이 뜨더군요.
[누구누구] 가 아닌 다른 네모창 안에 이름이 뜹니다.
알려주세요.
?
  • ?
    컨트롤 2013.10.13 21:26
    #==============================================================================
    # 윈도우메세지(By.컴맹) 오류수정 완료
    #==============================================================================
    class Window_Message < Window_Selectable
    # 一文字ずつ描?
    DEFAULT_TYPING_ENABLE = true # falseにすると瞬間表示
    #--------------------------------------------------------------------------
    # 오류수정안내#01-Error#아방스
    #--------------------------------------------------------------------------
    alias xrxs9_initialize initialize
    def initialize
    xrxs9_initialize
    # 再生サウンド名がない場合は""とする
    if $soundname_on_speak == nil then
    $soundname_on_speak = ""
    end
    # 外字ファイルパス設定
    $gaiji_file = "./Graphics/Gaiji/sample.png"
    # 外字デ?タ?み?み
    if FileTest.exist?($gaiji_file)
    @gaiji_cache = Bitmap.new($gaiji_file)
    else
    @gaigi_cache = nil
    end
    # 文字透過?送用バッファ
    @opacity_text_buf = Bitmap.new(32, 32)
    end
    #--------------------------------------------------------------------------
    # ● メッセ?ジ終了?理
    #--------------------------------------------------------------------------
    alias xrxs9_terminate_message terminate_message
    def terminate_message
    if @name_window_frame != nil
    @name_window_frame.dispose
    @name_window_frame = nil
    end
    if @name_window_text != nil
    @name_window_text.dispose
    @name_window_text = nil
    end
    xrxs9_terminate_message
    end
    #--------------------------------------------------------------------------
    # ● リフレッシュ
    #--------------------------------------------------------------------------
    def refresh
    # 初期化
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.size = Font.default_size
    @x = @y = @max_x = @max_y = @indent = @lines = 0
    @face_indent = 0
    @opacity = 255
    @cursor_width = 0
    @write_speed = 0
    @write_wait = 0
    @mid_stop = false
    @face_file = nil
    # @popchar が -2 の場合、標準位置。-1の場合、文字センタ?。
    # 0以上の場合 キャラポップ。0は主人公、1以降はイベント。
    @popchar = -2
    # 選?肢なら字下げを行う
    if $game_temp.choice_start == 0
    @x = 8
    end
    # 表示待ちのメッセ?ジがある場合
    if $game_temp.message_text != nil
    @now_text = $game_temp.message_text
    # 顔表示指定Fがあるか?
    if (/A\[Ff][(.+?)]/.match(@now_text))!=nil then
    # ファイルチェック
    if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
    # 顔グラを描?
    @face_file = $1 + ".png"
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    # 全行 128ピクセルのインデントを入れる。
    @x = @face_indent = 128
    end
    @now_text.gsub!(/\[Ff][(.*?)]/) { "" }
    end
    # 制御文字?理
    begin
    last_text = @now_text.clone
    # Vを?自ル?チンに?更(追加部分)
    @now_text.gsub!(/\[Vv][([IiWwAaSs]?)([0-9]+)]/) { convart_value($1, $2.to_i) }
    end until @now_text == last_text
    @now_text.gsub!(/\[Nn][([0-9]+)]/) do
    $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    # nameがあるか?
    name_window_set = false
    if (/\[Nn]ame[(.+?)]/.match(@now_text)) != nil
    # 値を設定
    name_window_set = true
    name_text = $1
    # name[]部分を削除
    @now_text.sub!(/\[Nn]ame[(.*?)]/) { "" }
    end
    # ウィンドウ位置判定
    if (/\[Pp][([-1,0-9]+)]/.match(@now_text))!=nil then
    @popchar = $1.to_i
    if @popchar == -1
    @x = @indent = 48
    @y = 7
    end
    @now_text.gsub!(/\[Pp][([-1,0-9]+)]/) { "" }
    end
    # ウィンドウ幅の取得
    @max_choice_x = 0
    if @popchar >= 0
    @text_save = @now_text.clone
    @max_x = 0
    @max_y = 4
    for i in 0..3
    line = @now_text.split(/n/)[3-i]
    @max_y -= 1 if line == nil and @max_y <= 4-i
    next if line == nil
    line.gsub!(/\w[(w+)]/) { "" }
    cx = contents.text_size(line).width
    @max_x = cx if cx > @max_x
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    self.width = @max_x + 32 + @face_indent
    self.height = (@max_y - 1) * 32 + 64
    else
    @max_x = self.width - 32 - @face_indent
    for i in 0..3
    line = @now_text.split(/n/)[3-i]
    next if line == nil
    line.gsub!(/\w[(w+)]/) { "" }
    cx = contents.text_size(line).width
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    end
    @max_choice_x -= 128
    # 便宜上、"\\" を "00" に?換
    @now_text.gsub!(/\\/) { "00" }
    # "\C" を "01" に、"\G" を "02" に、
    # "\S" を "03" に、"\A" を "04" に?換
    @now_text.gsub!(/\[Cc][([0-9]+)]/) { "01[#{$1}]" }
    @now_text.gsub!(/\[Gg]/) { "02" }
    @now_text.gsub!(/\[Ss][([0-9]+)]/) { "03[#{$1}]" }
    @now_text.gsub!(/\[Aa][(.*?)]/) { "04[#{$1}]" }
    @now_text.gsub!(/\[.]/) { "05" }
    @now_text.gsub!(/\[|]/) { "06" }
    # 競合すると何かと?まずいので、16以降を使用する
    @now_text.gsub!(/\[>]/) { "16" }
    @now_text.gsub!(/\[<]/) { "17" }
    @now_text.gsub!(/\[!]/) { "20" }
    @now_text.gsub!(/\[~]/) { "21" }
    @now_text.gsub!(/\[Ee][([0-9]+)]/) { "22[#{$1}]" }
    # インデント設定(追加部分)
    @now_text.gsub!(/\[Ii]/) { "23" }
    # テキスト透過率指定(追加部分)
    @now_text.gsub!(/\[Oo][([0-9]+)]/) { "24[#{$1}]" }
    # テキストサイズ指定(追加部分)
    @now_text.gsub!(/\[Hh][([0-9]+)]/) { "25[#{$1}]" }
    # 空白?入(追加部分)
    @now_text.gsub!(/\[Bb][([0-9]+)]/) { "26[#{$1}]" }
    # ルビ表示(追加部分)
    @now_text.gsub!(/\[Rr][(.*?)]/) { "27[#{$1}]" }
    # ここで一旦ウィンドウ位置更新
    reset_window
    # nameがあるか?
    if name_window_set
    # オフセット位置
    off_x = 0
    off_y = -10
    # ?だけウィンドウの作成(余白を 2 に設定)
    space = 2
    x = self.x + off_x - space / 2
    y = self.y + off_y - space / 2
    w = self.contents.text_size(name_text).width + 8 + space
    h = 26 + space
    @name_window_frame = Window_Frame.new(x, y, w, h)
    @name_window_frame.z = self.z + 1
    # 擬似的な空中文字描?ウィンドウを作成
    x = self.x + off_x + 4
    y = self.y + off_y
    @name_window_text = Air_Text.new(x, y, name_text)
    @name_window_text.z = self.z + 2
    end
    end
    # ウィンドウを更新
    reset_window
    # 選?肢の場合
    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
    @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    end
    #--------------------------------------------------------------------------
    # ● フレ?ム更新
    #--------------------------------------------------------------------------
    def update
    super
    # フェ?ドインの場合
    if @fade_in
    self.contents_opacity += 24
    if @input_number_window != nil
    @input_number_window.contents_opacity += 24
    end
    if self.contents_opacity == 255
    @fade_in = false
    end
    return
    end
    @now_text = nil if @now_text == "" # ?換
    # 表示待ちのメッセ?ジがある場合
    if @now_text != nil and @mid_stop == false
    if @write_wait > 0
    @write_wait -= 1
    return
    end
    text_not_skip = DEFAULT_TYPING_ENABLE
    while true
    # 最大 x y の保存。
    @max_x = @x if @max_x < @x
    @max_y = @y if @max_y < @y
    # c に 1 文字を取得 (文字が取得できなくなるまでル?プ)
    if (c = @now_text.slice!(/./m)) != nil
    # \ の場合
    if c == "00"
    # 本?の文字に?す
    c = "\"
    end
    # C[n] の場合
    if c == "01"
    # 文字色を?更
    @now_text.sub!(/[([0-9]+)]/, "")
    color = $1.to_i
    if color >= 0 and color <= 7
    self.contents.font.color = text_color(color)
    if @opacity != nil
    color = self.contents.font.color
    self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
    end
    end
    # 次の文字へ
    c = ""
    end
    # G の場合
    if c == "02"
    # ゴ?ルドウィンドウを作成
    if @gold_window == nil and @popchar <= 0
    @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
    # 次の文字へ
    c = ""
    end
    # S[n] の場合
    if c == "03"
    # 文字色を?更
    @now_text.sub!(/[([0-9]+)]/, "")
    speed = $1.to_i
    if speed >= 0 and speed <= 19
    @write_speed = speed
    end
    # 次の文字へ
    c = ""
    end
    # A[soundname] の場合
    if c == "04"
    # 再生ファイルを?更するための準備
    @now_text.sub!(/[(.*?)]/, "")
    buftxt = $1.dup.to_s
    # 再生ファイル名に"/"があるか?
    if buftxt.match(///) == nil and buftxt != "" then
    # なければ"Audio/SE/"を結合する
    $soundname_on_speak = "Audio/SE/" + buftxt
    else
    # あればそのままコピ?
    $soundname_on_speak = buftxt.dup
    end
    # 次の文字へ
    c = ""
    elsif c == "04"
    # 次の文字へ
    c = ""
    end
    # . の場合
    if c == "05"
    @write_wait += 5
    c = ""
    end
    # | の場合
    if c == "06"
    @write_wait += 20
    c = ""
    end
    # > の場合
    if c == "16"
    text_not_skip = false
    c = ""
    end
    # <の場合
    if c == "17"
    text_not_skip = true
    c = ""
    end
    # !の場合
    if c == "20"
    @mid_stop = true
    c = ""
    end
    # ~の場合
    if c == "21"
    terminate_message
    return
    end
    # Iの場合(追加部分)
    if c == "23"
    # 今の@xをインデント位置に設定
    @indent = @x
    c = ""
    end
    # Oの場合(追加部分)
    if c == "24"
    @now_text.sub!(/[([0-9]+)]/, "")
    @opacity = $1.to_i
    color = self.contents.font.color
    self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
    c = ""
    end
    # Hの場合(追加部分)
    if c == "25"
    @now_text.sub!(/[([0-9]+)]/, "")
    self.contents.font.size = [[$1.to_i, 6].max, 32].min
    c = ""
    end
    # Bの場合(追加部分)
    if c == "26"
    @now_text.sub!(/[([0-9]+)]/, "")
    @x += $1.to_i
    c = ""
    end
    # Rの場合(追加部分)
    if c == "27"
    @now_text.sub!(/[(.*?)]/, "")
    # 文字を描?
    @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
    # 文字描?のSEを演奏
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    c = ""
    end
    # アイコン描?用シ?ケンスの場合(追加部分)
    if c == "30"
    # アイコンファイル名を取得
    @now_text.sub!(/[(.*?)]/, "")
    # アイコンを描?
    self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
    # 文字描?のSEを演奏
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    @x += 24
    # 次の文字へ
    c = ""
    end
    # 改行文字の場合
    if c == "n"
    # 選?肢ならカ?ソルの幅を更新
    if @lines >= $game_temp.choice_start
    @cursor_width = [@cursor_width, @max_choice_x - @face_indent].max
    end
    # y に 1 を加算
    @lines += 1
    @y += 1
    @x = 0 + @indent + @face_indent
    # 選?肢なら字下げを行う
    if @lines >= $game_temp.choice_start
    @x = 8 + @indent + @face_indent
    end
    # 次の文字へ
    c = ""
    end
    # 外字表示の場合
    if c == "22"
    # []部分の除去
    @now_text.sub!(/[([0-9]+)]/, "")
    # 外字を表示
    @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
    # 次の文字へ
    c = ""
    end
    if c != ""
    # 文字を描?
    self.contents.draw_text(4+@x, 4+ 32 * @y, 40, 32, c)
    @x += self.contents.text_size(c).width
    # 文字描?のSEを演奏
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    end
    # Bボタンが押された場合
    if Input.press?(Input::B)
    text_not_skip = false
    end
    else
    text_not_skip = true
    break
    end
    # 終了判定
    if text_not_skip
    break
    end
    end
    @write_wait += @write_speed
    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
    # 選?肢の表示中でなければポ?ズサインを表示
    if $game_temp.choice_max == 0
    self.pause = true
    end
    # キャンセル
    if Input.trigger?(Input::B)
    if $game_temp.choice_max > 0 and $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
    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 @mid_stop
    @mid_stop = false
    return
    else
    terminate_message
    end
    end
    return
    end
    # フェ?ドアウト中以外で表示待ちのメッセ?ジか選?肢がある場合
    if @fade_out == false and $game_temp.message_text != nil
    @contents_showing = true
    $game_temp.message_window_showing = true
    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
    if self.opacity == 0
    self.visible = false
    @fade_out = false
    $game_temp.message_window_showing = false
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # ● キャラクタ?の取得
    # parameter : パラメ?タ
    #--------------------------------------------------------------------------
    def get_character(parameter)
    # パラメ?タで分岐
    case parameter
    when 0 # プレイヤ?
    return $game_player
    else # 特定のイベント
    events = $game_map.events
    return events == nil ? nil : events[parameter]
    end
    end
    #--------------------------------------------------------------------------
    # ● ウィンドウの位置と不透明度の設定
    #--------------------------------------------------------------------------
    def reset_window
    # 判定
    if @popchar >= 0
    events = $game_map.events
    if events != nil
    character = get_character(@popchar)
    x = [[character.screen_x - 0 - self.width / 2, 4].max, 636 - self.width].min
    y = [[character.screen_y - 48 - self.height, 4].max, 476 - self.height].min
    self.x = x
    self.y = y
    end
    elsif @popchar == -1
    self.x = -4
    self.y = -4
    self.width = 648
    self.height = 488
    else
    if $game_temp.in_battle
    self.y = 16
    else
    case $game_system.message_position
    when 0 # 上
    self.y = 16
    when 1 # 中
    self.y = 160
    when 2 # 下
    self.y = 304
    end
    self.x = 80
    if @face_file == nil
    self.width = 480
    else
    self.width = 600
    self.x -= 60
    end
    self.height = 160
    end
    end
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    if @face_file != nil
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    if @popchar == -1
    self.opacity = 255
    self.back_opacity = 0
    elsif $game_system.message_frame == 0
    self.opacity = 255
    self.back_opacity = 160
    else
    self.opacity = 0
    self.back_opacity = 160
    end
    end
    #--------------------------------------------------------------------------
    # ● 外字描?
    #--------------------------------------------------------------------------
    # x   :x座標
    # y   :y座標
    # num  :外字番?
    # 返り値:外字幅(@x?加値)
    #--------------------------------------------------------------------------
    def gaiji_draw(x, y, num)
    # 外字デ?タが存在しない場合は何もしない
    if @gaiji_cache == nil
    return 0
    else
    # 指定した外字がキャッシュ範?を超えている場合は何もしない
    if @gaiji_cache.width < num * 24
    return 0
    end

    # 文字サイズを計算
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    size = 24
    else
    size = self.contents.font.size * 100 * 24 / 2200
    end

    # 外字デ?タをstretch_bltで?送
    self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))

    # 文字描?のSEを演奏
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end

    # 文字サイズを返す
    return size
    end
    end
    #--------------------------------------------------------------------------
    # ● line_height
    #--------------------------------------------------------------------------
    # 返り値:行の高さ(@y?加値)を返します。
    #--------------------------------------------------------------------------
    def line_height
    # 現?、選?肢等に??ができない?、自動的に32を返します。
    return 32

    # 文字サイズを計算
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    return 32
    else
    return self.contents.font.size * 15 / 10
    end
    end
    #--------------------------------------------------------------------------
    # ● ルビ文字描?
    #--------------------------------------------------------------------------
    # target :描??象。Bitmapクラスを指定。
    # x :x座標
    # y :y座標
    # str  :描?文字列。本文,ルビの形式で入力。
    #      ,?切りが2つ以上あった場合は自動的に無視される。
    # opacity:透過率(0~255)
    # 返り値 :文字幅(@x?加値)。
    #--------------------------------------------------------------------------
    def ruby_draw_text(target, x, y, str,opacity)
    # フォントサイズをバックアップしておく
    sizeback = target.font.size
    # ルビサイズの計算
    target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
    rubysize = [rubysize, 6].max

    # opacityに規定値以上の値が入っている場合は修正。
    opacity = [[opacity, 0].max, 255].min
    # strをsplitで分割し、split_sに格納
    split_s = str.split(/,/)

    # split_sがnilの場合は""にしておく(誤動作防止)
    split_s[0] == nil ? split_s[0] = "" : nil
    split_s[1] == nil ? split_s[1] = "" : nil

    # heightとwidthを計算
    height = sizeback + rubysize
    width = target.text_size(split_s[0]).width

    # バッファ用の幅計算(ルビの幅が本文の幅を越える可能性がある?)
    target.font.size = rubysize
    ruby_width = target.text_size(split_s[1]).width
    target.font.size = sizeback

    buf_width = [target.text_size(split_s[0]).width, ruby_width].max

    # 本文の描?幅とルビの描?幅の差を1/2にして??に格納(後で使用)
    width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0

    # opacityが255(透過なし)の場合は通常描?
    if opacity == 255
    # ルビの描?
    target.font.size = rubysize
    target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
    target.font.size = sizeback
    # 本文の描?
    target.draw_text(x, y, width, target.font.size, split_s[0])
    return width
    else
    # 表示テキストのheight、widthがバッファサイズを上回る場合は
    # バッファを再生成する。
    if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
    @opacity_text_buf.dispose
    @opacity_text_buf = Bitmap.new(buf_width, height)
    # そうでない場合はバッファクリア。
    else
    @opacity_text_buf.clear
    end
    # バッファにテキスト描?
    # ルビの描?
    @opacity_text_buf.font.size = rubysize
    @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
    @opacity_text_buf.font.size = sizeback
    # 本文の描?
    @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
    # ルビの幅が本文の幅を下回る場合
    if sub_x >= 0
    target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    # ルビの幅が本文の幅を上回る場合
    else
    target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    end
    # 文字サイズを返す
    return width
    end
    end
    #--------------------------------------------------------------------------
    # ● V?換
    #--------------------------------------------------------------------------
    # option :オプション。無指定又は規定外の場合はindexのユ?ザ??値を返す。
    # index :インデックス
    # 返り値 :?換結果(アイコン表示用シ?ケンス?み)
    #--------------------------------------------------------------------------
    def convart_value(option, index)
    # optionがnilの場合は""に直す(誤動作防止)
    option == nil ? option = "" : nil

    # optionはdowncaseしておく。
    option.downcase!

    # 30はアイコン表示用のシ?ケンス。30[アイコンファイル名]で定義。
    case option
    when "i"
    unless $data_items[index].name == nil
    r = sprintf("30[%s]%s", $data_items[index].icon_name, $data_items[index].name)
    end
    when "w"
    unless $data_weapons[index].name == nil
    r = sprintf("30[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
    end
    when "a"
    unless $data_armors[index].name == nil
    r = sprintf("30[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
    end
    when "s"
    unless $data_skills[index].name == nil
    r = sprintf("30[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
    end
    else
    r = $game_variables[index]
    end

    r == nil ? r = "" : nil
    return r
    end
    #--------------------------------------------------------------------------
    # ● 解放
    #--------------------------------------------------------------------------
    def dispose
    terminate_message

    # 外字キャッシュ開放
    if @gaiji_cache != nil
    unless @gaiji_cache.disposed?
    @gaiji_cache.dispose
    end
    end

    # 文字透過?送用バッファ開放
    unless @opacity_text_buf.disposed?
    @opacity_text_buf.dispose
    end

    $game_temp.message_window_showing = false
    if @input_number_window != nil
    @input_number_window.dispose
    end
    super
    end
    #--------------------------------------------------------------------------
    # ● カ?ソルの矩形更新
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index >= 0
    n = $game_temp.choice_start + @index
    self.cursor_rect.set(4 + @indent + @face_indent, n * 32 + 4, @cursor_width, 32)
    else
    self.cursor_rect.empty
    end
    end
    end
    #==============================================================================
    # ■ Window_Frame (?だけで中身の無いウィンドウ)
    #==============================================================================
    class Window_Frame < Window_Base
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    def initialize(x, y, width, height)
    super(x, y, width, height)
    self.contents = nil
    #self.back_opacity = 240
    end
    #--------------------------------------------------------------------------
    # ● 解放
    #--------------------------------------------------------------------------
    def dispose
    super
    end
    end
    #==============================================================================
    # ■ Air_Text (何も無いところに文字描? = ?の無い瞬間表示メッセ?ジウィンドウ)
    #==============================================================================
    class Air_Text < Window_Base
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    def initialize(x, y, designate_text)
    super(x-16, y-16, 32 + designate_text.size * 12, 56)
    self.opacity = 0
    self.back_opacity = 0
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    w = self.contents.width
    h = self.contents.height
    self.contents.draw_text(0, 0, w, h, designate_text)
    end
    #--------------------------------------------------------------------------
    # ● 解放
    #--------------------------------------------------------------------------
    def dispose
    self.contents.clear
    super
    end
    end
  • ?
    ↑고수의길↑ 2013.10.13 21:26
    위에 두개중 어떤건가요?
  • ?
    ↑고수의길↑ 2013.10.13 21:27
    아 알겠습니다
  • ?
    Xanadu 2013.10.14 04:54
    슬래쉬가 아니라 역슬래쉬일겁니다.
    (/ 를 좌우 반전한 형태)

    두 문자는 형태는 다르지만, 문자코드가 같기 때문입니다.
  • ?
    XP데이 2013.10.14 02:31
    / = ₩

  • ?
    ↑고수의길↑ 2013.10.14 02:30
    그게 위에거랑 같은 겁니다^^
  • ?
    XP데이 2013.10.14 02:24
    저는 다른스크립트라서
    ₩name[] ☜이것도되네요
  • ?
    컨트롤 2013.10.13 21:27
    사용방법 : 문장의표시 - name[이름]

    //

    두번째 대화창에 이름 나오는 스크립트 입니다 제가 지금 사용하고있어서 댓글 달았어요
  • ?
    오니파이트 2013.10.13 21:44
    둘다 궁금했던 거군요
  • ?
    ↑고수의길↑ 2013.10.13 21:47
    네.
    저도 무척 궁금합니다.
  • ?
     운 2013.10.13 22:05
    메세지 스크립트사용해야겠군요.
  • ?
    XP데이 2013.10.19 23:29
    전 얼굴표시 이름표시 둘다되는스크립트네요.
  • ?
    ↑고수의길↑ 2013.10.14 02:30

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 제2회 인디사이드 게임제작대회 출품작 리스트. 189 인디사이드운영자 2016.10.24 12679 0
공지 인디사이드 활동 규정.(ver.20160119) 192 천무 2015.02.16 14454 1
15897 신입분들 잘좀보세요 13 각인 2013.10.14 569 1
15896 게임질문입니다(이리아스) 10 신용사 2013.10.14 398 1
15895 죄송합니다. 8 XEONSOFT블로그 2013.10.14 347 0
15894 샤덴 프로이데 질문입니다 6 오니파이트 2013.10.14 406 0
15893 방탈출3 질문이요 10 꿀꿀잼 2013.10.13 898 1
15892 엄훠나 신천지가 열렸쿤요! 2 file Fe.철쭉 2013.10.13 666 0
15891 제작경력!=게임의 질 15 죽은노예 2013.10.13 660 2
15890 아이디어 10 RPG맨 2013.10.13 357 1
15889 질문입니다! 14 Fake_Alice 2013.10.13 427 1
» 스크립트좀 알려주세요! 13 ↑고수의길↑ 2013.10.13 423 0
15887 카페 가입 부탁드립니다. 14 ↑고수의길↑ 2013.10.13 494 2
15886 [개발자님 봐주세요] 저택괴담 모바일판을 제작하면서 큰 문제가 생겼네요. 17 부초 2013.10.13 720 0
15885 저도 요즘 너무너무 바쁘네요... 23 부초 2013.10.13 545 1
15884 내가 게임을 만드는 어플은 다른 XP가아닌VX이니다. 15 지옥의마왕 2013.10.13 797 1
15883 안녕하십니까. 가입인사 올립니다. 18 뽀링뽀링 2013.10.13 477 1
15882 액알스크립트 사용하신분들 12  운 2013.10.13 545 0
15881 철권 RPG 아이템 공략 20 사형낌 2013.10.13 1152 1
15880 님들아 쪽지 어떻게 봐요? 15 인간1호 2013.10.13 409 1
15879 지금부터 목축업 밤샘작업! 14 XEONSOFT블로그 2013.10.13 726 1
15878 뒤늦은 인사 15 2013.10.13 594 1
Board Pagination Prev 1 ... 378 379 380 381 382 383 384 385 386 387 ... 1177 Next
/ 1177


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)