ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
sdk_event registry (Sdk)
sdk_event registry // SdkbrantFeb 9, 2004, 7:21pm
Hi all,
After looking through the documentation on the 3.5 toolbar functions at www.activeworlds.com/help/aw35, it seems to me that there's an opportunity here to set a standard for using sdk_event commands before the SDK is released and bot developers begin developing toolbars. If you're not sure what this command is, be sure to check up on the documentation. The event specifies a "message id," upon which a bot performs a specific function. The id is any number between 0 and 2^15-1. You can probably start to see the problem: everybody who develops a bot that wants to use a toolbar will use message id's 0, 1, 2, etc. That works fine for toolbars put out by the developers themselves, but what if someone is starting a new world that wants to run a ChatRelayBot at the same time as a Magsbot? If both assign an important function to id_number zero, then when the ChatRelayBot is commanded, the Magsbot will perform an unrelated action. Imagine trying to change your chat color when the Magsbot interprets your button click as a command to delete your house! This problem can be easily solved by someone maintaining a simple registry for sdk_event "message id's. " I doubt that any time soon AW's bot developers will find a way to assign commands to all 32767 id's, so for the time being, each command can be assigned a unique id. For example, a Xelagot could use sdk_event message_id's 0 to 15, while a paintball bot could use message_id's 16 to 25, and so on. This registry could be maintained on a simple HTML page where each bot is listed along with its assigned "id range." If the coordinator of this list is thourough enough, then toolbar developers can simply look at that page and incorporate the commands they would like to use in their new toolbars. Perhaps a set of "standard" actions could also be assigned a "reserved" set of id's; for example, id 200 could be reserved as a "teleport user to GZ" command for all bots that want to support it. Note that the goal here wouldn't be enforcement of these id's - if someone wants to run a bot that's non-compliant in his or her world, then that's his or her business to explain to users that "standard" toolbars wouldn't work correctly in that world. Perhaps someone (or a group of people) would be interested in taking up this project? xelagFeb 9, 2004, 9:56pm
Brant,
recently, a similar issue was raised regarding the taskbar icon numbers on toolbar.cfg. Their icon idex number is fully customisable. The current official \TOOLBARS\toolbar.cfg (using the correspondent bitmap) has its own icon location, and many non-assigened locations. I suggestaed to Bill that AWI publishes a list of prefered index locations. The issue of the message ID is much more complicated. It resembles the issue of ports in winsock connections. Moreover, it should be in princilple world dependent... although the current implementation denies that dependency, so for general purposes the system is not practical. For it to work, each world would need its own definition list of buttons/message id, fully customisable on the fly when you enter the world, similar to the avatars.dat system (supposing in future this system will get more flexible by allowing the world to specify the name of the avatars.dat file, otherwise we remain stuck as we are now to OPs). This would also mean that bots implementing this should have a way to allow customisation of these message id numbers (for example, using an ini file, which can be altered by the world owner). The world owner could then decide which id numbers are assigned to which bots/actions. This is the only way I imagine this quite attractive system could work. It seems AWI is mistakenly trying, against the general wish of world owners for more independent features, to concentrate more and more world 'facilities' onto 'OP facilities', see the newly introduced user.ini in the OP cache, that forces you to wear the same avatar on all worlds that share an OP. And in this case, a general per universe set of browser buttons/message ids is totally absurd. Cheers and nice to hear from you, Alex On 9 Feb 2004 16:21:19 -0500, "brant" <awteen at shoemakervillage.org> [View Quote] >Hi all, > >After looking through the documentation on the 3.5 toolbar functions at >www.activeworlds.com/help/aw35, it seems to me that there's an opportunity >here to set a standard for using sdk_event commands before the SDK is >released and bot developers begin developing toolbars. If you're not sure >what this command is, be sure to check up on the documentation. > >The event specifies a "message id," upon which a bot performs a specific >function. The id is any number between 0 and 2^15-1. You can probably >start to see the problem: everybody who develops a bot that wants to use a >toolbar will use message id's 0, 1, 2, etc. That works fine for toolbars >put out by the developers themselves, but what if someone is starting a new >world that wants to run a ChatRelayBot at the same time as a Magsbot? If >both assign an important function to id_number zero, then when the >ChatRelayBot is commanded, the Magsbot will perform an unrelated action. > >Imagine trying to change your chat color when the Magsbot interprets your >button click as a command to delete your house! > >This problem can be easily solved by someone maintaining a simple registry >for sdk_event "message id's. " I doubt that any time soon AW's bot >developers will find a way to assign commands to all 32767 id's, so for the >time being, each command can be assigned a unique id. For example, a >Xelagot could use sdk_event message_id's 0 to 15, while a paintball bot >could use message_id's 16 to 25, and so on. This registry could be >maintained on a simple HTML page where each bot is listed along with its >assigned "id range." If the coordinator of this list is thourough enough, >then toolbar developers can simply look at that page and incorporate the >commands they would like to use in their new toolbars. Perhaps a set of >"standard" actions could also be assigned a "reserved" set of id's; for >example, id 200 could be reserved as a "teleport user to GZ" command for all >bots that want to support it. > >Note that the goal here wouldn't be enforcement of these id's - if someone >wants to run a bot that's non-compliant in his or her world, then that's his >or her business to explain to users that "standard" toolbars wouldn't work >correctly in that world. > >Perhaps someone (or a group of people) would be interested in taking up this >project? > tony mFeb 9, 2004, 10:32pm
Brant,
You brought up a very good point, and XelaG has also made his point on this ID number being world-dependent. Since it doesn't seem like AWI will be changing this any time soon, the system you described is probably the best way to go about this. Until then, I do not have any plans to support the SDK_EVENT system within any of my bots (since I myself abhor version 3.5). However, I do recall that UberMonkey may be planning to use SDK_EVENT in Proxima; a standard system like the one you proposed would be helpful for everyone. [View Quote] xelagFeb 10, 2004, 4:53am
I welcome all initiatives, of course. As far as I am concerned, I do
not think I will include support for this function in xelagot, as it does not apply to individual worlds. As it is described in the beta documents, this becomes a universe function, (wrongly) customisable by individuals by changing the toolbar.cfg (that applies to the particular browser used for a particular universe). Totally unpractical for world owners. It's an excelent idea, poorly planned, even more idiotically than the user.ini at OP level. I hope that AWI will find a use for this function that can benefit individual world owners; only then will I consider (and sure will) implementing this in my bots. Alex --- [View Quote] >Brant, > >You brought up a very good point, and XelaG has also made his point on this ID number being world-dependent. Since it doesn't seem like AWI will be changing this any time soon, the system you described is probably the best way to go about this. Until then, I do not have any plans to support the SDK_EVENT system within any of my bots (since I myself abhor version 3.5). However, I do recall that UberMonkey may be planning to use SDK_EVENT in Proxima; a standard system like the one you proposed would be helpful for everyone. > > [View Quote] --- my previous posting Brant, recently, a similar issue was raised regarding the taskbar icon numbers on toolbar.cfg. Their icon idex number is fully customisable. The current official \TOOLBARS\toolbar.cfg (using the correspondent bitmap) has its own icon location, and many non-assigened locations. I suggestaed to Bill that AWI publishes a list of prefered index locations. The issue of the message ID is much more complicated. It resembles the issue of ports in winsock connections. Moreover, it should be in princilple world dependent... although the current implementation denies that dependency, so for general purposes the system is not practical. For it to work, each world would need its own definition list of buttons/message id, fully customisable on the fly when you enter the world, similar to the avatars.dat system (supposing in future this system will get more flexible by allowing the world to specify the name of the avatars.dat file, otherwise we remain stuck as we are now to OPs). This would also mean that bots implementing this should have a way to allow customisation of these message id numbers (for example, using an ini file, which can be altered by the world owner). The world owner could then decide which id numbers are assigned to which bots/actions. This is the only way I imagine this quite attractive system could work. It seems AWI is mistakenly trying, against the general wish of world owners for more independent features, to concentrate more and more world 'facilities' onto 'OP facilities', see the newly introduced user.ini in the OP cache, that forces you to wear the same avatar on all worlds that share an OP. And in this case, a general per universe set of browser buttons/message ids is totally absurd. Cheers and nice to hear from you, Alex |