sagaman // User Search

sagaman // User Search

1  |  

Gravity 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 worry

Dec 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.&nbsp;=20
Item 3 means not simply being able to get bounding boxes of objects but =
being=20
able interpret the surfaces.&nbsp; Try climbing stairs or walking up a =
hill with=20
just the bounding box info.</FONT></DIV>
<DIV>&nbsp;</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.&nbsp; 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&nbsp;P1 touch object =
B at=20
position P2?</FONT></DIV>
<DIV>&nbsp;</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 &lt;<A=20
href=3D"mailto:horizonsx at hrfn.net">horizonsx at hrfn.net</A>&gt; 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>&nbsp;</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>&nbsp;</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>&nbsp;</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?&nbsp;=20
I've been working on a dance troop that uses six bots, now I can't even =
log one=20
bot on.&nbsp; It's been that way since yesterday.</FONT></DIV>
<DIV>&nbsp;</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 &lt;<A=20
href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>&gt; =
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>&nbsp;&nbsp;&nbsp; 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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Anyway, I was just wondering if this =
had happened=20
to anyone else recently?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Andon M. Coleman</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Senior Programmer</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>R&amp;D</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Nothing,=20
Inc.</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0022_01BF4ACB.B1C72C60--

"Bot Limit Exceeded" revisted

Dec 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" revisted

Dec 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" revisted

Dec 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

Test

Dec 23, 1999, 1:05am
No.

[View Quote]

Newbie Question

Dec 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 Avatars

Jan 26, 2000, 3:20am
I installed Active Avatars in i12 if anyone wants to check them out.

Norm

Bot Progress

Feb 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 VB

Dec 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 Classes

Dec 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?&nbsp;=20
I've been working on a dance troop that uses six bots, now I can't even =
log one=20
bot on.&nbsp; It's been that way since yesterday.</FONT></DIV>
<DIV>&nbsp;</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 &lt;<A=20
href=3D"mailto:gizmo98 at earthlink.net">gizmo98 at earthlink.net</A>&gt; =
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>&nbsp;&nbsp;&nbsp; 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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Anyway, I was just wondering if this =
had happened=20
to anyone else recently?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Andon M. Coleman</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Senior Programmer</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>R&amp;D</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Nothing,=20
Inc.</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0022_01BF4ACB.B1C72C60--

"Bot Limit Exceeded" revisted

Dec 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" revisted

Dec 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" revisted

Dec 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" revisted

Dec 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.&nbsp; It=20
might be better as an attachment.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Norm</FONT></DIV></BODY></HTML>

------=_NextPart_000_000B_01BF4FCB.4A197140--

'bound' or 'linked' users

Dec 30, 1999, 1:52am
Ah, and of course the same capability for bots. Then you could have real
vehicles.

Norm

[View Quote]

1  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn