RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

AMS Problem

Started by doggen, January 08, 2006, 05:27:04 PM

0 Members and 1 Guest are viewing this topic.

doggen

Hello again!
I'm using the AMS SCript that you can find in the script database here.
( NOT the Slipknot one )

But I have a problem...
As you can see on the picture below, the little box containing the name doesn't reach all the way...



Is there anybody out there that has a solution to this problem, and that is kind enough to give it to me?
If so, I would apreciate, veeery much!!!

Thanks in advance!
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Season In The Abyss

In my AMS i fix that.
Is easy but you need post the script.

doggen

Alright, here's the script:

#===================================================
# ? AMS - Advanced Message Script - R4 [Update #2]
#===================================================
# For more infos and update, visit:
# www.dubealex.com (Creation Asylum)
#
# Edited, Fixed and Enhanced by: Dubealex
# Original Script Core by: XRXS Scripter (Jap Dudes)
# HTML Hexadecimal color feature from: Phylomorphis
#
# Special Thanks:
# Rabu: For enabling the Show Face feature in an encrypted project
#
# To found all my new features, search the following:  #NEW
# To configure the button to skip the dialog, search:  #SKIP_TEXT_CODE
#
# May 18, 2005
#===================================================

LETTER_BY_LETTER_MODE = true   #Set the letter by letter mode ON/OFF          

#===================================================
# ? CLASS AMS Begins
#===================================================
class AMS
 
attr_accessor :name_box_x_offset
attr_accessor :name_box_y_offset
attr_accessor :font_type
attr_accessor :name_font_type
attr_accessor :font_size
attr_accessor :name_font_size
attr_accessor :message_box_opacity
attr_accessor :name_box_skin
attr_accessor :name_box_text_color
attr_accessor :message_box_text_color
attr_accessor :message_box_skin
attr_accessor :name_box_width
attr_accessor :name_box_height
attr_accessor :message_width
attr_accessor :message_height
attr_accessor :message_x
attr_accessor :message_y_bottom
attr_accessor :message_y_middle
attr_accessor :message_y_top
attr_accessor :event_message_x_ofset
attr_accessor :event_message_y_ofset
 
def initialize
 
@name_box_x_offset = 0       #Choose the X axis offset of the name bos. default= 0
@name_box_y_offset = -10    #Choose the Y axis offset of the name bos. default= -10
@name_box_width = 8           #Choose the width of the Name Box. default= 8  
@name_box_height = 26        #Choose the height of the Name Box. default= 26
 
@font_type = "Monotype Corsiva"           #Choose the Font Name (Case Sensitive) for message box
@name_font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for Name Box
@font_size = 22                      #Choose the default Font Size for message box text
@name_font_size = 22            #Choose the deafault Font Size for Name Box text
@name_box_text_color=0        #Choose the Text Color of the Name Box
@message_box_text_color=0   #Choose the Text Color of the Message Box
 
@message_box_opacity = 160            #Choose the opacity of the message window. Default=160
@message_box_skin = "001-Blue01"   #Choose the WindowSkin for the Message Box
@name_box_skin = "001-Blue01"       #Choose the WindowSkin for the Name Box
 
@message_width = 480          #Choose the width size of the message box. Default=480
@message_height = 160         #Choose the height size of the message box. Default=160
@message_x = 80                  #Choose the X position of the message box. Default=80
@message_y_bottom = 304    #Choose the Y bottom position of the message box. Default=304
@message_y_middle = 160    #Choose the Y middle position of the message box. Default=160
@message_y_top = 16           #Choose the Y top position of the message box. Default=16
 
@event_message_x_ofset = 0   #Choose the X position offset of the event message. Default=0
@event_message_y_ofset = 48   #Choose the Y position offset of the event message. Default=48
 
end
end
#===================================================
# ? CLASS AMS Ends
#===================================================


#===================================================
# ? Class Window_Message Begins
#===================================================
class Window_Message < Window_Selectable    

alias xrxs9_initialize initialize

def initialize

@alex_skip = false

xrxs9_initialize

if $soundname_on_speak == nil then
 $soundname_on_speak = ""
end

$gaiji_file = "./Graphics/Gaiji/sample.png"

if FileTest.exist?($gaiji_file)
 @gaiji_cache = Bitmap.new($gaiji_file)
else
 @gaigi_cache = nil
end
@opacity_text_buf = Bitmap.new(32, 32)
end


#--------------------------------------------------------------------------

alias xrxs9_terminate_message terminate_message

def terminate_message
 
if @name_window_frame != nil
 @name_window_frame.dispose
 @name_window_frame = nil
end

if @name_window_text  != nil
 @name_window_text.dispose
 @name_window_text  = nil
end
xrxs9_terminate_message
end

#--------------------------------------------------------------------------

def refresh
 
self.contents.clear
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
self.windowskin = RPG::Cache.windowskin($ams.message_box_skin)
@x = @y = @max_x = @max_y = @indent = @lines = 0
@face_indent = 0
@opacity = 255
@cursor_width = 0
@write_speed = 0
@write_wait = 0
@mid_stop = false
@face_file = nil
@popchar = -2

if $game_temp.choice_start == 0
 @x = 8
end

if $game_temp.message_text != nil
 @now_text = $game_temp.message_text
 if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
    @face_file = $1 + ".png"
    @x = @face_indent = 128
   if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
     self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
   end
   @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
 end

 begin
 last_text = @now_text.clone
 @now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
 end until @now_text == last_text
 @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
   $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  end
 
 #NEW
 #Dubealex's Stop Skip Text ON-OFF
 @now_text.gsub!(/\\[%]/) { "\100" }
 #End new command
   
 #NEW
 #Dubealex's Show Monster Name Feature
  @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
  $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
  end
  #End new command
   
 #NEW
 #Dubealex's Show Item Price Feature
  @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
  $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
  end
  #End new command
   
 #NEW
 #Dubealex's Show Hero Class Name Feature
  @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
  $data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : ""
  end
  #End new command
   
 #NEW
 #Dubealex's Show Current Map Name Feature
  @now_text.gsub!(/\\[Mm]ap/) do
  $game_map.name    != nil ? $game_map.name    : ""
  end
  #End new command
   
 #NEW
 #Dubealex's Choose Name Box Text Color
  @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
  $ams.name_box_text_color=$1.to_i
  @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
  end
  #End new command
   
 name_window_set = false
 if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
   name_window_set = true
   name_text = $1
   @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
 end

 if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
   @popchar = $1.to_i
   if @popchar == -1
     @x = @indent = 48
     @y = 4
   end
   @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
 end

 @max_choice_x = 0
 if @popchar >= 0
   @text_save = @now_text.clone
   @max_x = 0
   @max_y = 4
   for i in 0..3
     line = @now_text.split(/\n/)[3-i]
     @max_y -= 1 if line == nil and @max_y <= 4-i
     next if line == nil
     line.gsub!(/\\\w\[(\w+)\]/) { "" }
     cx = contents.text_size(line).width
     @max_x = cx if cx > @max_x
     if i >= $game_temp.choice_start
       @max_choice_x = cx if cx > @max_choice_x
     end
   end
   self.width = @max_x + 32 + @face_indent
   self.height = (@max_y - 1) * 32 + 64
   @max_choice_x -= 68
   @max_choice_x -= @face_indent*216/128
 else
   @max_x = self.width - 32 - @face_indent
   for i in 0..3
     line = @now_text.split(/\n/)[i]
     next if line == nil
     line.gsub!(/\\\w\[(\w+)\]/) { "" }
     cx = contents.text_size(line).width
     if i >= $game_temp.choice_start
       @max_choice_x = cx if cx > @max_choice_x
     end
   end
   @max_choice_x += 8
 end
 @cursor_width = 0
 @now_text.gsub!(/\\\\/) { "\000" }
 @now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
 @now_text.gsub!(/\\[Gg]/) { "\002" }
 @now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
 @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
 
  #NEW
  #Dubealex's Permanent Color Change
  @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
    $ams.message_box_text_color= $1.to_i
   @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
    end
  #End of new command
   
  #NEW
  #Dubealex's Font Change Feature
   @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
    buftxt = $1.to_s
    $ams.font_type = buftxt
    @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
    end
  #End of new command
   
 @now_text.gsub!(/\\[.]/) { "\005" }
 @now_text.gsub!(/\\[|]/) { "\006" }
 @now_text.gsub!(/\\[>]/) { "\016" }
 @now_text.gsub!(/\\[<]/) { "\017" }
 @now_text.gsub!(/\\[!]/) { "\020" }
 @now_text.gsub!(/\\[~]/) { "\021" }
 @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
 @now_text.gsub!(/\\[Ii]/) { "\023" }
 @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
 @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
 @now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
 @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
 
 reset_window
 
 if name_window_set
   color=$ams.name_box_text_color
   off_x =  $ams.name_box_x_offset
   off_y =  $ams.name_box_y_offset
   space = 2
   x = self.x + off_x - space / 2
   y = self.y + off_y - space / 2
   w = self.contents.text_size(name_text).width + $ams.name_box_width + space
   h = $ams.name_box_height + space
   @name_window_frame = Window_Frame.new(x, y, w, h)
   @name_window_frame.z = self.z + 1
   x = self.x + off_x + 4
   y = self.y + off_y
   @name_window_text  = Air_Text.new(x, y, name_text, color)
   @name_window_text.z = self.z + 2
 end
end

reset_window

if $game_temp.choice_max > 0
 @item_max = $game_temp.choice_max
 self.active = true
 self.index = 0
end

if $game_temp.num_input_variable_id > 0
 digits_max = $game_temp.num_input_digits_max
 number = $game_variables[$game_temp.num_input_variable_id]
 @input_number_window = Window_InputNumber.new(digits_max)
 @input_number_window.number = number
 @input_number_window.x = self.x + 8
 @input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end

#--------------------------------------------------------------------------

def update
 
super

if @fade_in
 self.contents_opacity += 24
 if @input_number_window != nil
   @input_number_window.contents_opacity += 24
 end
 if self.contents_opacity == 255
   @fade_in = false
 end
 return
end
@now_text = nil if @now_text == ""

if @now_text != nil and @mid_stop == false
 if @write_wait > 0
   @write_wait -= 1
   return
 end
 text_not_skip = LETTER_BY_LETTER_MODE
 while true
   @max_x = @x if @max_x < @x
   @max_y = @y if @max_y < @y
   if (c = @now_text.slice!(/./m)) != nil
     if c == "\000"
       c = "\\"
     end
     
     if c == "\001"
       @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
       temp_color = $1
       color = temp_color.to_i
       leading_x = temp_color.to_s.slice!(/./m)
       if leading_x == "#"
         self.contents.font.color = hex_color(temp_color)
         next
       end
       if color >= 0 and color <= 7
         self.contents.font.color = text_color(color)
       end
       next
     end

     if c == "\002"
       if @gold_window == nil and @popchar <= 0
         @gold_window = Window_Gold.new
         @gold_window.x = 560 - @gold_window.width
         if $game_temp.in_battle
           @gold_window.y = 192
         else
           @gold_window.y = self.y >= 128 ? 32 : 384
         end
         @gold_window.opacity = self.opacity
         @gold_window.back_opacity = self.back_opacity
       end
       c = ""
     end

     if c == "\003"
       @now_text.sub!(/\[([0-9]+)\]/, "")
       speed = $1.to_i
       if speed >= 0 and speed <= 19
         @write_speed = speed
       end
       c = ""
     end

     if c == "\004"
       @now_text.sub!(/\[(.*?)\]/, "")
       buftxt = $1.dup.to_s
       if buftxt.match(/\//) == nil and buftxt != "" then
         $soundname_on_speak = "Audio/SE/" + buftxt
       else
         $soundname_on_speak = buftxt.dup
       end
       c = ""
     elsif c == "\004"
       c = ""
     end
     
     if c == "\005"
       @write_wait += 5
       c = ""
     end
     
     if c == "\006"
       @write_wait += 20
       c = ""
     end
     
     if c == "\016"
       text_not_skip = false
       c = ""
     end
     
     if c == "\017"
       text_not_skip = true
       c = ""
     end
     
     if c == "\020"
       @mid_stop = true
       c = ""
     end
     
     if c == "\021"
       terminate_message
       return
     end
     
     if c == "\023"
       @indent = @x
       c = ""
     end

     if c == "\024"
       @now_text.sub!(/\[([0-9]+)\]/, "")
       @opacity = $1.to_i
       color = self.contents.font.color
       self.contents.font.name = $ams.font_type
       self.contents.font.size = $ams.font_size
       self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
       c = ""
     end

     if c == "\025"
       @now_text.sub!(/\[([0-9]+)\]/, "")
       self.contents.font.size = [[$1.to_i, 6].max, 32].min
       c = ""
     end

     if c == "\026"
       @now_text.sub!(/\[([0-9]+)\]/, "")
       @x += $1.to_i
       c = ""
     end
     
     if c == "\027"
       @now_text.sub!(/\[(.*?)\]/, "")
       @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
       if $soundname_on_speak != ""
         Audio.se_play($soundname_on_speak)
       end
     c = ""
     end

     if c == "\030"
       @now_text.sub!(/\[(.*?)\]/, "")
       self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
       if $soundname_on_speak != ""
         Audio.se_play($soundname_on_speak)
       end
       @x += 24
       c = ""
     end

     if c == "\n"
       @lines += 1
       @y += 1
       @x = 0 + @indent + @face_indent
       if @lines >= $game_temp.choice_start
         @x = 8 + @indent + @face_indent
         @cursor_width = @max_choice_x
       end
       c = ""
     end
     
     if c == "\022"
       @now_text.sub!(/\[([0-9]+)\]/, "")
       @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
       c = ""
     end
     
     #NEW
     #Dubealex's Text Skip On/OFF Command
      if c == "\100"
         if @alex_skip==false
            @alex_skip=true
         else
           @alex_skip=false
         end
        c = ""
      end  
      #end of new command
                                   
     if c != ""
       self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
       @x += self.contents.text_size(c).width
       if $soundname_on_speak != "" then
         Audio.se_play($soundname_on_speak)
       end
     end
     
#SKIP_TEXT_CODE

# B = Escape, 0 (On The NumPad), X
# C = Enter, Space Bar and C
# A = Shift, Z

 if Input.press?(Input::C) # <-- Change the value on that line
   if @alex_skip==false      
   text_not_skip = false
   end
     end
   else
     text_not_skip = true
     break
   end
   
   if text_not_skip
     break
   end
 end
 @write_wait += @write_speed
 return
end

if @input_number_window != nil
 @input_number_window.update
 if Input.trigger?(Input::C)
   $game_system.se_play($data_system.decision_se)
   $game_variables[$game_temp.num_input_variable_id] =
     @input_number_window.number
   $game_map.need_refresh = true
   @input_number_window.dispose
   @input_number_window = nil
   terminate_message
 end
 return
end

if @contents_showing
 if $game_temp.choice_max == 0
   self.pause = true
 end
 
 if Input.trigger?(Input::B)
   if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
     $game_system.se_play($data_system.cancel_se)
     $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
     terminate_message
   end
 end
 
 if Input.trigger?(Input::C)
   if $game_temp.choice_max > 0
     $game_system.se_play($data_system.decision_se)
     $game_temp.choice_proc.call(self.index)
   end
   if @mid_stop
     @mid_stop = false
     return
   else
     terminate_message
   end
 end
 return
end

if @fade_out == false and $game_temp.message_text != nil
 @contents_showing = true
 $game_temp.message_window_showing = true
 refresh
 Graphics.frame_reset
 self.visible = true
 self.contents_opacity = 0
 if @input_number_window != nil
   @input_number_window.contents_opacity = 0
 end
 @fade_in = true
 return
end

if self.visible
 @fade_out = true
 self.opacity -= 48
 if self.opacity == 0
   self.visible = false
   @fade_out = false
   $game_temp.message_window_showing = false
 end
 return
end
end

#--------------------------------------------------------------------------

def get_character(parameter)

case parameter
when 0  
 return $game_player
else
 events = $game_map.events
 return events == nil ? nil : events[parameter]
end
end

#--------------------------------------------------------------------------

def reset_window

#MESSAGE_SIZE
#MESSAGE_POSITION

if @popchar >= 0
 events = $game_map.events
 if events != nil
   character = get_character(@popchar)
   x = [[character.screen_x -  $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min
   y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min
   self.x = x
   self.y = y
 end
elsif @popchar == -1
 self.x = -4
 self.y = -4
 self.width = 648
 self.height = 488
else
 if $game_temp.in_battle
   self.y = 16
 else
   case $game_system.message_position
   when 0  
     self.y = $ams.message_y_top
   when 1  
     self.y = $ams.message_y_middle
   when 2  
     self.y = $ams.message_y_bottom
   end
   self.x = $ams.message_x
   if @face_file == nil
     self.width = $ams.message_width
     self.x = $ams.message_x
   else
     if self.width <= 600
       self.width = 600
       self.x -=60
      end
   end
   self.height = $ams.message_height
 end
end
self.contents = Bitmap.new(self.width - 32, self.height - 32)
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
if @face_file != nil
 self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
end
if @popchar == -1
 self.opacity = 255
 self.back_opacity = 0
elsif $game_system.message_frame == 0
 self.opacity = 255
 self.back_opacity = $ams.message_box_opacity
else
 self.opacity = 0
 self.back_opacity = $ams.message_box_opacity
end
end

#--------------------------------------------------------------------------

def gaiji_draw(x, y, num)

if @gaiji_cache == nil
 return 0
else
 if @gaiji_cache.width < num * 24
   return 0
 end

 if self.contents.font.size >= 20 and self.contents.font.size <= 24
   size = 24
 else
   size = self.contents.font.size * 100 * 24 / 2200
 end

 self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))

 if $soundname_on_speak != "" then
   Audio.se_play($soundname_on_speak)
 end
 return size
end
end

#--------------------------------------------------------------------------

def line_height
return 32

if self.contents.font.size >= 20 and self.contents.font.size <= 24
 return 32
else
 return self.contents.font.size * 15 / 10
end
end

#--------------------------------------------------------------------------

def ruby_draw_text(target, x, y, str,opacity)

sizeback = target.font.size
target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
rubysize = [rubysize, 6].max
opacity = [[opacity, 0].max, 255].min
split_s = str.split(/,/)
split_s[0] == nil ? split_s[0] = "" : nil
split_s[1] == nil ? split_s[1] = "" : nil

height = sizeback + rubysize
width  = target.text_size(split_s[0]).width

target.font.size = rubysize
ruby_width = target.text_size(split_s[1]).width
target.font.size = sizeback

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

width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0

if opacity == 255
 target.font.size = rubysize
 target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
 target.font.size = sizeback
 target.draw_text(x, y, width, target.font.size, split_s[0])
 return width
else
 if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
   @opacity_text_buf.dispose
   @opacity_text_buf = Bitmap.new(buf_width, height)
 else
   @opacity_text_buf.clear
 end
 @opacity_text_buf.font.size = rubysize
 @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
 @opacity_text_buf.font.size = sizeback
 @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
 if sub_x >= 0
   target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
 else
   target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
 end
 return width
end
end

#--------------------------------------------------------------------------

def convart_value(option, index)
option == nil ? option = "" : nil
option.downcase!

case option
when "i"
 unless $data_items[index].name == nil
   r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
 end
when "w"
 unless $data_weapons[index].name == nil
   r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
 end
when "a"
 unless $data_armors[index].name == nil
   r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
 end
when "s"
 unless $data_skills[index].name == nil
   r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
 end
else
 r = $game_variables[index]
end

r == nil ? r = "" : nil
return r
end

#--------------------------------------------------------------------------

def dispose
terminate_message

if @gaiji_cache != nil
 unless @gaiji_cache.disposed?
   @gaiji_cache.dispose
 end
end

unless @opacity_text_buf.disposed?
 @opacity_text_buf.dispose
end

$game_temp.message_window_showing = false
if @input_number_window != nil
 @input_number_window.dispose
end
super
end

#--------------------------------------------------------------------------

def update_cursor_rect
if @index >= 0
 n = $game_temp.choice_start + @index
 self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
else
 self.cursor_rect.empty
end
end
end
#=========================================
# ? CLASS Window_Message Ends
#=========================================


#=========================================
# ? Class Window_Frame Begins
#=========================================
class Window_Frame < Window_Base

def initialize(x, y, width, height)
super(x, y, width, height)
self.windowskin = RPG::Cache.windowskin($ams.name_box_skin)
self.contents = nil
end

#--------------------------------------------------------------------------

def dispose
super
end
end
#=========================================
# ? CLASS Window_Frame Ends
#=========================================


#=========================================
# ? CLASS Game_Map Additional Code Begins
#=========================================
class Game_Map

#Dubealex's Addition (from XRXS) to show Map Name on screen
def name
$map_infos[@map_id]
end
end
#=========================================
# ? CLASS Game_Map Additional Code Ends
#=========================================


#=========================================
# ? CLASS Scene_Title Additional Code Begins
#=========================================
class Scene_Title

#Dubealex's Addition (from XRXS) to show Map Name on screen
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
  $map_infos[key] = $map_infos[key].name
end
 
#Dubealex's addition to save data from the AMS in the save files
$ams = AMS.new
 
end
#=========================================
# ? CLASS Scene_Title Additional Code Ends
#=========================================


#=========================================
# ? CLASS Window_Base Additional Code Begins
#=========================================
class Window_Base < Window

#Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors
def hex_color(string)
 red = 0
 green = 0
 blue = 0
 if string.size != 6
   print("Hex strings must be six characters long.")
   print("White text will be used.")
   return Color.new(255, 255, 255, 255)
 end
 for i in 1..6
   s = string.slice!(/./m)
   if s == "#"
     print("Hex color string may not contain the \"#\" character.")
     print("White text will be used.")
     return Color.new(255, 255, 255, 255)
   end
   value = hex_convert(s)
   if value == -1
     print("Error converting hex value.")
     print("White text will be used.")
     return Color.new(255, 255, 255, 255)
   end
   case i
   when 1
     red += value * 16
   when 2
     red += value
   when 3
     green += value * 16
   when 4
     green += value
   when 5
     blue += value * 16
   when 6
     blue += value
   end
 end
 return Color.new(red, green, blue, 255)
end

#--------------------------------------------------------------------------

def hex_convert(character)
 case character
  when "0"
    return 0
 when "1"
    return 1
 when "2"
    return 2
 when "3"
    return 3
 when "4"
    return 4
 when "5"
    return 5
 when "6"
    return 6
 when "7"
    return 7
 when "8"
    return 8
 when "9"
    return 9
 when "A"
    return 10
 when "B"
    return 11
 when "C"
    return 12
 when "D"
    return 13
 when "E"
    return 14
 when "F"
    return 15
  end
 return -1
end
end
#=========================================
# ? CLASS Window_Base Additional Code Ends
#=========================================


#=========================================
# ? Class Air_Text Begins
#=========================================
class Air_Text < Window_Base

def initialize(x, y, designate_text, color=0)
 
super(x-16, y-16, 32 + designate_text.size * 12, 56)
self.opacity      = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end

#--------------------------------------------------------------------------

def dispose
self.contents.clear
super
end
end
#==========================================
# ? CLASS Air_Text  Ends
#==========================================


#===================================================
# ? CLASS Scene_Save Additional Code Begins
#===================================================
class Scene_Save < Scene_File
 
alias ams_original_write_save_data write_save_data
 
def write_save_data(file)
  ams_original_write_save_data(file)
  Marshal.dump($ams, file)
end
 
end
#===================================================
# ? CLASS Scene_Save Additional Code Ends
#===================================================


#===================================================
# ? CLASS Scene_Load Additional Code Begins
#===================================================
class Scene_Load < Scene_File
 
alias ams_original_read_save_data read_save_data
 
def read_save_data(file)
  ams_original_read_save_data(file)
  $ams      = Marshal.load(file)
end
 
end
#===================================================
# ? CLASS Scene_Load Additional Code Ends
#===================================================


The reason I didn't use your one, was because I didn't have the courage to download it.
I'm afraid of virus, and those upload sites seems a little... riscy...

But enough of that:
Thanks for helping me!
Hope you can find the problem.
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

doggen

Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Season In The Abyss

Sorry for make you wait  :whoa:

#=========================================
# â–¼ Class Air_Text Begins
#=========================================
class Air_Text < Window_Base

def initialize(x, y, designate_text, color=0)
# added by Slipknot  
dumb = Bitmap.new 128, 32
width dumb.contents.text_size(designate_text).width

super(x-16, y-16, 32 + width, 56)
# end
self.opacity      = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end

#--------------------------------------------------------------------------

def dispose
self.contents.clear
super
end
end
#==========================================
# â–² CLASS Air_Text  Ends
#==========================================

doggen

Ha ha, No problem!

Better late then never (or how you say it...)

Anyway, THANK YOU SOOO MUCH!!!!!! :D  :D

Btw, am I supposed to switch this thing you gave me with the already existing thingie?

And thanks again!

EDIT: Crap :(
When I tested it I got this error:

?????'AMS'?1016???NoMethodError ????????

undefined method 'contents' for #<Bitmap:0x47eed80>

Do you have any idea of what the problem could be?
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Dalton

Quote from: Season In The AbyssIn my AMS i fix that.
Is easy but you need post the script.

Actually that is untrue, I put up the font size one notch with your AMS and I had that problem.

Season In The Abyss

Try now.

#=========================================
# ? Class Air_Text Begins
#=========================================
class Air_Text < Window_Base

def initialize(x, y, designate_text, color=0)
# added by Slipknot  
dumb = Bitmap.new 128, 32

dumb.contents.font.name = $ams.name_font_type
dumb.contents.font.size = $ams.name_font_size

width = dumb.contents.text_size(designate_text).width

super(x-16, y-16, 32 + width, 56)
# end
self.opacity      = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end

#--------------------------------------------------------------------------

def dispose
self.contents.clear
super
end
end
#==========================================
# ? CLASS Air_Text  Ends
#==========================================

dwarra

I say just use the slipknot one, i think its much better  :|

doggen

... :(

It didn't work...
I got this error:

?????'AMS'? 1017 ??? NoMethodError ????????

undefined method 'contents' for #<Bitmap:0x476e240>

Well, thanks for trying anyway.

But, if you don't want to fix around with this script, you could perhaps
just give me the instructions for your script, and then I could use that.
'Cause that's the reason I'm not using your script:
I don't have the instructions.
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Season In The Abyss

If that don't work you, is because you have modied the Bitmap class.

doggen

Ummm...
I'm really no scripter... :(
So...what does that mean? :)

EDIT: I have finally downloaded your demo(  :D  ), but when I had
put in the script I got this error:

????? 'AMS' ? 436 ??? TypeError ????????

no implict conversion from nil to integer

Can you please help me again? :^^:
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Zeriab

The error message means:
There's no method called 'contents' in the Bitmap class.

I think would be wierd if you have changed the Bitmap class as I thought it was a protected class (ie. you can't change it).

Anyway I removed contents in dumb.contents.something as the contents method is generally used in the Window class but not in the Bitmap class (correct me if I am wrong)

So, try this:
#=========================================
# â–¼ Class Air_Text Begins
#=========================================
class Air_Text < Window_Base

def initialize(x, y, designate_text, color=0)
# added by Slipknot  
dumb = Bitmap.new 128, 32

dumb.font.name = $ams.name_font_type
dumb.font.size = $ams.name_font_size

width = dumb.text_size(designate_text).width

super(x-16, y-16, 32 + width, 56)
# end
self.opacity      = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end

#--------------------------------------------------------------------------

def dispose
self.contents.clear
super
end
end
#==========================================
# â–² CLASS Air_Text  Ends
#==========================================

doggen

Thanks. :)

The script-editing-thingie you gave worked without an error occuring,
BUT, the main problem was still there... :cry:  
You know, the outline thingie...

But of course, thanks anyway!
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Zeriab

I know about the outline thingie. It immediately look big and scary...
Nevertheless try fiddling around with the line:
width = dumb.text_size(designate_text).width

try adding a number like this:
width = dumb.text_size(designate_text).width + 7

I really doubt that + 7 would work, but try different values.
It's most like not the best solution, but try it anyways.
I can think of nothing else right, I'm tired so I'll take a nap. (Just look at all the shortenings I'm using right now)

doggen

Alright I will! :D

Thank you so much!

EDIT: I tried it, but nothing happened... :cry:

Thanks anyway though!
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

LinkaN

Emm why dont you drop dubealexs and use the Slipknots?

doggen

Ehrm...
Because, as I mentioned before, it didn't work. :(
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Season In The Abyss

Yes, I do something stupid, I was calling Bitmap.Bitmap.  :whoa:

doggen

Al-right...

So what does that mean...? :oops:
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...

Zeriab

You could say that SITA tried to call not a picture, but the a picture in another picture.
The effect of this is just the game crashing.

doggen

Oh, I think I understand.

But how do I (or someone else for that matter :^^: )
fix it?

Thanks in advance.
Going on a vacation...(To FLORIDA!!!)
Will be away the three closest weeks...