Jump to content
Rpg²S Forum

*FUKI Message


DaD
 Share

Recommended Posts

Descrizione

 

Questo script praticamente permette di modificare la finestra dei messagi con delle simpatiche Ballon in stile fumetto.

 

Autore

 

パラ犬

 

Allegati

 

Avrete bisogno di due picture da inserire nella cartella Graphic/Windowskin eccole;

 

Uno , Due

 

Istruzioni per l'uso

 

Allora per mettere il messaggio sopra l'eroe la stringa è

$mes_id=-1

per metterlo sopra un evento è

$mes_id=Id evento

per disabilitare i baloon è

$mes_id=nil

poi su può far apparire il nome sulla finestra con il comando

$mes_name="Nome"

e lo si può levare con

$mes_name=""

 

 

Imettete questo script sopra main e chiamatelo FUKI

 

 

#==============================================================================
# ++ メッセージふきだし表示 ver. 1.16 ++
#  Script by パラ犬
#------------------------------------------------------------------------------
# ふきだし表示をするには、
# テール用画像「(スキン名)-top」「(スキン名)-under」を
# 「Graphics/Windowskins」フォルダにインポートしておく必要があります。
#------------------------------------------------------------------------------
#
# [ふきだし表示の使い方]
# イベントコマンド「スクリプト」で「$mes_id」にイベントIDを代入することで
# そのイベントにふきだしがポップするようになります。
# (記述例: $mes_id=4 )
# IDに-1を代入するとプレイヤー、0でそのイベント自身。
# nilまたは""を代入すると、通常のメッセージ表示に戻ります。
# 表示位置はイベント「文章オプション」で変更できます。
# 表示位置に「中央」を指定すると、イベントの位置に関係なく
# 画面中央に表示されます。
#
# [名前ウインドウの使い方]
# イベントコマンド「スクリプト」で「$mes_name」に文字列を代入することで
# 名前ウインドウを表示します。
# (記述例: $mes_name="アルシェス" )
# ""またはnilを代入すると、非表示になります。
#
# 二つの機能は独立していますので、それぞれ単体で使えます。
#  $mes_id=(ID) + $mes_name="名前"  :ふきだし表示 + 名前ウインドウ
#  $mes_id=(ID) + $mes_name=""	:ふきだし表示 (名前なし)
#  $mes_id=nil + $mes_name="名前"   :デフォルトウインドウ + 名前ウインドウ
#  $mes_id=nil + $mes_name=""	  :デフォルトウインドウ (名前なし)
#
# [メッセージ表示スピードの変更法]
# イベントコマンド「スクリプト」で「$mes_speed」に数値を代入します。
# (記述例: $mes_speed=1 )
#==============================================================================

module FUKI

# スキンの設定
# ウインドウスキンと同じものを使うときは「""」
FUKI_SKIN_NAME = "001-Blue01"   # ふきだし用スキン
NAME_SKIN_NAME = "001-Blue01"   # 名前表示用スキン

# フォントサイズ
MES_FONT_SIZE = 20   # メッセージウインドウとふきだし
NAME_FONT_SIZE = 20   # 名前ウインドウ

# ウインドウの透明度
FUKI_OPACITY = 255	 # ふきだしウインドウ
MES_OPACITY = 255	   # 通常のメッセージウインドウ
NAME_OPACITY = 255	 # 名前ウインドウ

# 名前ウインドウの相対位置
NAME_SHIFT_X = 0	   # 横位置
NAME_SHIFT_Y = 16   # 縦位置

# 画面の一番端ではふきだしを少しずらす
# 角の丸いスキンを使っていて、枠の角がふきだしと重なる場合に true にする
CORNER_SHIFT = false
SHIFT_PIXEL = 4  # trueの時にずらすピクセル数

# キャラクターの縦のサイズ
CHARACTOR_HEIGHT = 48
# ふきだしの相対位置(縦位置)
POP_SHIFT_TOP = 0	   # 表示位置が上のとき
POP_SHIFT_UNDER = -16   # 表示位置が下のとき

# メッセージ表示速度(数字が小さいほど速い。0で瞬間表示)
# $mes_speedに数値を代入することで、ゲーム中に変更可。
MES_SPEED = 1

end

#==============================================================================
# □ Window_FukiMessage
#==============================================================================

class Window_FukiMessage < Window_Selectable

#--------------------------------------------------------------------------
# ○ オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
  super(80, 304, 480, 160)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.visible = false
  self.z = 9998
  @fade_in = false
  @fade_out = false
  @contents_showing = false
  @cursor_width = 0
  self.active = false
  self.index = -1
  self.contents.font.name = "Arial"
  @w = 0
  @h = 0
  @wait = 0
  @dx = 0
  @dy = 0
  $mes_speed = FUKI::MES_SPEED
end
#--------------------------------------------------------------------------
# ○ サイズを決定してウインドウを作成
#--------------------------------------------------------------------------
def refresh_create
  self.contents.clear  
  self.contents.font.color = normal_color
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.contents.font.name = "Arial"
  # ウインドウサイズを取得
  get_windowsize
  w = @w + 32 + 8
  h = @h * (self.contents.font.size + 10) + 26
  # ふきだしウインドウを作成
  set_fukidasi(self.x, self.y, w, h)
  # 名前ウインドウを作成
  set_namewindow
  # メッセージ表示用変数の初期化
  @dx = @dy = 0
  @cursor_width = 0
  @contents_drawing = true
  # 瞬間表示の場合、ここで表示処理
  if $mes_speed == 0
	 # 描画処理をループ
	 while $game_temp.message_text != ""
	   draw_massage
	 end
	 draw_opt_text
	 @contents_showing_end = true
	 @contents_drawing = false
  else
	 # 一文字ずつ描画
	 refresh_drawtext
  end
end
#--------------------------------------------------------------------------
# ○ 一文字ずつ描画
#--------------------------------------------------------------------------
def refresh_drawtext
  if $game_temp.message_text != nil
	 if @wait > 0
	   @wait -= 1
	 elsif @wait == 0
	   # 描画処理
	   draw_massage
	   @wait = $mes_speed
	 end
  end
  # 描画終了
  if $game_temp.message_text == ""
	 draw_opt_text
	 @contents_showing_end = true
	 @contents_drawing = false
  end
end
#-----------------------------------
if @face != nil
 @face_win.visible = true if @face_win.visible == false
 @face_win.contents.clear
  pic_x = @face_win.contents.width - @pic_width
  pic_y = @face_win.contents.height / 2 - @pic_height / 2
  dest = Rect.new(pic_x, pic_y, @pic_width, @pic_height)
  src = Rect.new(0, 0, @face.width, @face.height)
  @face_win.contents.stretch_blt(dest, @face, src)
end
#-----------------------------------------------------------------------

#--------------------------------------------------------------------------
# ○ ウインドウサイズを取得
#--------------------------------------------------------------------------
def get_windowsize
  x = y = 0
  @h = @w = 0
  @cursor_width = 0
  # 選択肢なら字下げを行う
  if $game_temp.choice_start == 0
	 x = 8
  end
  # 表示待ちのメッセージがある場合
  if $game_temp.message_text != nil
  text = $game_temp.message_text.clone
	 # 制御文字処理
	 begin
	   last_text = text.clone
	   text.gsub!(/[Vv][([0-9]+)]/) { $game_variables[$1.to_i] }
	 end until text == last_text
	 text.gsub!(/[Nn][([0-9]+)]/) do
	   $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
	 end
	 # 便宜上、"" を "0" に変換
	 text.gsub!(//) { "0" }
	 # "C" を "1" に、"G" を "2" に変換
	 text.gsub!(/[Cc][([0-9]+)]/) { "1[#{$1}]" }
	 text.gsub!(/[Gg]/) { "2" }
	 # c に 1 文字を取得 (文字が取得できなくなるまでループ)
	 while ((c = text.slice!(/./m)) != nil)
	   #  の場合
	   if c == "0"
			 # 本来の文字に戻す
			 c = ""
	   end
	   # C[n] または G の場合
	   if c == "1"  or c == "2"
			 # 次の文字へ
			 next
	   end
	   # 改行文字の場合
	   if c == "n"
			 # y に 1 を加算
			 y += 1
			 # 縦横サイズを取得
			 @h = y
			 @w = x > @w ? x : @w
			 if y >= $game_temp.choice_start
			   @w = x + 8 > @w ? x + 8 : @w
			 end
			 x = 0
			 # 選択肢なら字下げを行う
			 if y >= $game_temp.choice_start
			   x = 8
			 end
			 # 次の文字へ
			 next
	   end
	   # x に描画した文字の幅を加算
	   x += self.contents.text_size(c).width
	 end
  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]
	 @h += 1
	 x = digits_max * self.contents.font.size + 16
	 self.contents.font.name = "Arial"
	 @w = x > @w ? x : @w
  end
end
#--------------------------------------------------------------------------
# ○ 描画処理
#--------------------------------------------------------------------------
def draw_massage
  # 表示待ちのメッセージがある場合
  if $game_temp.message_text != nil
	 text = $game_temp.message_text
	 # 制御文字処理
	 begin
	   last_text = text.clone
	   text.gsub!(/[Vv][([0-9]+)]/) { $game_variables[$1.to_i] }
	 end until text == last_text
	 text.gsub!(/[Nn][([0-9]+)]/) do
	   $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
	 end
	 # 便宜上、"" を "0" に変換
	 text.gsub!(//) { "0" }
	 # "C" を "1" に、"G" を "2" に変換
	 text.gsub!(/[Cc][([0-9]+)]/) { "1[#{$1}]" }
	 text.gsub!(/[Gg]/) { "2" }
	 # c に 1 文字を取得
	 if ((c = text.slice!(/./m)) != nil)
	   # 選択肢の場合
	   if @dy >= $game_temp.choice_start
			 # 字下げを行う
			 @dx = 8
			 # 文字を描画
			 self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
			 self.contents.font.name = "Arial"
			 # x に描画した文字の幅を加算
			 @dx += self.contents.text_size(c).width
			 self.contents.font.name = "Arial"
			 # ループ
			 while ((c = text.slice!(/./m)) != "n")
			   # 文字を描画
			   self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
			   self.contents.font.name = "Arial"
			   # x に描画した文字の幅を加算
			   @dx += self.contents.text_size(c).width
			 end
			 if c == "n"
			   # カーソルの幅を更新
			   @cursor_width = [@cursor_width, @dx].max
			   # y に 1 を加算
			   @dy += 1
			   @dx = 0
			 end
			 return
	   end
	   #  の場合
	   if c == "0"
			 # 本来の文字に戻す
			 c = ""
	   end
	   # C[n] の場合
	   if c == "1"
			 # 文字色を変更
			 text.sub!(/[([0-9]+)]/, "")
			 color = $1.to_i
			 if color >= 0 and color <= 7
			   self.contents.font.color = text_color(color)
			   self.contents.font.name = "Arial"
			 end
	   end
	   # G の場合
	   if c == "2"
			 # ゴールドウィンドウを作成
			 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
			   self.contents.font.name = "Arial"
			 end
	   end
	   # 改行文字の場合
	   if c == "n"
			 # y に 1 を加算
			 @dy += 1
			 @dx = 0
	   end
	   # 文字を描画
	   self.contents.font.size = FUKI::MES_FONT_SIZE
	   font_size = self.contents.font.size
	   self.contents.draw_text(4+@dx, (font_size+10)*@dy, font_size, font_size, c)
	   self.contents.font.name = "Arial"
	   # x に描画した文字の幅を加算
	   @dx += self.contents.text_size(c).width
	   self.contents.font.name = "Arial"
	 end
  end
end
#--------------------------------------------------------------------------
# ○ 選択肢と数値入力を有効に
#--------------------------------------------------------------------------
def draw_opt_text
  # 選択肢の場合
  if $game_temp.choice_max > 0
	 @item_max = $game_temp.choice_max
	 self.active = true
	 self.index = 0
	 self.contents.font.name = "Arial"
  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 set_fukidasi(x, y, width, height)
  # $mes_id が空のときはふきだしを表示しない
  if $mes_id == nil or $mes_id == ""
	 del_fukidasi
	 reset_window
  else
	 # ポーズサインを非表示
	 self.pause = false
	 self.contents.font.name = "Arial"
	 # キャラクターを取得
	 character = get_character($mes_id)
	 if character == nil
	   # キャラクターが存在しないときは通常のメッセージウインドウに
	   del_fukidasi
	   reset_window
	   return
	 end
	 # マップがスクロールされていないときの座標処理
	 if $game_map.display_x == 0
	   x = character.x * 32 - (width / 2) + 16
	 elsif $game_map.display_x == ($game_map.width - 20) * 128
	   x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - (width / 2) + 16
	 else
	   x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - (width / 2)
	 end
	 # はみ出すときは画面内に収まるように移動
	 if x + width > 640
	   x = 640 - width
	 elsif x < 0
	   x = 0
	 end
	 # ウインドウの位置を決定
	 case $game_system.message_position
	   when 0  # 上
			 y = ( (character.real_y - $game_map.display_y + 64) / 128) * 32 - height + 16 - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
	   when 1  # 中
			 y = (480 - height) / 2
			 x = (640 - width) / 2
	   when 2  # 下
			 y =  ( (character.real_y - $game_map.display_y + 64) / 128) * 32 + 48 + FUKI::POP_SHIFT_UNDER
	 end
	 skin = FUKI::FUKI_SKIN_NAME != "" ? FUKI::FUKI_SKIN_NAME : $game_system.windowskin_name
	 # ふきだし用メッセージウインドウを作成
	 self.windowskin = RPG::Cache.windowskin(skin)
	 self.x = x
	 self.y = y
	 self.height = height
	 self.width = width
	 self.contents.dispose
	 self.contents = Bitmap.new(width - 32, height - 32)
	 self.back_opacity = FUKI::FUKI_OPACITY
	 self.contents.clear
	 self.contents.font.color = normal_color
	 self.contents.font.size = FUKI::MES_FONT_SIZE
	 self.contents.font.name = "Arial"
	 # ふきだしのテールを描画
	 if $game_system.message_frame == 0
	   @fuki = Sprite.new
	   case $game_system.message_position
			 when 0  # 上
			   @fuki.bitmap = RPG::Cache.windowskin(skin + "-top")
			   # マップがスクロールされていないときの座標処理
			   if $game_map.display_x == 0
					 @fuki.x = character.x * 32
			   elsif $game_map.display_x == ($game_map.width - 20) * 128
					 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32
			   else
					 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - 16
			   end
			   # 画面端では位置をずらす
			   if FUKI::CORNER_SHIFT
					 if @fuki.x == 0
					   @fuki.x = FUKI::SHIFT_PIXEL
					 elsif @fuki.x == 640 - 32
					   @fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL
					 end
			   end
			   @fuki.y = y + height - 16
			   @fuki.z = self.z + 1
			 when 1  # 中
			   @fuki.dispose
			   @fuki = nil
			 when 2  # 下
			   @fuki.bitmap = RPG::Cache.windowskin(skin + "-under")
			   # マップがスクロールされていないときの座標処理
			   if $game_map.display_x == 0
					 @fuki.x = character.x * 32
			   elsif $game_map.display_x == ($game_map.width - 20) * 128
					 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32
			   else
					 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - 16
			   end
			   # 画面端では位置をずらす
			   if FUKI::CORNER_SHIFT
					 if @fuki.x == 0
					   @fuki.x = FUKI::SHIFT_PIXEL
					 elsif @fuki.x == 640 - 32
					   @fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL
					 end
			   end
			   @fuki.y = y - 16
			   @fuki.z = self.z + 1
	   end
	 end
  end
end
#--------------------------------------------------------------------------
# ○ 名前ウインドウを表示
#--------------------------------------------------------------------------
def set_namewindow
  # $mes_name が空のときは名前ウインドウを表示しない
  if $mes_name == nil or $mes_name == ""
	 return
  else
	 # 変数をセット
	 mes_name = $mes_name
	 name_width = mes_name.size / 2 * FUKI::NAME_FONT_SIZE
	 name_height = FUKI::NAME_FONT_SIZE
	 name_x = x + FUKI::NAME_SHIFT_X
	 name_y = y - name_height - 16 + FUKI::NAME_SHIFT_Y
	 # 名前ウインドウ(枠のみ)を作成
	 @name_win = Window_Base.new(name_x, name_y, name_width + 16, name_height + 16)
	 skin = FUKI::NAME_SKIN_NAME != "" ? FUKI::NAME_SKIN_NAME : $game_system.windowskin_name
	 @name_win.windowskin = RPG::Cache.windowskin(skin)
	 @name_win.back_opacity = FUKI::NAME_OPACITY
	 @name_win.z = self.z + 1
	 # 余白をwindowクラスの限界よりも小さくするため、二重構造に
	 viewport = Viewport.new(name_x+12, name_y+8, name_width, name_height)
	 viewport.z = @name_win.z + 1
	 @name_contents = Sprite.new(viewport)
	 @name_contents.bitmap = Bitmap.new(name_width, name_height)
	 @name_contents.z = @name_win.z + 2
	 @name_contents.bitmap.font.color = normal_color
	 @name_contents.bitmap.font.size = FUKI::NAME_FONT_SIZE
	 # ウインドウサイズを調整
	 rect = @name_contents.bitmap.text_size(mes_name)
	 @name_win.width = rect.width + 32
	 # 名前を描画
	 @name_contents.bitmap.draw_text(rect, mes_name)
  end
end
#--------------------------------------------------------------------------
# ○ ふきだしと名前ウインドウを破棄
#--------------------------------------------------------------------------
def del_fukidasi
  if @fuki != nil
	 @fuki.dispose
	 @fuki = nil
  end
  if @name_win != nil
	 @name_win.dispose
	 @name_win = nil
	 @name_contents.dispose
	 @name_contents = nil
  end
  self.opacity = 0
  self.x = 80
  self.width = 480
  self.height = 160
  self.contents.dispose
  self.contents = Bitmap.new(width - 32, height - 32)
  self.pause = true
  self.contents.font.name = "Arial"
end
#--------------------------------------------------------------------------
# ○ キャラクターの取得
#	   parameter : パラメータ
#--------------------------------------------------------------------------
def get_character(parameter)
  # パラメータで分岐
  case parameter
  when -1  # プレイヤー
	 return $game_player
  when 0  # このイベント
	 events = $game_map.events
	 return events == nil ? nil : events[$active_event_id]
  else  # 特定のイベント
	 events = $game_map.events
	 return events == nil ? nil : events[parameter]
  end
end
#--------------------------------------------------------------------------
# ○ ウィンドウの位置と不透明度の設定
#--------------------------------------------------------------------------
def reset_window
  if $game_temp.in_battle
	 self.y = 16
	 self.contents.font.name = "Arial"
  else
	 case $game_system.message_position
	 when 0  # 上
	   self.y = 16
	   self.contents.font.name = "Arial"
	 when 1  # 中
	   self.y = 160
	   self.contents.font.name = "Arial"
	 when 2  # 下
	   self.y = 304
	   self.contents.font.name = "Arial"
	 end
  end
  if $game_system.message_frame == 0
	 self.opacity = 255
	 self.contents.font.name = "Arial"
  else
	 self.opacity = 0
	 self.contents.font.name = "Arial"
  end
  self.back_opacity = FUKI::MES_OPACITY
  self.contents.font.name = "Arial"
end
#--------------------------------------------------------------------------
# ○ フレーム更新
#--------------------------------------------------------------------------
def update
  super
  # フェードインの場合
  if @fade_in
	 self.contents_opacity += 24
	 self.contents.font.name = "Arial"
	 if @name_win != nil
	   @name_win.opacity += 24
	 end
	 if @fuki != nil
	   @fuki.opacity += 24
	 end
	 if @input_number_window != nil
	   @input_number_window.contents_opacity += 24
	 end
	 if self.contents_opacity == 255
	   @fade_in = false
	 end
	 return
  end
  # メッセージ表示中の場合
  if @contents_drawing
	 refresh_drawtext
	 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_end
	 # 選択肢の表示中でなければポーズサインを表示
	 # ふきだしモードでは非表示
	 if $game_temp.choice_max == 0 and @fuki == nil
	   self.pause = true
	   self.contents.font.name = "Arial"
	 else
	   self.pause = false
	   self.contents.font.name = "Arial"
	 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
	   terminate_message
	   # ふきだしを破棄
	   del_fukidasi
	 end
	 return
  end
  # フェードアウト中以外で表示待ちのメッセージか選択肢がある場合
  if @fade_out == false and $game_temp.message_text != nil
	 @contents_showing = true
	 $game_temp.message_window_showing = true
	 reset_window
	 refresh_create
	 if @name_win != nil
	   @name_win.opacity = 0
	 end
	 if @fuki != nil
	   @fuki.opacity = 0
	 end
	 Graphics.frame_reset
	 self.visible = true
	 self.contents_opacity = 0
	 self.contents.font.name = "Arial"
	 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
	 self.contents.font.name = "Arial"
	 if @name_win != nil
	   @name_win.opacity -= 48
	 end
	 if @fuki != nil
	   @fuki.opacity -= 48
	 end
	 if self.opacity == 0
	   self.visible = false
	   self.contents.font.name = "Arial"
	   @fade_out = false
	   $game_temp.message_window_showing = false
	   del_fukidasi
	 end
	 return
  end
end
#--------------------------------------------------------------------------
# ○ 解放
#--------------------------------------------------------------------------
def dispose
  terminate_message
  $game_temp.message_window_showing = false
  if @input_number_window != nil
	 @input_number_window.dispose
  end
  super
end
#--------------------------------------------------------------------------
# ○ メッセージ終了処理
#--------------------------------------------------------------------------
def terminate_message
  self.active = false
  self.pause = false
  self.index = -1
  self.contents.clear
  self.contents.font.name = "Arial"
  # 表示中フラグをクリア
  @contents_showing = false
  @contents_showing_end = false
  # メッセージ コールバックを呼ぶ
  if $game_temp.message_proc != nil
	 $game_temp.message_proc.call
  end
  # 文章、選択肢、数値入力に関する変数をクリア
  $game_temp.message_text = nil
  $game_temp.message_proc = nil
  $game_temp.choice_start = 99
  $game_temp.choice_max = 0
  $game_temp.choice_cancel_type = 0
  $game_temp.choice_proc = nil
  $game_temp.num_input_start = 99
  $game_temp.num_input_variable_id = 0
  $game_temp.num_input_digits_max = 0
  # ゴールドウィンドウを開放
  if @gold_window != nil
	 @gold_window.dispose
	 @gold_window = nil
  end
end
#--------------------------------------------------------------------------
# ○ カーソルの矩形更新
#--------------------------------------------------------------------------
def update_cursor_rect
  if @index >= 0
	 n = $game_temp.choice_start + @index
	 self.cursor_rect.set(8, n * 32, @cursor_width, 32)
	 self.contents.font.name = "Arial"
  else
	 self.cursor_rect.empty
	 self.contents.font.name = "Arial"
  end
end
end

#==============================================================================
# ■ Interpreter
#==============================================================================

class Interpreter
#--------------------------------------------------------------------------
# ● イベントのセットアップ
#	   event_id : イベント ID
#--------------------------------------------------------------------------
alias setup_fuki setup
def setup(list, event_id)
  setup_fuki(list, event_id)
  # 戦闘中でなければ
  if !($game_temp.in_battle)
	 # イベントIDを記録
	 $active_event_id = event_id
  end
end
end

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
  # スプライトセットを作成
  @spriteset = Spriteset_Map.new
  # メッセージウィンドウを作成
  @message_window = Window_FukiMessage.new
  # トランジション実行
  Graphics.transition
  # メインループ
  loop do
	 # ゲーム画面を更新
	 Graphics.update
	 # 入力情報を更新
	 Input.update
	 # フレーム更新
	 update
	 # 画面が切り替わったらループを中断
	 if $scene != self
	   break
	 end
  end
  # トランジション準備
  Graphics.freeze
  # スプライトセットを解放
  @spriteset.dispose
  # メッセージウィンドウを解放
  @message_window.dispose
  # タイトル画面に切り替え中の場合
  if $scene.is_a?(Scene_Title)
	 # 画面をフェードアウト
	 Graphics.transition
	 Graphics.freeze
  end
end
end

#==============================================================================
# ■ Window_InputNumber
#==============================================================================

class Window_InputNumber < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#	   digits_max : 桁数
#--------------------------------------------------------------------------
def initialize(digits_max)
  @digits_max = digits_max
  @number = 0
  # 数字の幅からカーソルの幅を計算 (0~9 は等幅と仮定)
  dummy_bitmap = Bitmap.new(32, 32)
  dummy_bitmap.font.size = FUKI::MES_FONT_SIZE
  @cursor_width = dummy_bitmap.text_size("0").width + 8
  dummy_bitmap.dispose
  super(0, 0, @cursor_width * @digits_max + 32, 64)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.z += 9999
  self.opacity = 0
  self.contents.font.name = "Arial"
  @index = 0
  refresh
  update_cursor_rect
end
end

#==============================================================================
# ■ Window_Gold
#==============================================================================

class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
  height = FUKI::MES_FONT_SIZE + 32
  super(0, 0, 160, height)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.back_opacity = FUKI::MES_OPACITY
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.contents.font.name = "Arial"
  refresh
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  cx = contents.text_size($data_system.words.gold).width
  self.contents.font.color = normal_color
  self.contents.draw_text(4, 0, 120-cx-2, FUKI::MES_FONT_SIZE, $game_party.gold.to_s, 2)
  self.contents.font.color = system_color
  self.contents.draw_text(124-cx, 0, cx, FUKI::MES_FONT_SIZE, $data_system.words.gold, 2)
  self.contents.font.name = "Arial"
end
end

 

TPC Radio Site | Blog | Big-Bug

http://img102.imageshack.us/img102/4332/slackware2userbarok0.gif

http://img141.imageshack.us/img141/1571/nokappams1cf8.png

 

http://i29.tinypic.com/2vijdlh.jpg

Link to comment
Share on other sites

dad, la tua firma è all'interno dello script, mi sa che ti conviene riscriverlo XD

"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."

Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna

http://i.imgur.com/cFgc2lW.png

Prova Standrama!

Link to comment
Share on other sites

dad, la tua firma è all'interno dello script, mi sa che ti conviene riscriverlo XD

Ghezz :\ appena ho tempo lo uppo in un txt.

TPC Radio Site | Blog | Big-Bug

http://img102.imageshack.us/img102/4332/slackware2userbarok0.gif

http://img141.imageshack.us/img141/1571/nokappams1cf8.png

 

http://i29.tinypic.com/2vijdlh.jpg

Link to comment
Share on other sites

  • 10 months later...

dato ke lo script qui nn è completo e io sono in possesso della versione corretta ho pensato di far felice qualcuno postandolo, ma mi è sembrato inutile aprire un nuovo topic dato che questo non è mai stato "aggiornato" allora, lo script da mettere in una nuova classe sopra main è il seguente:

 

#==============================================================================
# ++ メッセージふきだし表示 ver. 1.16 ++
#  Script by パラ犬
#------------------------------------------------------------------------------
# ふきだし表示をするには、
# テール用画像「(スキン名)-top」「(スキン名)-under」を
# 「Graphics/Windowskins」フォルダにインポートしておく必要があります。
#------------------------------------------------------------------------------
#
# [ふきだし表示の使い方]
# イベントコマンド「スクリプト」で「$mes_id」にイベントIDを代入することで
# そのイベントにふきだしがポップするようになります。
# (記述例: $mes_id=4 )
# IDに-1を代入するとプレイヤー、0でそのイベント自身。
# nilまたは""を代入すると、通常のメッセージ表示に戻ります。
# 表示位置はイベント「文章オプション」で変更できます。
# 表示位置に「中央」を指定すると、イベントの位置に関係なく
# 画面中央に表示されます。
#
# [名前ウインドウの使い方]
# イベントコマンド「スクリプト」で「$mes_name」に文字列を代入することで
# 名前ウインドウを表示します。
# (記述例: $mes_name="アルシェス" )
# ""またはnilを代入すると、非表示になります。
#
# 二つの機能は独立していますので、それぞれ単体で使えます。
#  $mes_id=(ID) + $mes_name="名前"  :ふきだし表示 + 名前ウインドウ
#  $mes_id=(ID) + $mes_name=""	  :ふきだし表示 (名前なし)
#  $mes_id=nil + $mes_name="名前"   :デフォルトウインドウ + 名前ウインドウ
#  $mes_id=nil + $mes_name=""	   :デフォルトウインドウ (名前なし)
#
# [メッセージ表示スピードの変更法]
# イベントコマンド「スクリプト」で「$mes_speed」に数値を代入します。
# (記述例: $mes_speed=1 )
#==============================================================================

module FUKI

# スキンの設定
# ウインドウスキンと同じものを使うときは「""」
FUKI_SKIN_NAME = "001-Blue01"   # ふきだし用スキン
NAME_SKIN_NAME = "001-Blue01"   # 名前表示用スキン

# フォントサイズ
MES_FONT_SIZE = 20   # メッセージウインドウとふきだし
NAME_FONT_SIZE = 20   # 名前ウインドウ

# ウインドウの透明度
FUKI_OPACITY = 255	# ふきだしウインドウ
MES_OPACITY = 255	 # 通常のメッセージウインドウ
NAME_OPACITY = 255	# 名前ウインドウ

# 名前ウインドウの相対位置
NAME_SHIFT_X = 0	# 横位置
NAME_SHIFT_Y = 16   # 縦位置

# 画面の一番端ではふきだしを少しずらす
# 角の丸いスキンを使っていて、枠の角がふきだしと重なる場合に true にする
CORNER_SHIFT = false
SHIFT_PIXEL = 4  # trueの時にずらすピクセル数

# キャラクターの縦のサイズ
CHARACTOR_HEIGHT = 48
# ふきだしの相対位置(縦位置)
POP_SHIFT_TOP = 0	 # 表示位置が上のとき
POP_SHIFT_UNDER = -16   # 表示位置が下のとき

# メッセージ表示速度(数字が小さいほど速い。0で瞬間表示)
# $mes_speedに数値を代入することで、ゲーム中に変更可。
MES_SPEED = 1

end

#==============================================================================
# □ Window_FukiMessage
#==============================================================================

class Window_FukiMessage < Window_Selectable

#--------------------------------------------------------------------------
# ○ オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
  super(80, 304, 480, 160)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.visible = false
  self.z = 9998
  @fade_in = false
  @fade_out = false
  @contents_showing = false
  @cursor_width = 0
  self.active = false
  self.index = -1
  self.contents.font.name = "Arial"
  @w = 0
  @h = 0
  @wait = 0
  @dx = 0
  @dy = 0
  $mes_speed = FUKI::MES_SPEED
end
#--------------------------------------------------------------------------
# ○ サイズを決定してウインドウを作成
#--------------------------------------------------------------------------
def refresh_create
  self.contents.clear	
  self.contents.font.color = normal_color
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.contents.font.name = "Arial"
  # ウインドウサイズを取得
  get_windowsize
  w = @w + 32 + 8
  h = @h * (self.contents.font.size + 10) + 26
  # ふきだしウインドウを作成
  set_fukidasi(self.x, self.y, w, h)
  # 名前ウインドウを作成
  set_namewindow
  # メッセージ表示用変数の初期化
  @dx = @dy = 0
  @cursor_width = 0
  @contents_drawing = true
  # 瞬間表示の場合、ここで表示処理
  if $mes_speed == 0
 # 描画処理をループ
 while $game_temp.message_text != ""
   draw_massage
 end
 draw_opt_text
 @contents_showing_end = true
 @contents_drawing = false
  else
 # 一文字ずつ描画
 refresh_drawtext
  end
end
#--------------------------------------------------------------------------
# ○ 一文字ずつ描画
#--------------------------------------------------------------------------
def refresh_drawtext
  if $game_temp.message_text != nil
 if @wait > 0
   @wait -= 1
 elsif @wait == 0
   # 描画処理
   draw_massage
   @wait = $mes_speed
 end
  end
  # 描画終了
  if $game_temp.message_text == ""
 draw_opt_text
 @contents_showing_end = true
 @contents_drawing = false
  end
end
#-----------------------------------
if @face != nil
 @face_win.visible = true if @face_win.visible == false
 @face_win.contents.clear
  pic_x = @face_win.contents.width - @pic_width
  pic_y = @face_win.contents.height / 2 - @pic_height / 2
  dest = Rect.new(pic_x, pic_y, @pic_width, @pic_height)
  src = Rect.new(0, 0, @face.width, @face.height)
  @face_win.contents.stretch_blt(dest, @face, src)
end
#-----------------------------------------------------------------------

#--------------------------------------------------------------------------
# ○ ウインドウサイズを取得
#--------------------------------------------------------------------------
def get_windowsize
  x = y = 0
  @h = @w = 0
  @cursor_width = 0
  # 選択肢なら字下げを行う
  if $game_temp.choice_start == 0
 x = 8
  end
  # 表示待ちのメッセージがある場合
  if $game_temp.message_text != nil
  text = $game_temp.message_text.clone
 # 制御文字処理
 begin
   last_text = text.clone
   text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
 end until text == last_text
 text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
   $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
 end
 # 便宜上、"\\\\" を "0" に変換
 text.gsub!(/\\\\/) { "0" }
 # "\\C" を "1" に、"\\G" を "2" に変換
 text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "1[#{$1}]" }
 text.gsub!(/\\[Gg]/) { "2" }
 # c に 1 文字を取得 (文字が取得できなくなるまでループ)
 while ((c = text.slice!(/./m)) != nil)
   # \\ の場合
   if c == "0"
	 # 本来の文字に戻す
	 c = "\\"
   end
   # \C[n] または \G の場合
   if c == "1"  or c == "2"
	 # 次の文字へ
	 next
   end
   # 改行文字の場合
   if c == "\n"
	 # y に 1 を加算
	 y += 1
	 # 縦横サイズを取得
	 @h = y
	 @w = x > @w ? x : @w
	 if y >= $game_temp.choice_start
	   @w = x + 8 > @w ? x + 8 : @w
	 end
	 x = 0
	 # 選択肢なら字下げを行う
	 if y >= $game_temp.choice_start
	   x = 8
	 end
	 # 次の文字へ
	 next
   end
   # x に描画した文字の幅を加算
   x += self.contents.text_size(c).width
 end
  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]
 @h += 1
 x = digits_max * self.contents.font.size + 16
 self.contents.font.name = "Arial"
 @w = x > @w ? x : @w
  end
end
#--------------------------------------------------------------------------
# ○ 描画処理
#--------------------------------------------------------------------------
def draw_massage
  # 表示待ちのメッセージがある場合
  if $game_temp.message_text != nil
 text = $game_temp.message_text
 # 制御文字処理
 begin
   last_text = text.clone
   text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
 end until text == last_text
 text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
   $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
 end
 # 便宜上、"\\\\" を "0" に変換
 text.gsub!(/\\\\/) { "0" }
 # "\\C" を "1" に、"\\G" を "2" に変換
 text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "1[#{$1}]" }
 text.gsub!(/\\[Gg]/) { "2" }
 # c に 1 文字を取得
 if ((c = text.slice!(/./m)) != nil)
   # 選択肢の場合
   if @dy >= $game_temp.choice_start
	 # 字下げを行う
	 @dx = 8
	 # 文字を描画
	 self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
	 self.contents.font.name = "Arial"
	 # x に描画した文字の幅を加算
	 @dx += self.contents.text_size(c).width
	 self.contents.font.name = "Arial"
	 # ループ
	 while ((c = text.slice!(/./m)) != "\n")
	   # 文字を描画
	   self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
	   self.contents.font.name = "Arial"
	   # x に描画した文字の幅を加算
	   @dx += self.contents.text_size(c).width
	 end
	 if c == "\n"
	   # カーソルの幅を更新
	   @cursor_width = [@cursor_width, @dx].max
	   # y に 1 を加算
	   @dy += 1
	   @dx = 0
	 end
	 return
   end
   # \\ の場合
   if c == "0"
	 # 本来の文字に戻す
	 c = "\\"
   end
   # \C[n] の場合
   if c == "1"
	 # 文字色を変更
	 text.sub!(/\[([0-9]+)\]/, "")
	 color = $1.to_i
	 if color >= 0 and color <= 7
	   self.contents.font.color = text_color(color)
	   self.contents.font.name = "Arial"
	 end
   end
   # \G の場合
   if c == "2"
	 # ゴールドウィンドウを作成
	 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
	   self.contents.font.name = "Arial"
	 end
   end
   # 改行文字の場合
   if c == "\n"
	 # y に 1 を加算
	 @dy += 1
	 @dx = 0
   end
   # 文字を描画
   self.contents.font.size = FUKI::MES_FONT_SIZE
   font_size = self.contents.font.size
   self.contents.draw_text(4+@dx, (font_size+10)*@dy, font_size, font_size, c)
   self.contents.font.name = "Arial"
   # x に描画した文字の幅を加算
   @dx += self.contents.text_size(c).width
   self.contents.font.name = "Arial"
 end
  end
end
#--------------------------------------------------------------------------
# ○ 選択肢と数値入力を有効に
#--------------------------------------------------------------------------
def draw_opt_text
  # 選択肢の場合
  if $game_temp.choice_max > 0
 @item_max = $game_temp.choice_max
 self.active = true
 self.index = 0
 self.contents.font.name = "Arial"
  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 set_fukidasi(x, y, width, height)
  # $mes_id が空のときはふきだしを表示しない
  if $mes_id == nil or $mes_id == ""
 del_fukidasi
 reset_window
  else
 # ポーズサインを非表示
 self.pause = false
 self.contents.font.name = "Arial"
 # キャラクターを取得
 character = get_character($mes_id)
 if character == nil
   # キャラクターが存在しないときは通常のメッセージウインドウに
   del_fukidasi
   reset_window
   return
 end
 # マップがスクロールされていないときの座標処理
 if $game_map.display_x == 0
   x = character.x * 32 - (width / 2) + 16
 elsif $game_map.display_x == ($game_map.width - 20) * 128
   x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - (width / 2) + 16
 else
   x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - (width / 2)
 end
 # はみ出すときは画面内に収まるように移動
 if x + width > 640
   x = 640 - width
 elsif x < 0
   x = 0
 end
 # ウインドウの位置を決定
 case $game_system.message_position
   when 0  # 上
	 y = ( (character.real_y - $game_map.display_y + 64) / 128) * 32 - height + 16 - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
   when 1  # 中
	 y = (480 - height) / 2
	 x = (640 - width) / 2
   when 2  # 下
	 y =  ( (character.real_y - $game_map.display_y + 64) / 128) * 32 + 48 + FUKI::POP_SHIFT_UNDER
 end
 skin = FUKI::FUKI_SKIN_NAME != "" ? FUKI::FUKI_SKIN_NAME : $game_system.windowskin_name
 # ふきだし用メッセージウインドウを作成
 self.windowskin = RPG::Cache.windowskin(skin)
 self.x = x
 self.y = y
 self.height = height
 self.width = width
 self.contents.dispose
 self.contents = Bitmap.new(width - 32, height - 32)
 self.back_opacity = FUKI::FUKI_OPACITY
 self.contents.clear
 self.contents.font.color = normal_color
 self.contents.font.size = FUKI::MES_FONT_SIZE
 self.contents.font.name = "Arial"
 # ふきだしのテールを描画
 if $game_system.message_frame == 0
   @fuki = Sprite.new
   case $game_system.message_position
	 when 0  # 上
	   @fuki.bitmap = RPG::Cache.windowskin(skin + "-top")
	   # マップがスクロールされていないときの座標処理
	   if $game_map.display_x == 0
		 @fuki.x = character.x * 32
	   elsif $game_map.display_x == ($game_map.width - 20) * 128
		 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32
	   else
		 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - 16
	   end
	   # 画面端では位置をずらす
	   if FUKI::CORNER_SHIFT
		 if @fuki.x == 0
		   @fuki.x = FUKI::SHIFT_PIXEL
		 elsif @fuki.x == 640 - 32
		   @fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL
		 end
	   end
	   @fuki.y = y + height - 16
	   @fuki.z = self.z + 1
	 when 1  # 中
	   @fuki.dispose
	   @fuki = nil
	 when 2  # 下
	   @fuki.bitmap = RPG::Cache.windowskin(skin + "-under")
	   # マップがスクロールされていないときの座標処理
	   if $game_map.display_x == 0
		 @fuki.x = character.x * 32
	   elsif $game_map.display_x == ($game_map.width - 20) * 128
		 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32
	   else
		 @fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128  * 32 - 16
	   end
	   # 画面端では位置をずらす
	   if FUKI::CORNER_SHIFT
		 if @fuki.x == 0
		   @fuki.x = FUKI::SHIFT_PIXEL
		 elsif @fuki.x == 640 - 32
		   @fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL
		 end
	   end
	   @fuki.y = y - 16
	   @fuki.z = self.z + 1
   end
 end
  end
end
#--------------------------------------------------------------------------
# ○ 名前ウインドウを表示
#--------------------------------------------------------------------------
def set_namewindow
  # $mes_name が空のときは名前ウインドウを表示しない
  if $mes_name == nil or $mes_name == ""
 return
  else
 # 変数をセット
 mes_name = $mes_name
 name_width = mes_name.size / 2 * FUKI::NAME_FONT_SIZE
 name_height = FUKI::NAME_FONT_SIZE
 name_x = x + FUKI::NAME_SHIFT_X
 name_y = y - name_height - 16 + FUKI::NAME_SHIFT_Y
 # 名前ウインドウ(枠のみ)を作成
 @name_win = Window_Base.new(name_x, name_y, name_width + 16, name_height + 16)
 skin = FUKI::NAME_SKIN_NAME != "" ? FUKI::NAME_SKIN_NAME : $game_system.windowskin_name
 @name_win.windowskin = RPG::Cache.windowskin(skin)
 @name_win.back_opacity = FUKI::NAME_OPACITY
 @name_win.z = self.z + 1
 # 余白をwindowクラスの限界よりも小さくするため、二重構造に
 viewport = Viewport.new(name_x+12, name_y+8, name_width, name_height)
 viewport.z = @name_win.z + 1
 @name_contents = Sprite.new(viewport)
 @name_contents.bitmap = Bitmap.new(name_width, name_height)
 @name_contents.z = @name_win.z + 2
 @name_contents.bitmap.font.color = normal_color
 @name_contents.bitmap.font.size = FUKI::NAME_FONT_SIZE
 # ウインドウサイズを調整
 rect = @name_contents.bitmap.text_size(mes_name)
 @name_win.width = rect.width + 32
 # 名前を描画
 @name_contents.bitmap.draw_text(rect, mes_name)
  end
end
#--------------------------------------------------------------------------
# ○ ふきだしと名前ウインドウを破棄
#--------------------------------------------------------------------------
def del_fukidasi
  if @fuki != nil
 @fuki.dispose
 @fuki = nil
  end
  if @name_win != nil
 @name_win.dispose
 @name_win = nil
 @name_contents.dispose
 @name_contents = nil
  end
  self.opacity = 0
  self.x = 80
  self.width = 480
  self.height = 160
  self.contents.dispose
  self.contents = Bitmap.new(width - 32, height - 32)
  self.pause = true
  self.contents.font.name = "Arial"
end
#--------------------------------------------------------------------------
# ○ キャラクターの取得
#	 parameter : パラメータ
#--------------------------------------------------------------------------
def get_character(parameter)
  # パラメータで分岐
  case parameter
  when -1  # プレイヤー
 return $game_player
  when 0  # このイベント
 events = $game_map.events
 return events == nil ? nil : events[$active_event_id]
  else  # 特定のイベント
 events = $game_map.events
 return events == nil ? nil : events[parameter]
  end
end
#--------------------------------------------------------------------------
# ○ ウィンドウの位置と不透明度の設定
#--------------------------------------------------------------------------
def reset_window
  if $game_temp.in_battle
 self.y = 16
 self.contents.font.name = "Arial"
  else
 case $game_system.message_position
 when 0  # 上
   self.y = 16
   self.contents.font.name = "Arial"
 when 1  # 中
   self.y = 160
   self.contents.font.name = "Arial"
 when 2  # 下
   self.y = 304
   self.contents.font.name = "Arial"
 end
  end
  if $game_system.message_frame == 0
 self.opacity = 255
 self.contents.font.name = "Arial"
  else
 self.opacity = 0
 self.contents.font.name = "Arial"
  end
  self.back_opacity = FUKI::MES_OPACITY
  self.contents.font.name = "Arial"
end
#--------------------------------------------------------------------------
# ○ フレーム更新
#--------------------------------------------------------------------------
def update
  super
  # フェードインの場合
  if @fade_in
 self.contents_opacity += 24
 self.contents.font.name = "Arial"
 if @name_win != nil
   @name_win.opacity += 24
 end
 if @fuki != nil
   @fuki.opacity += 24
 end
 if @input_number_window != nil
   @input_number_window.contents_opacity += 24
 end
 if self.contents_opacity == 255
   @fade_in = false
 end
 return
  end
  # メッセージ表示中の場合
  if @contents_drawing
 refresh_drawtext
 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_end
 # 選択肢の表示中でなければポーズサインを表示
 # ふきだしモードでは非表示
 if $game_temp.choice_max == 0 and @fuki == nil
   self.pause = true
   self.contents.font.name = "Arial"
 else
   self.pause = false
   self.contents.font.name = "Arial"
 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
   terminate_message
   # ふきだしを破棄
   del_fukidasi
 end
 return
  end
  # フェードアウト中以外で表示待ちのメッセージか選択肢がある場合
  if @fade_out == false and $game_temp.message_text != nil
 @contents_showing = true
 $game_temp.message_window_showing = true
 reset_window
 refresh_create
 if @name_win != nil
   @name_win.opacity = 0
 end
 if @fuki != nil
   @fuki.opacity = 0
 end
 Graphics.frame_reset
 self.visible = true
 self.contents_opacity = 0
 self.contents.font.name = "Arial"
 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
 self.contents.font.name = "Arial"
 if @name_win != nil
   @name_win.opacity -= 48
 end
 if @fuki != nil
   @fuki.opacity -= 48
 end
 if self.opacity == 0
   self.visible = false
   self.contents.font.name = "Arial"
   @fade_out = false
   $game_temp.message_window_showing = false
   del_fukidasi
 end
 return
  end
end
#--------------------------------------------------------------------------
# ○ 解放
#--------------------------------------------------------------------------
def dispose
  terminate_message
  $game_temp.message_window_showing = false
  if @input_number_window != nil
 @input_number_window.dispose
  end
  super
end
#--------------------------------------------------------------------------
# ○ メッセージ終了処理
#--------------------------------------------------------------------------
def terminate_message
  self.active = false
  self.pause = false
  self.index = -1
  self.contents.clear
  self.contents.font.name = "Arial"
  # 表示中フラグをクリア
  @contents_showing = false
  @contents_showing_end = false
  # メッセージ コールバックを呼ぶ
  if $game_temp.message_proc != nil
 $game_temp.message_proc.call
  end
  # 文章、選択肢、数値入力に関する変数をクリア
  $game_temp.message_text = nil
  $game_temp.message_proc = nil
  $game_temp.choice_start = 99
  $game_temp.choice_max = 0
  $game_temp.choice_cancel_type = 0
  $game_temp.choice_proc = nil
  $game_temp.num_input_start = 99
  $game_temp.num_input_variable_id = 0
  $game_temp.num_input_digits_max = 0
  # ゴールドウィンドウを開放
  if @gold_window != nil
 @gold_window.dispose
 @gold_window = nil
  end
end
#--------------------------------------------------------------------------
# ○ カーソルの矩形更新
#--------------------------------------------------------------------------
def update_cursor_rect
  if @index >= 0
 n = $game_temp.choice_start + @index
 self.cursor_rect.set(8, n * 32, @cursor_width, 32)
 self.contents.font.name = "Arial"
  else
 self.cursor_rect.empty
 self.contents.font.name = "Arial"
  end
end
end

#==============================================================================
# ■ Interpreter
#==============================================================================

class Interpreter
#--------------------------------------------------------------------------
# ● イベントのセットアップ
#	 event_id : イベント ID
#--------------------------------------------------------------------------
alias setup_fuki setup
def setup(list, event_id)
  setup_fuki(list, event_id)
  # 戦闘中でなければ
  if !($game_temp.in_battle)
 # イベントIDを記録
 $active_event_id = event_id
  end
end
end

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
  # スプライトセットを作成
  @spriteset = Spriteset_Map.new
  # メッセージウィンドウを作成
  @message_window = Window_FukiMessage.new
  # トランジション実行
  Graphics.transition
  # メインループ
  loop do
 # ゲーム画面を更新
 Graphics.update
 # 入力情報を更新
 Input.update
 # フレーム更新
 update
 # 画面が切り替わったらループを中断
 if $scene != self
   break
 end
  end
  # トランジション準備
  Graphics.freeze
  # スプライトセットを解放
  @spriteset.dispose
  # メッセージウィンドウを解放
  @message_window.dispose
  # タイトル画面に切り替え中の場合
  if $scene.is_a?(Scene_Title)
 # 画面をフェードアウト
 Graphics.transition
 Graphics.freeze
  end
end
end

#==============================================================================
# ■ Window_InputNumber
#==============================================================================

class Window_InputNumber < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#	 digits_max : 桁数
#--------------------------------------------------------------------------
def initialize(digits_max)
  @digits_max = digits_max
  @number = 0
  # 数字の幅からカーソルの幅を計算 (0~9 は等幅と仮定)
  dummy_bitmap = Bitmap.new(32, 32)
  dummy_bitmap.font.size = FUKI::MES_FONT_SIZE
  @cursor_width = dummy_bitmap.text_size("0").width + 8
  dummy_bitmap.dispose
  super(0, 0, @cursor_width * @digits_max + 32, 64)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.z += 9999
  self.opacity = 0
  self.contents.font.name = "Arial"
  @index = 0
  refresh
  update_cursor_rect
end
end

#==============================================================================
# ■ Window_Gold
#==============================================================================

class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
  height = FUKI::MES_FONT_SIZE + 32
  super(0, 0, 160, height)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.back_opacity = FUKI::MES_OPACITY
  self.contents.font.size = FUKI::MES_FONT_SIZE
  self.contents.font.name = "Arial"
  refresh
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  cx = contents.text_size($data_system.words.gold).width
  self.contents.font.color = normal_color
  self.contents.draw_text(4, 0, 120-cx-2, FUKI::MES_FONT_SIZE, $game_party.gold.to_s, 2)
  self.contents.font.color = system_color
  self.contents.draw_text(124-cx, 0, cx, FUKI::MES_FONT_SIZE, $data_system.words.gold, 2)
  self.contents.font.name = "Arial"
end
end

 

per far comparire il ballon far eseguire dall'evento col quale si parla tale script

 

$mes_id=0

 

N.B. Basta eseguirlo una sola volta e compariranno sempre i ballon fino a che non facciate eseguire quests'altra stringa qua:

 

$mes_id=nil

 

Il problema è che non so come si fa a far parlare una terza persona col Fuki, mi pare esista una demo a tal proposito, però non l'ho a disposizione, se qualche anima pia ce l'ha sul pc e potrebbe upparla penso faccia un piacere a molti oltre che al sottoscritto xD

Progetto in corso:

http://i209.photobucket.com/albums/bb92/SalvyTheCrow/khymeia-logo.png

>>> Topic del Progetto <<<

 

Percentuale di completamento: 1% circa (ci vorrà tempo e pazienza >.<)

Link to comment
Share on other sites

Dato che qualcuno ha riesumato lo script vi spiego come funziona.

Allora per mettere il messaggio sopra l'eroe la stringa è

$mes_id=-1

per metterlo sopra un evento è

$mes_id=Id evento

per disabilitare i baloon è

$mes_id=nil

poi su può far apparire il nome sulla finestra con il comando

$mes_name="Nome"

e lo si può levare con

$mes_name=""

Spero vi sia utile.

Link to comment
Share on other sites

Bravi entrambi :sisi:

Progetto in corso:

"Hero Walking: Toward Another Life"

Video Old Intro su Youtube

Visite: 11.896!

http://img212.imageshack.us/img212/1060/logheryb0.jpg

 

 

*Posizioni raggiunte nei contest*

 

 

http://www.rpg2s.net/awards/bestuser1.jpghttp://www.rpg2s.net/awards/beststaff1.jpg

http://www.rpg2s.net/awards/bestmaker3.jpghttp://www.rpg2s.net/awards/bestcritical1.jpghttp://www.rpg2s.net/awards/mostcharismatic2.jpg

http://www.rpg2s.net/awards/mosthelpful1.jpghttp://www.rpg2s.net/awards/mostpolite1.jpghttp://www.rpg2s.net/awards/mostpresent1.jpg

 

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif http://img230.imageshack.us/img230/1273/sccontest1batio5.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img143.imageshack.us/img143/3755/destroyae4.png

http://img141.imageshack.us/img141/3081/comics3od3.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif

 

 

SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI

Link to comment
Share on other sites

grande Leonhart! xD hai permesso ai miei dubbi di dissolversi xD, cmq la cosa che so è che per far parlare l'evento con cui si interagisce basta lo 0 xD per gli altri si mette l'id! olè, finalmente potròl uscare completamente lo script xD

Progetto in corso:

http://i209.photobucket.com/albums/bb92/SalvyTheCrow/khymeia-logo.png

>>> Topic del Progetto <<<

 

Percentuale di completamento: 1% circa (ci vorrà tempo e pazienza >.<)

Link to comment
Share on other sites

  • 4 weeks later...

Ho provato lo script ed anche a me da lo stesso errore...

Non so se è il nome della picture che è sbagliata o se c'è altro da "impostare".

Caios, aspetta che qualcuno a cui funziona ti dia una risposta ^^'

Progetto in corso:

"Hero Walking: Toward Another Life"

Video Old Intro su Youtube

Visite: 11.896!

http://img212.imageshack.us/img212/1060/logheryb0.jpg

 

 

*Posizioni raggiunte nei contest*

 

 

http://www.rpg2s.net/awards/bestuser1.jpghttp://www.rpg2s.net/awards/beststaff1.jpg

http://www.rpg2s.net/awards/bestmaker3.jpghttp://www.rpg2s.net/awards/bestcritical1.jpghttp://www.rpg2s.net/awards/mostcharismatic2.jpg

http://www.rpg2s.net/awards/mosthelpful1.jpghttp://www.rpg2s.net/awards/mostpolite1.jpghttp://www.rpg2s.net/awards/mostpresent1.jpg

 

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif http://img230.imageshack.us/img230/1273/sccontest1batio5.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img143.imageshack.us/img143/3755/destroyae4.png

http://img141.imageshack.us/img141/3081/comics3od3.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif

 

 

SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI

Link to comment
Share on other sites

Sicuro? .... a me funziona.

Devi mettere le due picture nella cartella Windowskin.

I nomi sono

"nomeskin-under"

"nomeskin-top"

la skin è impostata qui:

module FUKI
 
 # スキンの設定
 # ウインドウスキンと同じものを使うときは「""」
 FUKI_SKIN_NAME = "001-Blue01"   # ふきだし用スキン
 NAME_SKIN_NAME = "001-Blue01"   # 名前表示用スキン

 

Se gia hai fatto cosi nn so che dirti..

al limite posto una demo

Link to comment
Share on other sites

  • 5 months later...

Ho risolto io il problema..Dipendeva dalle picture, si salvano sull'hardisk con i seguenti nomi:

001blue01under4dp-001blue01top5dd, quindi vi bastera rinominare le picture:

001-Blue01-under e 001-blue01-top!!

http://www.freankexpo.net/signature/1129.png

2986.png

BIM_Banner3.png

Premi RpgMaker

 


http://www.rpg2s.net/forum/uploads/monthly_01_2017/msg-293-0-48316500-1483794996.jpghttp://www.rpg2s.net/dax_games/r2s_regali2.pngContesthttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif http://rpg2s.net/gif/SCContest1Oct.gif http://rpg2s.net/gif/SCContest2Oct.gif http://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://www.rpg2s.net/awards/bestpixel2.jpghttp://www.rpg2s.net/awards/bestresourCSist2.jpghttp://www.rpg2s.net/awards/mostproductive1.jpghttp://i42.servimg.com/u/f42/13/12/87/37/iconap13.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap14.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap15.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap16.pnghttp://i42.servimg.com/u/f42/13/12/87/37/screen10.pnghttp://www.rpgmkr.net/contest/screen-contest-primo.pnghttp://www.makerando.com/forum/uploads/jawards/iconawards3.png

Link to comment
Share on other sites

  • 2 months later...

Grazie, veramente carino l'effetto.

Ho solo un problema, quando immetto un testo con troppe righe mi taglia in parte l'ultima riga..

In teoria posso ovviare segmentando il testo.. Però magari posso settare qualcosa nello script.

http://img32.imageshack.us/img32/9568/catbloodlq25.gif

"E' forse finita la guerra quando i tedeschi hanno bombardato Pearl Harbor?"

http://img514.imageshack.us/img514/8265/bannerghe.png

Nel mio gioco dico il ca77o che mi pare, il ca77o che mi pare, il ca77o che mi pare.

Non comprendono ancora che l’italiano è fondamentalmente un volgare ed ignorante cazzone con il culto della personalità carismatica dominante ed autoritaria per mancanza della propria, e che nel nostro paese l’anti-intellettualismo è uno dei pochi valori in cui tutti si riconoscono. (Bucknasty)

Link to comment
Share on other sites

uhm..E' strano, a me funziona perfettamente lo script facendomi vedere tutte le righe.

http://www.freankexpo.net/signature/1129.png

2986.png

BIM_Banner3.png

Premi RpgMaker

 


http://www.rpg2s.net/forum/uploads/monthly_01_2017/msg-293-0-48316500-1483794996.jpghttp://www.rpg2s.net/dax_games/r2s_regali2.pngContesthttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif http://rpg2s.net/gif/SCContest1Oct.gif http://rpg2s.net/gif/SCContest2Oct.gif http://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://www.rpg2s.net/awards/bestpixel2.jpghttp://www.rpg2s.net/awards/bestresourCSist2.jpghttp://www.rpg2s.net/awards/mostproductive1.jpghttp://i42.servimg.com/u/f42/13/12/87/37/iconap13.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap14.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap15.pnghttp://i42.servimg.com/u/f42/13/12/87/37/iconap16.pnghttp://i42.servimg.com/u/f42/13/12/87/37/screen10.pnghttp://www.rpgmkr.net/contest/screen-contest-primo.pnghttp://www.makerando.com/forum/uploads/jawards/iconawards3.png

Link to comment
Share on other sites

  • 1 month later...

Non so perchè ma a me continua a darmi questo errore.. mi taglia a metà le parole nelle choice..

 

http://img295.imageshack.us/img295/1884/senzatitolo1oc2.png

 

Capita a qualcun altro? Può essere un problema di font al limite? Bho..

Edited by spriggan

http://img32.imageshack.us/img32/9568/catbloodlq25.gif

"E' forse finita la guerra quando i tedeschi hanno bombardato Pearl Harbor?"

http://img514.imageshack.us/img514/8265/bannerghe.png

Nel mio gioco dico il ca77o che mi pare, il ca77o che mi pare, il ca77o che mi pare.

Non comprendono ancora che l’italiano è fondamentalmente un volgare ed ignorante cazzone con il culto della personalità carismatica dominante ed autoritaria per mancanza della propria, e che nel nostro paese l’anti-intellettualismo è uno dei pochi valori in cui tutti si riconoscono. (Bucknasty)

Link to comment
Share on other sites

  • 1 month later...
Sicuro? .... a me funziona.

Devi mettere le due picture nella cartella Windowskin.

I nomi sono

"nomeskin-under"

"nomeskin-top"

la skin è impostata qui:

module FUKI
 
 # スキンの設定
 # ウインドウスキンと同じものを使うときは「""」
 FUKI_SKIN_NAME = "001-Blue01"   # ふきだし用スキン
 NAME_SKIN_NAME = "001-Blue01"   # 名前表示用スキン

 

Se gia hai fatto cosi nn so che dirti..

al limite posto una demo

 

Posta :happy:

I miei tutorial
BS in tempo reale ad eventi
Tecnica Ruba
Pesca ad eventi
Evocare
Lancio del masso
Minigioco del Negozio

Partecipante al Rpg2s.net Game Contest 2008/2009
http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg
Gioco in Sviluppo: Factions

http://img252.imageshack.us/img252/8742/bannerinoteamlrmiu6.png
 

http://img393.imageshack.us/img393/9920/legenrpgmaniamu3.gif
Forum:The legend of making

 

 

26373462 I love you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Mai Dire Speciale Cinema
L'Uomo che Usciva Tutti
Botte e Risposte / Rapine a mano a mano
Mobbasta
Mobbasta veramente per�
Mani in Alto
Per un pelo
Giammangiato
Anche no / Il buio / Ahia
Burle
Acqua Corrente / Urgenze

LegendRpgMania

Il 70% dei ragazzi pensa che GTA sia il miglior gioco del mondo. Il restante 30% pensa che Kingdom Hearts sia il gioco pi� bello. Se fai parte di questo 30% copia e incolla questa frase nella tua firma/blog.

MITICO OBSIDIAN LORD!!!
The March of The Swordmaster
Holy Thunderforce
Bard's Song

TALES OF MAGIC
Entra nella scuola di magia e diventa il mago pi� grande del mondo!

Tales of Magic � completamente gratuito e senza alcun obbligo! Il manuale ti fornir� informazioni sulle modalit� di funzionamento del gioco.
LINK DEL GIOCO

Bunnies Area
Bunnies Can't Phone
Bunnies Can't play 360
Bunnies Can't play Rugby
Bunnies Can't win races
Bunnies Can't Cook Eggs
Bunnies Can't cook turkey
Bunnies Can't Date
Bunnies Can't Park
Bunnies Can't play with Fireworks


Mi conoscete???
Se s� cliccate qui

 



Epitaffi:
1)E' diventato carne secca...
2)Giocava a buttarsi gi� dal castello...
3)Stava abbracciando una bomba a mano...
4)Gli piaceva bere nitroglicerina...
5)Ha ingoiato un candelotto di dinamite...
6)Ha effettuato il salto in lungo nel cratere di un vulcano...
7)Quando i suoi compagni di classe giocavano a calcio lui era la palla...



________________________________________________________________________________
A prescindere dal colore della pelle e dalla religione siamo tutti uguali e tutti abbiamo ugal diritto di vivere. Credi la scuola sia una seccatura? Un'imposizione dei genitori? Sai quanto darebbero questi bambini per avere un'istruzione? Invece loro ed i loro genitori vengono sfruttati nelle industrie delle pi� note multinazionali americane ed europee: Nike, Nestl�, Kraft...
Se sei anche tu contro il razzismo e contro lo sfruttamento inserisci questa frase nella tua firma.
________________________________________________________________________________
Now Playing:
PS3 : Soul Calibur 4
PS2 : Kingdom Hearts Re Chain of Memories
DS : Final Fantasy IV / Final Fantasy XII : Revenant Wings / Spore Creatures / Dinosaur King
PSP : Ratchet and Clank : Size Matters / Secret Agent Clank / Naruto Ultimate Ninja Heroes 2 / GuitarWay To Heaven 4 Amplified
PC : Frets on Fire con la chitarra!!! O_O

Rpg Maker Xp

I miei progetti:

Per ora nulla...

http://team.ffonline.it/imgpersonaggio/cloud_it.jpg
http://img230.imageshack.us/img230/608/pencehaynerroxasolettejyt1.th.jpg
http://r3.fodey.com/15d01c4c6f2dd4908b320f697f7fbe7bd.1.gif


http://img801.mytextgraphics.com/flamewordmaker/2008/03/28/2554b85201dbda32d87d5873d964a4fd.gif

 

 

Link to comment
Share on other sites

  • 1 month later...
Per caso è compatibile con lo script dei face nei mess?

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 7 months later...

Dunque ho tre problemi:

 

1)Non riesco a personalizzare la grafica

 

2)Non mi funziona il codice per gli eventi

 

3)La finestrella che mostra il nome è troppo piccola

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 5 months later...
Dunque ho tre problemi:

 

1)Non riesco a personalizzare la grafica

 

2)Non mi funziona il codice per gli eventi

 

3)La finestrella che mostra il nome è troppo piccola

 

Forse avrai risolto da tempo. :sisi:

 

Ma sempre meglio rispondere per chi non sa o non ha capito.

 

1) per la grafica, immetti nella windowskin quello che vuoi, cioè un ordinario nuovo windowskin, naturalmente poi non t leggerà le freccette da mettere sopra o sotto da collegare all'evento o al personaggio principale. perchè lo script fa questo ragionamento:

 

windowskin, nome: "nome prova"

freccette, nome: "nome della windowskin + "-under" o "-top"" quindi dovresti scrivere "nomeprova-under" etc...

 

2) per gli eventi, aveva già detto tutto sleeping leonhart e comunque gli ID da immettere sono sopra a sinistra nella finestra eventi.

 

3) ....a questo non so che rispondere. °^° Non l'ho provato. XD

 

Detto questo, spero che chi avesse avuto dei dubbi, abbia capito. ^^

 

Intanto dico che questo script è bellissimo! Lo userò sicuramente per un progetto!!

Targhetta: http://img717.imageshack.us/img717/7703/fcp3.png Face Contest (e non me n'ero accorta°-°)

- o - o -

http://i670.photobucket.com/albums/vv69/Atzlith/OdiernaTitlemini.png

Il miglior negozio Kawai trovato! Ve lo consiglio! ;)

http://i670.photobucket.com/albums/vv69/Atzlith/MilkShop.png

Link to comment
Share on other sites

  • 2 weeks later...

Ho un problema. Come faccio a fare in modo che il dialogo non sia tagliato dal bordo della mappa. Cioè: io ho il personaggio in basso, e metà della finestra di dialogo è tagliata dal bordo inferiore della mappa.

Grazie in anticipo.

Risorse per tutti!

 

http://img362.imageshack.us/img362/933/gigacciolabannerbc7.gifFan Di Pocket Quest!

 

http://mypsn.eu.playstation.com/psn/profile/Batullo.png

Link to comment
Share on other sites

Ho un problema. Come faccio a fare in modo che il dialogo non sia tagliato dal bordo della mappa. Cioè: io ho il personaggio in basso, e metà della finestra di dialogo è tagliata dal bordo inferiore della mappa.

Grazie in anticipo.

Risorse per tutti!

 

http://img362.imageshack.us/img362/933/gigacciolabannerbc7.gifFan Di Pocket Quest!

 

http://mypsn.eu.playstation.com/psn/profile/Batullo.png

Link to comment
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
 Share

×
×
  • Create New...