Hermes (Message Script), Hermes Extends RPGXP's MEssage System |
|
|
|
|
Oct 13 2011, 06:08 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
Hermes - Hermes Extends RPGXP's MEssage System Version 0.4 Author derula Release Date Feb 21, 2011 IntroductionHermes replaces RPGXP's message system. It was originally based on AMS+, which was a modification of AMS I made to fix some bugs and introduce new features. As some may know, AMS is a (horribly broken) message script Dubealex based on XRXS's, which in turn is based on RPGXP's default Window_Message script. Little traces of the original script remain in Hermes. The main goal of Hermes and all its predecessors is to have an extension of the original message window in a way that you can flawlessly upgrade from the latter to the former without losing any features - you'll only gain new ones. Tag names have been changed multiple times, but there are a few flavors of compatibility mode to ease the transition. Features- Displays multiple message simultaneously
- Shows messages over the heads of events, much like speech bubbles
- Can connect the contents of multiple Show Text commands into one single message
- Messages begin to scroll when they have more then four lines, requiring a key press every next three lines
- Reintroduced tags from RM2k, like \|, \. (wait a second/quarter second), \^ (close message)
- Reintroduced symbol insertion from RM2k (e.g., $k will display a heart; replacement table can be customized)
- Reintroduced "Facesets" (like RM2k, but better)
- A large list of other "tags" that can be used to format your message
- New tags can easily be added if you know how to Ruby
- Huge amount of preferences to play with, most of which can be changed and saved in-game
See the users' manual for details. ScriptHermes uses a file-based scripts collection that is automatically loaded on the game's startup. This means, you only have to install a small script called Inserter once, after that you won't need to open RPG Maker or the script editor windows again to install or update Hermes. For a more detailed explanation, see the installation section of the users' manual. To download the current version of Hermes, visit its website. CustomizationHermes has a large amount of settings, all of which are collected in *.rb files in the config subdirectory of the Hermes script archive. Many of these settings can be changed while the game is running, and will be saved to the game's save files. See this section of the users' manual to learn more. CompatibilityAs of 0.5, message tags Hermes is (will be) fully compatible to the standard RPGXP message system out of the box. Compatibility with older Hermes versions or AMS/AMS+ can be restored by a simple setting, however its usage is discouraged and unsupported. In 0.4, it is also slow. It is recommended to update your messages to work with Hermes. Apart from the tags though, Hermes can easily be configured to mimic RPGXP default. Compatibility with other scripts is mostly un-tested; please let me know if there are compatibility issues with a certain script. Screenshot DEMOTo find the latest downloadable demo, visit the Hermes homepage. InstallationLike described in the installation section of the users' manual, you install it like this: - If Inserter is already installed into your project, skip to step 6.
- Open your project in RPGXP and then open the script editor.
- Insert a new script at the very top (not directly above main!) and name it Inserter.
- Open inserter.txt in an editor and copy its contents into the newly created script.
- Save the changes and close the script editor (you can close inserter.txt too).
- Open the Data\Scripts folder in your project folder (create it is it doesn't exist).
- If you're updating from an older Hermes version (0.4 or newer):
- Descend in its folder and delete everything except the config folder.
- Rename the config folder to something like config_old.
- Go back up into the Scripts folder again.
- Extract the Hermes folder from the script archive into the Scripts folder.
- If you're updating from an older Hermes version (0.3 or older):
- Open the script editor and find the Hermes script (or Hermes Configuration).
- Copy the setting values into the appropriate files in config/*.rb.
- Delete all the Hermes scripts from the script editor (except Inserter).
- If you're updating from an older Hermes version (0.4 or newer):
- Merge your settings from config_old (>=0.4) into the respective config scripts.
- Delete the config_old folder or move it somewhere else if you desire a backup.
FAQ- Terms and ConditionsYou're free to use Hermes in any kind of project (free, commercial, unrelated to RPGXP, motive for toilet paper, ...). It would be nice if you mentioned my name, showed me your finished project, or tell me you love me, but neither is required. While I do not care if you mention my name, please do not explicitly claim that it's your script. This is beta quality, free-as-in-beer software; I do not claim it serves any useful purpose or doesn't mess up other stuff. You're not entitled to any free support or compensation if something does go wrong. CreditsThanks go out to: - Enterbrain, XRXS, Dubealex for the base and many ideas
- KD, who had helped me a lot with scripting
- Satoru Takabayashi for Ruby/Romkan
- Naramura, Noa, Yinyamina and SilentResident (graphics for the Demo)
This post has been edited by derula: Oct 14 2011, 12:36 AM
|
|
|
|
|
|
|
|
|
Oct 16 2011, 06:11 AM
|
Level 3

Group: Member
Posts: 39
Type: None
RM Skill: Skilled

|
I've been using this in my project for a while now, and it really is great. My favourite feature is probably the animated facesets.
__________________________
|
|
|
|
|
|
|
|
|
Oct 16 2011, 07:05 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
Thanks everybody! QUOTE (superafroboy @ Oct 16 2011, 04:11 PM)  My favourite feature is probably the animated facesets. The next version will come with a few new options for facesets. Not sure when it will be out though.
|
|
|
|
|
|
|
|
|
Oct 16 2011, 07:41 AM
|

PZE Team Member

Group: Revolutionary
Posts: 671
Type: Developer
RM Skill: Skilled

|
QUOTE (derula @ Oct 16 2011, 06:05 PM)  Thanks everybody! QUOTE (superafroboy @ Oct 16 2011, 04:11 PM)  My favourite feature is probably the animated facesets. The next version will come with a few new options for facesets. Not sure when it will be out though. Derula, the speech bubbles -_- Just installed a new software called sticky notes - just to remind me everyday of the bubbles I have to make. And so many other things I forget. Edit: including the avatar
This post has been edited by SilentResident: Oct 16 2011, 07:41 AM
__________________________
|
|
|
|
|
|
|
|
|
Oct 18 2011, 04:57 AM
|

Level 15

Group: Revolutionary
Posts: 285
Type: Artist
RM Skill: Undisclosed

|
this is SO COOL  , i especially like the conversation of the 2 guy that doesnt get restriction by button . must definitely use this edit: can i ask where to change the size hieght of animated pict ? cuz pict im gonna use 96 while the pict hermes used is 128 tried looking at user manual but still cant understand
This post has been edited by supercow: Oct 18 2011, 05:35 AM
|
|
|
|
|
|
|
|
|
Oct 18 2011, 06:41 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (SilentResident @ Oct 16 2011, 05:41 PM)  Derula, the speech bubbles -_- Lol, now it's not that urgent any more, because I won't have much time now anyway. I should have released 0.5 it without the speech bubbles while I had time, but oh well. QUOTE (supercow @ Oct 18 2011, 02:57 PM)  this is SO COOL  , i especially like the conversation of the 2 guy that doesnt get restriction by button . must definitely use this Thanks  Yes, I like that feature too, now that it's finally working correctly. QUOTE (supercow @ Oct 18 2011, 02:57 PM)  edit: can i ask where to change the size hieght of animated pict ? cuz pict im gonna use 96 while the pict hermes used is 128 tried looking at user manual but still cant understand You'll have to edit the configuration file in "Data\Scripts\Hermes\0 - config\3 - face.rb". As pointed out, sadly you can't edit them in Notepad in this version (I'll try to have it fixed in 0.5!), so either use Notepad++ or any other editor you happen to have that doesn't mangle up the file. Open the file it such editor and find this line: CODE HEIGHT = 128 # Height of faces in facesets (pixels) Replace the 128 with 96 and save the file. That should do the trick! Feel free to ask if you have more questions
|
|
|
|
|
|
|
|
|
Oct 18 2011, 07:05 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (maximusmaxy @ Oct 18 2011, 04:56 PM)  I think this script may be a Ccoa's UMS killer! I've been looking for a script that does the active conversation thing for a while now, It's really cool. Thanks  though I don't think Hermes is a complete UMS "killer" yet. Ccoa's script still has a few features that Hermes doesn't. And I'm not sure... but because Hermes has such complicated features, it generally breaks any message window extensions other scripts may include, so this might be a point where Ccoa's performs better.
|
|
|
|
|
|
|
|
|
Oct 19 2011, 01:44 AM
|

Level 15

Group: Revolutionary
Posts: 285
Type: Artist
RM Skill: Undisclosed

|
thx it worked  , i downloaded notepad++ and i see why u use it cuz its quite convenient to write code. another question  , is there possible for animated pict to use more than 4 repeated pict? cuz i was thinking of making the pict blink also and it might need more than 4 repeated pict... dont have any other question now since im still adjusting to it
|
|
|
|
|
|
|
|
|
Oct 19 2011, 07:41 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (supercow @ Oct 19 2011, 11:44 AM)  thx it worked  , i downloaded notepad++ and i see why u use it cuz its quite convenient to write code. Actually I don't use Notepad++ myself  I'm on Linux and usually use KatePart for coding. But I guess it's sort of similar in features. QUOTE (supercow @ Oct 19 2011, 11:44 AM)  is there possible for animated pict to use more than 4 repeated pict? Yes, you can use as many frames as you like! Just pile them up vertically. Note that if you put more than one animation in a single graphic (up to four), all of them need to have the same number of frames. But across different files they can have different numbers of frames, of course. The only global constraint is that each frame has to have the same height, throughout the game, including non-animated faces.
|
|
|
|
|
|
|
|
|
Nov 1 2011, 07:31 PM
|

Level 2

Group: Member
Posts: 17
Type: Artist
RM Skill: Undisclosed

|
This is great! I really like this a lot and plan on using it, so thanks for making such a slick message system. However, is there a way to set the x and y (and preferably width and height) of a message window manually through a script call or something? In my game, I have a kind of message HUD thing that changes between maps. I'd love to use Hermes windows for this, but I can't figure out how to put them at a specific location.
Also, is there any way to change vertical line spacing?
By the way, \popup[-1,async] doesn't seem to work very well. Only the first two letters of the message appear, and they just flicker.
This post has been edited by Perihelion: Nov 1 2011, 07:45 PM
|
|
|
|
|
|
|
|
|
Nov 2 2011, 09:29 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (Perihelion @ Nov 2 2011, 05:31 AM)  This is great! I really like this a lot and plan on using it, so thanks for making such a slick message system. You're welcome  QUOTE (Perihelion @ Nov 2 2011, 05:31 AM)  However, is there a way to set the x and y (and preferably width and height) of a message window manually through a script call or something? Sort of. You can set the spacing from the border in y direction, set the width, and make it auto-adjust height to its contents. See the users' manual (settings margin, width, shrink, respectively). QUOTE (Perihelion @ Nov 2 2011, 05:31 AM)  In my game, I have a kind of message HUD thing that changes between maps. Come to think about it, I could add a way so that you can open Hermes windows from script calls properly, with a special set of settings, so that global settings remain untouched. Definitely possible. Though... my time is so limited... QUOTE (Perihelion @ Nov 2 2011, 05:31 AM)  Also, is there any way to change vertical line spacing? Indirectly. See line_height in the docs linked above. QUOTE (Perihelion @ Nov 2 2011, 05:31 AM)  By the way, \popup[-1,async] doesn't seem to work very well. Only the first two letters of the message appear, and they just flicker. That's... bad... could you maybe test it in the Hermes Demo? It has a (totally hidden) achievement if you witness a murder by standing in the southeast map area when it happens... it uses a \p[screen,async]... I've never seen it fail, but obviously, I don't test out that part before every release. It's a very depressing scene. xD
|
|
|
|
|
|
|
|
|
Nov 2 2011, 10:01 AM
|

Level 2

Group: Member
Posts: 17
Type: Artist
RM Skill: Undisclosed

|
Yeah, I was trying to figure out how to make a Hermes window through a script call so I could set the x and y of the window manually, but I couldn't figure out what all the parameters were. You may want to consider adding a comment that explains them and says what type they're expecting.
def initialize(char, text, proc = nil, options = nil, init_opacity = 0)
Like text and init_opacity seem to be fairly straightforward, but I wasn't sure what to put for the rest of them. Anyway, if you do decide to add a way to create Hermes windows via script calls, I'd definitely be interested.
I did actually try the \popup thing in the Hermes demo, but I made a new event for it. I was using the 1.02 demo, though, because the 1.04 demo wouldn't open. It said it was using an old version of RM. Not sure if that's a problem on your end or mine.
EDIT: Hermes.shrink = false or $msg.shrink = false in a script call prior to a message box in an event doesn't work. Is it supposed to? I'm testing it in the demo. I can't set margins either, but I assume they might work if I could turn shrink off. Shrink works just fine if I change it in the config file (although are unshrunk windows supposed to be vertically centered? looks weird), and I can set other things like message box width.
By the way, is there a way to set parameters for only the following message box?
This post has been edited by Perihelion: Nov 2 2011, 12:35 PM
|
|
|
|
|
|
|
|
|
Nov 3 2011, 05:11 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (Perihelion @ Nov 2 2011, 08:01 PM)  Yeah, I was trying to figure out how to make a Hermes window through a script call so I could set the x and y of the window manually, but I couldn't figure out what all the parameters were. You may want to consider adding a comment that explains them and says what type they're expecting.
def initialize(char, text, proc = nil, options = nil, init_opacity = 0)
Like text and init_opacity seem to be fairly straightforward, but I wasn't sure what to put for the rest of them. Anyway, if you do decide to add a way to create Hermes windows via script calls, I'd definitely be interested. Well, you're not really supposed to use this right now via script calls, though I think it *should* be possible. char means the event over which it should popup (i.e., the argument from the \p command) or nil when no -2 command was found (I think), proc is the callback proc that is called when the player closes a non-asynchronous message window (or nil when the message should be asynchronous), and options is a Show Choice or an Input Number window defining object (instances of certain classes defined... somewhere, check out the Interpreter mods to see how to use them). Init_opacity is only used if the box is already visible before the call. QUOTE (Perihelion @ Nov 2 2011, 08:01 PM)  I was using the 1.02 demo, though, because the 1.04 demo wouldn't open. It said it was using an old version of RM. Not sure if that's a problem on your end or mine. Well, the 1.04 project will only work in RMXP version 1.04, which adds no new features except a different way to register the demo, so few people use this version. 1.02 works in both versions, however, when I open it in 1.04 and save the project, it updates the version number in the project and it becomes unopenable in 1.02. So that's why I have 2 project files in there. QUOTE (Perihelion @ Nov 2 2011, 08:01 PM)  EDIT: Hermes.shrink = false or $msg.shrink = false in a script call prior to a message box in an event doesn't work. Is it supposed to? I'm testing it in the demo. I can't set margins either, but I assume they might work if I could turn shrink off. Yup, it's supposed to work... Oo I'll have to look at that. QUOTE (Perihelion @ Nov 2 2011, 08:01 PM)  Shrink works just fine if I change it in the config file (although are unshrunk windows supposed to be vertically centered? looks weird), and I can set other things like message box width. The shrunken windows are vertically centered in its place if vertical alignment is also set to middle. So, is works like this: first the alignment is applied to the text, and then the text box is placed around the text. I could add an option to change the behavior though, I guess... QUOTE (Perihelion @ Nov 2 2011, 08:01 PM)  By the way, is there a way to set parameters for only the following message box? Nope, that's why I said it might be a good idea to add a way to allow arbitrary options being defined in Hermes.new. It... would require some changes, but should be possible to implement that possibility. If only I can find some time...
|
|
|
|
|
|
|
|
|
Nov 7 2011, 08:30 AM
|

Level 1

Group: Member
Posts: 13
Type: Scripter
RM Skill: Skilled

|
QUOTE (Cozzer @ Nov 6 2011, 10:50 PM)  I really like this! I can finally just write the dialogue without worrying about whether it will fit into the message boxes... Pretty cool huh? xD Keep in mind though that text width calculation is broken with italic text (RMXP bug, not mine), so that could be cut off if you're unlucky. Also, there's still a fixed line height... I'm not really happy with that, not sure how else to do it either though. QUOTE (Cozzer @ Nov 6 2011, 10:50 PM)  But I confirm that changing $msg.shrink during the game does not work... when I tried it, the game just froze. Meh. Okay, I'll have a look this weekend. QUOTE (Cozzer @ Nov 6 2011, 10:50 PM)  probably it's just a minor accident in the function that turns it on/off. Well... there's not really an isolated function. The settings are actually all changed by one single function based on given rules for each setting. (That makes it much easier to add new settings to Hermes) If that function is broken, it should be broken for all settings. Maybe my rules are broken though. I'll have a look.
|
|
|
|
|
|
|
|
|
Nov 7 2011, 11:32 AM
|

Level 4

Group: Member
Posts: 50
Type: Developer
RM Skill: Skilled

|
QUOTE Pretty cool huh? xD Keep in mind though that text width calculation is broken with italic text (RMXP bug, not mine), so that could be cut off if you're unlucky. Well, I went from having a broken line every 3 to, like, one in 50. So, pretty big improvement, I'd say.
|
|
|
|
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
RPG RPG Revolution is an Privacy
Policy and Legal
|
|