The RPG Maker Resource Kit

RMRK RPG Maker Creation => XP => XP Scripts Database => Topic started by: Season In The Abyss on September 09, 2006, 09:02:51 PM

Title: Letter by Letter Message Window
Post by: Season In The Abyss on September 09, 2006, 09:02:51 PM
Letter by Letter Message Window
Version: 1.11

Last Update

September 8, 2006

Introduction

This script introduce many new features to the RMXP's message window.

Version History

Version 1.11 (08/09/06)Version 1.1 (16/08/06)Demo

http://www.uploadpower.com/en/download.php?id=D5FD4ABA1 (http://www.uploadpower.com/en/download.php?id=D5FD4ABA1)
http://www.fileul.com/view.php?file=KqdJbz

FeaturesScript

Code: [Select]
#==============================================================================
# ** Letter by Letter Message Window
#------------------------------------------------------------------------------
# Slipknot (dubealex.com/asylum)
# Version 1.11
# September 8, 2006
#------------------------------------------------------------------------------
# Thanks to:
#  - Dubealex, for some of the features.
#  - RPG Advocate, for the hexadecimal color.
#==============================================================================

#------------------------------------------------------------------------------
# SDK log
#------------------------------------------------------------------------------
SDK.log('Letter by Letter Message Window', 'Slipknot', '1.11', '08.09.06')

#------------------------------------------------------------------------------
# Begin SDK Enabled Check
#------------------------------------------------------------------------------
if SDK.state('Letter by Letter Message Window')

# Loads the maps' names
$data_map_infos = load_data('Data/MapInfos.rxdata')

#==============================================================================
# ** Game_Message
#------------------------------------------------------------------------------
#  This class handles the message data
#==============================================================================

class Game_Message
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :letter_by_letter, :speed, :can_skip, :height, :font,
:sound_enable, :sound, :path, :face_rect, :fit, :skin, :nb_skin,
:nbyo, :opacity, :shadow, :outline, :pause, :autoclose_frames
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
# Letter by letter mode
@letter_by_letter = true
# Lettter by letter mode's speed
@speed = 3
# If this option is false, the player can't skip the message
@can_skip = true
# Height of each line, used within the fit or above event options
@height = 32
# Always resize the message
@fit = false
# Font for the mesage text
@font = Font.default_name
# Sound enable
@sound_enable = false
# Sound for letter by letter, ['filename', vol]
@sound = ['032-Switch01', 80]
# Folder for the message pictures
@path = 'Graphics/Pictures/'
# Face rect (only the last two numbers are used)
@face_rect = Rect.new(0, 0, 96, 96)
# Skin for the message window, nil = default
@skin = nil
# Skin for the name box, nil = default
@nb_skin = nil
# Name box y offset
@nbyo = 20
# Message window's opacity
@opacity = 160
# Outline text
@outline = false
# Shadow text
@shadow = false
# Show or not the pause graphic
@pause = true
# Frames before the message autoclose
@autoclose_frames = 8
  end
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  Adds Game Message
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :message
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias slipknot_lblms_initialize initialize
  #--------------------------------------------------------------------------
  # * Load Database
  #--------------------------------------------------------------------------
  def initialize
slipknot_lblms_initialize
@message = Game_Message.new
  end
end

#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  Adds a reader to the Event Name
#==============================================================================

class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # * Name
  #--------------------------------------------------------------------------
  def name
@event.name
  end
end

#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
#  Adds a reader to the Character Sprites
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :character_sprites
end

#==============================================================================
# ** Window_Message
#------------------------------------------------------------------------------
#  Rewrites Window_Message
#==============================================================================

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias slipknot_lblms_initialize initialize
  alias slipknot_lblms_terminatemessage terminate_message
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  def initialize
slipknot_lblms_initialize
@autoclose = -1
  end
  #--------------------------------------------------------------------------
  # * Terminate Message
  #--------------------------------------------------------------------------
  def terminate_message
slipknot_lblms_terminatemessage
[@name_box, @picture].each do |x|
  x.dispose if x && ! x.disposed?
end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
self.opacity = $game_system.message_frame == 0 ? 255 : 0
self.back_opacity = system.opacity
unless system.fit
  self.width, self.height = 480, 160
  skin = system.skin ? system.skin : $game_system.windowskin_name
  self.windowskin = RPG::Cache.windowskin(skin)
  self.contents = Bitmap.new(448, 128)
else
  contents.clear
  contents.font.color = normal_color
  contents.font.size = Font.default_size
end
contents.font.name = system.font
@x = @y = @wait_count = indent = 0
@fit_size, @sound = false, system.sound_enable
@start_x = 4
@cursor_width = [0, 0, 0, 0]
@x = 8 if $game_temp.choice_start == 0
return if ! (@text = $game_temp.message_text)
@text.gsub!(/\\\\/) { "\000" }
@text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
@text.gsub!('\$') { $game_party.gold.to_s }
@text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  $game_actors[$1.to_i] ? $game_actors[$1.to_i].name : ''
end
@text.gsub!(/\\[Nn][Pp]\[([\d+])\]/) do
  $game_party.actors[$1.to_i] ? $game_party.actors[$1.to_i].name : ''
end
@text.gsub!(/\\[Cc]lass\[(\d+)\]/) do
  $game_actors[$1.to_i] ? $game_actors[$1.to_i].class_name : ''
end
@text.gsub!(/\\[Mm]ap/) { $data_map_infos[$game_map.map_id].name }
gold_set = @text.gsub!(/\\[Gg]/, '')
if @text[/\\[Nn]ame/]
  if @text.sub!(/\\[Nn]ame\[(.*?)\]/, '')
name_text = $1
  elsif @text.sub!(/\\[Nn]ame/, '')
name_text = $game_map.events[$game_system.map_interpreter.event_id].name
  end
end
if @text[/\\[Ff]ace/]
  # Left
  if @text.sub!(/\\[Ff]ace{(.+?)}/, '')
face, face_name = 1, $1
  # Right
  elsif @text.sub!(/\\[Ff]ace\[(.+?)\]/, '')
face, face_name = 2, $1
  end
end
picture = $1 if @text.sub!(/\\[Pp]ic\[(.+?)\]/, '')
if @text[/\\[Pp]/]
  if @text.sub!(/\\[Pp]\[([-1,0-9]+)\]/, '')
event = $1.to_i
  elsif @text.gsub!(/\\[Pp]/, '')
event = $game_system.map_interpreter.event_id
  end
end
@text.gsub!('\$') { $game_party.gold.to_s }
@text.gsub!(/\\[Cc]\[([0-9A-Fa-f #]+?)\]/) { "\001[#$1]" }
@text.gsub!(/\\[Cc]/) { "\001[0]" }
@text.gsub!(/\\[Ii]con{([IiWwAaSs])}\[(\d+)\]/) { change_icon($1, $2.to_i) }
@text.gsub!(/\\[Ii]con\[(.*?)\]/) { "\002[#$1]" }
@text.gsub!('\!') { "\003" }
@text.gsub!('\.') { "\004" }
@text.gsub!(/\\[Ss]\[([Xx\d]+)\]/) { "\005[#$1]" }
@text.gsub!(/\\[Bb]/) { "\006" }
@text.gsub!(/\\[Ii]/) { "\007" }
@text.gsub!(/\\[Ff]\[(.*?)\]/) { "\010[#$1]" }
@text.gsub!(/\\\%\[(\d+)\]/) { "\011[#$1]" }
@text.gsub!('\%') { "\011" }
if @fit_size = (event || system.fit)
  lines_size = [0, 0, 0, 0]
  save, lines = @text.clone, 0
  while (c = @text.slice!(/./m))
if c == "\n"
  lines += 1
  break if lines == 4
  if lines >= $game_temp.choice_start
lines_size[lines] += 16
  end
  next
end
lines_size[lines] += eval_text(c, true)
  end
end
if face
  if @fit_size
mh = system.height
fh = system.face_rect.height
lines = (fh.to_f / mh.to_f).ceil if (lines * mh) < fh
f_x = face == 2 ? 0 : lines_size.max + 16
f_y = (lines * mh) <= fh ? 0 : (lines * mh - fh) / 2
@start_x += system.face_rect.width + 4 if face == 2
indent += system.face_rect.width + 8
  else
f_x, f_y = face == 2 ? 16 : 336, 16
@start_x += system.face_rect.width + 36 if face == 2
  end
  f_bitmap = RPG::Cache.load_bitmap(system.path, face_name)
end
if @fit_size
  @text = save
  self.height = lines * system.height + 32
  self.height += 32 if $game_temp.num_input_variable_id > 0
  self.width = lines_size.max + indent + 40
  windowskin = system.skin ? system.skin : $game_system.windowskin_name
  self.windowskin = RPG::Cache.windowskin(windowskin)
  self.contents = Bitmap.new(self.width - 32, self.height - 32)
  contents.font.name = system.font
end
contents.blt(f_x, f_y, f_bitmap, system.face_rect) if face
if ! event
  h2 = self.height / 2
  self.y = $game_temp.in_battle ? 96 - h2 + system.nbyo :
case $game_system.message_position
when 0 then 96 - h2 + system.nbyo
when 1 then 240 - h2
when 2 then 384 - h2
end
  self.x = 320 - self.width / 2
else
  c = event > 0 ? $game_map.events[event] : $game_player
  mx, my = 636 - self.width, 476 - self.height
  fx = [[c.screen_x - self.width / 2, 4].max, mx].min
  sy = name_text ? system.nbyo + 4 : 4
  ch = [$scene.spriteset.character_sprites[event - 1].bitmap.height /
4 + 4, 48].max
  fy = [[c.screen_y - (ch + self.height), sy].max, my].min
  self.x, self.y = fx, fy
end
if name_text
  @name_box = Window_NameBox.new(x, y - system.nbyo, name_text)
  @name_box.back.opacity = 0 if $game_system.message_frame == 1
end
if picture
  @picture = Sprite.new
  @picture.bitmap = RPG::Cache.load_bitmap(system.path, picture)
  @picture.x = self.x + self.width - @picture.bitmap.width
  @picture.y = self.y - @picture.bitmap.height
end
if gold_set
  @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
  end
  #--------------------------------------------------------------------------
  # * Evaluate Text
  #--------------------------------------------------------------------------
  def eval_text(c, read = false)
case c
when "\000"
  c = '\\'
when "\001"
  @text.sub!(/\[(.*?)\]/, '')
  return 0 if read
  h, c = $1, $1.to_i
  contents.font.color = h.slice!(/./) == '#' ? hex_color(h) : text_color(c)
  return
when "\002"
  @text.sub!(/\[(.*?)\]/, '')
  return 24 if read
  y = @fit_size ? system.height * @y + (system.height - 24) / 2 : 32 * @y + 4
  contents.blt(@x + @start_x, y, RPG::Cache.icon($1.to_s), Rect.new(0, 0, 24, 24))
  @x += 24
  return unless @y >= $game_temp.choice_start
  @cursor_width[@y] += 24
  return
when "\003"
  return 0 if read
  @stop = true
  return
when "\004"
  return 0 if read
  @wait_count += 10
  return
when "\005"
  @text.sub!(/\[([x\d]+)\]/, '')
  if $1.downcase == 'x'
contents.font.size = Font.default_size
  else
contents.font.size = [[$1.to_i, 6].max, system.height].min
  end
  return 0
when "\006"
  contents.font.bold = (! contents.font.bold)
  return 0
when "\007"
  contents.font.italic = (! contents.font.italic)
  return 0
when "\010"
  @text.sub!(/\[(.*?)\]/, '')
  if $1.downcase == 'x'
contents.font.name = system.font
  else
contents.font.name = [$1.to_s, system.font]
  end
  return 0
when "\011"
  @text.sub!(/\[(\d+)\]/, '')
  return 0 if read
  @autoclose = $1 ? $1.to_i : system.autoclose_frames
  return
when "\n"
  @y += 1
  @x = 0
  @x = 8 if @y >= $game_temp.choice_start
  return
end
w = contents.text_size(c).width
return w if read
y = @fit_size ? system.height * @y : 32 * @y
if system.outline
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 255)
  contents.draw_text(@x + @start_x + 1, y, w * 2, system.height, c)
  contents.draw_text(@x + @start_x, y + 1, w * 2, system.height, c)
  contents.draw_text(@x + @start_x - 1, y, w * 2, system.height, c)
  contents.draw_text(@x + @start_x, y - 1, w * 2, system.height, c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
elsif system.shadow
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 192)
  contents.draw_text(@x + @start_x + 2, y + 2, w * 2, system.height, c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
else
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
end
@sound = (system.sound_enable && c != ' ')
@x += w
return if @y < $game_temp.choice_start || @y > 3
@cursor_width[@y] += w
  end
  #--------------------------------------------------------------------------
  # * Finish
  #--------------------------------------------------------------------------
  def finish
if temp.choice_max > 0
  @item_max, self.active, self.index = temp.choice_max, true, 0
end
if temp.num_input_variable_id > 0
  digits_max = temp.num_input_digits_max
  number = $game_variables[temp.num_input_variable_id]
  @input_number_window = Window_InputNumber.new(digits_max)
  input_number.number = number
  input_number.x = x + 8
  input_number.y = y + temp.num_input_start * (@fit_size ? system.height : 32)
end
  end
  #--------------------------------------------------------------------------
  # * Database Icon
  #--------------------------------------------------------------------------
  def change_icon(option, index)
s = case option.downcase
  when 'i'  then $data_items[index]
  when 'w' then $data_weapons[index]
  when 'a'  then $data_armors[index]
  when 's'  then $data_skills[index]
  end
return sprintf("\002[%s]%s", s.icon_name, s.name) if s.name
  end
  #--------------------------------------------------------------------------
  # * Hexadecimal Color
  #--------------------------------------------------------------------------
  def hex_color(string)
return normal_color if string.size != 6
r = g = b = 0
5.times do |i|
  s = string.slice!(/./m)
  v = hex_convert(s.downcase)
  case i
  when 0 then r += v * 16
  when 1 then r += v
  when 2 then g += v * 16
  when 3 then g += v
  when 4 then b += v * 16
  when 5 then b += v
  end
end
return Color.new(r, g, b)
  end
  #--------------------------------------------------------------------------
  def hex_convert(c)
return c.to_i if c[/[0-9]/]
case c
when 'a' then 10
when 'b' then 11
when 'c' then 12
when 'd' then 13
when 'e' then 14
when 'f' then 15
end
  end
  #--------------------------------------------------------------------------
  # * Game Message
  #--------------------------------------------------------------------------
  def system() $game_system.message end
  #--------------------------------------------------------------------------
  # * Game Temp
  #--------------------------------------------------------------------------
  def temp() $game_temp end
  #--------------------------------------------------------------------------
  # * Input Number Window
  #--------------------------------------------------------------------------
  def input_number() @input_number_window end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
if @contents_showing
  super
  if @fade_in
self.contents_opacity += 24
if input_number
  input_number.contents_opacity += 24
end
@fade_in = contents_opacity != 255
return
  end
  if @text
if Input.trigger?(13)
  if @stop
self.pause = @stop = false
return
  end
  @skip = system.can_skip
end
return if @stop
if @wait_count > 0 && ! @skip
  @wait_count -= 1
  return
end
loop do
  if (c = @text.slice!(/./m))
eval_text(c)
if @stop
  self.pause = system.pause
  return
end
if ! @skip && @sound
  Audio.se_play('Audio/SE/' + system.sound[0], system.sound[1])
  @sound = false
end
@wait_count += system.speed
  else
@text = nil
break
  end
  break if ! @skip
end
return if @text || @autoclose != -1
finish
return
  else
if @autoclose > 0
  @autoclose -= 1
  return
elsif @autoclose == 0
  terminate_message
  @autoclose = -1
  return
end
  end
end
if input_number
  input_number.update
  if Input.trigger?(13)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] = input_number.number
$game_map.need_refresh = true
input_number.dispose
@input_number_window = nil
terminate_message
  end
  return
end
if @contents_showing
  self.pause = ($game_temp.choice_max == 0) & system.pause
  if Input.trigger?(12)
if $game_temp.choice_max > 0 && $game_temp.choice_cancel_type > 0
  $game_system.se_play($data_system.cancel_se)
  $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
  terminate_message
end
  end
  if Input.trigger?(13)
if $game_temp.choice_max > 0
  $game_system.se_play($data_system.decision_se)
  $game_temp.choice_proc.call(self.index)
end
terminate_message
  end
  return
end
if ! @fade_out && $game_temp.message_text
  @contents_showing = temp.message_window_showing = true
  @stop = false
  @autoclose = -1
  @skip = (! system.letter_by_letter)
  reset_window
  refresh
  @wait_count, self.visible = 0, true
  return
end
return if ! visible
@fade_out = true
self.opacity -= 48
if self.opacity == 0
  self.visible = @fade_out = false
  $game_temp.message_window_showing = false
end
  end
  #--------------------------------------------------------------------------
  # * Updates Cursor Rectangle
  #--------------------------------------------------------------------------
  def update_cursor_rect
if index >= 0
  n = $game_temp.choice_start + @index
  y = (@fit_size ? system.height : 32) * n
  cursor_rect.set(4 + @start_x, y, @cursor_width.max + 8,
@fit_size ? system.height : 32)
else
  cursor_rect.empty
end
  end
end

#==============================================================================
# ** Window_NameBox
#------------------------------------------------------------------------------
#  This window is used to display the box above the message.
#==============================================================================

class Window_NameBox < Sprite
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :back
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(x, y, text)
dumb = Bitmap.new(160, 42)
dumb.font.name = system.font
size = dumb.text_size(text).width
dumb.dispose
@back = Window_Base.new(x, y, size + 12, 32)
skin = system.nb_skin ? system.nb_skin : $game_system.windowskin_name
@back.windowskin = RPG::Cache.windowskin(skin)
viewport = Viewport.new(x + 6, y + 5, size, 22)
@back.z = viewport.z = 9999
super(viewport)
self.bitmap = Bitmap.new(size, 22)
bitmap.font.name = system.font
bitmap.draw_text(0, 0, size, 22, text)
  end
  #--------------------------------------------------------------------------
  # * Game Message
  #--------------------------------------------------------------------------
  def system() $game_system.message end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
@back.dispose
@back = nil
super
  end
end

#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
#  Adds a reader to the Event ID and Game Message
#==============================================================================

class Interpreter
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :event_id
  #--------------------------------------------------------------------------
  # * Game Message
  #--------------------------------------------------------------------------
  def message
$game_system.message
  end
end

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  Adds a reader to the Spriteset
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :spriteset
end

#------------------------------------------------------------------------------
# End SDK Enabled Test
#------------------------------------------------------------------------------
end

Instructions

You need paste the code before Main, but below SDK.
Every command is explained in the demo.

To remove the SDK dependency, delete these lines:
Code: [Select]
#------------------------------------------------------------------------------
# SDK log
#------------------------------------------------------------------------------
SDK.log('Letter by Letter Message Window', 'Slipknot', '?.?', '??.??.??')

#------------------------------------------------------------------------------
# Begin SDK Enabled Check
#------------------------------------------------------------------------------
if SDK.state('Letter by Letter Message Window')
Code: [Select]
#------------------------------------------------------------------------------
# End SDK Enabled Test
#------------------------------------------------------------------------------
end

Compatibility

This script couldn't work with other message window script.

F.A.Q.

Q: The text doesn't show, how I make it appear?
A: Paste this above Main: Font.default_name = 'Tahoma'

Q: How I can use the name box?
A: With \Name[text], this is explained in the demo.

Author's Notes

Enjoy it, credit me and report any bug.
Title: Re: Letter by Letter Message Window
Post by: Sh4kk4 on September 25, 2006, 11:12:51 AM
Really cool script. Tested it and worked fine.

This may be a dumb question 'cause I'm not much of a professional when it comes to scripting, but I coudn't change the color in the namebox.
So am I doing something wrong or can this be done at all? :P
Title: Re: Letter by Letter Message Window
Post by: Bloods the Hedgehog on September 25, 2006, 11:28:43 AM
Very nice! This is a very excellent script, works fine, no errors. Thanks Slipknot!
Title: Re: Letter by Letter Message Window
Post by: Pixie on September 30, 2006, 12:41:12 AM
What do I need to do if I want all the messages to show up just a size or two smaller than the size it originally shows up in? It says how to do it with each individual message on the demo, but I don't want to have to enter that in for every message.

I sorta looked through it, but didn't want to change anything because I'm really not good with these scripts at all.
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on December 05, 2006, 06:18:33 PM
Sh4kk4: you can't

Pixie: If you mean the font size, add this in the method "refresh" below any "self.contents = ...":
self.contents.font.size = your_size
Title: Re: Letter by Letter Message Window
Post by: Pixie on December 10, 2006, 08:33:01 PM
Thanks a lot. :D
Title: Re: Letter by Letter Message Window
Post by: jblair on January 17, 2007, 03:42:47 PM
AWESOME SCRIPT! I'm definitely gonna use this one. One question though, how to turn of the letter by letter? I just wish i was this awesome.
Title: Re: Letter by Letter Message Window
Post by: Ravenshade on January 17, 2007, 04:56:02 PM
put it at "0" I presume in the script.

Time for questions.

Q1: Do I add the things into the script or into the event, like faces or name boxes. I'm a little confused about that.
Q2: Did you know that in the demo, you cannot go back downstairs? Minor Event bug there
Q3: Could you PM the answers to me please

Title: Re: Letter by Letter Message Window
Post by: nevfx on January 17, 2007, 04:57:41 PM
I have a question:

Can you have a different font? Or does it have to be Tohama? You don't have to PM me with the answer, unless you want to.
Title: Re: Letter by Letter Message Window
Post by: jblair on January 17, 2007, 05:22:10 PM
put it at "0" I presume in the script.

Time for questions.

Q1: Do I add the things into the script or into the event, like faces or name boxes. I'm a little confused about that.
Q2: Did you know that in the demo, you cannot go back downstairs? Minor Event bug there
Q3: Could you PM the answers to me please


For question 1, it foes into the message event, not into the script.  so if you want the box to say the name of hero 1 you would type
Code: [Select]
\name[\n[001]]and then this is the message
thats how i did it and it worked!
Title: Re: Letter by Letter Message Window
Post by: Ravenshade on January 17, 2007, 06:22:38 PM
I have a question:

Can you have a different font? Or does it have to be Tohama? You don't have to PM me with the answer, unless you want to.

Nope you can put any you want as long as it's in the game folders...
Title: Re: Letter by Letter Message Window
Post by: Ravenshade on January 17, 2007, 07:34:00 PM
put it at "0" I presume in the script.

Time for questions.

Q1: Do I add the things into the script or into the event, like faces or name boxes. I'm a little confused about that.
Q2: Did you know that in the demo, you cannot go back downstairs? Minor Event bug there
Q3: Could you PM the answers to me please


For question 1, it foes into the message event, not into the script.  so if you want the box to say the name of hero 1 you would type
Code: [Select]
\name[\n[001]]and then this is the message
thats how i did it and it worked!

Code: [Select]
\name[namegoeshere]"Text"

That worked for me
Title: Re: Letter by Letter Message Window
Post by: gotix on January 17, 2007, 07:37:16 PM
I keep getting this error message-

Quote
????? 'message system' ? 562 ??? NoMethodError ??????????

please help
Title: Re: Letter by Letter Message Window
Post by: jblair on January 17, 2007, 07:47:31 PM
put it at "0" I presume in the script.

Time for questions.

Q1: Do I add the things into the script or into the event, like faces or name boxes. I'm a little confused about that.
Q2: Did you know that in the demo, you cannot go back downstairs? Minor Event bug there
Q3: Could you PM the answers to me please


For question 1, it foes into the message event, not into the script.  so if you want the box to say the name of hero 1 you would type
Code: [Select]
\name[\n[001]]and then this is the message
thats how i did it and it worked!

Code: [Select]
\name[namegoeshere]"Text"

That worked for me
ya for the "name goes here" i let my player choose the names of the characters, so the \n[001] spits out the name of the character in slot 1 of the database
Title: Re: Letter by Letter Message Window
Post by: gotix on January 17, 2007, 07:50:04 PM
I keep getting this error message-

Quote
????? 'message system' ? 562 ??? NoMethodError ??????????

please help

...anybody? please?
Title: Re: Letter by Letter Message Window
Post by: Ravenshade on January 17, 2007, 07:56:50 PM
no idea, you might wanna ask Bliz...
Title: Re: Letter by Letter Message Window
Post by: nevfx on January 17, 2007, 07:59:42 PM
put it at "0" I presume in the script.

Time for questions.

Q1: Do I add the things into the script or into the event, like faces or name boxes. I'm a little confused about that.
Q2: Did you know that in the demo, you cannot go back downstairs? Minor Event bug there
Q3: Could you PM the answers to me please


For question 1, it foes into the message event, not into the script.  so if you want the box to say the name of hero 1 you would type
Code: [Select]
\name[\n[001]]and then this is the message
thats how i did it and it worked!

Code: [Select]
\name[namegoeshere]"Text"

That worked for me
ya for the "name goes here" i let my player choose the names of the characters, so the \n[001] spits out the name of the character in slot 1 of the database

Really? I never knew that! I'll use that.

@gotix: I dont know anything about that.
Title: Re: Letter by Letter Message Window
Post by: gotix on January 17, 2007, 08:02:05 PM
Quote
@gotix: I dont know anything about that.

... :'(
Title: Re: Letter by Letter Message Window
Post by: jblair on January 17, 2007, 08:07:21 PM


Really? I never knew that! I'll use that.


really, i read it in help file!
Title: Re: Letter by Letter Message Window
Post by: Ravenshade on January 20, 2007, 03:56:20 AM
I think this should be transferred to the database.
Title: Re: Letter by Letter Message Window
Post by: jblair on January 21, 2007, 12:25:59 AM
I think this should be transferred to the database.
i concur
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 06:08:26 PM
Ive been having some problems with the script. For one:

Quote
?????'AMS'? 160 ??? NoMethodError ????????

undifined method 'fit' for nil:NilClass

Line 160 and the stuff after it that I assume effects it are here -

Code: [Select]
unless system.fit
  self.width, self.height = 480, 160
  skin = system.skin ? system.skin : $game_system.windowskin_name
  self.windowskin = RPG::Cache.windowskin(skin)
  self.contents = Bitmap.new(448, 128)
else
  contents.clear
  contents.font.color = normal_color
  contents.font.size = Font.default_size
end

If anyone can help with this problem please reply here! Also, It was working fine yesterday now whenever I talk to people while testing the game this happens. (You can even see it work on my demo lol)

EDIT: Ok, I test played my demo from the beginning and the only bit that has a problem are the events in the latest maps. Also, I cut the bit causing the problem to see if that would fix it and then it told my the 'font' part that comes after that is wrong aswell. I have found alot of errors in this script but most of them I have been able to fix. I'll paste the original problem back in now.
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 06:16:39 PM
Try changing

Code: [Select]
unless system.fit

into

Code: [Select]
unless system == nil or system.fit
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 06:20:30 PM
thanks for the quick reply, it worked. however now I have a problem with the font parts of the same script. It was a
Quote
undifined method 'font' for nil:NilClass
this time.

Heres the part of the script -

Code: [Select]
contents.font.name = system.font
@x = @y = @wait_count = indent = 0
@fit_size, @sound = false, system.sound_enable
@start_x = 4
@cursor_width = [0, 0, 0, 0]
@x = 8 if $game_temp.choice_start == 0
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 06:38:52 PM
Try changing

Code: [Select]
contents.font.name = system.font

to

Code: [Select]
contents.font.name = system == nil ? Font.default_name : system.font
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 06:42:38 PM
Again, thanks that worked. But now I may actually kill this script...

Quote
????? 'AMS' ? 172 ??? NoMethodError ???????

undifined method 'sound_enable' for nil:NilClass

lol... refers to this part of the script...

Code: [Select]
@fit_size, @sound = false, system.sound_enable

Thanks once more to anyone that can help...
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 06:46:08 PM
Most probably there will be even more errors. Change the line to

Code: [Select]
@fit_size, @sound = false, system == nil ? true : system.sound_enable
Title: Re: Letter by Letter Message Window
Post by: :) on January 21, 2007, 06:48:02 PM
Man, I gota check this out.
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 06:50:01 PM
Quote
Most probably there will be even more errors.
Hey, you guessed it. What you said worked but...

'fit' for nil:NilClass again...

Code: [Select]
if @fit_size = (event || system.fit)
  lines_size = [0, 0, 0, 0]
  save, lines = @text.clone, 0
  while (c = @text.slice!(/./m))
if c == "\n"
  lines += 1
  break if lines == 4
  if lines >= $game_temp.choice_start
lines_size[lines] += 16
  end
  next
end
lines_size[lines] += eval_text(c, true)
  end
end

Can someone just revamp this script or point me in the dirrection of a better one? lol
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 06:54:14 PM
Change the

Code: [Select]
if @fit_size = (event || system.fit)

to

Code: [Select]
if @fit_size = (event || (system == nil ? event : system.fit))
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 07:00:49 PM
I dont want to say it...

Quote
'nbyo' for nil:NilClass

this time...

and the part of te script is...

Code: [Select]
  @name_box = Window_NameBox.new(x, y - system.nbyo, name_text)
  @name_box.back.opacity = 0 if $game_system.message_frame == 1

Hmmm... Thanks again Blizzard lol, truely you are the scripter people can only dream of becoming.
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 07:20:00 PM
Lol, thanks.

Change

Code: [Select]
@name_box = Window_NameBox.new(x, y - system.nbyo, name_text)

to

Code: [Select]
@name_box = Window_NameBox.new(x, y - system == nil ? 0 : system.nbyo, name_text)
Title: Re: Letter by Letter Message Window
Post by: Darico on January 21, 2007, 09:08:05 PM
*Actually Dies because of this script...*

Here we go...

Quote
nil can't be coerced into Fixnum
TypeError - at least its slight different problem this time...

the script part is...

Code: [Select]
@name_box = Window_NameBox.new(x, y - system == nil ? 0 : system.nbyo, name_text)
@name_box.back.opacity = 0 if $game_system.message_frame == 1

Looks like the bit you changed. Oh, it is. Hmmm, any help appreciated as always. By the end of this i'll be a expert at scripting! lol!
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 21, 2007, 09:31:49 PM
My bad, should be:

Code: [Select]
@name_box = Window_NameBox.new(x, y - (system == nil ? 0 : system.nbyo), name_text)
Title: Re: Letter by Letter Message Window
Post by: :) on January 22, 2007, 01:28:41 AM
dosen't this belong in script database?  :o
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 07:15:07 AM
No, it belongs in the trash ._. lol...

Font again...

Code: [Select]
dumb.font.name = system.font
(Almost at the end of the script with this error; could be the last one!)

Thanks to any help...
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 11:06:06 AM
Code: [Select]
dumb.font.name = (system == nil ? Font.default_name : system.font)
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 03:26:00 PM
...

Quote
'nb_skin' for nil:NilClass

...

Code: [Select]
skin = system.nb_skin ? system.nb_skin : $game_system.windowskin_name
@back.windowskin = RPG::Cache.windowskin(skin)

...
Thanks again...
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 03:39:48 PM
Code: [Select]
skin = (system == nil ? $game_system.windowskin_name : (system.nb_skin ? system.nb_skin : $game_system.windowskin_name))
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 03:47:09 PM
Code: [Select]
skin = (system == nil ? $game_system.windowskin_name : (system.nb_skin ? system.nb_skin : $game_system.windowskin_name))


Ok, thanks! Let's see what happens next...

Its the font for nil:NilClass again...

heres the script part...

Code: [Select]
bitmap.font.name = system.font

Hmmm...

Changed it to

Code: [Select]
bitmap.font.name = system == nil ? Font.default_name : system.font

And it...

IT WORKED! lol... but...

Quote
'outline' for nil:NilClass
(Back at line 376  :'()

and the script is...

Code: [Select]
if system.outline
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 255)
  contents.draw_text(@x + @start_x + 1, y, w * 2, system.height, c)
  contents.draw_text(@x + @start_x, y + 1, w * 2, system.height, c)
  contents.draw_text(@x + @start_x - 1, y, w * 2, system.height, c)
  contents.draw_text(@x + @start_x, y - 1, w * 2, system.height, c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
elsif system.shadow
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 192)
  contents.draw_text(@x + @start_x + 2, y + 2, w * 2, system.height, c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
else
  contents.draw_text(@x + @start_x, y, w * 2, system.height, c)
end
The first line of that is the one it says, but I put the rest there as its connected (In some way or another... I can just see by the spacing of it...)

Thanks again ~

Regards,
Darico


Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 04:23:43 PM
Code: [Select]
if system != nil and system.outline
...
elsif system != nil and system.shadow
...
Change all the

Code: [Select]
system.height

to

Code: [Select]
(system == nil ? 374 : system.height)
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 04:28:15 PM
Quote
'outline' for nil:NilClass

 :'(

Bit we just edited -

Code: [Select]
if system.outline
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 255)
  contents.draw_text(@x + @start_x + 1, y, w * 2, (system == nil ? 374 : system.height), c)
  contents.draw_text(@x + @start_x, y + 1, w * 2, (system == nil ? 374 : system.height), c)
  contents.draw_text(@x + @start_x - 1, y, w * 2, (system == nil ? 374 : system.height), c)
  contents.draw_text(@x + @start_x, y - 1, w * 2, (system == nil ? 374 : system.height), c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, (system == nil ? 374 : system.height), c)
elsif system.shadow
  color = contents.font.color.dup
  contents.font.color.set(0, 0, 0, 192)
  contents.draw_text(@x + @start_x + 2, y + 2, w * 2, (system == nil ? 374 : system.height), c)
  contents.font.color = color
  contents.draw_text(@x + @start_x, y, w * 2, (system == nil ? 374 : system.height), c)
else
  contents.draw_text(@x + @start_x, y, w * 2, (system == nil ? 374 : system.height), c)
end

.....................................
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 04:33:25 PM
But you forgot:

Code: [Select]
if system != nil and system.outline
...
elsif system != nil and system.shadow
...
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 04:37:15 PM
Oppsie... lol ; ;

Well, another problem (Who would of guessed?!)

Quote
'sound_enable' for nil:NilClass

and the script...

Code: [Select]
@sound = (system.sound_enable && c != ' ')
@x += w

I'm getting ever so slightly pissed off by this script... Maybe someone should just make another one? lol ; ;
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 04:40:19 PM
Lol, it ain't that easy. (Actually it is, I made something similar the other day !_! )

Code: [Select]
@sound = ((system == nil ? true : system.sound_enable) && c != ' ')

You know... I am not sure if it's really a good idea to change all of that... You won't be able to change the properties of the AMS most probably. O_o Have you tried it with a new game or save game by chance?
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 04:42:01 PM
Ill get back to you in 10min... If my save files are corrupted.... >< *Gets knife out*
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 04:47:16 PM
I can make your a little add-on that makes them compatible with they Letter-by-Letter script if the really are. ;)
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 04:55:33 PM
Yep, the it was the save files after all that lmao! luckly the script still works! I just played to the bit I was having problems with and it works fine! *Uses the save point in the area and deletes old saves*

So.. Umm... Thanks for all the help Blizzard!(rep up!)^^ Maybe you should check out my demo?  :P

Regards,
Darico
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 05:00:45 PM
If I ever find the time, sure. I still haven't played through Yossy's game... (-_-')
I should now delete these pointless posts and... no wait, 100k border. :=
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 05:05:15 PM
One more thing... how do you speed up the letter by letter thing? Or can you not? If you can't how do I turn it off?
Title: Re: Letter by Letter Message Window
Post by: Blizzard on January 22, 2007, 05:07:32 PM
At the beginning of the script:

Code: [Select]
@speed = 3

Just change the number.
Title: Re: Letter by Letter Message Window
Post by: Darico on January 22, 2007, 05:09:54 PM
Oh right, cool thanks yet again! Won't have another question on it!
Title: Re: Letter by Letter Message Window
Post by: nevfx on January 22, 2007, 05:24:55 PM
Wow, there were alot of problems.
Title: Re: Letter by Letter Message Window
Post by: Mystic_Being on February 06, 2007, 09:32:31 PM
Nice script i'm sure gonna use it.
Title: Re: Letter by Letter Message Window
Post by: sandypup123 on February 18, 2007, 01:28:43 AM
Um... Which part of the script does the timed exiting out? I want to use only that because something else in the script disagrees with my present script. :(
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on February 28, 2007, 10:32:39 PM
sorry for answer so late, but i haven't been active on any rmxp community

@jblair: this line
Code: [Select]
@letter_by_letter = true
to
Code: [Select]
@letter_by_letter = false

if on game, call this:
Code: [Select]
message.letter_by_letter = false; true


@ravenshade: 1. read the demo  2. I haven't seen it, but i'm kinda sure it doesn't exist.   3. I like to post them, is better.


@nevfx: 
Code: [Select]
@font = 'my font'


@gotix: you changed something, just "repaste" the script.


@darico: shut up, ok? it's seems that you removed or changed something, so Game_Message isn't defined, just follow the scripts's intructions.


@sandypup123: you mean the autoclose? is
Code: [Select]
\%[frames]
where frames is a number.


@blizzard: thanks for help


@the rest: thanks.
Title: Re: Letter by Letter Message Window
Post by: Atracious on March 01, 2007, 04:22:50 AM
I got this error:
Script 'Window_Message' line 16: NameError occured.
uninitialized constant SDK
Title: Re: Letter by Letter Message Window
Post by: :) on March 01, 2007, 04:26:06 AM
Hey, your scripts are awsome. Just a text script has made my games a whole lot better.
thanks a million!
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 01, 2007, 08:58:21 PM
@atracius: cuz you don't have SDK, get it or delete the lines (see 1st post)

@nauman: thanks :)
Title: Re: Letter by Letter Message Window
Post by: Snailer on March 01, 2007, 09:13:27 PM
Hey this is great man !
Im going to use it
+ rep also
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 01, 2007, 09:25:36 PM
Thanks, and when I got rep  ???
Title: Re: Letter by Letter Message Window
Post by: Snailer on March 01, 2007, 09:35:59 PM
Reputation..
The points under ur name but your post count is to low to change it i think or maybe even see it =/
Title: Re: Letter by Letter Message Window
Post by: Atracious on March 02, 2007, 12:29:41 AM
I was wondering if you can temporarily turn off l.b.l. and have it display all of the text in a few text boxes...
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 02, 2007, 03:12:28 AM
To deactivate it:
Code: [Select]
message.letter_by_letter = false; true
To reactivate it:
Code: [Select]
message.letter_by_letter = true
Title: Re: Letter by Letter Message Window
Post by: Atracious on March 02, 2007, 04:25:29 AM
Thx Season In The Abyss!  ;8


[Edit]BTW are the scripts Java? Cuz if they are then maybe i CAN make sense of them! :)
Title: Re: Letter by Letter Message Window
Post by: Atracious on March 02, 2007, 09:02:21 PM
OK this might be a stupid question but how do i find out what the hexadecimal is for a color? Specifically what is black?
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 03, 2007, 02:39:12 AM
Code: [Select]
#000000
Title: Re: Letter by Letter Message Window
Post by: Atracious on March 03, 2007, 03:33:00 AM
Code: [Select]
#000000
thx.
Title: Re: Letter by Letter Message Window
Post by: Sthrattoff on March 11, 2007, 01:23:28 AM
One simple question:
What should I type on Call Script command when I want to change the speed of letter-per-letter?
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 11, 2007, 01:31:58 AM
Code: [Select]
message.speed = 3
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 11, 2007, 09:23:27 PM
i'm getting a wierd error when i try to use the \P command

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg479.imageshack.us%2Fimg479%2F2928%2Ferrorke5.png&hash=f5c462fa351cd5098ae4de2b46edd1efbe606195) (http://imageshack.us)
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 11, 2007, 10:28:27 PM
Maybe you're using it with a non-existent image.
Make sure that image exists.
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 11, 2007, 10:31:51 PM
ehh...

not using an image on that particular message, just the \P command
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 12, 2007, 10:28:34 PM
ups  :lol: ...

That's is a strage bug, in the demo it works fine  ???
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 13, 2007, 12:11:22 AM
it works fine in the demo, and in the first room in my project.  but for some reason it doesnt work in the second room.
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 13, 2007, 04:38:26 AM
Upload your project and send it to me (please don't upload it to megaupload!)
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 23, 2007, 02:54:33 AM
this error is annoying cause it happens sometimes but works other times...
i sent u a PM a while ago with a link, if u haven't noticed it yet.
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 23, 2007, 09:39:00 PM
Sorry, it was too big and wasn't able to download it... then I just forgot it!  :D

It now appears as deleted, please send it again, but be sure to send a small file!
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 24, 2007, 02:33:42 AM
gah dont have the project myself atm

but its always on line 282 and the error message is always "undefined method 'height' for nil class when I try to use the \P command, though it works sometimes and other times it doesn't.  its impossible to tell when it will work.
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 24, 2007, 02:39:10 AM
I'm kinda sure you're using "\p" with a non-existent event  ;)
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 24, 2007, 02:41:51 AM
im not even including an event number with the \P command, which in the demo made it appear directly above the event using the \p command.  how could the event using the \p command not exist itself?
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 24, 2007, 04:23:22 PM
I don't know, have you added more scripts?  ???
Because it don't seem to be a bug of my script, as in the demo works fine
Title: Re: Letter by Letter Message Window
Post by: darkelementwars on March 24, 2007, 11:17:07 PM
well like i said it works sometimes then other times it does not work, its very unpredictable, alot of times it seems right when u teleport to a new map it is more likely to happen...i've been testing it without my other scripts as well and it doesn't seem to be a problem with compatibility
Title: Re: Letter by Letter Message Window
Post by: Doomender on March 25, 2007, 04:12:19 AM
Okay, I understand that you're supposed to put this in the script... but I am such a total N00b at scripting, I have no idea where to put it!!! Can anyone help me? ;9
Title: Re: Letter by Letter Message Window
Post by: Rosco on March 25, 2007, 04:45:32 AM
Hey, great script but I have a problem.  I keep getting an error when a message comes up that uses the /name[text] tag.  I thought it was just My Game, so I launched the Demo one and it does the same thing.  Any ideas?  Thanks.

Rosco
Title: Re: Letter by Letter Message Window
Post by: Doomender on March 25, 2007, 05:14:47 PM
Wait wait wait... How do you resize a window?
Title: Re: Letter by Letter Message Window
Post by: Rosco on March 25, 2007, 07:08:19 PM
Ah, Problem Solved!  Looks like RPG Maker was having a conflict with an RTP XP package I had installed.... I erased everything and reinstalled,cha-ching.  Works like a charm.  Really cool script man.

Rosco
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on March 29, 2007, 12:49:53 AM
@doomender: Type this in the Call Script command:
Code: [Select]
message.fit = true
or use this in the message you want yo be resized: \p, you may want to use \p[id] being id the id of an event.
Title: Re: Letter by Letter Message Window
Post by: JFloyd on March 29, 2007, 01:12:41 AM
I took out what you said, and it doesnt work.
Title: Re: Letter by Letter Message Window
Post by: Rune on April 01, 2007, 09:54:41 AM
I get this error whenever a message is about to pop up...

Code: [Select]
????? 'Message' ? 618 ??? RGSSError ????????
failed to create bitmap
Title: Re: Letter by Letter Message Window
Post by: Halestorm5 on April 07, 2007, 03:56:25 PM
Why hasnt this been added to the database? :P
Title: Re: Letter by Letter Message Window
Post by: MutsuMutsu on April 12, 2007, 04:40:11 PM
How can I change the font's size??????
Title: Re: Letter by Letter Message Window
Post by: modern algebra on April 13, 2007, 12:08:49 AM
This really should be in the database.

How can I change the font's size??????

and \s[num], like it says in the demo. num is the size you want the text to be.
Title: Re: Letter by Letter Message Window
Post by: Kokowam on April 13, 2007, 12:12:13 AM
Uhh... How do you report it, again? >< Just so someone knows to move. :P

EDIT: Yay! Moved! Btw, Nouman's like mod over pretty much all the RPG Maker related forums.
Title: Re: Letter by Letter Message Window
Post by: Rune on May 19, 2007, 08:17:00 AM
Hold on... I think it might be something to do with PK >.<
Do you use that?
Title: Re: Letter by Letter Message Window
Post by: venn177 on May 19, 2007, 10:34:54 PM
Now I have a really bad problem!! GAR!! When I try to run it this happens:
Title: Re: Letter by Letter Message Window
Post by: Season In The Abyss on May 19, 2007, 11:25:33 PM
@Rune: try adding this in Main:
Code: [Select]
Font.default_name = 'Tahoma'

@venn177: You don't have SDK, so delete lines about SDK (see instructions in 1st post).
Title: Re: Letter by Letter Message Window
Post by: Rune on May 20, 2007, 08:35:10 AM
@Rune: try adding this in Main:
Code: [Select]
Font.default_name = 'Tahoma'

That stops the bitmap problem? O_o
Won't that just change the font?
Title: Re: Letter by Letter Message Window
Post by: Ryex on June 06, 2007, 09:20:07 PM
Ol i'm haveing a few problems I can't get the sound thing to work I used the "message.sound_enable = true" in the text bout with out the " " but the "message.sound_enable =true" shows up in the messege window and the sound dosn't play

can you help?
Title: Re: Letter by Letter Message Window
Post by: Sthrattoff on June 13, 2007, 05:25:30 AM
Ol i'm haveing a few problems I can't get the sound thing to work I used the "message.sound_enable = true" in the text bout with out the " " but the "message.sound_enable =true" shows up in the messege window and the sound dosn't play

can you help?

The "message.sound_enable = true" thingy should typed on call script.
Title: Re: Letter by Letter Message Window
Post by: tSwitch on June 13, 2007, 05:29:31 AM
should be call script command as stated above
also, at the end of the call script command, put 'return true'
Title: Re: Letter by Letter Message Window
Post by: MightyLink on June 17, 2007, 07:02:38 AM
Thanks a lot, been looking for this script, and I like how it also comes with the face option as well.
Title: Re: Letter by Letter Message Window
Post by: megaempire11 on November 24, 2007, 10:36:16 AM
Omg, i love you  ;D
Exactly the script i was looking for, i'd also like to use the face option, but i can't find any face sets :(
Title: Re: Letter by Letter Message Window
Post by: Fallen Angel on December 04, 2007, 01:08:33 AM
Every time I put the Text for like showing the name box  it show the  Text.  the message would look like this:

/Name[Arto] Hello and would look like that in the game what am i doing wrong?  ???
                 
Title: Re: Letter by Letter Message Window
Post by: modern algebra on December 04, 2007, 01:42:31 AM
try \ instead of /
Title: Re: Letter by Letter Message Window
Post by: Fallen Angel on December 04, 2007, 04:46:25 AM
Thnx it worked  ;D
Title: Re: Letter by Letter Message Window
Post by: Demonic Blade on December 21, 2007, 08:21:49 PM
Nice  ;D, but I think I'll stick with Slipknot's message system, I'm not so wild with the "Typing" or "Letter by Letter" part, makes time go soooo slowly, and it's impossible to skip scenes without using the hotkey, and that annoys me. But nice! Really nice! I especially like the stuff about the name box ( :o, so that is the person talking...) instead of writing sth like; "Man: Hello."  :lol: so I really like this! Great job!
Title: Re: Letter by Letter Message Window
Post by: Darico on December 22, 2007, 12:12:45 PM
This is slipknot's message system, just the updated one.
Title: Re: Letter by Letter Message Window
Post by: imperfectclone19 on December 27, 2007, 01:17:38 AM
This is awesome, and I love it, but how do I make the font something other then tahoma?
Title: Re: Letter by Letter Message Window
Post by: destiny on December 28, 2007, 01:19:48 PM
what font do u want to change?
in the text box only or all fonts?
Title: Re: Letter by Letter Message Window
Post by: imperfectclone19 on December 28, 2007, 11:41:27 PM
all of the fonts, how would I do that?
Title: Re: Letter by Letter Message Window
Post by: destiny on December 30, 2007, 12:42:14 PM
Font.default_name = 'font name here'

change the name between ''
and
put it in "main"

example
Code: [Select]
Font.default_name = 'Tahoma'
Font.default_name = 'Arial'

Title: Re: Letter by Letter Message Window
Post by: imperfectclone19 on December 30, 2007, 04:04:14 PM
Thanks!
Title: Re: Letter by Letter Message Window
Post by: Fallen Angel on December 30, 2007, 08:46:54 PM
Ok im getting the Script for a friend on his laptop and the download demo daosnt work so can someone plz tell me how use face graphics in text box pla and thnx really apretiate it :)
Title: Re: Letter by Letter Message Window
Post by: Ruzu on December 30, 2007, 09:50:34 PM
You gotta have the face in pictures then put in

\Face[Picture Name Here]

If it's not exactly like the picture name then it won't appear.
Title: Re: Letter by Letter Message Window
Post by: Fallen Angel on December 31, 2007, 02:29:44 AM
thnx!
Title: Re: Letter by Letter Message Window
Post by: memyselforwho on April 23, 2008, 02:20:16 AM
How do i use the namebox for all the different people in my game (Pm me any help please)


Thanks ; )
Title: Re: Letter by Letter Message Window
Post by: modern algebra on April 23, 2008, 07:50:18 AM
\name[text]
Title: Re: Letter by Letter Message Window
Post by: memyselforwho on April 23, 2008, 09:52:23 PM
\name[text]

Thanks, i figured mostly everything out, but where exactly do i place the \name[text]?
Title: Re: Letter by Letter Message Window
Post by: modern algebra on April 23, 2008, 09:53:54 PM
Inside the Show Text command.

So the event would be like:

@>Text: \name[text]This is a message.
Title: Re: Letter by Letter Message Window
Post by: memyselforwho on April 23, 2008, 09:57:19 PM
Inside the Show Text command.

So the event would be like:

@>Text: \name[text]This is a message.

Thanks a lot... you seriously are a great person.
Title: Re: Letter by Letter Message Window
Post by: memyselforwho on April 24, 2008, 06:00:13 AM
One preoblem i encounterd, not sure if it has to do with the script or not.. I am using BLIZZ ABS battle system script, and this one (that all) but if i use both, the text wont type out for me, it gets stuck on the first box and doesn't continue. Is there a way to fix this?
Title: Re: Letter by Letter Message Window
Post by: anhhuy28 on May 11, 2008, 05:17:41 PM
What is a SDK? i cant find it in my script, is it one of the title?
Title: Re: Letter by Letter Message Window
Post by: :) on May 11, 2008, 05:21:18 PM
What is a SDK? i cant find it in my script, is it one of the title?

http://www.gamebaker.com/rmxp/scripts/sdk.htm
Title: Re: Letter by Letter Message Window
Post by: Puddl3 on June 28, 2008, 12:41:47 AM
Awesome script.  But, I've got one question... if anyone knows the answer.

Is there a way to make it so that when using the autoclose function it doesn't respond to you hitting a key?
Title: Re: Letter by Letter Message Window
Post by: Dralel on November 30, 2008, 08:06:13 PM
It won't let me proceed on to another message. I make a message and it's shown, but when I press enter to go to the next message it doesn't let me and it stays on that message.

Also I have skip = true and it won't let me skip.
Title: Re: Letter by Letter Message Window
Post by: Zink on May 10, 2009, 10:02:00 PM
Alright. So I've copied the script as Game_Message and I've deleted the SDK lines. I keep getting the message (in bold):

????? 'Game_Message' ? 130 ??? TypeError ????????

undefined superclass `Window_Selectable'


Is there a script I need to change or just something simple like the name?

Usually scripts are no problem for me, but this one is tricky..
Title: Re: Letter by Letter Message Window
Post by: IAMFORTE on May 18, 2009, 06:39:58 PM
Great script slipknot!!!!!!
I have one question
Is there a way to set the transparency of an image, so the background is not displayed
-an example of this might be one of your other text scripts, where you had Richter display with transparency
Title: Re: Letter by Letter Message Window
Post by: darkblast on July 31, 2009, 02:53:09 PM
Alright. So I've copied the script as Game_Message and I've deleted the SDK lines. I keep getting the message (in bold):

????? 'Game_Message' ? 130 ??? TypeError ????????

undefined superclass `Window_Selectable'


Is there a script I need to change or just something simple like the name?

Usually scripts are no problem for me, but this one is tricky..
This is my problem as well. It happened after I deleted the SDK lines.
Title: Re: Letter by Letter Message Window
Post by: darkblast on July 31, 2009, 03:54:55 PM
Nevermind, I got it working. I didn't realise you wanted us to actually put it right in front of Main. After I did that it worked fine.
Title: Re: Letter by Letter Message Window
Post by: Fensfield on October 30, 2009, 10:32:37 PM
Well, I bet this is a stupid question and I desperately hope I don't get in trouble for it but...

How to download this script's demo?

The download links in the first post appear to be dead, I can't find any others scanning through the thread, and Google-ing for the script merely turns up places that have copy-pastes of the first post, dead links and all.

I suppose the question is: Can anyone provide a working link to the demo file again?

While I realise the script proper is still in the first post, with my inexperience, it seems like suicide trying to use the script without its instructions.
Title: Umm ???
Post by: Mr_Wiggles on November 22, 2009, 01:48:37 AM
Scripts fine and all but is there a way you can shut off letter by letter by means of text box?
and i tired to see if you did that in the demo but link says that its not available to my area.

i do like your script tho its simple, AMS is a little confusing too much stuff
Title: Re: Letter by Letter Message Window
Post by: Imacuser223 on April 10, 2010, 07:04:08 PM
I'd like a demo of this, but both links are dead. Can you resubmit or email it to me?

EDIT: On second thought, PM me or post a complete list of commands.
Title: Re: Letter by Letter Message Window
Post by: Sasquatch927 on April 30, 2010, 06:13:56 AM
Hey, this is an awesome script. But I'm wondering if it is possible to use the key "H" to close out or continue in the message box. It's using "ENTER" instead. I looked through the script and couldn't find anything. any suggestions?
Title: Re: Letter by Letter Message Window
Post by: Nox on June 02, 2010, 11:22:09 PM
First of all, I love the script, but I have a question or two...

Is there any way to decrease the padding on the message box?

Spoiler for Screenshot:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi277.photobucket.com%2Falbums%2Fkk42%2Fcaelumglacialis%2Fmessage.png&hash=a3f1e7f9a0eb2a15436cbb95da6284723af1e25c)

As seen in the screenshot (with white border added to the face png to better see where the edges are), the text starts out in the middle, which works ok when it's just one line, but with two it looks just weird. IMO, it's better to have it start near the top, since that looks ok with both one- and two-liners. Same with the face; the space above and to the left of it is far too much; I could easily decrease it by ten pixels each. (Also, that way the window wouldn't have to be huge to avoid cropping of the bottom of the image.)

I've been fiddling around with various numbers, but I don't seem to have found the one that controls that part =( Admittedly, it's pretty much the first time I'm looking at this scripting language, so I might be overlooking something totally obvious, but if anyone could help me out it'd be awesome.
Title: Re: Letter by Letter Message Window
Post by: roscopatterson on June 16, 2010, 12:20:16 PM
What part of the script controls the speed of the letters?
Title: Re: Letter by Letter Message Window
Post by: cozziekuns on June 16, 2010, 04:04:42 PM
Somewhere around line 45.