Although I only just pushed the "publish" button on the previous post, I did want to give an update on a couple of other new features that I've implemented, that will be available in the same update that includes support for "bound poses".
First is a new on-chat event that fires when the wearer speaks in chat. The wearer's most recent chat is now available in a variable, and the combination of these two features makes the implementation of chat filters, garblers (think gags) or other manipulations of speech possible. The on-chat event and the speech variable operate even if speech is prohibited (via mayspeak no), which allows for an interesting effect where open chat is suppressed but attempts to speak are redirected as IMs to an owner. When coupled with an inability to hear anything except the sub's owner's speech (via mayhear no mayhearme yes), this enforces an isolation from other people in SL and a dependence on the owner that's much more effective that simply forcing the use of IMs. Since the sub's owner's speech is still audible, people who overhear (one side of) a conversation are likely to figure out what's going on, which some subs may find exciting.
At the moment, implementing a decent garbler would be pretty hard, given that it would have to be done using the Mesmerizer's built-in expression language. If I want to support this use, it would probably be better to create an "extension point" where an external script can interface with the Mesmerizer in a supported way.
The second new feature is the ability to store and execute scripts in notecards. A script is any sequence of Mesmerizer commands, although as the original intent was to allow a Mesmerizer to carry around a collection of trances, there is special support for writing text to the wearer's screen. Indeed, the initial implementation only supported scripting of trances, automatically enabling a spiral and background pictures during the run of a script. However, the ability to use any Mesmerizer command means that Mesmerizer scripts are capable of being much more that just hypnosis scripts, so now the background pictures and spiral have to be explicitly enabled by the script. While my expectation is that they will still be used primarily for stored trances, scripts can also be used to collect any sequence of commands into something that can be run by a single command. So they are rather like the existing execute command (which allows the firing of a trigger), except that they're much better suited for running long sequences of commands, and that you can define any number of them without causing trigger recognition to slow down.
The big down-side of these scripts is, of course, that they are notecards, which means they can't be added or altered dynamically. I have been considering supporting in-memory storage of scripts as an alternative, which would allow them to be dynamically modified. My concern with that is around memory management - avoiding the dreaded stack/heap collision error. I think I need to come up with a robust solution to that before I make dynamic scripts public.
Both these features, along with the bound poses and the accompanying re-vamp of modes, should be available in the beta version soon. To upgrade, just send me an IM and I will swap your existing Mesmerizer for the current version.
No comments:
Post a Comment