Sign in to follow this  
Followers 0
xXDarkDragonXx

KGC_MessageAlter

11 posts in this topic

[center]KGC_MessageAlter[/center]
Por: KGC

Lo que hace este scirpt es que, al escribir un texto, acomoda lo escrito a la caja del texto. Mejor explicación por imagenes:

Texto de Test 1:

user posted image

El script acomodó la palabra "Test" a la caja de texto.

Texto de Test 2:

user posted image

Como ven, ahora acomodó la frase "Testeando script..." a la caja de texto. También incluye otras funcionas como poner una caja de texto arriba de la de por defecto para poner el nombre de algo, u otra cosa y también trae función para insertar faces PERO como lo saqué, este script, directo de la página de KGC no se como usar esos comandos.

Script:

Colocarlo simplemente arriba de Main.

[spoiler]
CODE
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆メッセージウィンドウ改造 - 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
     # 便宜上、"\\\\" を "\000" に変換
     text.gsub!(/\\\\/) { "\000" }
     # "\\C" を "\001" に、"\\G" を "\002" に変換
     text.gsub!(/\\[C]\[(\d+)\]/i) { "\001[#{$1}]" }
     text.gsub!(/\\[G]/i) { "\002" }

     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 == "\000"
         # 本来の文字に戻す
         c = "\\"
       end
       # \C[n] の場合
       if c == "\001"
         # 文字色を変更
         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 == "\002"
         # ゴールドウィンドウを作成
         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
[/spoiler]

Compatibilidad:

Con excepción a otros scripts de KGC, no hace falta tener el KGC_Module.

Comentario:

Disfrutenlo pues es un gran script. cool.gif
0

Share this post


Link to post
Share on other sites
otro gran script aportado por drako. icon13.gif
0

Share this post


Link to post
Share on other sites
1 preg. si el texto se pasa de los limites que tiene el comun...este lo agranda?
0

Share this post


Link to post
Share on other sites
justo yo buscaba un scrip para acomodar la ventana, gracias icon13.gif
0

Share this post


Link to post
Share on other sites
QUOTE(KillerG @ Oct 16 2006, 10:38 PM)
1 preg. si el texto se pasa de los limites que tiene el comun...este lo agranda?
[right][snapback]9378[/snapback][/right]


Sip, agranda la caja. Como dije, acomoda lo escrito a la caja de texto. happy.gif Una vez escribí más del límite permitido y me sorprendio que aún así, el script acomodo lo que escribí a la caja de texto. Así que no hay preocupaciones... pero no escribas DEMASIADO o ahí si que no se lee. xD.png
0

Share this post


Link to post
Share on other sites
me parece q voy a cambiar de nuevo de script de mensajes xD.png pero es una lastima q no sepas todos los comandos.
Pero muy buen aporte icon13.gif


PD: podrias poner los comandos q sepas y para q sirven icon13.gif?
0

Share this post


Link to post
Share on other sites
QUOTE(Rikken @ Oct 17 2006, 09:40 PM)
me parece q voy a cambiar de nuevo de script de mensajes xD.png pero es una lastima q no sepas todos los comandos.
Pero muy buen aporte icon13.gif
PD: podrias poner los comandos q sepas y para q sirven icon13.gif?
[right][snapback]9489[/snapback][/right]


Si los supiera los hubiera puesto. o_o xD.png Si averiguo cuales son los pongo (como activarlos).
0

Share this post


Link to post
Share on other sites
Bueno eso lo hace tambien el de slipnot y el de dubealex pero esta exelente
0

Share this post


Link to post
Share on other sites
me da error en linea 80 de tipo Argument... alguna idea de porqué??? soy bastante novato en el scripting y no sé solucionar estas cosillas... gracias!
0

Share this post


Link to post
Share on other sites
lo siento... de vrdad, odio que la gente postee por postear, i yo lo he hecho.
En fin, resulta que debia tener alguna incopatibilidad con alguno de mis scripts, porque en un proyecto nuevo, funciona a la perfeccion. Gracias


EDITADO: Ahora lo que me ocurre es que, no uso la fuente por defecto, sino la AvQest, y el caso es que, para el menu de inicio, y el menu de personajes, equipo, etc... si que aparece esta fuente con el tamaño que yo pongo, sin embargo, los dialogos aparecen con la fuente default, que creo que es Arial al 22... alguna idea de como solucionarlo? Disculpad la forma de postear mi problema, pero no creo que haga falta una screen de esto no? Un saludo Edited by Lucas moobob
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0