Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
sagaman // User Search
sagaman // User SearchGravity for Bots?Dec 15, 1999, 2:11am
My bots seem to defy gravity. Makes it hard to find the floor if it's not
at 0. Also hard to climb stairs. Does anyone know how to fix this? I also seem to be in a permanant <Shift> mode, so I can't just make the bot sink till it stops. Norm Gravity for Bots?Dec 16, 1999, 1:41am
Well, I've got a walking bot. It walks very well at any arbitrary speed,
but all that does is make it look more like someones avatar. There's still no collision detection, or how ever they do it for avatars. And climbing stairs, no way! I think there must be some missing events in the SDK. I would think you should be able to emulate an avatar pretty completely. Too bad we can't get a *browser* SDK and see how all that stuff is done. > And to slow your bot down (because they go at some hyperdrive speed) you could > make it so when it moves somewhere it doesnt go straight there, but it goes in > increments, like insead of saying "move from 0n 0w to 10n 0w" and it going > straight there at super speed, it could parse that into somethingn like "move > from 0n0w to 1n 0w" then "wait a half a second" then "move from 1n 0w to 2n 0w" > and so on I'm using one second time slices. Norm Gravity for Bots?Dec 16, 1999, 2:12am
Well, after cruising through the SDK docs some more I've realized that the
browser is probably doing all the collison detection and gravity simulation. It has all the rendering smarts and can figure out where objects are and what their surfaces are like. So, in order to duplicate that stuff in an avatar, you'd have to write a lot of 3d code. A much bigger job than I care to take on right now. Been there, done that. Sure would be nice if some of that code were added to the SDK. Norm can i use bot to copy my building work in alpha world?Dec 16, 1999, 2:00pm
Not so. You can't run them near GZ and you're not supposed to use any
automated building software which even includes keyboard macros and certainly builder bots but "copy", as in record objects, why not? Of course using the recording to restore or duplicate objects would be a violation. Norm > Sorry, except for extremely rare occurances, you cannot > use bots in ActiveWorlds can i use bot to copy my building work in alpha world?Dec 16, 1999, 2:04pm
From http://www.activeworlds.com/terms.html
4. Using any automated building tools (including "robobuilder" or keyboard macros) in AlphaWorld. We reserve the right to suspend or remove any world, objects or properties from the Active Worlds universe which is brought to our attention and which we find, in our sole discretion, violates any of these content guidelines or otherwise is in violation of the law. AWCI does not actively monitor the content of the worlds in Active Worlds, but we will investigate complaints of violation of these guidelines. can i use bot to copy my building work in alpha world?Dec 17, 1999, 12:34am
> Hmmm.... It seems that is what I said
No, what you said was... > Sorry, except for extremely rare occurances, you cannot > use bots in ActiveWorlds Which was nonsense. Collison detection for BOTS! Roland don't worryDec 17, 1999, 9:36pm
This is a multi-part message in MIME format.
------=_NextPart_000_000F_01BF48A3.FDAFF6E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Well, as usual the devil is in the details. Item 3 means not simply = being able to get bounding boxes of objects but being able interpret the = surfaces. Try climbing stairs or walking up a hill with just the = bounding box info. Us "little bot programmers" (55 years old, 200 lbs), could use a little = extra code in the SDK to support this, especially since the code already = exists in the browser. I seem to recall that 3d surface collision = detection is pretty non-trivial, but all we really need for this problem = is a true/false, does object A at position P1 touch object B at position = P2? Norm [View Quote] ------=_NextPart_000_000F_01BF48A3.FDAFF6E0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3Dtext/html;charset=3Diso-8859-1 = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2722.2800" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Well, as usual the devil is in the = details. =20 Item 3 means not simply being able to get bounding boxes of objects but = being=20 able interpret the surfaces. Try climbing stairs or walking up a = hill with=20 just the bounding box info.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Us "little bot programmers" (55 years = old, 200=20 lbs), could use a little extra code in the SDK to support this, = especially since=20 the code already exists in the browser. I seem to recall that 3d = surface=20 collision detection is pretty non-trivial, but all we really need for = this=20 problem is a true/false, does object A at position P1 touch object = B at=20 position P2?</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Norm</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: = 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>horizons <<A=20 href=3D"mailto:horizonsx at hrfn.net">horizonsx at hrfn.net</A>> wrote in = message=20 <A=20 = href=3D"news:385aa1c1 at server1.Activeworlds.com">news:385aa1c1 at server1.Act= iveworlds.com</A>...</DIV> <DIV><STRONG>This is one of those stupid things I think of that you = little bot=20 programmers can work out on your own time.</STRONG></DIV> <DIV><STRONG></STRONG> </DIV> <DIV><STRONG>Items the bot needs in order to get Collision=20 detection:</STRONG></DIV> <DIV><STRONG>1.Object registry data.</STRONG></DIV> <DIV><STRONG>2.Object data for area within 120 meter = radius.</STRONG></DIV> <DIV><STRONG>3.Way for the bot to comprehend this = information.</STRONG></DIV> <DIV><STRONG>4.Optional, Some way for the bot to get the avatar's = relative=20 size in relation to local objects.</STRONG></DIV> <DIV><STRONG>5.Optional, You know how Preston downloads midi's and = then get's=20 the time for them someway to get at the rwx files and the bot to kind = of=20 render them without it visually taking place.</STRONG></DIV> <DIV><STRONG></STRONG> </DIV> <DIV><STRONG>Steps to make collision detection.</STRONG></DIV> <DIV><STRONG>1.!IMPORTANT! Get registry and Object Data loaded to the = program=20 for active use, possibly setting as a string type thing or=20 something.</STRONG></DIV> <DIV><STRONG>2.Get the bot's position in the world. Have it query = within 5=20 meters of it's location for any object and have it check the registry = to see=20 how close the bot is to the object.</STRONG></DIV> <DIV><STRONG>3. If the bot is within the bounding box of the object = then have=20 the bot declare something like "Ooopppps" or something.</STRONG></DIV> <DIV><STRONG>4. If the bot is not within the bounding box of any = object,=20 excluding floor tiles, then have the bot continue with no error what's = so=20 ever. This would probably use very little code and not be so hard on = the=20 memory of the bot or bandwidth so it could be done fairly easily and=20 constantly.</STRONG></DIV> <DIV><STRONG></STRONG> </DIV> <DIV><STRONG>Horizons</STRONG></DIV> <DIV><STRONG>cit:288611</STRONG></DIV> <DIV><STRONG><FONT face=3DArial size=3D2> <P><A=20 = href=3D"http://www.worlds.net/cgi-bin/teleport?aw_21345n_21345w">http://w= ww.worlds.net/cgi-bin/teleport?aw_21345n_21345w</A></P></FONT></STRONG></= DIV></BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_000F_01BF48A3.FDAFF6E0-- Re: BOT Limit reached --- Not a single damn BOT Running . . .Dec 20, 1999, 3:24pm
This is a multi-part message in MIME format.
------=_NextPart_000_0022_01BF4ACB.B1C72C60 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Did you ever work out a solution for this? I've been working on a dance = troop that uses six bots, now I can't even log one bot on. It's been = that way since yesterday. Norm [View Quote] (2. Info for my citizenship has become corrupt, and my BOT Limit has = been set to a number less than 1) Anyway, I was just wondering if this had happened to anyone else = recently? Thanks, Andon M. Coleman Senior Programmer R&D Nothing, Inc. ------=_NextPart_000_0022_01BF4ACB.B1C72C60 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2722.2800" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Did you ever work out a solution for = this? =20 I've been working on a dance troop that uses six bots, now I can't even = log one=20 bot on. It's been that way since yesterday.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Norm</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: = 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>Andon M. Coleman <<A=20 href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>> = wrote in=20 message <A = href=3D"news:37e3b482.0 at homer">news:37e3b482.0 at homer</A>...</DIV> <DIV><FONT face=3DArial size=3D2> It makes it very = difficult to=20 program new BOTs when I have to use someone elses Citizen Number / = Privilige=20 password . . . I'm guessing either 1 of 2 things happened = </FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>(1. AWCI Removed my BOT Priviliges = because they=20 have nothing better to do with their time than to crush BOT=20 Developers)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>(2. Info for my citizenship has = become corrupt,=20 and my BOT Limit has been set to a number less than 1)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Anyway, I was just wondering if this = had happened=20 to anyone else recently?</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV> <DIV><FONT face=3DArial size=3D2>Andon M. Coleman</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Senior Programmer</FONT></DIV> <DIV><FONT face=3DArial size=3D2>R&D</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Nothing,=20 Inc.</FONT></DIV></BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_0022_01BF4ACB.B1C72C60-- "Bot Limit Exceeded" revistedDec 21, 1999, 1:17am
Below is an excerpt from an email exchange with AW tech support. Here's
what I think happens. I'm calling AwTerm and AwDestroy. At one point I got an error msg that the engine couldn't terminate the bot. I think that not successfully terminating leaves some data structure on the AW side dirty. This is a serious bug on their part since a connection could be lost at any time. I would recommend that everyone doing low level bot programming put in some serious re-try logic for AwTerm. It may not be enough to completely fix the problem but should help. If my theory is correct that is. It could be a very different problem but I've satisfied myself that it's on the AW side. Norm ______________ Well, they haven't been running. In fact I've booted my machine several times since then. Larry is the first one that logs in so it's probably killing the rest. Anyhow that loop only exists on your side. I just re-booted again to make sure and got the same error. Norm For the account sagaman I do not see any "bot limit exceeded" errors in the past 24 hours but it looks like the bots Larry and Moe are caught in a login loop since 11pm PST on account i12. For some reason the bots are all trying to login on the same socket. I suggest killing the bot program for a few minutes and then restart them one at a time. Please include previous dialog in all replies.. Thanks AW Tech Support "Bot Limit Exceeded" revistedDec 21, 1999, 2:00pm
You're right. But doing it backwards, or not checking for a failure of
AwDestroy can amount to the same thing. Norm > Perhaps we should all know this and infer, but don't you call AwDestroy first > and then AwTerm "Bot Limit Exceeded" revistedDec 21, 1999, 2:19pm
That should read "re-try logic for AwDestroy". Anyhow the idea is to NOT
shut down the SDK until you've successfully killed the bot instance. What happens if your re-try logic still doesn't kill the bot and you eventually have to terminate the SDK? Well, that's where the ghost bots come from. AW isn't cleaning up their data structure. Since a lost connection, as well as a bot programming error, can produce the same ghost, it's really up to AW to kill the ghost. Norm > I would recommend that everyone doing low level bot programming put in some > serious re-try logic for AwTerm. It may not be enough to completely fix the > problem but should help. If my theory is correct that is. It could be a > very different problem but I've satisfied myself that it's on the AW side Newbie QuestionDec 28, 1999, 2:19am
Well, I made exactly the same mistake with Altitude. Because I looked at
the altitude display which reads in meters. However. Although what you describe for N,S,E,W is true, it's a bug. One that they are stuck with now. Since they decided to express position in terms of latitude & longitude they should have shown W=270 & E=90, as any idiot who has ever looked at a compass would have known. They are just plain wrong and will no doubt confuse the hell out of a bunch of kids who don't know any better. I am undecided as to whether I should propagate this foolishness in my bot interfaces or confuse everyone even more by doing it the right way. Norm I know this was already discussed...Jan 2, 2000, 4:38am
It depends on the context. If you are talking about a world that you
control, you could create a database of elevations manually and use that. A more general solution might be to follow & record the position of an avatar and use that to create a list of 'safe' positions. Assuming the avatar isn't flying. You can certainly read the position and elevations of objects, the problem then becomes one of determining the true height & surface characteristics of those objects and figuring out how to walk on them. All this becomes a huge job. Don't forget to check if they are solid & visible. One possible compromise might be to create a database of known flat objects and make a point of only walking on those. Ok for flat worlds but stay clear of hills, ramps and stairs. I've started thinking in terms of droids. Bots that can control the browser and drive an avatar around. A bot/avatar combination might be pretty cool and at the very least would help you create an elevation map of a world. Norm [View Quote] Active AvatarsJan 26, 2000, 3:20am
I installed Active Avatars in i12 if anyone wants to check them out.
Norm Bot ProgressFeb 8, 2000, 7:41pm
Bounding box info is nearly useless. It won't allow you to navigate hills
or stairs or ramps. It won't tell you how to enter a hollow object or even walk under an arch. It'll tell you where things are that you have to walk around but that's only a small part of the problem. Especially in a world with a lot of hills. Norm [View Quote] Help with callbacks in VBDec 7, 1999, 5:15am
Does anyone have a working example of using callback with Mr.Grim's ocx?
WorldList would be especially appreciated. Thanks Norm Lane VB - Position & Course ClassesDec 19, 1999, 1:59am
Here're a couple of classes for use with MrGrimm's OCX
Position Has low level properties for X, Y, Z & Yaw Also has higher level Latitude, Longitude, Altitude & Heading which work with the more familiar units. It also has a text property that on input parses position strings like "10w 15s 1.1a 180", and on output creates a similar string from the low level values. Course This class uses the same high-level/low-level scheme. The low level properties are Xinc, Yinc, Zinc High level properties are Speed, Bearing & Climb The class is setup to minimize the use of slow trig functions. The time consuming calculations are only done when needed. Instead of fooling with low level values all the time I'm finding it very convenient to just pass positions and courses around to different navigation functions. If you define a Course as the direction you want your bot to walk, and set the speed to be the distance to cover in one second then you'd just call the BotStep sub once per second to make it walk in that direction Public Sub BotStep(crs As Course) Dim NuPos As Position Dim pos As Position Set pos = BotPosition Set NuPos = New Position NuPos.X = pos.X + crs.Xinc NuPos.Y = pos.Y + crs.Yinc NuPos.Z = pos.Y + crs.Zinc NuPos.Yaw = pos.Yaw MoveToPos NuPos Set pos = Nothing Set NuPos = Nothing End Sub Some other related functions ' returns position of current avatar Public Function AvatarPosition() As Position Dim pos As Position With AwSdkOcx0 Set pos = New Position pos.X = .AwAvatarX pos.Y = .AwAvatarY pos.Z = .AwAvatarZ pos.Yaw = .AwAvatarYaw Set AvatarPosition = pos Set pos = Nothing End With End Function ' returns position of your bot Public Function BotPosition() As Position Dim pos As Position With AwSdkOcx0 Set pos = New Position pos.X = .AwMyX pos.Y = .AwMyY pos.Z = .AwMyZ pos.Yaw = .AwMyYaw Set BotPosition = pos Set pos = Nothing End With End Function ' moves bot to new position Public Sub MoveToPos(arg As Position) Dim rc As Integer With AwSdkOcx0 .AwMyX = arg.X .AwMyZ = arg.Z .AwMyY = arg.Y .AwMyYaw = arg.Yaw rc = .AwStateChange If rc Then Err.Raise vbObjectError + rc, , ErrMsg(rc) End If End With End Sub begin 666 Position.cls M5D524TE/3B Q+C at 0TQ!4U,-"D)%1TE.#0H at ($UU;'1I57-E(#T at +3$ at ("=4 M<G5E#0H at (%!E<G-I<W1A8FQE(#T at ," at )TYO=%!E<G-I<W1A8FQE#0H at ($1A M=&%":6YD:6YG0F5H879I;W( at /2 P(" G=F).;VYE#0H at ($1A=&%3;W5R8V5" M96AA=FEO<B at /2 P(" G=F).;VYE#0H at ($U44U1R86YS86-T:6]N36]D92 at M/2 P(" G3F]T06Y-5%-/8FIE8W0-"D5.1 T*071T<FEB=71E(%9"7TYA;64 at M/2 B4&]S:71I;VXB#0I!='1R:6)U=&4 at 5D)?1VQO8F%L3F%M95-P86-E(#T at M5')U90T*071T<FEB=71E(%9"7T-R96%T86)L92 ](%1R=64-"D%T=')I8G5T M92!60E]0<F5D96-L87)E9$ED(#T at 1F%L<V4-"D%T=')I8G5T92!60E]%>'!O M<V5D(#T at 5')U90T*071T<FEB=71E(%9"7T5X=%]+15D at /2 B4V%V9617:71H M0VQA<W-"=6EL9&5R-B( at +")997,B#0I!='1R:6)U=&4 at 5D)?17AT7TM%62 ] M(")4;W!?3&5V96PB("PB665S( at T*3W!T:6]N($5X<&QI8VET#0H-"E!R:79A M=&4 at ;79A<E at at 07, at 3&]N9R G;&]C86P at 8V]P>0T*4')I=F%T92!M=F%R62!! M<R!,;VYG("=L;V-A;"!C;W!Y#0I0<FEV871E(&UV87):($%S($QO;F< at )VQO M8V%L(&-O<'D-"E!R:79A=&4 at ;79A<EEA=R!!<R!);G1E9V5R("=L;V-A;"!C M;W!Y#0H-"D9R:65N9"!0<F]P97)T>2!,970 at 66%W*$)Y5F%L('9$871A($%S M($EN=&5G97(I#0H at (" at ;79A<EEA=R ]('9$871A#0I%;F0 at 4')O<&5R='D- M" at T*1G)I96YD(%!R;W!E<G1Y($=E="!987<H*2!!<R!);G1E9V5R#0H at (" at M66%W(#T at ;79A<EEA=PT*16YD(%!R;W!E<G1Y#0H-"D9R:65N9"!0<F]P97)T M>2!,970 at 6BA">59A;"!V1&%T82!!<R!,;VYG*0T*(" at (&UV87):(#T at =D1A M=&$-"D5N9"!0<F]P97)T>0T*#0I&<FEE;F0 at 4')O<&5R='D at 1V5T(%HH*2!! M<R!,;VYG#0H at (" at 6B ](&UV87):#0I%;F0 at 4')O<&5R='D-" at T*1G)I96YD M(%!R;W!E<G1Y($QE="!9*$)Y5F%L('9$871A($%S($QO;F<I#0H at (" at ;79A M<ED at /2!V1&%T80T*16YD(%!R;W!E<G1Y#0H-"D9R:65N9"!0<F]P97)T>2!' M970 at 62 at I($%S($QO;F<-"B at ("!9(#T at ;79A<ED-"D5N9"!0<F]P97)T>0T* M#0I&<FEE;F0 at 4')O<&5R='D at 3&5T(% at H0GE686P at =D1A=&$ at 07, at 3&]N9RD- M"B at ("!M=F%R6" ]('9$871A#0I%;F0 at 4')O<&5R='D-" at T*1G)I96YD(%!R M;W!E<G1Y($=E="!8*"D at 07, at 3&]N9PT*(" at (% at at /2!M=F%R6 T*16YD(%!R M;W!E<G1Y#0H-"E!U8FQI8R!0<F]P97)T>2!,970 at 2&5A9&EN9RA">59A;"!V M1&%T82!!<R!3:6YG;&4I#0H at (" at ;79A<EEA=R ]($9I>" at S-C P("T at *'9$ M871A("H at ,3 I*0T*16YD(%!R;W!E<G1Y#0H-"E!U8FQI8R!0<F]P97)T>2!' M970 at 2&5A9&EN9R at I($%S(%-I;F=L90T*(" at ($AE861I;F< at /2 H,S8P("T at M*&UV87)987< at +R Q,"DI($UO9" S-C -"D5N9"!0<F]P97)T>0T*#0I0=6)L M:6, at 4')O<&5R='D at 3&5T($%L=&ET=61E*$)Y5F%L('9$871A($%S(%-I;F=L M92D-"B at ("!M=F%R62 ]($9I>"AV1&%T82 J(#$P,"D-"D5N9"!0<F]P97)T M>0T*#0I0=6)L:6, at 4')O<&5R='D at 1V5T($%L=&ET=61E*"D at 07, at 4VEN9VQE M#0H at (" at 06QT:71U9&4 at /2!M=F%R62 O(#$P, T*16YD(%!R;W!E<G1Y#0H- M"E!U8FQI8R!0<F]P97)T>2!,970 at 3&]N9VET=61E*$)Y5F%L('9$871A($%S M(%-I;F=L92D-"B at ("!M=F%R6" ]($9I>"AV1&%T82 J(#$P,# I#0I%;F0 at M4')O<&5R='D-" at T*4'5B;&EC(%!R;W!E<G1Y($=E="!,;VYG:71U9&4H*2!! M<R!3:6YG;&4-"B at ("!,;VYG:71U9&4 at /2!M=F%R6" O(#$P,# -"D5N9"!0 M<F]P97)T>0T*#0I0=6)L:6, at 4')O<&5R='D at 3&5T($QA=&ET=61E*$)Y5F%L M('9$871A($%S(%-I;F=L92D-"B at ("!M=F%R6B ]($9I>"AV1&%T82 J(#$P M,# I#0I%;F0 at 4')O<&5R='D-" at T*4'5B;&EC(%!R;W!E<G1Y($=E="!,871I M='5D92 at I($%S(%-I;F=L90T*(" at ($QA=&ET=61E(#T at ;79A<EH at +R Q,# P M#0I%;F0 at 4')O<&5R='D-" at T*4'5B;&EC(%!R;W!E<G1Y($=E="!497AT*"D at M07, at 4W1R:6YG#0I!='1R:6)U=&4 at 5&5X="Y60E]5<V5R365M260 at /2 P#0H at M(" at 1&EM('1M<"!!<R!3:6YG;&4-"B at (" -"B at ("!T;7 at /2!,871I='5D M90T*(" at (%1E>'0 at /2!&;W)M870H06)S*'1M<"DL("(C(R,N(R,B*0T*(" at M($EF(%-G;BAT;7 I(#T at ,2!4:&5N(%1E>'0 at /2!497AT("8 at (DX at (B!%;'-E M(%1E>'0 at /2!497AT("8 at (E, at ( at T*(" at ( T*(" at ('1M<" ]($QO;F=I='5D M90T*(" at (%1E>'0 at /2!497AT("8 at 1F]R;6%T*$%B<RAT;7 I+" B(R,C+B,C M(BD-"B at ("!)9B!39VXH=&UP*2 ](#$ at 5&AE;B!497AT(#T at 5&5X=" F(")7 M("( at 16QS92!497AT(#T at 5&5X=" F(")%("(-" at T*(" at ('1M<" ]($%L=&ET M=61E#0H at (" at 5&5X=" ](%1E>'0 at )B!&;W)M870H=&UP+" B(R,C(RXC(BD at M)B B82 B#0H-"B at ("!T;7 at /2!(96%D:6YG#0H at (" at 5&5X=" ](%1E>'0 at M)B!&;W)M870H=&UP+" B(R,C(BD-"D5N9"!0<F]P97)T>0T*#0I0=6)L:6, at M4')O<&5R='D at 3&5T(%1E>'0H0GE686P at =D1A=&$ at 07, at 4W1R:6YG*0T*(" at M($1I;2!T;7 at 07, at 4W1R:6YG#0H at (" at 1&EM(&D at 07, at 26YT96=E< at T*(" at M($1I;2!,85=O<F0 at 07, at 4W1R:6YG#0H at (" at 1&EM($QO5V]R9"!!<R!3=')I M;F<-"B at ("!$:6T at 06QT5V]R9"!!<R!3=')I;F<-"B at ("!$:6T at 2&5A9%=O M<F0 at 07, at 4W1R:6YG#0H at (" at #0H at (" at =&UP(#T at =D1A=&$-"B at ("!,85=O M<F0 at /2!,969T5V]R9"AT;7 I#0H at (" at 3&]7;W)D(#T at 3&5F=%=O<F0H=&UP M*0T*(" at ($%L=%=O<F0 at /2!,969T5V]R9"AT;7 I#0H at (" at 2&5A9%=O<F0 at M/2!,969T5V]R9"AT;7 I#0H-"B at ("!)9B!);E-T<B at Q+"!!;'17;W)D+" B M02(L('9B5&5X=$-O;7!A<F4I(#T at ,"!4:&5N#0H at (" at (" at ($EF($AE8617 M;W)D(#T at (B( at 5&AE; at T*(" at (" at (" at (" at 2&5A9%=O<F0 at /2!!;'17;W)D M#0H at (" at (" at (" at ("!!;'17;W)D(#T at (C B#0H at (" at (" at ($5N9"!)9 at T* M(" at ($5N9"!)9 at T*(" at ( T*(" at ($EF($EN4W1R*#$L($QA5V]R9"P at (E,B M+"!V8E1E>'1#;VUP87)E*2 \/B P(%1H96X-"B at (" at (" at 3&%T:71U9&4 at M/2 M5F%L*$QA5V]R9"D-"B at ("!%;'-E#0H at (" at (" at ($QA=&ET=61E(#T at M5F%L*$QA5V]R9"D-"B at ("!%;F0 at 268-"B at (" -"B at ("!)9B!);E-T<B at Q M+"!,;U=O<F0L(")%(BP at =F)497AT0V]M<&%R92D at /#X at ,"!4:&5N#0H at (" at M(" at ($QO;F=I='5D92 ]("U686PH3&]7;W)D*0T*(" at ($5L<V4-"B at (" at M(" at 3&]N9VET=61E(#T at 5F%L*$QO5V]R9"D-"B at ("!%;F0 at 268-" at T*(" at M($%L=&ET=61E(#T at 5F%L*$%L=%=O<F0I#0H at (" at 2&5A9&EN9R ](%9A;"A( M96%D5V]R9"D-"D5N9"!0<F]P97)T>0T*#0I0<FEV871E($9U;F-T:6]N($QE M9G17;W)D*'-T<B!!<R!3=')I;F<I($%S(%-T<FEN9PT*(" at ($1I;2!I($%S M($EN=&5G97(-"B at ("!$:6T at =&UP($%S(%-T<FEN9PT*(" at ( T*(" at ('-T M<B ](%1R:6TH<W1R*0T*(" at (&D at /2!);E-T<B at Q+"!S='(L("( at (BD-"B at M("!)9B!I(%1H96X-"B at (" at (" at 3&5F=%=O<F0 at /2!,969T*'-T<BP at :2 M M(#$I#0H at (" at (" at ('-T<B ]($UI9"AS='(L(&D at *R Q*0T*(" at ($5L<V4- M"B at (" at (" at 268 at 3&5N*'-T<BD at 5&AE; at T*(" at (" at (" at (" at 3&5F=%=O M<F0 at /2!S='(-"B at (" at (" at 16QS90T*(" at (" at (" at (" at 3&5F=%=O<F0 at M/2 B( at T*(" at (" at ("!%;F0 at 268-"B at (" at (" at <W1R(#T at (B(-"B at ("!% 7;F0 at 268-"D5N9"!&=6YC=&EO; at T*#0H` ` end begin 666 Course.cls M5D524TE/3B Q+C at 0TQ!4U,-"D)%1TE.#0H at ($UU;'1I57-E(#T at +3$ at ("=4 M<G5E#0H at (%!E<G-I<W1A8FQE(#T at ," at )TYO=%!E<G-I<W1A8FQE#0H at ($1A M=&%":6YD:6YG0F5H879I;W( at /2 P(" G=F).;VYE#0H at ($1A=&%3;W5R8V5" M96AA=FEO<B at /2 P(" G=F).;VYE#0H at ($U44U1R86YS86-T:6]N36]D92 at M/2 P(" G3F]T06Y-5%-/8FIE8W0-"D5.1 T*071T<FEB=71E(%9"7TYA;64 at M/2 B0V]U<G-E( at T*071T<FEB=71E(%9"7T=L;V)A;$YA;653<&%C92 ]($9A M;'-E#0I!='1R:6)U=&4 at 5D)?0W)E871A8FQE(#T at 1F%L<V4-"D%T=')I8G5T M92!60E]0<F5D96-L87)E9$ED(#T at 1F%L<V4-"D%T=')I8G5T92!60E]%>'!O M<V5D(#T at 5')U90T*071T<FEB=71E(%9"7T5X=%]+15D at /2 B4V%V9617:71H M0VQA<W-"=6EL9&5R-B( at +")997,B#0I!='1R:6)U=&4 at 5D)?17AT7TM%62 ] M(")4;W!?3&5V96PB("PB665S( at T*3W!T:6]N($5X<&QI8VET#0H-"B=L;V-A M;"!V87)I86)L92AS*2!T;R!H;VQD('!R;W!E<G1Y('9A;'5E*',I#0I0<FEV M871E(&UV87)"96%R:6YG($%S(%-I;F=L92 G;&]C86P at 8V]P>0T*4')I=F%T M92!M=F%R4W!E960 at 07, at 4VEN9VQE("=L;V-A;"!C;W!Y#0I0<FEV871E(&UV M87)#;&EM8B!!<R!3:6YG;&4 at )VQO8V%L(&-O<'D-"E!R:79A=&4 at ;79A<D%L M=&EN8R!!<R!,;VYG("=L;V-A;"!C;W!Y#0I0<FEV871E(&UV87)8:6YC($%S M($QO;F< at )VQO8V%L(&-O<'D-"E!R:79A=&4 at ;79A<EEI;F, at 07, at 3&]N9R G M;&]C86P at 8V]P>0T*4')I=F%T92!M=F%R6FEN8R!!<R!,;VYG("=L;V-A;"!C M;W!Y#0H-"E!R:79A=&4 at 1&]#86QC($%S($)O;VQE86X-" at T*1G)I96YD(%!R M;W!E<G1Y($=E="!8:6YC*"D at 07, at 4VEN9VQE#0HG=7-E9"!W:&5N(')E=')I M979I;F< at =F%L=64 at ;V8 at 82!P<F]P97)T>2P at ;VX at =&AE(')I9VAT('-I9&4 at M;V8 at 86X at 87-S:6=N;65N="X-"B=3>6YT87 at Z($1E8G5G+E!R:6YT(% at N6&EN M8PT*(" at ($EF($1O0V%L8R!4:&5N(%)E0V%L8PT*(" at (%AI;F, at /2!M=F%R M6&EN8PT*16YD(%!R;W!E<G1Y#0H-"D9R:65N9"!0<F]P97)T>2!'970 at 66EN M8R at I($%S(%-I;F=L90T*)W5S960 at =VAE;B!R971R:65V:6YG('9A;'5E(&]F M(&$ at <')O<&5R='DL(&]N('1H92!R:6=H="!S:61E(&]F(&%N(&%S<VEG;FUE M;G0N#0HG4WEN=&%X.B!$96)U9RY0<FEN="!8+EAI;F,-"B at ("!)9B!$;T-A M;&, at 5&AE;B!294-A;&,-"B at ("!9:6YC(#T at ;79A<EEI;F,-"D5N9"!0<F]P M97)T>0T*#0I&<FEE;F0 at 4')O<&5R='D at 1V5T(%II;F,H*2!!<R!3:6YG;&4- M"B=U<V5D('=H96X at <F5T<FEE=FEN9R!V86QU92!O9B!A('!R;W!E<G1Y+"!O M;B!T:&4 at <FEG:'0 at <VED92!O9B!A;B!A<W-I9VYM96YT+ at T*)U-Y;G1A>#H at M1&5B=6<N4')I;G0 at 6"Y8:6YC#0H at (" at 268 at 1&]#86QC(%1H96X at 4F5#86QC M#0H at (" at 6FEN8R ](&UV87)::6YC#0I%;F0 at 4')O<&5R='D-" at T*4'5B;&EC M(%!R;W!E<G1Y($QE="!#;&EM8BA">59A;"!V1&%T82!!<R!3:6YG;&4I#0HG M=7-E9"!W:&5N(&%S<VEG;FEN9R!A('9A;'5E('1O('1H92!P<F]P97)T>2P at M;VX at =&AE(&QE9G0 at <VED92!O9B!A;B!A<W-I9VYM96YT+ at T*)U-Y;G1A>#H at M6"Y#;&EM8B ](#4-"B at ("!)9B!V1&%T82 \/B!M=F%R0VQI;6( at 5&AE; at T* M(" at (" at ("!M=F%R0VQI;6( at /2!V1&%T80T*(" at (" at ("!M=F%R06QT:6YC M(#T at 1FEX*'9$871A("\ at ,3 I#0H at (" at 16YD($EF#0I%;F0 at 4')O<&5R='D- M" at T*4'5B;&EC(%!R;W!E<G1Y($=E="!#;&EM8B at I($%S(%-I;F=L90T*)W5S M960 at =VAE;B!R971R:65V:6YG('9A;'5E(&]F(&$ at <')O<&5R='DL(&]N('1H M92!R:6=H="!S:61E(&]F(&%N(&%S<VEG;FUE;G0N#0HG4WEN=&%X.B!$96)U M9RY0<FEN="!8+D-L:6UB#0H at (" at 0VQI;6( at /2!M=F%R0VQI;6(-"D5N9"!0 M<F]P97)T>0T*#0I0=6)L:6, at 4')O<&5R='D at 3&5T(%-P965D*$)Y5F%L('9$ M871A($%S(%-I;F=L92D-"B=U<V5D('=H96X at 87-S:6=N:6YG(&$ at =F%L=64 at M=&\ at =&AE('!R;W!E<G1Y+"!O;B!T:&4 at ;&5F="!S:61E(&]F(&%N(&%S<VEG M;FUE;G0N#0HG4WEN=&%X.B!8+E-P965D(#T at -0T*(" at ($EF('9$871A(#P^ M(&UV87)3<&5E9"!4:&5N#0H at (" at (" at (&UV87)3<&5E9" ]('9$871A#0H at M(" at (" at ($1O0V%L8R ](%1R=64-"B at ("!%;F0 at 268-"D5N9"!0<F]P97)T M>0T*#0HG(&YO=&4 at 4F%N9V4 at :7, at :G5S="!A;B!A;&EA<R!F;W( at <W!E960- M"E!U8FQI8R!0<F]P97)T>2!,970 at 4F%N9V4H0GE686P at =D1A=&$ at 07, at 4VEN M9VQE*0T*)W5S960 at =VAE;B!A<W-I9VYI;F< at 82!V86QU92!T;R!T:&4 at <')O M<&5R='DL(&]N('1H92!L969T('-I9&4 at ;V8 at 86X at 87-S:6=N;65N="X-"B=3 M>6YT87 at Z(% at N4W!E960 at /2 U#0H at (" at 268 at =D1A=&$ at /#X at ;79A<E-P965D M(%1H96X-"B at (" at (" at ;79A<E-P965D(#T at =D1A=&$-"B at (" at (" at 1&]# M86QC(#T at 5')U90T*(" at ($5N9"!)9 at T*16YD(%!R;W!E<G1Y#0H-"E!U8FQI M8R!0<F]P97)T>2!'970 at 4W!E960H*2!!<R!3:6YG;&4-"B=U<V5D('=H96X at M<F5T<FEE=FEN9R!V86QU92!O9B!A('!R;W!E<G1Y+"!O;B!T:&4 at <FEG:'0 at M<VED92!O9B!A;B!A<W-I9VYM96YT+ at T*)U-Y;G1A>#H at 1&5B=6<N4')I;G0 at M6"Y3<&5E9 T*(" at (%-P965D(#T at ;79A<E-P965D#0I%;F0 at 4')O<&5R='D- M" at T*)R!N;W1E(%)A;F=E(&ES(&IU<W0 at 86X at 86QI87, at 9F]R('-P965D#0I0 M=6)L:6, at 4')O<&5R='D at 1V5T(%)A;F=E*"D at 07, at 4VEN9VQE#0HG=7-E9"!W M:&5N(')E=')I979I;F< at =F%L=64 at ;V8 at 82!P<F]P97)T>2P at ;VX at =&AE(')I M9VAT('-I9&4 at ;V8 at 86X at 87-S:6=N;65N="X-"B=3>6YT87 at Z($1E8G5G+E!R M:6YT(% at N4W!E960-"B at ("!3<&5E9" ](&UV87)3<&5E9 T*16YD(%!R;W!E M<G1Y#0H-"E!U8FQI8R!0<F]P97)T>2!,970 at 0F5A<FEN9RA">59A;"!V1&%T M82!!<R!3:6YG;&4I#0HG=7-E9"!W:&5N(&%S<VEG;FEN9R!A('9A;'5E('1O M('1H92!P<F]P97)T>2P at ;VX at =&AE(&QE9G0 at <VED92!O9B!A;B!A<W-I9VYM M96YT+ at T*)U-Y;G1A>#H at 6"Y"96%R:6YG(#T at -0T*(" at ($EF('9$871A(#P^ M(&UV87)"96%R:6YG(%1H96X-"B at (" at (" at ;79A<D)E87)I;F< at /2!V1&%T M80T*(" at (" at ("!$;T-A;&, at /2!4<G5E#0H at (" at 16YD($EF#0I%;F0 at 4')O M<&5R='D-" at T*4'5B;&EC(%!R;W!E<G1Y($=E="!"96%R:6YG*"D at 07, at 4VEN M9VQE#0HG=7-E9"!W:&5N(')E=')I979I;F< at =F%L=64 at ;V8 at 82!P<F]P97)T M>2P at ;VX at =&AE(')I9VAT('-I9&4 at ;V8 at 86X at 87-S:6=N;65N="X-"B=3>6YT M87 at Z($1E8G5G+E!R:6YT(% at N0F5A<FEN9PT*(" at ($)E87)I;F< at /2!M=F%R M0F5A<FEN9PT*16YD(%!R;W!E<G1Y#0H-"E!R:79A=&4 at 4W5B(%)E0V%L8R at I M#0H at (" at 1&EM('1M<"!!<R!3:6YG;&4-" at T*(" at ('1M<" ](&UV87)"96%R M:6YG("H at 4$ED:78Q.# at )R!C;VYV97)T('1O(')A9&EA;G, at 9F]R('1R:6< at M9G5N8W1I;VYS#0H at (" at ;79A<EAI;F, at /2!&:7 at H*%-I;BAT;7 I("H at *&UV M87)3<&5E9" O(#$P*2D at *B Q,# P*0T*(" at (&UV87)::6YC(#T at +49I>" at H M0V]S*'1M<"D at *B H;79A<E-P965D("\ at ,3 I*2 J(#$P,# I#0H at (" at 1&]# 886QC(#T at 1F%L<V4-"D5N9"!3=6(-" at T* ` end Re: BOT Limit reached --- Not a single damn BOT Running . . .Dec 20, 1999, 3:24pm
This is a multi-part message in MIME format.
------=_NextPart_000_0022_01BF4ACB.B1C72C60 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Did you ever work out a solution for this? I've been working on a dance = troop that uses six bots, now I can't even log one bot on. It's been = that way since yesterday. Norm [View Quote] (2. Info for my citizenship has become corrupt, and my BOT Limit has = been set to a number less than 1) Anyway, I was just wondering if this had happened to anyone else = recently? Thanks, Andon M. Coleman Senior Programmer R&D Nothing, Inc. ------=_NextPart_000_0022_01BF4ACB.B1C72C60 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2722.2800" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Did you ever work out a solution for = this? =20 I've been working on a dance troop that uses six bots, now I can't even = log one=20 bot on. It's been that way since yesterday.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Norm</FONT></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: = 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px"> <DIV>Andon M. Coleman <<A=20 href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>> = wrote in=20 message <A = href=3D"news:37e3b482.0 at homer">news:37e3b482.0 at homer</A>...</DIV> <DIV><FONT face=3DArial size=3D2> It makes it very = difficult to=20 program new BOTs when I have to use someone elses Citizen Number / = Privilige=20 password . . . I'm guessing either 1 of 2 things happened = </FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>(1. AWCI Removed my BOT Priviliges = because they=20 have nothing better to do with their time than to crush BOT=20 Developers)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>(2. Info for my citizenship has = become corrupt,=20 and my BOT Limit has been set to a number less than 1)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Anyway, I was just wondering if this = had happened=20 to anyone else recently?</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV> <DIV><FONT face=3DArial size=3D2>Andon M. Coleman</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Senior Programmer</FONT></DIV> <DIV><FONT face=3DArial size=3D2>R&D</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Nothing,=20 Inc.</FONT></DIV></BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_0022_01BF4ACB.B1C72C60-- "Bot Limit Exceeded" revistedDec 21, 1999, 1:17am
Below is an excerpt from an email exchange with AW tech support. Here's
what I think happens. I'm calling AwTerm and AwDestroy. At one point I got an error msg that the engine couldn't terminate the bot. I think that not successfully terminating leaves some data structure on the AW side dirty. This is a serious bug on their part since a connection could be lost at any time. I would recommend that everyone doing low level bot programming put in some serious re-try logic for AwTerm. It may not be enough to completely fix the problem but should help. If my theory is correct that is. It could be a very different problem but I've satisfied myself that it's on the AW side. Norm ______________ Well, they haven't been running. In fact I've booted my machine several times since then. Larry is the first one that logs in so it's probably killing the rest. Anyhow that loop only exists on your side. I just re-booted again to make sure and got the same error. Norm For the account sagaman I do not see any "bot limit exceeded" errors in the past 24 hours but it looks like the bots Larry and Moe are caught in a login loop since 11pm PST on account i12. For some reason the bots are all trying to login on the same socket. I suggest killing the bot program for a few minutes and then restart them one at a time. Please include previous dialog in all replies.. Thanks AW Tech Support "Bot Limit Exceeded" revistedDec 21, 1999, 2:00pm
You're right. But doing it backwards, or not checking for a failure of
AwDestroy can amount to the same thing. Norm > Perhaps we should all know this and infer, but don't you call AwDestroy first > and then AwTerm "Bot Limit Exceeded" revistedDec 21, 1999, 2:19pm
That should read "re-try logic for AwDestroy". Anyhow the idea is to NOT
shut down the SDK until you've successfully killed the bot instance. What happens if your re-try logic still doesn't kill the bot and you eventually have to terminate the SDK? Well, that's where the ghost bots come from. AW isn't cleaning up their data structure. Since a lost connection, as well as a bot programming error, can produce the same ghost, it's really up to AW to kill the ghost. Norm > I would recommend that everyone doing low level bot programming put in some > serious re-try logic for AwTerm. It may not be enough to completely fix the > problem but should help. If my theory is correct that is. It could be a > very different problem but I've satisfied myself that it's on the AW side "Bot Limit Exceeded" revistedDec 21, 1999, 3:35pm
I'm using Mr. Grimm's OCX & VB.
Mr. Grimm did a pretty good job of naming his methods so I figured the equivalence would be obvious. Norm > May I ask what language you use ? is AWTerm supposed to be aw_term(); or is > it not c ? GDI Problems with Win32 . . .Dec 27, 1999, 12:05am
This is a multi-part message in MIME format.
------=_NextPart_000_000B_01BF4FCB.4A197140 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable That didn't come through very well at all. It might be better as an = attachment. Norm ------=_NextPart_000_000B_01BF4FCB.4A197140 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2722.2800" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>That didn't come through very well at = all. It=20 might be better as an attachment.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Norm</FONT></DIV></BODY></HTML> ------=_NextPart_000_000B_01BF4FCB.4A197140-- 'bound' or 'linked' usersDec 30, 1999, 1:52am
Ah, and of course the same capability for bots. Then you could have real
vehicles. Norm [View Quote] |