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.
any one have a very good window msg. script? or could refer me to one? (resolve)

0 Members and 1 Guest are viewing this topic.

****
Rep:
Level 88
PSP
Any one know of a good window msg script?(believe me i've search, i have a few one's but with either bug or the stuff that i need)

What i need:

*allow to change the background with a certain img like this
Spoiler for:
(first box ,the small one, shows the name of the one telling the msg(or i just type the name i want w/c would be good), 2nd box for face set, 3nd box for actual message)

*the txt shown are one at a time but if i press enter the or the ok button the whole msg will be viewed

*has no bug like with the choices "ex: a:yes b:no c:nvm

*has the maximum capacity on which passes the default of the rmxp (the black arrow thing)

*and other stuff you mi8 think is good

« Last Edit: May 11, 2007, 11:11:48 AM by dollmage »

******
Revolution is not a bed of roses.
Rep:
Level 91
Project of the Month winner for July 2009
I've never seen one that can do the first one, you'd probably need a custom one.

Ccoa's UMS is the most powerful message script:
http://www.hbgames.org/forums/showthread.php?t=9669

Also, please use capitalization, I don't want to go grammar/capitalization nazi on you.

*******
Rep:
Level 90
Returned from the dead.
The downloads are down on .org aren't they? That's the only way you can get to the script
Sincerely,
Your conscience.

***
Rep:
Level 87
Kotae Wa Kitte Nai...ii?
WRONG!
Just to tell you...search around the thread of Ccoa's thread and you will find the mirror Trickster gave...Lemme find for you...here
Ok BYEBYE! Add resolved if no more problems and have a nice day ;D
« Last Edit: May 08, 2007, 12:28:22 PM by Kira »
Dude do you break dance?

****
Rep:
Level 88
PSP
Quote
I've never seen one that can do the first one, you'd probably need a custom one. by:falcom
i tot you would say that
Quote
WRONG!
Just to tell you...search around the thread of Ccoa's thread and you will find the mirror Trickster gave...Lemme find for you...here
Ok BYEBYE! Add resolved if no more problems and have a nice day
link doesnt work

i have a script which have almost everything i want but it has a small bug
when i press cancel or the "X" on the keyboard an error will occur

here is the script maybee you can fix it
Spoiler for:
Script:
Replace your Window_Message with 1 of these 2 scripts!
:thumbdown:

1-Letter-at-a-time Version!


CODE

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

Syntax:
To show faces and windowskin
call this script,

CODE
$face_showing = 'your face file here'
$message_showing = 'your windowskin picture file here'

To stop showing faces/windowskin, use this:

CODE

$face_showing = nil
$message_showing = nil

just put the faceset and the bground pic on the picture and name it what ever you want.

***
Rep:
Level 87
Kotae Wa Kitte Nai...ii?
Ok I edited that post with the link. it should work now. ;)
Dude do you break dance?

****
Rep:
Level 88
PSP
Ok I edited that post with the link. it should work now. ;)
i dont know if the problem is with my connection or probobly where im @ any way the link dont work is this the link u where refering me too?


***
Rep:
Level 87
Kotae Wa Kitte Nai...ii?
Dude do you break dance?

****
Rep:
Level 88
PSP
tnx ^^ ill try this one later ill put on resolve after a few test =)  :mex: