Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
xelag // User Search
xelag // User SearchCy Award winning paintball bot to be released as freewareMar 18, 2001, 10:58pm
Well, when I did beta test your first version, before you got the CY, you
stated it was for public release. I was rather disappointed when it wasn't... When you got the CY, I also thought you had made it available, but that was not the case... I was surprised because I thought the the category Technical Innovation was reserved for freely available programs. This is why I am pleased now that you have finally made up your mind to make it available to the community. Keep up the good work :) XelaG VB SDKMar 27, 2001, 4:31am
Xelagots: new approach to disconects implementedMar 27, 2001, 4:14am
For Xelagot users:
The latest version fixes the Announce Text bug introduced a week ago. For programmers: It also has a brand new way of dealing with disconnections. Up to this version, the bot relied on the SDK to handle disconnections. Very often, the blocking action of the Winsock code used by the SDK would freeze the bot and user interface during a disconnection. Now, I use the following method: 1. If the session number of the bot (aw_session), which I monitor at every 'heartbeat' and in every event handler and callback, changes to one of these: RC_CONNECTION_LOST RC_UNABLE_TO_CONNECT RC_NO_CONNECTION I issue and aw_destroy to log off the bot, and try periodically to create a new instance and log the bot back in until this succeeds. 2. But, if the bot gets a world error event indicating a disconnection, without its session number changing to an error code as above, I issue a aw_exit and then periodically an aw_enter. So the bot still stays in the Universe in this case. The codes I use here are the ones given in the event world_disconnect for rc: RC_CONNECTION_LOST // 471 RC_UNABLE_TO_CONNECT // 429 RC_NO_CONNECTION // 439 RC_NO_SUCH_WORLD // 27 RC_WORLD_NOT_RUNNING // 489 (admin closed world) These same error codes are tested in the aw_enter callback: any other error code will stop the bot from carrying on trying to enter the world, these five will trigger a timer (60 seconds later) to issue a new aw_enter. Note that blocking still occurs: aw_login and aw_enter block. The callbacks for both of these, as far as I could establish, are synchronous instead of asynchronous: the function returns only after the callback has triggered. But this blocking is less, usually, than the one happening during disconnections if one leaves the SDK go it's way. A few weeks ago, Roland advised me to use a similar method to the one I have now adopted: at any sign that something has gone wrong, destroy the instance and try to log back in. I am using a slightly milder approach :) XelaG Anyone know how to make a bot respond in VB?Apr 3, 2001, 2:23pm
If you don't call AW_WAIT, you don't collect the events anyway, and after 60
seconds or so, your bot gets disconnected. So as MrGrimm says: *install* the event handler using AwEventSet AW_EVENT_AVATAR_ADD (or else sdk_EventAvatarAdd() will never get triggered because it is not recognised as an event handler by the aw.dll), and then *call* sdk.AwWait 0 once a second (or more often if you like, I call it 16 times a second now in the new xelagot, the AW browser calls it at every frame). To call AwWait, you can use a windows Timer if you like, set to an interval of 1000 milliseconds or even less (mine is at 64 milliseconds) XelaG [View Quote] Anyone know how to make a bot respond in VB?Apr 3, 2001, 3:33pm
[View Quote]
aw_state_change? LOL :)
Getting "my" session numberJun 11, 2003, 6:45am
Notice a peculiarity of this attribute: Not only does it give you the
session number of the bot, it also changes to an error code when the bot gets a universe disconnect. ActiveWorlds SDK does not have a general disconnection event. It has a world disconnect event, and an undocumented change of the session number to an error code whenever the universe gets disconnected from the bot. Unfortunately, legitimate session numbers can also coincide with error codes,. I mentioned this peculiarity to Roland Vilett, but never got a satisfying answer. In practice, I noticed that since the almost first 500 numbers which could correspond to error codes are seldom used as legitimate session numbers in the session number recycling process, I have been able to use this undocumented oddity to help establish disconnections. There are 5 such 'reason' codes which appear as session numbers I use as a trigger: 27 = no such world 429 = unable to connect 439 = no connection 471 = connection lost 489 = world not running (i.e. admin closed world) Alex [View Quote] >"milesteg" <MilesTeg at nerim.net> wrote in >news:3ee4b6ca at server1.Activeworlds.com: > > >Yes, you may hit my head with a heavy object now. DOH! Thanks :-)) > >KAH Getting "my" session numberJun 13, 2003, 3:27am
Will,
it would be better if the question were addressed properly: a universe disconnect needs an event handler. It does not have it, and session numbers are at present the only way to detect them with the SDK. This is NOT the function of a session number. Alex On 11 Jun 2003 14:00:43 -0400, "mrgrimm" <will at activeworlds.com> [View Quote] >These are the only error codes that would be returned by aw_session: > >RC_NOT_INITIALIZED >RC_NO_INSTANCE >RC_NO_CONNECTION > >-Will > [View Quote] global mode issues: re-loginJun 13, 2003, 3:33am
In a very honest email, Roland Vilett suggested to me that if any sort
of disconnection occurs, destroy the instance and start all over. This was his strategy, a bit extreme, but it works (xelagot uses a milder strategy). I keep a boolean varialble for 'desired global mode', and always set my wish (yes or no global mode) when logging into a world. It works. Alex [View Quote] >Normally, when a bot is disconnected (eg. line is disconnected), he will >automatically reconnect when it is possible again. > >However... > >I noticed, that with bots in global mode, they often (or always?) log >back in normal (non-global) mode. > >The documentation does not say whether this is the intended behaviour or >not, but it appears to me that, on/after each disconnect, the wisest >decision is to destroy the instance and log the bot back in manually. sdk issues / GLOBAL MODEJun 13, 2003, 3:20am
Oddities with add, change, delete are common in extreme bad
internet-weather situations. But global mode seems to favour oddities rather than regularities, even in the best of weathers :) Alex On 11 Jun 2003 17:20:45 -0400, "tony m" <pcgeek05 at myrealbox.com> [View Quote] >One oddity that Xelagots make more of a note of is that sometimes a global bot will receive an AW_EVENT_AVATAR_CHANGE/DELETE without an AW_EVENT_AVATAR_ADD event. > [View Quote] SDK 31Jun 13, 2003, 3:15am
http://www.imatowns.com/xelagot/xlgwhatsnew_beta3_4.html
Please check this page for details. I need to add that lately, bots in global mode with the latest SDK have shown annomalies which I consider quite serious. Apparently, AW does not. 1) caretaker bots in global mode have had spontaneous ejections from their own world, giving an error message reason 467 not welcome. ActiveWorlds responded: ---- RC_NOT_WELCOME (467) is sent in the following cases: * World not running * Citizen without enter rights (in response to world attributes change) * Citizen without enter rights (when entering the world) * Bot without bot right or without enter and without caretaker ---- This seems acceptable to AWI.. My comment is that "World not running" has nothing to do with "Not welcome" or the rights to enter or remain in a world. In fact, world not running has its own reason code: 489 World not running. My bots, and possibly others, rely on the reason codes. When my bot gets a not welcome or an ejected message, it DOES NOT log back into that world automatically, out of respect for the world owner. This means that if AWI does not fix this reason code mistake, caretaker bots will possibly get disconnected with the wrong reason (not-welcome) and not log back in. This is now happenning in an Dutch universe, and is very unwelcome.... Other error codes are also being sent to caretaker bots in global mode: reason 92 "No tourists". This has been acknowledged by AWI as not acceptable. I hope AWI takes these bug-alerts seriously. Alex Problemes using AW SDK with visual c++Jun 20, 2003, 9:53am
This is exactly as what I do in Delphi with Xelagot: I define a
procedure which is NOT a class member, install it with aw_event_set, and in that procedure I call the bot's own class procedure. Alex On 16 Jun 2003 09:38:10 -0400, "agent1" [View Quote] >I believe the problem is that the function you are trying to use is a class member. >That doesn't work very well with the AW SDK, so what I sometimes do is add > another function that is not a class member for the actual callback and use it >to call your real callback function. > >-Agent1 Additional Tourist Avatars by Bot????Jun 20, 2003, 9:26am
The current SDK build 31 has a bug: it will set correctly the avatar
of a tourist to a number higher than 1 (0 and 1 are the tourist avatars), but the bots will "see" the tourist as wearing avatar 0. The bots get in this case two avatar_change events for the tourist: the first one with the correct avatar number (say avatar number 9), and inmediately afterwards, one with avatar number 0 for the tourist. Avatar_add events for this tourist give avatar 0. I file in a bug report to Bill about this. Alex On 17 Jun 2003 08:51:08 -0400, "baron sweetman" [View Quote] >www.petrossa.com/Chazbot, has a full set of avatar settings on a per >visitor basis > >"lady barbara" <barbeisner at msn.com> wrote in >news:3eeed4a0$1 at server1.Activeworlds.com: > > Additional Tourist Avatars by Bot????Jul 1, 2003, 10:56am
The bug I refer to is not that tourists may have more avatars than
just the two traditional ones: if you read my post correctly, I say that bots do not see that change: that is the bug - bots must see what the browser sees. Alex [View Quote] >It may be a bug, but it has worked fine for us in our world and actually has >impressed alot of new-comers into evenually becoming registered citizens! [View Quote] Xelagot: final bot SDK soon expectedJun 20, 2003, 10:04am
Hi folks,
I talked with Bill Hoover yesterday on phone: they are working on the final 3.4 SDK, which they will release soon. The current beta SDK build 31 has a few bugs, and is missing one new world attribute. This will hopefully be fixed soon :) That means that my own Xelagot 3.4 will remain in beta until we get the final SDK 3.4. Alex VB SKD?Jun 23, 2003, 2:17am
Hi,
I program in Delphi, but I often get bot questions from VB programmers. The VB SDK links on my page point to a broken MrGrimm's page URL. Can anyone provide me with the valid link? Thanks, Alex VB SKD?Jun 23, 2003, 2:21am
To clarify: I need a link to the VB SDK and to the help pages :)
[View Quote] >Hi, > >I program in Delphi, but I often get bot questions from VB >programmers. The VB SDK links on my page point to a broken MrGrimm's >page URL. Can anyone provide me with the valid link? > >Thanks, >Alex Re: who forgot to post the sdk build 32 ? ;)Jul 4, 2003, 11:48pm
It' s getting weirder than weird.
I got this telegram: Telegram from MrGrimm, sent Sat Jun 28, 2003 11:35: those links should be working again (vb sdk) and was glad that the VB sdk was finally out . And then I noticed that the SDK he was referencing was build 32. We have SDK 31. Nowhere can we download SDK 32. What's up AW? Alex [View Quote] >I saw that a VB wrapper made around a sdk Build 32 is available. so I m >wondering why the C sdk build 32 is not available yet? Someone forgot to >post it on the website? ;) > >Regards, >MilesTeg > Re: who forgot to post the sdk build 32 ? ;)Jul 7, 2003, 10:48pm
So is my Xelagot, July 6th :)
[View Quote] >Build 32 of the SDK is there today.. July 4th. > [View Quote] SDK 32 serious bugJul 10, 2003, 2:25am
Dear devteam, Bill, E N Z O,
a couple of weeks ago, testing SDK 31, I corresponded with Bill about a serious bug in the forced avatar change code regarding tourists. This bug has NOT been fixed in SDK 32, and leads to much confusion. I will give an example, to show the bug. Supposing the world server, and the clients are 3.4 compliant. An SDK 32 caretaker bot can change the avatar of other clients. When it comes to tourists, this happens "Cheng" comes in with avatar 1 (female tourist in most worlds) [Creep] that is a caretaker, changes her av to avatar 7 all browsers see her wear avatar 7 (including herself) bots see something different they get first an avatar_change event with avatar 7 (same as browser do), followed almpst inmediately by an avatar_change event with avatar 0 (the male tourist avatar). That means that the information bots get does not correspont with what browsers get. It may be that some code is left over in the bot SDK which does not correspond with the code in the browser. In any case, I would like to ask you to check this. I have tested this myself and with Anne of DLP. I am posting this in the relevant newsgroups too, so that bot makers and users know about this SDK 32 bug, hoping it will be removed soon. Alex SDK 32 serious bugJul 10, 2003, 10:55pm
:(
[View Quote] >It seems the only way to get their attention is to use a lot of nasty >language in your subject line now. ;) SDK 32: forced avatar change serious bugJul 10, 2003, 2:27am
Dear devteam, Bill, E N Z O,
a couple of weeks ago, testing SDK 31, I corresponded with Bill about a serious bug in the forced avatar change code regarding tourists. This bug has NOT been fixed in SDK 32, and leads to much confusion. I will give an example, to show the bug. Supposing the world server, and the clients are 3.4 compliant. An SDK 32 caretaker bot can change the avatar of other clients. When it comes to tourists, this happens "Cheng" comes in with avatar 1 (female tourist in most worlds) [Creep] that is a caretaker, changes her av to avatar 7 all browsers see her wear avatar 7 (including herself) bots see something different they get first an avatar_change event with avatar 7 (same as browser do), followed almpst inmediately by an avatar_change event with avatar 0 (the male tourist avatar). That means that the information bots get does not correspont with what browsers get. It may be that some code is left over in the bot SDK which does not correspond with the code in the browser. In any case, I would like to ask you to check this. I have tested this myself and with Anne of DLP. I am posting this in the relevant newsgroups too, so that bot makers and users know about this SDK 32 bug, hoping it will be removed soon. Alex Avatar locationAug 7, 2003, 3:22pm
On 2 Aug 2003 17:11:56 -0400, "baron sweetman"
[View Quote] >"strike rapier" <strike at Rapiercom.freeserve.co.uk> wrote in >news:3f2c2744 at server1.Activeworlds.com: > >so then you know why there is 2 bytes overhead for a newline and not one one byte: "\n" is one byte in binary, and that is what is sent. "\n" is only an escape sequence representing one byte and only one byte... one byte! :) Alex Sheriff badge on xelagotsApr 2, 2001, 2:16pm
The newest version of X1 xelagot shows PS in bold and PK carrying sheriff
badge in the presence list (3.1 worlds only)... you can spot authority at a glance ! Bot logout/loginAug 18, 2003, 9:59am
Make sure you trigger aw_wait at regular intervals, I suppose you do,
but just in case :) On 18 Aug 2003 03:48:16 -0400, "dm mercury" <dmmercury at houston.rr.com> [View Quote] >I have been observing my bot in .NET and noticed that it seems to enjoy >appearing to log out of the world fora brief moment and then log itself >back in. When watching the bot it is in the world does the greet people >etc... then while idle it seems to just log out(avatar disappears). After a >random amount of time the bot seems to just log back in (does the greet >people stuff again). I was wondering if anyone had experienced this problem >in .net and what the solution may be. If it wants to log out like that it >is fine if there is a particular sdk event for such an occurance. So my >question is how can this be resolved with or without a sdk event? > >DM > Bot logout/loginAug 19, 2003, 1:02pm
There is a way to check whether a disconnect is from the world or more
generally from the universe: when the bot's session number changes to 439 No connection, you have a universe disconnect. I check the bot's session number at least once in ever aw_wait loop. Alex On 18 Aug 2003 19:37:28 -0400, "strike rapier" [View Quote] >Anyway... the correct way to do it is as follows... > >You need to track several booleans and events in your program from the >second you load it, obviously you can only recieve certain events at certain >times in certain states, hence this works... > >Set the events for world attributes change, and universe attributes >change... you also need a boolean for 'Inworld' and 'InUniverse'... > >Right after RCless login, set InUniverse and InWorld to true.. this >signifies that you are in the world... > >You also need a variable called blnDissconected... > >When you recieve a dissconect event, set blnDissconected to true... Because >youc an recieve uni and world attributes seperatly without having to >reconnect, if you recieve them, if you then check against blnDissconected, >if it is false you can dissregard it (appart from whatever bot handling you >want for these events)... > >Anyway, when your dissconected set bldDissconected to true... there is no >way of detecting if you dropped out of the world or the uni, appart from by >checking an aw_string like AW_WORLD_NAME for an RC code I believe... Anyway, >depending on that set either InUniverse and / or InWorld to false... > >Now then... > >As the SDK reconnects itself it will retrieve these various events, if you >recieve world attributes first after dissconection, then it was only world >departure, not uni departure... Moving on... When you recieve these events >check if InWorld / InUniverse is false.. if it is, set it to true as the >event occurs... > >So say you get uni dissconected.. this is what would happen... > >blnDissconected = true ><check world status> Lets just pretend we killed out modem a second... > blnInWorld = false > blnInUniverse = false > <if AW_DISSCONECT_REASON == (RC_EJECTED || RC_NOT_WELCOME) We have just >been dealt with, with eject or world change.. no need to do anything we have >been killed at world level.. so set blnInWorld to false...> ></Check World Status> > >[SDK Reattempts login here]... > ><Event Universe Attributes> >if (blnInUniverse == false) >{ > blnInUniverse = true; > blnDissconected = false; >} ></Event Universe Attributes> > >[SDK checks if we need to re-enter world] >[Not in world previously, stops here] > ><Event World Attributes> >if (blnInWorld == false) >{ > blnInWorld = true; >} > >Well, I think that *Should* work... Note I only typed it out just now cause >my PC will explode if I load up Zeus in .NET at this point in time... > >- Mark > [View Quote] Build 20 of the SDK now availableApr 4, 2001, 10:53pm
Tony, the question mark corresponds to a world status of
AW_WORLDSTATUS_UNKNOWN, this happens I think when the connection between the world server and the universe server is not fully operational. They may have been having connection problems yesterday. [View Quote] TeleportingApr 6, 2001, 6:38am
Motion of avatars (including bots) is controlled by the browser of the
person viewing the scene. Short distance teleports cause the browser to move the avatar along a path as if it were walking from one place to the other. Relative teleports is a notion related to objects in a world (the action field of the object). As bots do not feel collision (they do not have the built in browser detection for that), a bumpt teleport will not work with them. Xelagots have verbal commands for motion, you can tell them 'move forward 3.5' to advance 3.5 metres. There are quite a few of those commands, check the help pages online. XelaG [View Quote] AW Objects - database?Apr 6, 2001, 5:47pm
[View Quote]
Well I did give up with response from AW. Almost one month ago, I was
making objects to complete one of the Mars collections, the translucent pink 'pane' collection. I contacted Facter beforehand by telegram, asking him if they were interested. The reply was 'yes', if I included a registry entry for the objects. I worked hard for one week on these and other Mars objects, and sent the first few objects to Facter, with registry entry.... I never got a reply.... so yes, people do get tired of waiting, we do things for free but it does not mean our time is cheap. Just my 2 cents. AW Objects - database?Apr 7, 2001, 2:04pm
[View Quote]
Except for one thing: you may *not* include a comma in your field. CSV does
allow commas if the field is surrounded by "", xelagots don't. :) |