RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Metroid Text Sound Script

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 89
The original script was made by Kaitos.

I've edited some things to make a sound go with the text.

Kinda lame but who cares right?

Try it.

First put this sound in your BGS folder (background sound).

http://www.invisionplus.net/forums/index.php?mforum=rmxp&act=Attach&type=post&id=2670

Next create a new script and paste this junk in there.

Enjoy.

~Constance

Code: [Select]
#==================================
# Window_Message
#-------------------------------
#  The message window.
#==================================
class Window_Message < Window_Selectable
attr_accessor :autoclosetime
attr_accessor :op
#-------------------------------  
# Object Initialization
#-------------------------------  
def initialize
super(80+64, 336, 480, 128)#(80, 304, 480, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = $fontsize
self.contents.font.name = $fontface
self.visible = false
self.z = 9998
@fade_in = false
@fade_out = false
@contents_showing = false
@cursor_width = 0
@autoclosetime = -1
@op = 255
@refreshflag = false
self.active = false
self.index = -1
@update_text = true
self.windowskin = nil
end
#-------------------------------
# Garbage Collection
#-------------------------------  
def dispose
terminate_message
$game_temp.message_window_showing = false
if @input_number_window != nil
@input_number_window.dispose
end
super
end
#-------------------------------  
# Message Termination Process
#-------------------------------  
def terminate_message
self.active = false
self.pause = false
self.index = -1
self.contents.clear
@contents_showing = 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
# ***ccoa***
#if there was a face showing, make it invisible
if $message_showing != nil
  @message.dispose
@message = nil
end
if $face_showing != nil
 @face.dispose
@face =nil
end
end
#-------------------------------  
# Refresh
#-------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.font.name = "Arial"
self.contents.font.size = 18
self.windowskin = nil
@x = @y = 0
@cursor_width = 0
@autoclosetime = -1
@refreshflag = true
@lineheight = 32
@active = ""
@a = ""
@centerflag = false
@rightflag = false
@bannerflag = false
@update_text = true
@text_skip = false
# ***ccoa***
# face for the message box
@face = Sprite.new
@face.visible = true
@message = Sprite.new
@message.visible = true
if $game_temp.choice_start == 0
@x = 8
end
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
@text.gsub!(/\\\\/) { "\000" }
@text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
@text.gsub!(/\\[Gg]/) { "\002" }
 @text.gsub!(/\\[Ii]\[([0-9]+)\]/) { "\003[#{$1}]" }
@text.gsub!(/\\[Ff]\[([0-9]+)\]/) { "\004[#{$1}]" }
@text.gsub!(/\\[Aa]\[([0-9]+)\]/) { "\005[#{$1}]" }
@text.gsub!(/\\[Xx]/) { "\006" }
@text.gsub!(/\\[Rr]/) { "\007" }
@text.gsub!(/\\[Dd]/) { "\011" }
@text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\023[#{$1}]" }
@text.gsub!(/\\[Bb]/) { "\017" }
@text.gsub!(/\\[Ww]\[([0-9]+)\]/) { "\014[#{$1}]" }
@text.gsub!(/\\[Mm]\[([0-9]+)\]/) { "\015[#{$1}]" }
@text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\016[#{$1}]" }
@text.gsub!(/\\[Jj]\[([0-9]+)\]/) { "\013[#{$1}]" }
@text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\021[#{$1}]" }
@text.gsub!(/\\[Kk]\[([0-9]+)\]/) { "\022[#{$1}]" }
end
def update_text
if @text != nil
          Audio.bgs_play("Audio/BGS/metroid", 100, 100)
  while ((c = @text.slice!(/./m)) != nil)
  if c == "\000"
    c = "\\"
  end
  if c == "\001"
    @text.sub!(/\[([0-9]+)\]/, "")
    color = $1.to_i
    if color >= 0 and color <= 7
      self.contents.font.color = text_color(color)
    end
    next
  end
  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
    if c == "\003"
    @text.sub!(/\[([0-9]+)\]/, "")
    item_sub = $1.to_i
    c = $data_items[item_sub].name
    l = self.contents.text_size( c ).width
    draw_item_name($data_items[item_sub], @x, @y * 32 + 1)
    @x = @x + l + 24
    next
  end
   if c == "\004"
    @text.sub!(/\[([0-9]+)\]/, "")
    fontize = $1.to_i
    case fontize
      when 1
        self.contents.font.name = "Arial"
      when 2
        self.contents.font.name = "High Tower Text"
      when 3
        self.contents.font.name = "Tw Cen MT"
      when 4
        self.contents.font.name = "Tahoma"
    end
    next
  end
   if c == "\005"
    @text.sub!(/\[([0-9]+)\]/, "")
    @autoclosetime = $1.to_i
    next
  end
  if c == "\006"
    @centerflag = true
    next
  end
  if c == "\007"
    @rightflag = true
    next
  end
  if c == "\011"
    self.contents.font.name = "Arial"
    self.contents.font.size = 18
    self.contents.font.color = normal_color
    @lineheight = 32
    next
  end
  if c == "\014"
    @text.sub!(/\[([0-9]+)\]/, "")
    w_sub = $1.to_i
    c = $data_weapons[w_sub].name
    l = self.contents.text_size( c ).width
    bitmap = RPG::Cache.icon($data_weapons[w_sub].icon_name)
    self.contents.blt(@x+4, @y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
    @x += 28
    self.contents.draw_text(@x+4, 32 * @y, l+32, @lineheight, c)
    @x = @x + l
    next
  end
    if c == "\015"
    @text.sub!(/\[([0-9]+)\]/, "")
    a_sub = $1.to_i
    c = $data_armors[a_sub].name
    l = self.contents.text_size( c ).width
    bitmap = RPG::Cache.icon($data_armors[a_sub].icon_name)
    self.contents.blt(@x+4, @y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
    @x += 28
    self.contents.draw_text(@x+4, 32 * @y, l+32, @lineheight, c)
    @x = @x + l
    next
  end
    if c == "\016"
    @text.sub!(/\[([0-9]+)\]/, "")
    @op = $1.to_i
    next
  end
   if c == "\017"
    @bannerflag = true
    next
  end
  if c == "\018"
    @text.sub!(/\[([0-9]+)\]/, "")
    jump = $1.to_i
    @x += jump
    next
  end
    if c == "\021"
    @text.sub!(/\[([0-9]+)\]/, "")
    @lineheight = $1.to_i
    next
  end
  if c == "\022"
    @text.sub!(/\[([0-9]+)\]/, "")
    skill_sub = $1.to_i
    c = $data_skills[skill_sub].name
    l = self.contents.text_size( c ).width
    bitmap = RPG::Cache.icon($data_skills[skill_sub].icon_name)  
    self.contents.blt(@x+4, @y * 32+ 4, bitmap, Rect.new(0, 0, 24, 24))
    @x += 28
    self.contents.draw_text(@x+4, 32 * @y, l+32, @lineheight, c)
    @x = @x + l
    next
  end
   if c == "\023"
    @text.sub!(/\[([0-9]+)\]/, "")
    bigness = $1.to_i
    self.contents.font.size = bigness
    next
  end
  if c == "\n"
    if @centerflag == true
      @x = 448 - @x
      @x = @x / 2
      self.contents.draw_text(@x, 32 * @y, 448-@x, @lineheight, @a)
    end
    if @rightflag == true
      @x = 448 - @x
      self.contents.draw_text(@x, 32 * @y, 448-@x, @lineheight, @a)
    end
    if @bannerflag == true
      @x = 448 - @x
      @x = @x / 2
      self.contents.draw_text(@x, 44, 448-@x, @lineheight, @a)
    end
    @a = ""
    @centerflag = false
    @rightflag = false
    @bannerflag = false
    if @y >= $game_temp.choice_start
      @cursor_width = [@cursor_width, @x].max
    end
    @y += 1
    @x = 0
    if @y >= $game_temp.choice_start
      @x = 8
    end
    next
  end
 # ***ccoa***
 #display face?
  if $message_showing != nil
   #draw the face, then add the text to one side of it
    @message.bitmap= RPG::Cache.picture($message_showing)
    @message.x = 18
    @message.y = 340
   @message.z = 9998
   @message.visible = true
 else
    @message.bitmap= nil
    @message.x = 18
    @message.y = 340
   @message.z = 9998
   @message.visible = false
end
   #draw the face, then add the text to one side of it
   if $face_showing != nil
   @face.bitmap = RPG::Cache.picture($face_showing)
   @face.x = 20
   @face.y = 344
   @face.z = 9999
   @face.opacity = 255
   @face.visible = true
   if @centerflag == false && @rightflag == false && @bannerflag == false
     self.contents.draw_text(4 + @x, 32 * @y, 40, @lineheight, c)
     @x += self.contents.text_size( c ).width
   else
     @a += c
     @x += self.contents.text_size( c ).width
   end
   if !@text_skip
   #$game_system.se_play($data_system.decision_se)
   return
   end
 else
   @face.bitmap = nil
   @face.x = 20
   @face.y = 344
   @face.z = 9999
   @face.visible = false
    # just put in the text
    if @centerflag == false && @rightflag == false && @bannerflag == false
      self.contents.draw_text(4 + @x, 32 * @y, 40, @lineheight, c)
      @x += self.contents.text_size( c ).width
    else
      @a += c
      @x += self.contents.text_size( c ).width
    end
    if !@text_skip
    return
    end
  end
end
end
self.opacity = 0
if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end
if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_  id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
@update_text = false
end
end
#-------------------------------  
# Reset the window in response to changes in the position or
# transparency
#-------------------------------  
def reset_window
if $game_temp.in_battle
self.y = 16
else
case $game_system.message_position      
when 0  # ?
    self.y = 16
  when 1  # ?
    self.y = 160
  when 2  # ?#?????? ????
    self.y = 336    
    end
    end
if $game_system.message_frame == 0
self.opacity = 255
else
self.opacity = 0
end
self.back_opacity = 160
end
#-------------------------------  
# Frame Update
#-------------------------------  
def update
super
if @refreshflag && @fade_in == false
self.contents_opacity = @op
end
if @autoclosetime == 0
@autoclosetime = -1
terminate_message
end
if @autoclosetime >= 1
@autoclosetime -= 1
end
if @fade_in
self.contents_opacity += 24
if @input_number_window != nil
  @input_number_window.contents_opacity += 24
end
if self.contents_opacity >= @op
  @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
if $game_temp.choice_max == 0
        Audio.bgs_stop
  self.pause = true
end
if @update_text
  if Input.trigger?(Input::C)
    @text_skip = true
  end
  update_text
  return
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_can  cel_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
  @op = 255
  terminate_message
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
Graphics.frame_reset
self.visible = true
self.contents_opacity = 0
if @input_number_window != nil
  @input_number_window.contents_opacity = 0
end
@fade_in = true
return
end
if self.visible
@fade_out = true
self.opacity -= 48
if self.opacity == 0
  self.visible = false
  @fade_out = false
  $game_temp.message_window_showing = false
end
return
end
end
#-------------------------------  
# Updates the cursor rectangle.
#-------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
# ***ccoa***
# make sure the cursor appears in the correct spot for choice messages
if $message_showing != nil
  self.cursor_rect.set(8, n * 32, @cursor_width, 32)
  self.windowskin= RPG::Cache.windowskin("001-Blue01")
end
else
self.cursor_rect.empty
end
end
end
Would you like to support a new rmxp community? If so then you should join:


****
Rep:
Level 91
impressive but very difficult...to understand
I'm the Alpha and the Omega, the First and the Last, the Beginning and the End.

http://qualquek.miniville.fr/
http://www.dailymotion.com/bookmarks/ojah/video/x27l78_jake-simpson-stevie-wonder-isnt-she_music

My padawan (Tsunokiette) and me :p
http://www.team-aaa.com/root/profile.php?enter_id=614556
http://www.esl.eu/fr/player/2609080/
I'm French so forgive my bad english!

**
Rep:
Level 89
lol what do you mean?

The syntax of the script?
Would you like to support a new rmxp community? If so then you should join: