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

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

0 Members and 1 Guest are viewing this topic.

***
Rep:
Level 90
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)
  • fixed: Smooth autoclose
  • added: Frames before close
  • added: Hide pause graphic
Version 1.1 (16/08/06)
  • fixed: Path
  • added: Picture above message
  • added: Autoclose
  • added: Shadow and Outline text
Demo

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

Features
  • Letter by Letter: you can or not use the letter by letter mode, like in many RPGs.
  • Name box: you can draw the name of someone in a small box above the message window. \name[text]
  • Face: you can draw a face of the one who's speaking. \face[file]
  • Font: you can change the font or size of the text. \f[name]
  • Colours: the message text now can support hexadecimal colours. \c[######]
  • Bold & Italic: now you can draw the text in bold or italic. \b \i
  • Icons: now you can draw icons in the message window. \icon[file]
  • Map name: the message window will be able to draw the name of the current map. \map
  • Over event: the message window can be drawed above any map event or the player. \p
  • Stop: the message window can be stopped until the player press a key. \!
  • Autoclose: the message will close without the player input. \%
  • Shadow and Outline: the text can be drawed with an outline or with a shadow.
  • More features: see the demo to see them.
Script

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.
« Last Edit: June 30, 2007, 07:48:10 AM by Season In The Abyss »

**
Rep: +0/-0Level 90
Chillin'
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

**
Rep: +0/-0Level 88
Very nice! This is a very excellent script, works fine, no errors. Thanks Slipknot!

***
Rep:
Level 89
A rittle much...? Or not nearry enough!?
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.

***
Rep:
Level 90
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

***
Rep:
Level 89
A rittle much...? Or not nearry enough!?
Thanks a lot. :D

**
Rep:
Level 88
"Ohh Yea!"
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.
Yes, I Made Those!

***
Rep:
Level 88
A good eventer and story creator.
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

Harmony before Justice,
Balance before Peace,
Order before Finality

Family Motto.

*****
Rep:
Level 89
I'm back again. Again.
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.

**
Rep:
Level 88
"Ohh Yea!"
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!
Yes, I Made Those!

***
Rep:
Level 88
A good eventer and story creator.
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...
Harmony before Justice,
Balance before Peace,
Order before Finality

Family Motto.

***
Rep:
Level 88
A good eventer and story creator.
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
Harmony before Justice,
Balance before Peace,
Order before Finality

Family Motto.

**
Rep:
Level 88
I keep getting this error message-

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

please help

**
Rep:
Level 88
"Ohh Yea!"
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
Yes, I Made Those!

**
Rep:
Level 88
I keep getting this error message-

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

please help

...anybody? please?

***
Rep:
Level 88
A good eventer and story creator.
no idea, you might wanna ask Bliz...
Harmony before Justice,
Balance before Peace,
Order before Finality

Family Motto.

*****
Rep:
Level 89
I'm back again. Again.
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.

**
Rep:
Level 88
Quote
@gotix: I dont know anything about that.

... :'(

**
Rep:
Level 88
"Ohh Yea!"


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


really, i read it in help file!
Yes, I Made Those!

***
Rep:
Level 88
A good eventer and story creator.
I think this should be transferred to the database.
Harmony before Justice,
Balance before Peace,
Order before Finality

Family Motto.

**
Rep:
Level 88
"Ohh Yea!"
I think this should be transferred to the database.
i concur
Yes, I Made Those!

****
When the dawn breaks...
Rep:
Level 88
...tonight will be just another memory.
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.
« Last Edit: January 21, 2007, 06:17:12 PM by Darico »

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Try changing

Code: [Select]
unless system.fit

into

Code: [Select]
unless system == nil or system.fit
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

****
When the dawn breaks...
Rep:
Level 88
...tonight will be just another memory.
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

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Try changing

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

to

Code: [Select]
contents.font.name = system == nil ? Font.default_name : system.font
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!