Jump to content

Recommended Posts

TSDA Advanced Message System


thiago_d_d works are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

 

rBUpcRC.png

Features:

    - Created name window to show a name of your choice, only if you want.
    - The name window is customized, so you change color, etc.
    - Added support to hex colors.
    - Advanced letter by letter mode with advanced speed configuration.
    - You can choose if the player can skip the letter by letter mode
    - Added \Map tag, that shows the actual map name display
    - Added support to changes to the font name, size, and bold flag.
    - The face can be shown on a separate window.
    - Message window position and size can now be customized.
    - Message window opacity can be customized.
    - Possibility to play an sound when letter by letter is on.
    - Everything is customized, you can change everything with tags during the text draw.



Download
http://thiagodd.blogspot.com.br/2013/01/ad...age-system.html

Credits
thiago_d_d

Edited by thiago_d_d

Share this post


Link to post
Share on other sites

Perhaps you should show some screenshots and a complete list of features? Since this is a visual script it doesn't look very appealing to people when you just have 'all these features and more!' and don't show how it actually looks. Not many people really have the patience to go get the script and playtest it themselves just to find out if its something they needed.

Share this post


Link to post
Share on other sites

Actually, the script wasn't too advanced for screen. But now, I'm officially releasing 1.1 version!

rBUpcRC.png

Features:

    - Created name window to show a name of your choice, only if you want.
    - The name window is customized, so you change color, etc.
    - Added support to hex colors.
    - Advanced letter by letter mode with advanced speed configuration.
    - You can choose if the player can skip the letter by letter mode
    - Added \Map tag, that shows the actual map name display
    - Added support to changes to the font name, size, and bold flag.
    - The face can be shown on a separate window.
    - Message window position and size can now be customized.
    - Message window opacity can be customized.
    - Possibility to play an sound when letter by letter is on.
    - Everything is customized, you can change everything with tags during the text draw.

Share this post


Link to post
Share on other sites

You are... AMAZING! Just what I have been looking for. Keep em coming :)

 

EDIT2: Found a problem :( The message window config is going into my battle system as well. Which it shouldn't..

 

24xg9rd.png

Edited by hytporsche69

Share this post


Link to post
Share on other sites

I see the options to change the font of the name window, but I don't see any configuration for changing the font in the message window itself. Am I not seeing it?

 

I love the face window being separated, but I'm not sure if I can use this script because it doesn't have some features that I've already been using in my project. Italics, code for database entries, aligning text in the message window based on x, y coordinates.

 

***edit***

 

I can't get this script to work at all actually. I put it into a fresh project and created an event that only talks. All I get is this error. There are no other scripts in the project and I didn't modify it at all.

post-17461-0-68577200-1358616677_thumb.jpg

Edited by Fated

Share this post


Link to post
Share on other sites
I see the options to change the font of the name window, but I don't see any configuration for changing the font in the message window itself. Am I not seeing it?

 

I love the face window being separated, but I'm not sure if I can use this script because it doesn't have some features that I've already been using in my project. Italics, code for database entries, aligning text in the message window based on x, y coordinates.

 

***edit***

 

I can't get this script to work at all actually. I put it into a fresh project and created an event that only talks. All I get is this error. There are no other scripts in the project and I didn't modify it at all.

attachicon.gifTSDA error.jpg

 

I got that same error as well. Go to the 2 lines below and delete the ones I am pointing to and that should fix your problem.

 

 

 else
        self.y = event.screen_y
      end
    end
    @gold_window.y = ((y > @gold_window.height) ?          < ----- Delete this line
      0 : Graphics.height - @gold_window.height)           < ----- Delete this line

  end
  #-----------------------------------------------------------------------------
  # calculate_total_component_height - new method
  #-----------------------------------------------------------------------------
  Edited by hytporsche69

Share this post


Link to post
Share on other sites

Thanks for bug reports, mans! Actually, deleting the lines with problem would create problem with the gold window positioning. So I fixed it myself. I added also an italic escape character, an implemented the option to hide the face window, just by setting one switch. Please follow instructions on the new script.

 

@Fated

In the truth, you can change the font inside the messa window.

See in the instructions, there are some escape characters, like the \F escape character that changes the font name.

Share this post


Link to post
Share on other sites
Thanks for bug reports, mans! Actually, deleting the lines with problem would create problem with the gold window positioning. So I fixed it myself. I added also an italic escape character, an implemented the option to hide the face window, just by setting one switch. Please follow instructions on the new script.

 

@Fated

In the truth, you can change the font inside the messa window.

See in the instructions, there are some escape characters, like the \F escape character that changes the font name.

 

Well, great updates/fixes. But, I'm not grasping the concept on how to use the face switch. Maybe explain a little on how to use it. Well, activate it during specific times.

Share this post


Link to post
Share on other sites
@Fated

In the truth, you can change the font inside the messa window.

See in the instructions, there are some escape characters, like the \F escape character that changes the font name.

I figured I overlooked something... I see it now.

 

I'll continue to play around with this script and determine if there is anything else in question. However, I'm curious if you would be willing to release a smaller version of this script that would just provide the face window change and nothing else.

 

 

Well, great updates/fixes. But, I'm not grasping the concept on how to use the face switch. Maybe explain a little on how to use it. Well, activate it during specific times.

 

Whenever you have a conversation, you turn the switch on when you want the face window to appear. You turn it off when the dialogue involves a person without a face / after a conversation is over so it doesn't appear in battle sequences.

Share this post


Link to post
Share on other sites

@hytporsche

 

Whenever you have a conversation, you turn the switch on when you want the face window to appear. You turn it off when the dialogue involves a person without a face / after a conversation is over so it doesn't appear in battle sequences.

 

@Fated

Why do you want that? Do you need any extra feature? I will be pleased to add any feature to my AMS, if you want.

Share this post


Link to post
Share on other sites

It's mostly just a selfish reason. I've already developed my project to the point where switching my message system out for yours would require a lot of editing even if you added in everything that's not currently implemented. I'm using Yanfly's message system right now and the commands used in each message system are all different. So, I would need to redo every single message window I've already put in place. The face window feature is the biggest part of your message system that I want to incorporate.

 

It would be ideal if I could just throw in your message system on top of the one I'm already using, but I know it's not feasible due to the overwrites. If I was working on a new project, then I'd just use yours, but unfortunately, I'm not.

Share this post


Link to post
Share on other sites

This probably should work, although I don't tested it.

#===============================================================================
# http://thiagodd.blogspot.com.br/
# TSDA Advanced Message System
#   by thiago_d_d
#   Version 1.2
# Special Edit
# Any suggestions are apreciated, please make them here:
# http://thiagodd.blogspot.com.br/
#===============================================================================
# Features
#    - The face is shown on a separate window.
#===============================================================================
#===============================================================================
# module TSDA
#===============================================================================
module TSDA
  #Use face window?
  USE_MESSAGE_FACE_WINDOW_SWITCH = 4
  #Face window opacity
  FACE_WINDOW_OPACITY = 160
  FACE_WINDOW_BACK_OPACITY = 160
end
#===============================================================================
# Window_Message
#===============================================================================
class Window_Message
  include TSDA
  #-----------------------------------------------------------------------------
  # new_line_x - aliased method
  #-----------------------------------------------------------------------------
  alias ams_new_line_x new_line_x
  def new_line_x
    $game_switches[USE_MESSAGE_FACE_WINDOW_SWITCH] ? 0 : ams_new_line_x
  end
  #-----------------------------------------------------------------------------
  # new_page - overwritten method
  #-----------------------------------------------------------------------------
  def new_page(text, pos)
    contents.clear
    if $game_switches[USE_MESSAGE_FACE_WINDOW_SWITCH]
      @face_window.set_face(self,$game_message.face_name, $game_message.face_index)
    else
      @face_window.visible = false
      draw_face($game_message.face_name, $game_message.face_index, 0, 0)
    end
    reset_font_settings
    pos[:x] = new_line_x
    pos[:y] = 0
    pos[:new_x] = new_line_x
    pos[:height] = calc_line_height(text)
    clear_flags
  end
  #-----------------------------------------------------------------------------
  # create_all_windows - aliased method
  #-----------------------------------------------------------------------------
  alias ams_create_all_windows create_all_windows
  def create_all_windows
    ams_create_all_windows
    @face_window = Window_MessageFace.new
  end
  #-----------------------------------------------------------------------------
  # dispose_all_windows - aliased method
  #-----------------------------------------------------------------------------
  alias ams_dispose_all_windows dispose_all_windows
  def dispose_all_windows
    ams_dispose_all_windows
    @face_window.dispose
  end
  #-----------------------------------------------------------------------------
  # update_all_windows - aliased method
  #-----------------------------------------------------------------------------
  alias ams_update_all_windows update_all_windows
  def update_all_windows
    ams_update_all_windows
    @face_window.update
  end
  #-----------------------------------------------------------------------------
  # close_and_wait - aliased method
  #-----------------------------------------------------------------------------
  alias ams_close_and_wait close_and_wait
  def close_and_wait
    @face_window.finish
    ams_close_and_wait
  end
end
#===============================================================================
# Window_MessageFace - new class
#===============================================================================
class Window_MessageFace < Window_Base
  include TSDA
  #---------------------------------------------------------------------------
  # initialize - new method
  #---------------------------------------------------------------------------
  def initialize
    super(0,0,120,120)
    self.visible = false
    self.openness = 0
    self.back_opacity = FACE_WINDOW_BACK_OPACITY
    self.opacity = FACE_WINDOW_OPACITY
  end
  #---------------------------------------------------------------------------
  # set_face - new method
  #---------------------------------------------------------------------------
  def set_face(window,face_name,face_index)
    self.y = window.y >= 120 ? window.y - height : window.y + window.height
    self.x = window.x
    self.visible = true
    refresh
    open
    Fiber.yield until open?
  end
  #---------------------------------------------------------------------------
  # refresh - new method
  #---------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_face($game_message.face_name, $game_message.face_index, 0, 0)
  end
  #---------------------------------------------------------------------------
  # finish - new method
  #---------------------------------------------------------------------------
  def finish
    close
    until close?
      update
      Fiber.yield
    end
    self.openness = 0
    self.visible = false
  end
end

Share this post


Link to post
Share on other sites

As far as I can tell, it works perfectly in every message window I've created thus far. Thanks a lot for making that edit for me. If I run into any problems, I'll make sure to let you know.

Share this post


Link to post
Share on other sites

Nice script!

 

I think I've found out a bug: if you put an apostrophe in the NameBox to composite a name like "Amok'ghul", there's the following error when you display the message:

 

line 512

failed to create bitmap

 

If you could solve this, I would be very glad. Thanks!

Share this post


Link to post
Share on other sites

How exactly would I go about making a name pop up in a box above the actual text box? (Like Thiago in the op ss) o.o

 

I keep getting the same error as the above post o.o

 

-edit-

Nevermind...I'm stupid XD

Edited by Tigerbite

Share this post


Link to post
Share on other sites

Call me an idiot, but I installed this script where it's said and for the life of me, I don't know how to work it.

I assumed it was a global thing but finding it's not went back to a message event and at least *tried* to call the script, that is, I typed in its name.

 

I'm doing it wrong because it's still an instant window. Please forgive a noob but what do I input to activate this script?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×