[=Verdana][=-1]Hello Layonara Community!
Just over a month ago, when I released the current module revision (3.21.3), I included this comment at the end of the list of updates:
- One other secret but really cool thing that I'll tell you all about once I'm sure it's working and not causing other problems *grins mysteriously*
[=Verdana][=-1]At the time, I was not ready to announce the feature, as I wanted to get some real, in-game testing done on it, both myself and with the assistance of the GM Team. Testing went very well, and now, as the title of this tread suggests, I'd like to introduce everyone to some rather nice changes to the text and chat parsing system.
Anyway, on to it (and yes, I know it's a bit long)...
With Bioware's 1.69 update, they added an OnPlayerChat event handler, which essentially intercepts typed text from a game client and allows a module to process the text and take actions on the text. When we went to 3.2 (and beyond) orth utilized this event to process and *emotes*, which has been significantly faster than processing through our existing listener system. However, it didn't apply to all features, specifically those using self-tells (/o) and those that resulted in replacing typed text with something else entirely (i.e. language parsing).
So, I got curious and did some experimenting, and in the course of an evening that led to having an alternate system for handling commands, language parsing, speaking through animal companions/familiars/summons/etc. and that whole set of stuff that you use /o something-something-something to accomplish.
The self-tell (/o) is still managed and intercepted by the listener, so what I did was come up with an alternate way to enact a self-tell so that the listener could be bypassed, letting the OnPlayerChat handler process the contents of that equivalent self-tell. Whatever is typed would then be processed and altered in some way before being displayed, if it was to be displayed at all.
To accomplish this, I chose a single character that is not ever likely to start any text chat in-game in any way and I used this as the indicator for special text processing. The character I chose is the equal sign (=).
So how does it work?
Well, it's simple. Any place you'd have used a /o use = instead
So instead of /o c sits type =c sits
/o e waves -> =e waves
/o L Say something in another language -> =L [/][/][=-1]Say something in another language
[/][=-1](note, these are not case-sensitive, but I thought I'd use upper-case L in this example for clarity)[/]
The syntax is similar for familiars (=f), summons (=s), and so forth.
I hope that makes sense.
Part of my motivation for this was to see if the request for GM-spoken text to be highlighted could indeed be done. Well, it can, and GMs now have the ability and option to highlight their spoken text, whether spoken directly or spoken through an NPC.
I want to stress: This is an optional system. A GM is in no way obligated or forced to use this highlighting, nor should anyone badger a GM to do so. Some GMs will use it, some will not. There are compelling arguments on both sides, and in the end, I decided it would be best to have it be an option rather than "always on" sort of feature. The end decision as to whether or not to use the system and under what circumstances is entirely up to the GM.
When used, GM-spoken text will be highlighted in ORANGE.
It's worth noting that this only functions in the "Talk" and "Party" channels. DM and Whisper channels work as they have, and tells are still green.
And finally, the extra added goodness
You may be wondering, why use the = method when the /o method is so ingrained and everyone knows it?
Well, there's two very good reasons.
1) It's faster....much faster.
2) It can handle longer strings of text than the /o method.
On the latter, yes, this means that the limit of approximately 100 characters on a typed text string, whether for language processing or speaking through a summons or familiar, simply does not apply using this new method.
To put this another way, gone are the days when you type out some well-written comment through a summons, hit ENTER and have nothing show up in the window because it's 3 characters too long. Gone is the need to limit your phrases when speaking in an alternate language to a shorter message so that the listener can handle it.
And did I mention it's faster?
So there it is. It may take some retraining of everyone's habits, but I think in the end, you'll all be quite a bit happier with how it works than the prior self-tell (/o) system. Self-tells are still going to be an option, at least for now, and both systems work just fine together, but once you use this one, you'll see a significant difference.
So enjoy! And of course, if there are any questions, just ask.[/]