Jump to content
Quack

Chatter Messages (Yami Pop Messages Addon)

Recommended Posts

A little showcase video I made of the script in action:

 

 

 

 

As for what the script does I think the video should show it clearly enough. Additional information is in the header of the script.

 

Some needed gfx files to put in Graphics/System:

Bubble_Tag_Speech.png ::Bubble_Tag_Thought.png 

 

This windowskin isn't needed but goes well with the speech and thought bubble tags. It's made by Soruve (not sure if it's fine to use in commercial projects. Contact Soruve if you want to use it):

Window.png

 

The script:

Pastebin link

 

Edit/Changes:

19/01/16 - Another update.

14/01/16 - Minor update. Added functionality to allow chatter messages to have no time limit by setting the duration to a negative number and added a method to use in script calls to clear all chatter messages: clear_chatter. Fixed a few bugs, changed the code a litlle. And moved script to a pastebin.

13/01/16 - Pretty big update. Added more functionality.

10/01/16 - Thanks to Absurdiness finding the original script I was able to separate them properly. Also cleaned the code a little.

Edited by Quack

Share this post


Link to post
Share on other sites

Hey, this is pretty cool! I didn't know about this script and your additions are very interesting. I think I will use it.

 

I seem to have found the original script in Github. Here you have the link: https://github.com/suppayami/rmvxa-collection/blob/master/yami-script-ace/10%20-%20Pop%20Message.txt It doesn't have the thought bubble part, though, so I'm guessing that's something you added yourself too. It's a nice touch.

 

Best of luck!

Share this post


Link to post
Share on other sites

Updated the script to version 1.1. It includes quiet a few new features.

 

This is a copy of the info on the new features from the header of my script:

 

VERSION 1.1 ADDITIONS:

 
1-Added text sound. You can add different text sounds in the TEXT_SOUNDS hash in the config area (further instructions on adding sounds there). By default messages won't have sound. To add it use this tag: <ts:x>   where x is a key that exists in the TEXT_SOUNDS hash. 
  
2-Added Message box background tones. This allows you to specify different background colors for your message boxes. You can add different tones in the WINDOW_TONES has in the config area (further instructions on adding tones  there). By default it will use the normal window tone. To use one of the tones in the WINDOW_TONES has use this tag: <bc:x>  where x is a key that exists in the WINDOW_TONES hash.
 
3-Sometimes you might want to change font size in your message, multiple times.
This could potentially cause the pop message box to be not wide enough or too wide. So I added this tag: <tz:x>  . What it does is change the font size used to measure the width of the text. If your window is too small, use this tag where you put x as a font size a little higher than the default.
  
4-If you're like me you think it's annoying to have to remember which event has what id when writing messages and it's further annoying to have to write so many tags for each message. That is why I made it so now in my game using this script I can position my pop message on the event I want and make it use the background color and text sound that I want just by entering this tag:
<bt:x> (for speech bubble)  OR <btt:x> (for thought bubble)
How does that work you might ask?
Well lets say I have an event which is supposed to be one of my actors. Let's call the actor Emil. In the name box of the event I put the tag: <emil>. Now when I use the tags: <bt:emil> or <btt:emil>  the pop message will get placed on that event. And if WINDOW_TONES has a value with the key 'emil', that window tone will be used too. Same for TEXT_SOUNDS except if you are  using btt because thoughts shouldn't make sound now should they?
Doesn't that sound so much easier?
It will also make it easier to tell which event is saying a text when looking at the event command in the editor since you know who 'emil' is but might not be able to as easily tell which event '72' is.
  
You can also specify the player with these tags by using 'pl', like so:
<bt:pl>
The reason I added this was to allow setting window tone and text sound for player as well. This probably won't be all to useful in most cases since the showing actor for the party might vary but I figured I should still add the functionality.
  
If you are wondering why all my new tags use different structure than the previously existing ones then well.... because! Consistence is overrated anyway, who needs it?
  
Using these these two tags (<bt:x> & <btt:x>) does however require the functionality of one of my other scripts, called Qonvenience (guess you could kind of call it my 'core' script like how other scripters have (Yanfly, Victor, Yami, etc). 

  You can find a link to it under the 'Requirements' section.

 

 

edit: fixed the weird text in the spoiler.

Edited by Quack

Share this post


Link to post
Share on other sites

Hey i have a liltle request to you and maybe you can do that too in next version hehe?!

Question Window with Bubble Messages looks awfull so i would like to have the questions inside the bubble message.

Good examples are the Final Fantasy games i guess, here is a screenshot:

 

maxresdefaultlcs6e.jpg

Do you think you could do that? :rolleyes:

 

Edit: Ok now the screenshot should be ok

Edited by buddysievers

Share this post


Link to post
Share on other sites

Released a small update. Mostly some code changes and bug fixes. Though also added ability to make chatter messages last forever by putting the duration to a negative number. And added a method to use in script calls to close all chatter messages: clear_chatter

 

Hey i have a liltle request to you and maybe you can do that too in next version hehe?!

Question Window with Bubble Messages looks awfull so i would like to have the questions inside the bubble message.

Good examples are the Final Fantasy games i guess, here is a screenshot:

 

maxresdefaultlcs6e.jpg

Do you think you could do that? :rolleyes:

 

Edit: Ok now the screenshot should be ok

 

Sry but adding that would be too annoying and I'm just not interested enough in that feature to want to do it.

 

What you can do with it right now looks good enough for me:

 

chatter2.png

 

 

If it's something simpler and less time consuming like just moving the choices box to where you want it then that is something I could write a small script snippet for you to do. Like something like this (or attaching/docking it to the message box in some way):

 

chatter1.png

 

Share this post


Link to post
Share on other sites

Hmm, ok i can understand what you say about that it would be too annoying hehe.

But what about making snippet which makes the choice window transparent and set it to a custom position like you said

and i put it over a pop message in which i add free lines depending on choice count.

and if you enter a choice the pop message gets removed together with the choice window.

Share this post


Link to post
Share on other sites

Hmm, ok i can understand what you say about that it would be too annoying hehe.

But what about making snippet which makes the choice window transparent and set it to a custom position like you said

and i put it over a pop message in which i add free lines depending on choice count.

and if you enter a choice the pop message gets removed together with the choice window.

 

You bastard. I was trying to be a little nice and help you as long as it didn't go too far and you went and tricked me into doing the whole thing!

I've updated the script. It now does that final fantasy choices thingy if the current message is a pop message. If it's a normal message it will use the same choices window like normal.

I hope you're happy with yourself  :angry:

Share this post


Link to post
Share on other sites

 

Hmm, ok i can understand what you say about that it would be too annoying hehe.

But what about making snippet which makes the choice window transparent and set it to a custom position like you said

and i put it over a pop message in which i add free lines depending on choice count.

and if you enter a choice the pop message gets removed together with the choice window.

 

You bastard. I was trying to be a little nice and help you as long as it didn't go too far and you went and tricked me into doing the whole thing!

I've updated the script. It now does that final fantasy choices thingy if the current message is a pop message. If it's a normal message it will use the same choices window like normal.

I hope you're happy with yourself  :angry:

 

Wow I'm not sure if quack is kidding or not ...

and I'm slightly afraid too

 
Also @buddysievers,that was a very twisted solution you came up with :lol: ( but I appreciate this kind of thinking )

Share this post


Link to post
Share on other sites

Haha my english isnt good enough to say if you are really mad with me or just because i the idea wasnt that bad at all...
Well so ro so i have to thank you and i will test it later and give response.

@Shiggy: I tried myself with working on the choice window but it was too much for my skills.
This way was the only one could think about without recreate the whole message window.

 

Edit: Ok works great so far, rly good work! :thumbup3:

But what i dont rly like is that the choices move out of the nothing and the pop message box gets bigger.

Is it possible to change that or is it part of how it works?

And sry but i have another lil question and since i dont know your code its easier to ask, is there a way to

adjust the x pos of the choices inside of the window?

unbenannt1cj8t.png

Edited by buddysievers

Share this post


Link to post
Share on other sites

I figured it looked good with the choices indented like that. But if you want to adjust their position look up this part of the code:

alias chatter_msg_update_placement update_placement
  def update_placement
    if @message_window.pop_message?
      self.opacity = 0
      self.width = @message_window.width-26 + padding * 2
      self.width = [width, Graphics.width].min
      self.height = fitting_height($game_message.choices.size)
      self.x = @message_window.x
      self.y = @message_window.y+@message_window.height-self.height+6
    else
      self.opacity = 255
      chatter_msg_update_placement
    end
  end

you can change the position of the choices by adjusting self.x and self.y.

 

As for the other thing it'll have to wait. I'm gonna release a new version soon and I'll add in the ability for the user to choose whether the messagebox should have the final size immediately or grow as the text finishes then along with my other changes.

 

(and no, of course I'm not really mad)

Share this post


Link to post
Share on other sites

Love you for this script.. A bunch of thanks.

But there is a problem when I'm trying to make a message box with a face and name box.

 

I'm using YEA message system for the name window.

Just look at this. I don't know if this issue is already have been posted here.

 

The whole message box becomes a mess. Look at the screenshot.

post-39171-0-13877600-1455115946_thumb.png

Share this post


Link to post
Share on other sites

Help. This randomly began turning up. It was working before.


NzgVsq8.png

 

 

 

 

 

 

 

Edit: Tsukihime's scene interpreter was the cause of this. 

 

fixed now.

Edited by Eurgh

Share this post


Link to post
Share on other sites

I just slid this script into my project (under the original Pop Message Script) - I haven't even started trying to use it yet, but any event that calls a regular pop message causes the game to crash, now.

13417624_576451972514768_685365592846774

 

I haven't changed anything, haven't tinkered at all. I've got both bubble_tag graphics in the project's graphics folder. Plugged it in, crashes ensued.

 

I realise that compatibility could be the issue - I'm using a handful of other scripts - so what I'm asking is: based on the type of error caused, is there a way to get this working? Or is compatibility too likely to be the cause? 

Thanks folks

Share this post


Link to post
Share on other sites

I just slid this script into my project (under the original Pop Message Script) - I haven't even started trying to use it yet, but any event that calls a regular pop message causes the game to crash, now.

13417624_576451972514768_685365592846774

 

I haven't changed anything, haven't tinkered at all. I've got both bubble_tag graphics in the project's graphics folder. Plugged it in, crashes ensued.

 

I realise that compatibility could be the issue - I'm using a handful of other scripts - so what I'm asking is: based on the type of error caused, is there a way to get this working? Or is compatibility too likely to be the cause? 

 

Thanks folks

I updated the scripts on my pastebin to the ones I have on my computer. Try using them instead, I think it might solve the problem.

Share this post


Link to post
Share on other sites

 

I just slid this script into my project (under the original Pop Message Script) - I haven't even started trying to use it yet, but any event that calls a regular pop message causes the game to crash, now.

13417624_576451972514768_685365592846774

 

I haven't changed anything, haven't tinkered at all. I've got both bubble_tag graphics in the project's graphics folder. Plugged it in, crashes ensued.

 

I realise that compatibility could be the issue - I'm using a handful of other scripts - so what I'm asking is: based on the type of error caused, is there a way to get this working? Or is compatibility too likely to be the cause? 

 

Thanks folks

I updated the scripts on my pastebin to the ones I have on my computer. Try using them instead, I think it might solve the problem.

 

 

I used the link from the top of this page - is that the right one?

 

If so, then the problem remains unfortunately. Exact same crash and error message :(

 

I know precisely nothing about scripting (for RPGM or anything...) so I'm just gonna fumble around in the dark a bit here: does this type of crash message suggest another script interfering?

 

 

EDIT -

 

As I should have done originally, I've tried running the script with all other scripts removed (except Yami's original pop message script). With just those two custom scripts, the game still crashes :S

 

EDIT EDIT

 

To be doubly sure, I tested it out in a brand new project (in case I'd changed something without realising) and still no fix.

Edited by Elder71

Share this post


Link to post
Share on other sites

I used the link from the top of this page - is that the right one?

If so, then the problem remains unfortunately. Exact same crash and error message :(

 

I know precisely nothing about scripting (for RPGM or anything...) so I'm just gonna fumble around in the dark a bit here: does this type of crash message suggest another script interfering?

 

 

EDIT -

 

As I should have done originally, I've tried running the script with all other scripts removed (except Yami's original pop message script). With just those two custom scripts, the game still crashes :S

 

EDIT EDIT

 

To be doubly sure, I tested it out in a brand new project (in case I'd changed something without realising) and still no fix.

 

 

To make sure I tested it in a new project and seems to work ok for me, so I guess you are doing something wrong.

 

I've uploaded the project so you can take a look for yourself: msgtest

Share this post


Link to post
Share on other sites

 

I used the link from the top of this page - is that the right one?

If so, then the problem remains unfortunately. Exact same crash and error message :(

 

I know precisely nothing about scripting (for RPGM or anything...) so I'm just gonna fumble around in the dark a bit here: does this type of crash message suggest another script interfering?

 

 

EDIT -

 

As I should have done originally, I've tried running the script with all other scripts removed (except Yami's original pop message script). With just those two custom scripts, the game still crashes :S

 

EDIT EDIT

 

To be doubly sure, I tested it out in a brand new project (in case I'd changed something without realising) and still no fix.

 

 

To make sure I tested it in a new project and seems to work ok for me, so I guess you are doing something wrong.

 

I've uploaded the project so you can take a look for yourself: msgtest

 

 

Thanks for your reply - that download has a virus on it, apparently, so I can't download it :(

 

With this addon script installed, should Yami's Pop Message still work like normal, or is there something new I have to do to the old \bm[x] thing in a text box?

 

EDIT

 

So I downloaded it anyway out of sheer curiosity (btw, Spybot said the file was clean, so dunno where the virus red flag came from originally).

 

I copied the relevant scripts from your demo into my project and it now seems to be working fine.

 

Maybe there's something missing from the pastebin version of the script that's present in the versions you have at home?

 

I used 'select all' on pastebin to copy this addon script, so I'm 99% sure it wasn't a mistake of that sort. And, like I said, I didn't alter anything in the script at all.

 

Anyhow, I'm gonna try and put the chatter messages to use now and see what's what - thanks for your help, I'll post another update once I've got it all working :)

 

 

EDIT EDIT

 

All working perfectly now, thanks again

Edited by Elder71

Share this post


Link to post
Share on other sites

Oh dear, I hope I haven't got viruses on my laptop. If anythings infected in the file it would be the game.exe or the rgss dll so I removed those and reuploaded it: msgtest (you will have to add game.exe and place rgss dll in the system folder yourself to test it).

If you wouldn't mind, could you tell me what software is saying my file has viruses in it and what kind of virus does it say it is?

 

Oh and pop messages should mostly work like without my addon, I've pretty much only made additions to it's functionality (might be some alteration but can't think of any at the moment).

\bm[x] should still work exactly like before.

 

 

 

Maybe there's something missing from the pastebin version of the script that's present in the versions you have at home?

Nope, as I mentioned in the reply I made to your first post I updated the pastebin scripts with what I had on my laptop. So either you didn't swap to the updated versions or you were using a different version of pop messages than the one linked in my script.

Edited by Quack

Share this post


Link to post
Share on other sites

 

chatter1.png

 

 

I would like to have this. How was it done?

 

Love you for this script.. A bunch of thanks.

But there is a problem when I'm trying to make a message box with a face and name box.

 

I'm using YEA message system for the name window.

Just look at this. I don't know if this issue is already have been posted here.

 

The whole message box becomes a mess. Look at the screenshot.

attachicon.gifScreenshot (1455115748.828125).png

 

Because this is my problem with this script. I would like to use it. Can you tell me how you made yours like you have shown?

Share this post


Link to post
Share on other sites

 

 

chatter1.png

 

 

I would like to have this. How was it done?

 

Love you for this script.. A bunch of thanks.

But there is a problem when I'm trying to make a message box with a face and name box.

 

I'm using YEA message system for the name window.

Just look at this. I don't know if this issue is already have been posted here.

 

The whole message box becomes a mess. Look at the screenshot.

attachicon.gifScreenshot (1455115748.828125).png

 

Because this is my problem with this script. I would like to use it. Can you tell me how you made yours like you have shown?

 

 

I have updated the script. It now better supports nameboxes and face graphics. (not perfect, but those weren't features I was personally interested in when writing this script so I don't really want to spend too much time on that)

This should fix the messy look when showing choices with face graphics.

 

And since I had earlier added the possibility of using a tag to identify which character/event the messagebox is attached to I decided to add a feature where you can associate a namebox to a tag as well which is done like what I added for window tones and text sounds before.

 

Also if you would still prefer that the question options are not inside the messagebox and centered like in that screenshot you can paste this below my script in the script editor:


class Window_Message < Window_Base
  # overwrite
  def adjust_pop_message(text = " ")
    #return unless SceneManager.scene_is?(Scene_Map) 
    unless @event_pop_id
      if $imported["YEA-MessageSystem"]
        #adjust_message_window_size 
      end
      return
    end
    n_line = cal_number_line(text)
    n_line = YSE::POP_MESSAGE::LIMIT[:limit_line] if YSE::POP_MESSAGE::LIMIT[:limit_line] > 0 && cal_number_line(text) > YSE::POP_MESSAGE::LIMIT[:limit_line]
    @real_lines = n_line
    self.height = fitting_height(n_line)
    self.height += @msg_size_y
    self.width = cal_width_line(text) + 10
    self.width += @msg_size_x
    self.width += new_line_x
    if self.width > YSE::POP_MESSAGE::LIMIT[:limit_width] && YSE::POP_MESSAGE::LIMIT[:limit_width] > 0
      self.width = YSE::POP_MESSAGE::LIMIT[:limit_width]
    end
    # If a chatter message with face graphic, force height to be at least big enough to show the face.
    if chatter? && !source.face_name.empty?
      self.height = [self.height, 86].max
    end
    
    create_contents
    update_placement
  end
  # overwrite
  def input_choice
    chatter_msg_input_choice
  end
end

class Window_ChoiceList < Window_Command
  # overwrite
  def update_placement
    chatter_msg_update_placement
    if @message_window.pop_message?
      self.opacity = 255
      self.x = Graphics.width / 2 - self.width / 2
      self.y = Graphics.height - [200, self.height].max
    end
  end
end

Share this post


Link to post
Share on other sites

I put in the new script and the snippet you wrote above (I assume you meant to place it in a new script below yours? Either way I did that and then tried added it to the bottom of your script),
But cannot get it working. I first got an error message then I read the script header and saw the note on Yami, I put that script in then got a stack too deep. Spent a few minutes and found I already had that script in.
Then I was getting the original error pointing to Ace message script. I tried to see what to do but don't know how it is suppose to work cause I don't know Ruby.

I can rem out lines or change values, but not interpret code. Also I tried to rem out sections of code but no go. Straight up without changes it works; sort of. My game starts off with Todd's difficulty select. The message boxes for them were empty. But when I got to talk to a character with a yanfly message code (\bm[1]) it displayed properly. But then crashed when a face with the message was suppose to show up.

 

I wish I could just attach pictures to this site.

 

Yanfly Ace Message System Line 571: Typeerror occured

can't clone NilClass

 

 

Thanks for the work. If you have any other ideas, please let me know. This script is not critical to my game of course, but would be a nice addon for conversation scenes when I get the story built.

 

On a side note - the script has the pictures as bubbletag_speech, but the pictures save as bubble_tag_speech.

Just minor.

Edited by roninator2

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.

×