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

Reply via email to