Jump to content
Galv

Message Busts

Recommended Posts

Message Busts - Version 1.1
Galv


Introduction
The usual, just doin' stuff to learn/get experience. I think Fomar made one that does this that's available in a pack or something on rpgmakerweb.com.


Features
Automatically show a bust instead of the face chosen in a “Show Message” window so you don’t have to keep using “Show Picture” every time.
- Set up how you want busts to be displayed in your game
- Revert to normal messages with a switch.
- Bust can be on the left or on the right mirrored using a script call before showing a message


Screenshot
busts1.jpgbusts2.jpg


How to Use
Place script under Materials and above Main.
Read script instructions.

Put bust images in Graphics/Pictures/ and name them the same as the face graphic used in the message, plus the position of the face in it.
For example:
If the message shows "Actor1" face file and uses the first face in that file then you will name the bust image "Actor1-1.png"
(See demo if you don't understand)

Play around with the settings to change it to how you want it to look. Make sure you start a new game.


Script
Get it here

Patch if using Yanfly's victory aftermath. Put this below this script.

class Window_Message < Window_Base
  alias galv_patch_update_bust update_bust
  def update_bust
    return if $game_party.in_battle
    galv_patch_update_bust
  end

  def new_line_x
    if $game_switches[Galv_Bust::DISABLE_SWITCH] || $game_party.in_battle
      $game_message.face_name.empty? ? 0 : 112
    else
      if @bust.z >= self.z && !$game_message.mirror && $game_message.position == 2
        $game_message.face_name.empty? ? 0 : @bust.bitmap.width + Galv_Bust::TEXT_X
      else
        return 0
      end
    end
  end

  def draw_face(face_name, face_index, x, y, enabled = true)
    return if !$game_message.face_name.empty? && !$game_switches[Galv_Bust::DISABLE_SWITCH] && !$game_party.in_battle
    super
  end
end



Credit and Thanks
- Galv


Updates
2013-01-13 - Version 1.1 - added option to slide bust onto the screen instead of just fade in.
2012-12-01 - Version 1.0 - release

Edited by Galv

Share this post


Link to post
Share on other sites

Actually I didn't think to look. If you find it isn't compatible with one, I'll see what I can do to make it so.

Share this post


Link to post
Share on other sites

Just tried Yanfly's and seems to be compatible. Didn't try out all it's many features, though, but I don't think it will interfere with anything.

Share this post


Link to post
Share on other sites

I needed this script! As good as the other scripts may be, I needed one that'll show the bust in front of the message window. The busts I make are too small to appear behind the window, and seem too odd when placed above it.

Share this post


Link to post
Share on other sites

screenshot number two is what interest me. formar script only result in screenshot number one.

in screenshot number two it looks like princess princess message style :D.

did it work using yanfly with name box?

i guess we could slap name box (with middle setting) and we got clone of princess princess message system :D.

Share this post


Link to post
Share on other sites

I haven't seen Fomar's script, I didn't know that.

Thanks for testing that out, Will. From what you guys have said and how I wrote it, I am pretty sure it will be compatible with most message scripts.

I just thought of something, though - I haven't tested an automatic-text-wrapping script with the princess-princess style busts that automatically pushes the text to the right to fit the bust in.

Share this post


Link to post
Share on other sites

@galv : we could always use manual spaces :D. and it's more flexible since some bust shot have different 'curves' :D.

for example in you screenshot number two.

you could lower the spaces for the line 1 and two. and it will wrap the body more nicely :D.

Share this post


Link to post
Share on other sites

You could do that. Sounds like it'd be a pain to do that manually for every message in your game but it would look good.

I don't have the skills to even think of doing some kind of pixel-detection x position for every line, though... so don't ask :P

Share this post


Link to post
Share on other sites

Hello! Great Script!!

 

However, doesn't match with the excellent Victory Aftermath from Yanfly (i suppose)

 

End of battle I get an error :

 

Script 'Message Busts' line 152 : NoMethodError ocurred.

undefined method 'width' for nil:NilClass

Share this post


Link to post
Share on other sites

Battle Aftermath is the buggiest script I've ever seen. It's not compatible with ANYTHING and a few of its own functions do not work properly. Just saying, if you had to ditch one, I'd get rid of the YEA script.

Share this post


Link to post
Share on other sites

I just tested yanfly's aftermath and couldn't get the error you mentioned to occur.

It could be another script causing the issue. If you can do some tests and pin down which one, I can have a look.

Share this post


Link to post
Share on other sites

Oh okay sorry, must be something else then. I thought it was the aftermath because it happens in the end of a battle and involves faces but I'll try to find which script triggers the error. (I've got 27 scripts ><)

 

 

EDIT : I removed the Victory Aftermath and it did not crash so guess there's something wrong between the two scripts... :s

Sadly I know nothing about scripting T_T

 

Edited by Mortimer-

Share this post


Link to post
Share on other sites

Hypothetically, perhaps try switching the script off before battles? Like have it off by default and switch it on when text starts, so it isn't displaying busts during other things that use text.

When I was using a different busts script (Neoface) that was the problem with aftermath for me, it was trying to show a bust on the screen when aftermath doesn't like that.

Share this post


Link to post
Share on other sites

Yeah good idea! I'll try that if no solution.

 

I tried again with only 2 scripts : Message Busts and Victory Aftermath and it still crashes, might be the configuration I chose...?

Share this post


Link to post
Share on other sites

PM me Yanfly's script that you are using which has your setup, maybe. I guess it could be something to do with notetag setup, too.

Share this post


Link to post
Share on other sites

I have an idea to help improve this script. What if instead of having faces and portraits using the same name on diferent folders, we could pick the portraits right from the editor?, Formar0153 have this option on his script "faces to busts". 

 

This is the best portrait script that I have found so far :P And can get better if has that feature.

I used the one from Formar before this one, but his script won't allow me to have the portraits over the message window (like "BUST_Y_OVER = true" of your script). I even tried to change some values on that script to have them over, and used TDS Change Message Window Z for the porpouse, but there are many problems like using dim message backgrounds will send the text under the message back  :(.

 

Am I the only one who wants this feature?.

Edited by oriceles

Share this post


Link to post
Share on other sites

I did it this way so the portraits could be in the /pictures/ folder so you could use the same portrait for 'Show Picture' events in the game if required. Picking a portrait straight from the editor would mean it has to be in the /faces/ folder and then you wouldn't be able to use it for showing a picture in game.

Plus if you ever decide you want to turn the script off, then you don't have to change a thing, everything still works as normal with the face graphic... also if you've already created your game you can add the script and all the busts and you're good... no need to go back and edit all those events

Share this post


Link to post
Share on other sites

Oh, I understand, but I won't use the event command for portraits if I can use them in this way.

I would use it only for fogs or backgrounds while reading a book event.

 

Plus, I have many portraits that doesn't have a face set, so this give me two options:

1- using dummies to point to the pictures that I want to use (mess and empty templates with just text and filename) like:

DERP_zps92e99125.png 

 

2- resize and crop every portrait that I have to a face to know exactly what I'm doing.

 

I'm requesting this without fear of messing with my project, I don't need a plug&play :x

Share this post


Link to post
Share on other sites

Change line 124 from:

@bust.bitmap = Cache.picture($game_message.bust_name + "-" + ($game_message.bust_index + 1).to_s)

to:

@bust.bitmap = Cache.face($game_message.bust_name)

And put your portraits in the /faces/ folder. Let me know if any problems.

 

EDIT: Also just added option on request from NinjaChrome for an option to have busts slide onto the screen instead of just fade in.

Edited by Galv

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.

×