Hmm OK thinking about this a bit more.
I don't really think that Talkative and client actions should be
conflated at the Vobject level. Instead, I suggest modifying that
aspect of actions like this: The server could provide (a) seperate
MetaObject(s) to which the client can send game-specific actions,.
The same Vobject would also have a metaobject extension that would
simply provide to TerAngreal a list of these actions, and perhaps (or
a separate object maybe?) information about how TerAngreal is supposed
to configure its UI to send them (the mapping between hotkeys, commands
entered in the chat window, a flag indicating whether the chat window
should be primarily-talk or primarily-command, etc.). The actions list
would either be requested by a message, or it would be stored in a
little subtree of vobjects.
Actions could, in fact, be not just for your avatar but attached to any
object in the world. Then you could right-click on an object to see
the menu of actions. Selecting a menu item would send a message to
that object (with certain parameter values, if specified). Your
avatar would be special in that you would have a more direct interface
to executing the actions (hot keys, toolbar, text commands, etc.)
This makes actions useful for any application, even hypervos.
So on the server side you extend the avatar object with some metaobject
type specific to the game like "game:inventory-manager" that accepts
the "game:wield" message. This metaobject could be loaded from a
plugin, or implemented as a script, or whatever. You then also extend
the avatar with a standard "misc:actions" metaobject, and for each item
in the inventory you could add an item to its list (or tree) of actions
that causes the "game:wield" message to be sent to the target object
your avatar, which is also a "game:inventory-manager" object with the
"item-name" field set, or the target could be the weapon itself.
And/or, you just say that it needs a parameter, to be placed in the
"item-name" field of the "game:wield" message and when you type the
command into the text input in TerAngreal, you must also give the value
to put in that field(the name ofthe weapon).
Then the world (sector) vobject might have hints on how to configure
the ui that says "in the command window, commands should be primary,
and chatting prefixed by a quote mark".
In a completely different application, you could just extend various
vobjects with a "misc:actions" metaobject and specify a simple list of
actions to do on them. E.g. "open door", "lock door", "create a new
stock 'news entry' HTML object", etc.
Does this make sense? Maybe it's a bit more complex than you wanted,
but I think it has a bit more utility than just overloading talk
message text.
Reed
_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d