canopus // User Search

canopus // User Search

1  2  3  4  5  6  |  

Bots get boring...

Feb 5, 1999, 11:11pm
A combination of SDK construction bots could do it (if the objects were
compatible and both worlds admitted bots): have a surveyor bot make a survey of
the original site (it can survey up to a 24x24 coord site), then turn the survey
over to a builderbot at the new site (it can build up to a 24x24 coord site).
Once that is safely done, have a demolition bot erase the original site (using
the original survey).

[View Quote] > This may have already been done, and I'm just unaware of it. . .
>
> I've had several people mention that they'd like to move a site from one
> world to another, for various reasons. . .just bought a world, don't like
> the world owner, sick of the neighborhood, those darn dolphins are just too
> creepy (just kidding!)
>
> So I suspect that many builders would love a
>
> Photocopy Bot
> ---------------------
>
> Moves a designated area from one world to a designated area in another
> world.
>
> There are some serious kinks to this one. . .the worst, in my mind, being
> that of malicious use. Perhaps requiring the PS right in the target world in
> order to use the tool? Not sure.
>
> Another issue is the probability that objects used will not be available in
> the target world.
>
> Archon Manus
>
[View Quote]

Bots get boring...

Feb 8, 1999, 9:20pm
If there are EcoBots that go about "seeding" the vacant land on worlds like
AW, the bot designer had better think through the ecological consequences.
Suppose you can have a bot that periodically rebuilds an acorn into a
seedling, a seedling into a small tree, etc., and then randomly produces
acorns from that tree, and seeds them elsewhere. It won't take long for this
tree to multiply itself into a plague of trees: 1, 10, 100, 1000, 10000,
100000.... That's because there is no real ecology here: the acorns have no
squirrels to eat them, the trees have no storms to topple them, no parasites
to sap them, no lumbermen to chop them down, and no rival vegetation to shade
them into obliviion.

If you think that robobuilders are a menace because they let vandals pave
over vacant lands on worlds like AW, just wait till you have worlds overrun
with thousands of copies of a single oak object, all made by one cute little
EcoBot that had nothing to do but plant oaks. Just like the homesick
Australian who introduced rabbits to Australia, or the flower-loving
Americans who brought Swamp Loosestrife into the New World, to clog up the
remaining swamps and wetlands.

This is a great idea, but be sure to order bots that will make an ecology
that you want to live in.

[View Quote] > Make a tree bot, you can "seed" some trees somewhere, they start to grow,
> get bigger, get old, die, drop their leaves, flower, create other trees -
> and a whole forest over time!!
>
> Rolu
>
[View Quote]

Delphi (Object Pascal)

Oct 1, 1998, 1:31pm
This is a multi-part message in MIME format.
--------------8C2B3838D60C2273AA1E4CE2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

The Aw.dll can be linked into an application created in the Delphi
visual programming environment using Object Pascal. The attached Zip
file includes a Pascal unit with a complete set of declarations and
import library for Aw.dll, plus a Delphi version of the Sample1 program,
which ran successfully earlier today. This may interest those AW
citizens who were discouraged when they heard that knowledge of C/C++
would be necessary to use the new SDK.

--------------8C2B3838D60C2273AA1E4CE2
Content-Type: application/x-zip-compressed; name="Sample1Form.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sample1Form.zip"

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

--------------8C2B3838D60C2273AA1E4CE2--

Delphi (Object Pascal)

Oct 2, 1998, 8:14pm
[View Quote] > Hi,
>
> Do I need the awsdk.lib file with the akawapi.pas file ?
> In order to use the dll ?
>
> thx

No; if you Use the akAWAPI unit in your form unit, and of course
compile and run the form with aw.dll in the same directory, that's all
you need. Delphi compiles the executable application, which, now that
the aw.dll is directly linked into it, will take care of your contact
with your Bot when the application runs. Except for the akAWAPI unit (it
replaces both the aw.h and aw.lib), the programs look a lot like C
programs. Of course Delphi makes it easy to design a windowed form with
controls on it, etc., and later you can make your own Bot object
classes, Avatar object classes, attach database objects, image files,
etc., which as you know is very easy to do in Delphi, and hard to do in
C or even C++.

Delphi (Object Pascal)

Oct 3, 1998, 4:51pm
Calling a DLL function from another language is always a puzzle: what is
the equivalent in the calling language (Object Pascal) for the function
in the language used by the DLL (C)? If you guess wrong, the system is
sure to punish you with a crash. The C function has one parameter that
is a pointer to a procedure ('handler'); what is the Delphi equivalent
(what will make it pass the right content, in the right way)? So I
(finally, crash..crash) declared a type of global procedure pointers
called AWEventProc, for procedures with no arguments, and then declared
AvatarAdd as just that kind of procedure. The Delphi compiler passes the
address of AvatarAdd ( at AvatarAdd) to the DLL. I hope I got it right! Let
me know if something else works better for you.

[View Quote] > Could you explain me this line in detail from you UNIT ?
>
> rc := aw_event_set(AW_EVENT_AVATAR_ADD, at AvatarAdd);
>
> thx
>
> jeanphi

Delphi (Object Pascal)

Oct 4, 1998, 12:17am
Thanks Magine. It improves things for me too. I was suddenly crashing in the
midst of aw_query CELL_OBJECT events--I thought it was due to not
understanding exactly how to use aw_query! Now progress seems possible again.

[View Quote] > BTW, I having a lot of problems with stack overflow and crashing,
> until I changed all the "stdcall" declarations to "cdecl"...that seems
> to work better....
>
> -Magine
>
[View Quote]

Delphi (Object Pascal)

Oct 4, 1998, 1:46pm
This is a multi-part message in MIME format.
--------------4A04C33028FB8E5BBA1930D9
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I have substituted "cdecl" for "stdcall" as the calling convention used in
the akAWAPI.Pas unit, which is included (along with the Sample1 unit) in the
attached Zip file.

[View Quote] > BTW, I having a lot of problems with stack overflow and crashing,
> until I changed all the "stdcall" declarations to "cdecl"...that seems
> to work better....
>
> -Magine
>
[View Quote]

--------------4A04C33028FB8E5BBA1930D9
Content-Type: application/x-zip-compressed; name="Sample1Form.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sample1Form.zip"

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
--------------4A04C33028FB8E5BBA1930D9--

Delphi (Object Pascal)

Nov 12, 1998, 1:35pm
To turn the attached Sample 1 into a full Delphi program, first start a new Project.
Take the empty Form and put onto it all the controls mentioned under TfrmakSample1:
two Panels, one Panel for the Memo and one Panel for the Button and the two Edit
boxes. Activate the Form's Create and Destroy methods, and the Button's Click
method. Name the Form something like "frmSample1". Save the Form unit as
"Sample1Form", and the Project as "Sample1". (You'll see that Delphi has
automatically listed each control and method under frmSample1 for you, as well as
declaring your Form as a global variable.)

Fill in the code for Button1.Click, Form.Create, and Form.Destroy, by copying from
the attached program. Declare a global procedure, AvatarAdd, and copy its
implementation from the attached program. (It's not declared as a public Form method,
because Delphi should pass a simple procedure address, at AvatarAdd, to the server, not
an object.method address.) Add the akAWAPI unit to your project, and add "akAWAPI" to
the uses clause in your Form interface. Run Project Syntax Check, Compile, and
SaveAll. You should have a working GreeterBot program.


[View Quote] > The Aw.dll can be linked into an application created in the Delphi
> visual programming environment using Object Pascal. The attached Zip
> file includes a Pascal unit with a complete set of declarations and
> import library for Aw.dll, plus a Delphi version of the Sample1 program,
> which ran successfully earlier today. This may interest those AW
> citizens who were discouraged when they heard that knowledge of C/C++
> would be necessary to use the new SDK.
>
> ------------------------------------------------------------------------
>
> Name: Sample1Form.zip
> Sample1Form.zip Type: Zip Compressed Data (application/x-zip-compressed)
> Encoding: base64

Delphi (Object Pascal)

Jan 7, 1999, 4:14pm
Later we discovered that "cdecl" should be appended to the declarations of event
handler and callback handler procedures in your program units, too. That way the
Delphi compiler will know how the aw.dll is going to call your procedure, as well as
how your program should call aw.dll functions and procedures (which we fixed right
away).

[View Quote] > I have substituted "cdecl" for "stdcall" as the calling convention used in
> the akAWAPI.Pas unit, which is included (along with the Sample1 unit) in the
> attached Zip file.
>
[View Quote]

Weather algorithm.

Feb 8, 1999, 9:00pm
If the clouds are specially designed bots, then they can go anywhere in a
world like AW that a citizen or tourist avatar can go. So the problem
becomes how to detect where the citizen or tourist avatars are hanging out.
A cloud-avatar bot can't detect other avatars more than a short distance
away. So you'd need a lot of bots out looking for crowds of tourist and
citizen avatars to rain on.

If the clouds are objects added to AW's objects list, then the
cloud-building/destroying bot can only create them above land that is owned
by the bot's owner, as Dean points out. A builder bot can build anywhere in
the world it has been admitted to, so it could make clouds appear anywhere
its owner has land to rain on, without actually being present there. But
detecting whether anybody is on that land is still a problem.

Could another way of detecting crowds on your property be devised (other
than sending a bot there to count AvatarAdded events)? This wouldn't be a
bot programming problem, it would be an object-designing problem or an
object+action+webpage building problem.

[View Quote] > I just thought of a cool programming problem to do with weather.
>
> Lets say that you want a cloudy day, not too many clouds but a few doted
> around. It may be too much of an overhead to add clouds to every zone in
> the world, especially a large world like Aw. You could come up with an
> algorithm that worked out the optimum spread of cloud objects based on
> the locations of the known avatars in the world. So you would only have
> to add cloud objects to certain parts of the world. In most cases this
> would be just around GZ but there would be an occasional smattering for
> those adventurous souls that ventured into the green beyond.
>
> I am not sure what the maximum visibility of an bot is but the cloud
> bot, sorry Eep, must call it a bot, would have to station bots at a
> number of locations around the world to ensure that everyone is seen.
> Each cloud bot would maintain the same list of avatars in the world and
> track each of their movements.
>
> Wherever you go, the clouds will follow. Sounds like a sad ending to a
> weather phenomenon.
>
> Edward Sumerfield.

Weather algorithm.

Feb 9, 1999, 4:05am
Don't give up yet. What I had in mind was a Bump action on certain key objects on
someone's land, so that a webpage and associated database was updated, in a way
that allowed that person's central bot to take a peek at it, and see how big the
current local population of Bumping citizens and tourists might be. There's a
number of reasonable complaints under this newsgroup about having to program
bots, but many of those non-programmers might be ready to install a readymade
web-action on some of their objects, assuming that the bot and database parts
will be taken care of by programmers for them. Then someone's central bot could
put clouds over that person's land whenever its Bump quota was fulfilled, and
rain on the Bumping citizens and tourists there.

[View Quote] > Yes, it seems that my idea will not be feasible. So we are limited to
> generating clouds over our own land only, not so much because of the access
> restrictions but because of the problem of finding all the avatars to have
> clouds over.
>
[View Quote]

Query (Delphi)

Oct 7, 1998, 12:15pm
This is a multi-part message in MIME format.
--------------16800074A4EA905152FBA641
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

A version of Sample1 that tries to Query a Zone instead of greeting an
Avatar is attached. Maybe this is the best we can do until we have
Sample2.

--------------16800074A4EA905152FBA641
Content-Type: application/x-zip-compressed; name="Sample1bForm.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sample1bForm.zip"

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
--------------16800074A4EA905152FBA641--

Query (Delphi)

Oct 8, 1998, 7:47pm
The program that showed how to do aw_query was the basis for a SurveyorBot that
surveyed the house at 0n 70w on Beta. Then a BuilderBot that used the SurveyorBot's
survey as its blueprint made an exact replica of that house, down the road at 0n 86w.
It took less than 2 minutes to do, with a loop of aw_object_adds. This shows that very
new and exciting things can be done with the SDK, such as building from house or hill
modules, having VR contractors that exhibit home and landscape designs and build them
(in minutes) for other AW citizens, etc. There were bot avatars on the scene when the
first Zone was surveyed and when the second Zone was built into, but they were there
because the fiction that the bot is taking notes or building objects is more fun.


[View Quote] > A version of Sample1 that tries to Query a Zone instead of greeting an
> Avatar is attached. Maybe this is the best we can do until we have
> Sample2.
>
> ------------------------------------------------------------------------
>
> Name: Sample1bForm.zip
> Sample1bForm.zip Type: Zip Compressed Data (application/x-zip-compressed)
> Encoding: base64

Query (Delphi)

Oct 10, 1998, 5:48pm
The same SurveyorBot surveyed the Zone centered at 8S 0W on Beta and produced a data file
on 5379 objects in a couple of minutes. This file was edited to eliminate the objects not
within 9W to 6E and 4S to 10S. The resulting blueprint file was given to the same
BuilderBot, which built all 725 objects in the blueprint in less than 4 minutes. You can
see the results by going to Beta 0N 78W. All of us have wanted to move entire buildings,
make copies of pieces of a hard-to-build hillside or complicated window-wall; the
SurveyorBot/BuilderBot combination lets you do those kinds of things quickly and easily,
thanks to the new access to the AW API.

[View Quote] > The program that showed how to do aw_query was the basis for a SurveyorBot that
> surveyed the house at 0n 70w on Beta. Then a BuilderBot that used the SurveyorBot's
> survey as its blueprint made an exact replica of that house, down the road at 0n 86w.
> It took less than 2 minutes to do, with a loop of aw_object_adds. This shows that very
> new and exciting things can be done with the SDK, such as building from house or hill
> modules, having VR contractors that exhibit home and landscape designs and build them
> (in minutes) for other AW citizens, etc. There were bot avatars on the scene when the
> first Zone was surveyed and when the second Zone was built into, but they were there
> because the fiction that the bot is taking notes or building objects is more fun.
>
[View Quote]

Querying while a GreeterBot is present

Oct 10, 1998, 12:56am
Normally when I call aw_query to receive data on all the cells in all
the sectors of a zone on Beta, I have no trouble, and the server
responds promptly, even when there are 100 query calls before
Query_Complete is satisfied (as when one queries the zone at or near
GZ). But if there is a Hambot present at GZ, greeting arrivals and
offering to serve citizens with a recipe of commands, the query cycle
lapses, either freezing up the queries altogether or delaying the
responses so long that you get the impression that your program has
crashed. As soon as the Hambot leaves, things return to normal speed; or
if you go to any zone on Beta that is beyond 40 N/S/E/W, there is the
normal fast server response to your query, though the Hambot is still at
GZ, and out of hearing distance. When I commanded the Hambot to explain
its Build command, it said that its owner could tell it to go to 40N 40W
so that he or she could build. Does that mean that the Bot can
monopolize communications with the SDK at GZ? or was it just empty
boasting? How long should we wait before we decide that the server has
lost touch?

Sample2 (Delphi)

Oct 13, 1998, 8:25pm
This is a multi-part message in MIME format.
--------------3CE501B84C2015DF6E6471F8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I have updated the Delphi library file for linking with Aw.dll (Build
6), and tested the Delphi version of Sample 2 (which uses Build 6). Both
are in the Zip file attached to this message. Sample 2 cleverly forces
you to study the new Properties document in order to run your own
version, even in C, because you have to substitute your own midispk
object at a location elsewhere in Beta, find it using your new knowledge
of Sectors, Zones, and how they translate into Cell coords, and replace
three lines in Sample 2. If you used the Delphi program posted on this
Newsgroup a week ago to explain how to Query property using Sectors,
Zones, and Cell coords, however, you'll find it easy to write and test a
JukeBox program, including how to turn a Cell coord into a Sector coord.
My test wavspk is at 1S 78W, on the walkway leading to the replica of
all property between 4S and 10S, 9W and 6E, built by a BuilderBot
following a Survey made by a SurveyorBot (which used the technique for
Querying property in the previously posted program).

--------------3CE501B84C2015DF6E6471F8
Content-Type: application/x-zip-compressed; name="Sample2Form.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sample2Form.zip"

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
AAACAAIAeAAAAAYVAAAAAA==
--------------3CE501B84C2015DF6E6471F8--

Sample2 (Delphi)

Oct 14, 1998, 1:22pm
This is a multi-part message in MIME format.
--------------0D9679D4CC14AE3B8F065983
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

The attached Zip file corrects an error in the first version: there are 5 lines in
the Sample 2 program which must be replaced, not just 3 lines, for Sample 2 to work,
if your midispk on Beta is not at GZ (whether you write in C or Object Pascal).

[View Quote] > I have updated the Delphi library file for linking with Aw.dll (Build
> 6), and tested the Delphi version of Sample 2 (which uses Build 6). Both
> are in the Zip file attached to this message. Sample 2 cleverly forces
> you to study the new Properties document in order to run your own
> version, even in C, because you have to substitute your own midispk
> object at a location elsewhere in Beta, find it using your new knowledge
> of Sectors, Zones, and how they translate into Cell coords, and replace
> three lines in Sample 2. If you used the Delphi program posted on this
> Newsgroup a week ago to explain how to Query property using Sectors,
> Zones, and Cell coords, however, you'll find it easy to write and test a
> JukeBox program, including how to turn a Cell coord into a Sector coord.
> My test wavspk is at 1S 78W, on the walkway leading to the replica of
> all property between 4S and 10S, 9W and 6E, built by a BuilderBot
> following a Survey made by a SurveyorBot (which used the technique for
> Querying property in the previously posted program).
>
> ------------------------------------------------------------------------
>
> Name: Sample2Form.zip
> Sample2Form.zip Type: Zip Compressed Data (application/x-zip-compressed)
> Encoding: base64



--------------0D9679D4CC14AE3B8F065983
Content-Type: application/x-zip-compressed; name="Sample2Form.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sample2Form.zip"

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
AAIAAgB4AAAAcRUAAAAA
--------------0D9679D4CC14AE3B8F065983--

Sample2 (Delphi)

Nov 24, 1998, 8:25pm
Here are more explicit instructions on how to adapt Sample 2 to finding a midispk at a
location other than 1N 1W:
In Sample Program 2, the Query is used to find a midispk object which has been
placed at 1N 1W on Beta world (this shows up in the CellX, CellZ in the first line
of handle_cell_object). These coords place it in SectorX=0, SectorZ=0 (this shows
up in the lines making calls to aw_query near the end of main and in the middle of
handle_query). SectorX=0, SectorZ=0 define the center Sector of a 9-Sector Zone,
ranging from X= -1 to +1 and Z= -1 to +1 (this shows up in the sanity-check line
in handle_cell_begin). You and the server communicate about the Zone with
reference to an array of 9 Sector-status containers, which is passed back and
forth during communications (Querying a Zone can take many communications). The
array is indexed from 0 to 2 in two dimensions, so you have to convert your 9
SectorX and 9 SectorZ coords to the corresponding array indexes: subtract your
center SectorX and SectorZ from 1, and then add the difference to the current
SectorX and SectorZ array indexes (this shows up in the last line of
handle_cell_begin: 1,1 minus 0,0 = 1,1, so you add 1 to SectorX and 1 to SectorZ
when indexing the array).
When I tested out the Delphi version of Sample Program 2, I placed a midispk at
Beta 1S 78W. So the line in my CellObject handler tests Cell_X = 78 and Cell_Z =
-1. That's in a Zone whose center Sector is at SectorX=10, SectorZ=0. So I did
aw_query(10, 0, SEQUENCE) at the end of the main procedure and in the ReQuery
handler. And the sanity-check in the CellBegin handler tests whether SectorX<9,
SectorX>11, SectorZ<-1, SectorZ>1. The line at the end of CellBegin updating the
SEQUENCE array adds the appropriate differences to the array indexes:
SEQUENCE[SectorZ + 1, SectorX - 9] finds the Sector-status container in the array
which is ready to be updated.


[View Quote] > The attached Zip file corrects an error in the first version: there are 5 lines in
> the Sample 2 program which must be replaced, not just 3 lines, for Sample 2 to work,
> if your midispk on Beta is not at GZ (whether you write in C or Object Pascal).
>
[View Quote]

dialog based bot.... questions & errors

Oct 15, 1998, 12:25pm
The Delphi programs mentioned above are all windows-based. What you describe
(edit-boxes, log-dumps, etc.) are easy to do in Delphi. I have a SurveyorBot
that takes the Owner#, Priv.Password, botname, appname, world, and X,Y,Z from
editboxes, logs the returns into one MemoBox window, and logs the queried
objects into another List, which is saved to a file of the user's choice in a
SaveDialog window before the main window closes. The user shrinks the AW Browser
window down to the medium-size version, and opens the Bot application, which is
in a bar along the top of the screen. When all the EditBoxes are filled, the
user presses a Start button, just as you suggest. It would have taken five times
as long to do this in C (or C++), as Magine noted.

[View Quote] > Hi me again :)
>
> I got the errors from before off (thanks Roland) now I need to know how to
> do something :)...
>
> Here's what my bot program is like:
>
> You start it up and a "menu" comes up.. then you press the Bot button and
> another dialog box comes up. In that dialog box are 4 edit boxes for the
> botsname, citizen#, citizen pp, and the start world. After those are entered
> you his the "Start Bot" button. My problem is that I don't know how to
> "assign" (don't know the correct word for it) the botname, starting world,
> and citpp to a name besides IDC_BOTNAME_EDIT etc.. the cit# what I did was
> go to ClassWizard (I'm using VC++) then Member Variables, then assigned a
> member variable called m_citpp with the type: int. But what type (or what
> do I do) for the other 3? I need something to replace the argv parts of the
> login (using Sample #1 for start of coding). I can't use CString (I found
> out the hard way cause I didn't know how to do some of this stuff) , when I
> use any of the other types listed when I click "Add variable" under member
> variables I get an error saying it can't convert it to char *. how would I
> do this then? (I'm novice at C/C++ .. :))
>
> Also if possible is there a way to have it print the log (like the printf
> lines) to another edit box? (IDC_LOG_EDIT) and put errors into popup message
> boxes, since it's not a console app....
>
> thanx to anyone who replies :)
>
> PC Wizard (ICQ-537376)
> wizardry at home.com
> http://pcwizard.ml.org

dialog based bot.... questions & errors

Oct 21, 1998, 5:21pm
Also, for programmers trying to do a windows-based version of these bot
programs, there may be a puzzling window freeze-up when you use aw_query and
callbacks, as some of the other replies have suggested. I don't know if it has
general application, but I found that in Delphi I could break out of a callback
and event loop (as in Sample 2) by inserting an Application.ProcessMessages line
in the loop, followed by a line that tested the state of a Button-controlled
variable. Application.ProcessMessages is just a Delphi-wrapped WinAPI call, I
think. (See below under Build7-Delphi.)

[View Quote] > Hi me again :)
>
> I got the errors from before off (thanks Roland) now I need to know how to
> do something :)...
>
> Here's what my bot program is like:
>
> You start it up and a "menu" comes up.. then you press the Bot button and
> another dialog box comes up. In that dialog box are 4 edit boxes for the
> botsname, citizen#, citizen pp, and the start world. After those are entered
> you his the "Start Bot" button. My problem is that I don't know how to
> "assign" (don't know the correct word for it) the botname, starting world,
> and citpp to a name besides IDC_BOTNAME_EDIT etc.. the cit# what I did was
> go to ClassWizard (I'm using VC++) then Member Variables, then assigned a
> member variable called m_citpp with the type: int. But what type (or what
> do I do) for the other 3? I need something to replace the argv parts of the
> login (using Sample #1 for start of coding). I can't use CString (I found
> out the hard way cause I didn't know how to do some of this stuff) , when I
> use any of the other types listed when I click "Add variable" under member
> variables I get an error saying it can't convert it to char *. how would I
> do this then? (I'm novice at C/C++ .. :))
>
> Also if possible is there a way to have it print the log (like the printf
> lines) to another edit box? (IDC_LOG_EDIT) and put errors into popup message
> boxes, since it's not a console app....
>
> thanx to anyone who replies :)
>
> PC Wizard (ICQ-537376)
> wizardry at home.com
> http://pcwizard.ml.org

Changing the Owner

Oct 16, 1998, 4:57pm
Can a Bot change the Owner by using aw_object_change? I get a reason 211
for not allowing it. Can a Bot confer ownership by using aw_object_add
with a specific value for AW_OBJECT_OWNER? When I try it, this specific
value is ignored and the Bot's Owner is listed as the owner in the new
object. When would one use the aw_int_set(AW_OBJECT_OWNER)? (It would be
nice to build someone a surprise gift building.)

Changing the Owner

Oct 17, 1998, 12:11am
Then a good example of an application that needs two bots would be a citizen
that wants to deed over a valuable and complicated set of buildings to another
citizen. Till now all the first citizen can do is erase the buildings and then
rebuild them again holding a privilege password on behalf of the other citizen.
With bots, bot1 can survey, record, and then destroy each object in the set of
buildings, and bot2 can receive the description of each object from bot1, and
rebuild it exactly as before, except with the new ownership. Or is it possible
for two bots in one application to have different owners?

[View Quote] > Yeah changing object ownership is a bit of a mess. Because of the way an
> object change is handled in the world server, if there is a registry in
> effect in that world, the object winds up encroaching with itself and the
> change is rejected. So it cannot be done in worlds with a registry. If
> there is no registry however, you should be able to change the owner of the
> object, but only if the the bot instance has Eminent Domain in the world.
>
> It's theoretically possible to fix the registry problem but the solution
> would complicate the object_change operation significantly so it hasn't been
> addressed yet...
>
> AW_OBJECT_OWNER is not used by aw_object_add(). Sorry if the docs are not
> clear on this (I'm still working on updating and extending them.) All
> objects are automatically added under the ownership of the citizen doing the
> adding.
>
> In short, most of the time it is simply not possible to build as another
> person unless you know their privilege password. And I think that most of
> the time, this is arguably a good thing :)
>
> -Roland
>
[View Quote]

Build7 (Delphi)

Oct 21, 1998, 2:20pm
This is a multi-part message in MIME format.
--------------214FED21A0100088F15D14B3
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Attached is the Delphi version of the AWAPI library, Build 7. The only
difference from Build 6 is that all PChar parameters have been changed
to const PChar parameters. I tested this Build 7 library earlier today,
using a version of Sample 2 that was written for Build 6. (Sample 2
makes a lot of use of string parameters.) It seemed to work fine.

--------------214FED21A0100088F15D14B3
Content-Type: application/x-zip-compressed; name="Build7AWAPI.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Build7AWAPI.zip"

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
AAA=
--------------214FED21A0100088F15D14B3--

Build7 (Delphi)

Oct 21, 1998, 5:11pm
Sample 2 uses an infinite loop, with aw_wait providing the time interval for the
callbacks to aw_query and the CellBegin and CellObject events. The Delphi sample
program leaves it open how to break out of the loop. The best method is to make
Button2 a 'Stop' button. But Button2 doesn't work in the usual way, giving you the
false impression that the Aw.dll is preventing the window from regaining control,
because as soon as you wait for the callback events to occur, the Sample 2 window no
longer responds to your mouse and keyboard. Enabling the Form's Boolean Stop field,
and placing a 'break' test inside the loop isn't enough. You must also put
'Application.ProcessMessages' in the loop ahead of the 'if Stop then break' test. Now
pressing the Stop button stops the endless replaying of the 10 midi files.

[View Quote] > Attached is the Delphi version of the AWAPI library, Build 7. The only
> difference from Build 6 is that all PChar parameters have been changed
> to const PChar parameters. I tested this Build 7 library earlier today,
> using a version of Sample 2 that was written for Build 6. (Sample 2
> makes a lot of use of string parameters.) It seemed to work fine.
>
> ------------------------------------------------------------------------
>
> Name: Build7AWAPI.zip
> Build7AWAPI.zip Type: Zip Compressed Data (application/x-zip-compressed)
> Encoding: base64

Photocopy Bot Demo

Mar 1, 1999, 2:52pm
The Photocopy Bot is a great idea. And you deserve extra praise for taking its
power seriously. In the wrong hands, a BuilderBot can do great harm; in the
right hands, it is a great tool for virtual architects and building owners, as
you say. If you look around Beta, you'll see buildings built by other SDK bots,
going back to October. Hamfon had a BuilderBot that could archive buildings
before there ever was an SDK. I think everybody held back from distributing them
because it was so hard to control how they would be used, especially in the
public building worlds, where most ActiveWorlds people visit and build.

I guess it is up to the world owners to control runaway construction (the
easiest and fairest way mentioned so far is to put a limit on the number of
cells anyone's bots can build in a day, because you can automate the scan of the
log). So the issue of respect for intellectual property is the one that bot
programmers have to face: till now, anyone could laboriously copy anyone else's
building ideas, and that was a great way to learn; but now, with SDK builder
bots available, anyone can copy whole building complexes in a flash, as you say,
and still know nothing more about models, textures, and animation design.

During the SDK Beta period, I used to get my Beta testers to promise not to copy
anything with their BuilderBots unless they got permission from the owner.
Still, I was bothered by all the same questions you are asking: how can we get
all the incredible benefits of BuilderBots without encouraging the obvious
misuses? Anyone I give a BuilderBot to can give a copy of the program to anyone
else, and sooner or later, somebody down the line is using it to do the worst
kind of things. So, what to do?

Here's the best solution I could think of so far: there's an InventoryBot
program that only surveys the Bot-owner's property; and a BuilderBot program
that only builds surveys made by an InventoryBot. If your friends want to survey
their property with an InventoryBot and give you a copy of their survey, your
BuilderBot program can build that survey too. The outcome is, you can't copy
someone else's property without getting their permission.

And I've got a second idea for encouraging the positive use of BuilderBots. Most
people will want BuilderBots to do certain particularly hard but useful building
tasks, and then those people will take over from there, and put together a
complete site in the old way. I'm going to offer BuilderBot Modules for those
building tasks. Instead of getting a generalized BuilderBot program, people can
get a Module program that builds just one building or just one building part. On
AlphaWorld, citizens can download Modules for flower gardens, fountains,
automobiles, billiard rooms, business offices, homes, patios, etc.; on Mars,
citizens can download Modules for railway lines, craters, glass domes, etc. (You
can see these Modules in Demo form at AW 9876s 5432e 10, and at Mars 23N 500W.)
A Module program contains an edited-down survey of just one building, and can
only build that building. You pick out the building you want from a Building
Yard, download the Module program from a website at the Building Yard, and run
the Module Bot at your own building site. You know you've got a building that
was designed for copying.

[View Quote] > A Photocopy bot now exists. A demo of its work can be seen in Beta at 60S
> 85E.
>
> The Bot can examine a large area, and archive (propdump) the info.
>
> It's great for backing up your work in various worlds. A reasonable
> anti-vandalism tool.
>
> Then based on the archive, it can re-build enormous areas either in the same
> place, or in a different place.
>
> If moving between worlds, as long as the new world supports all the objects,
> then
> it can move stuff between worlds. Its easy to move stuff off of AlphaWorld
> as most
> worlds have all its objects.
>
> Now that this bot exists, perhaps some questions.
>
> Is *anything* copyrighted on AlphaWorld? On other worlds? What can and
> cannot be copied.
> Can people somehow indicate copyrighted work so the bot won't copy it? How?
> Is this even
> a concern? Will it do any good, as other photocopy bots are sure to follow.
> Will this just
> ban all bots everywhere?
>
> Should the building capabilities of this bot be tightly restricted in its
> distribution?
> Citizens only? PS only? Radius? Perhaps making it cost non-trivial
> amounts of money?
>
> Am I too worried? The demo in beta was the result to two commands to the
> bot.
>
> The first, at GZ was ".remember". Then at 60S 85E ".replicate 150" to tell
> the bot to
> replicate up to 150 meters out. It did about 5500 objects in about 5
> minutes.
>
> AKA Howland

Marketing research(sort of)

Nov 9, 1998, 2:30pm
There is a kind of in-world stuff that AW citizens might want to pay for--bots. Virtual money
could be used to rent or buy bots from bot agencies or bot makers. You'll ask, why rent a bot
when you can write or d/l a bot program? The problem is that AW worlds are rapidly being closed
to all SDK bots except those belonging to the world-proprietors and the few names that the
world-proprietors put on their AW_WORLD_BOTS_RIGHT lists. If you're an ordinary citizen without
the RW money and leisure to buy and maintain a VR world, you may be able to write or get bot
programs, but you won't be able to use them anywhere (except maybe Beta).
The world-proprietors have a reason to exclude all but a few bots from their worlds. The SDK
is an extremely powerful tool, and can be used to program wonderful, friendly bots or obnoxious,
hateful bots. The obnoxious bots fall into two classes, as far as I can see: obnoxious avatars
and obnoxious builders. You can program deer avatars that wander about your forested land and
flee approaching hikers; or you can program demon avatars that station themselves on some
victim's land and do or say rude things to anyone who happens to pass by. You can program mover
bots that help people extricate themselves from a site that turns out to be too small by moving
an entire building and landscape from there to a larger site, or you can program a paver bot
that covers vast tracts of open land with raw concrete. Obnoxious avatars can be obnoxious
anywhere; obnoxious builders need land open to building.
The only solution that I can think of is to have world-owners license bot-owners. A bot owner
that operates obnoxious bots loses the bot-license. If you want deer on your VR estate, you get
a license or you rent them from a bot agency, that has built up a reputation for clever and
non-obnoxious bots and so has a bot-license. If you want to build a under a dome on Mars, you
get a license for a builder bot from the owner of Mars, or you go to a contractor that has a
builder-bot license for Mars construction, and select a dome from the domes on the contractor's
Module Yard (you give the contractor a privilege password so that you end up owning the dome).
The contractor wants the VR money because
it can be used to rent deer bots from a bot agency. A VR economy, backed up by a VR legal
system.

[View Quote] > An interesting concept, not your dead body, but the idea of making money non financial. I
> guess I would have to ask why because I can't see any in-world stuff that I would want to
> purchase with it. Unless you wanted to start a poker league maybe.
>
> Edward Sumerfield
>
[View Quote]

AWCPP - C++ release v0.2

Oct 25, 1998, 11:16pm
Thanks for the C++ code, especially the movement classes. Like Walter Knupe, I
was scrambling to learn trigonometry all over again, though I my goal was to
have a builder bot that can extend property that is at an arbitary yaw, and
though I program in Object Pascal. The process is a lot easier when someone else
has already figured it out, even in another language! :) I wonder if the AW SDK
could provide support functions in this area; it's surely a basic part of the AW
code, and support functions would save everybody from having to program it into
their bot code. One support function ought to let us convert a pair of X, Z
coords, a distance travelled, and the Yaw of the object, into the X, Z coords of
the object's destination. A second support function ought to let us rotate
objects around a pivot point, by converting the X, Z coords of the pivot point,
the distance of an object from the pivot point, and the degrees in the rotation,
into the X, Z coords (and Yaw) of the object after it has travelled its arc.
Otherwise, we're all going to spend a lot of time individually reviewing old
math textbooks!

[View Quote] > This is version 0.2 of the C++ wrapper for the Active Worlds SDK.
>
> The coolest change is the movement classes. I have removed the need to use
> x,y and z coordinates and in their place you can rotate left, rigth, up and
> down and then move forward.
>
> With the up and down it is even supporting pitch so you can set the robot
> position as 0 x coord, 0 z coord, 0 altitude, 0 yaw and 45 pitch. Now if you
> call the forward method the avatar will ascend into the sky at a 45 degree
> angle for the distance specified.
>
> It makes it very easy to do things like move the robot round in circles:
>
> for (int a = 0; a < 24;a++) {
>
> rotate_left(15); // 15 degrees
> forward(1); // 1 meter
> }
>
> I standardized all the units to degrees and meters so there are no ugle
> translations anywhere.
>
> Here is the web page where you can download it from:
>
> http://members.xoom.com/esumerfd/ActiveWorlds/AWSDK.htm
>
> I have split the source and binaries up since the total download was getting
> a little large.
>
> The next steps are:
>
> 1. Add guesture support to the movement class.
> 2. Add more functionality to the avatar_add callback so you get more
> informtation about the avatar added.
> 3. Look at building a Movement derivitive that works in conjunction with
> avatar_add and allows a robot to see someone and run away.
>
> Every day, in every way, I get closer to my field of deer. Though I guess I
> am going to be limited to 3 to begin with. Doh. Maybe thats a herdette of
> deer.
>
> Edward Sumerfield.

AWCPP - C++ release v0.2

Oct 28, 1998, 12:48pm
Have you thought about using trig functions for the full 360 degrees? In
Movement.C, you give an example of an avatar which is going to travel 10 meters
while facing 5 degrees east of N. Your system calculates 10*sin(5) = 10*.08716
for the change in the avatar's X coord, and 10*cos(5) = 10*.99619 for the change
in the avatar's Z coord. If I understand correctly, a 360-degree approach would
integrate better into the AW system coords, which use signed values.
You can use the Avatar's Yaw as is, 355 degrees. Calculate the avatar's X and
Z coords based on the 355 degree angle: 10*sin(355) = 10*-.08716, and
10*cos(355) = 10*+.99619. This is nice, because adding -.08716 puts the avatar
further east in the AW system, and adding +.99619 puts the avatar further north
in the AW system.In the NW quadrant (0-90 degrees), sin and cos are positive; in
the SW quadrant, sin is positive and cos negative; in the SE quadrant, sin and
cos are negative; in the NE quadrant, sin is negative and cos is positive. I
think most built-in trig functions will give ratios for the full 360 degrees.



[View Quote] > I agree that the SDK should be enhanced with this kind of stuff, but I would
> like to see it migrated to an OO solution if possible. It is so much easier
> to program in that environment.
>
> Early days yet though, Roland is just stabalizing the current SDK at the
> moment. It may be a while before these kind of extensions are released.
>
> If we can come up with a list of algorithms that can be implemented maybe we
> should dedicate a web page to it.
>
> Edward Sumerfield.
>
[View Quote]

AWCPP - C++ release v0.2

Oct 28, 1998, 1:01pm
Or maybe that is what Movement.C is doing already, and I've misinterpreted your
diagram, which seems to show the avatar moving NE at an angle of 5 degrees.

[View Quote] > Have you thought about using trig functions for the full 360 degrees? In
> Movement.C, you give an example of an avatar which is going to travel 10 meters
> while facing 5 degrees east of N. Your system calculates 10*sin(5) = 10*.08716
> for the change in the avatar's X coord, and 10*cos(5) = 10*.99619 for the change
> in the avatar's Z coord. If I understand correctly, a 360-degree approach would
> integrate better into the AW system coords, which use signed values.
> You can use the Avatar's Yaw as is, 355 degrees. Calculate the avatar's X and
> Z coords based on the 355 degree angle: 10*sin(355) = 10*-.08716, and
> 10*cos(355) = 10*+.99619. This is nice, because adding -.08716 puts the avatar
> further east in the AW system, and adding +.99619 puts the avatar further north
> in the AW system.In the NW quadrant (0-90 degrees), sin and cos are positive; in
> the SW quadrant, sin is positive and cos negative; in the SE quadrant, sin and
> cos are negative; in the NE quadrant, sin is negative and cos is positive. I
> think most built-in trig functions will give ratios for the full 360 degrees.
>
[View Quote]

AWCPP - C++ release v0.2

Oct 29, 1998, 7:54pm
Yes, I can now see that your code does allow for all angles, and is certainly the model
for the rest of us to follow. I think it should work in any world quadrant, too; I was
trying to picture the avatar as the center of a circle with four quadrants. I noticed that
AW yaw places the first quadrant on the NW of the avatar, which is different from standard
trig, but blends well with AW practice making S and E negative directions.
I want my builder bot to be able to rotate an entire building (including landscape, etc.)
to suit the needs of a particular site, working from a standard blueprint. I was trying to
relate my trig problem to your avatar solution. Instead of one avatar, it's like I'm
choreographing a lot of avatars, who are all moving 5 degrees around concentric circles at
various distances from the center of the dance performance. Each avatar has its own
n-meter hypotenuse from the center; the problem is working out the sines and cosines for
their initial (blueprint) positions and final (constructed) positions. I'll try to post
the code as soon as I have a version that works.

[View Quote] > I am not sure if this is a problem.
>
> It does take 360 degrees into account. Any angle from 0 to 360 is allowed. The various
> angles of the circle returning numbers from -1 to 1 as you pointed out. This times the
> distance gives an appropriate delta.
>
> However, I did all my testing at 100n 100w quadrant of the world so I don't know if it
> would work in the SE for example where the x, z coords are -10000, -10000. It would
> seem like it would work just be cause the axis are going in the same direction. That
> is, there is no reversal of direction around zero it just goes negative. I store
> everything as int but interface with float to achieve the approprate units and each of
> these can handle the -32767 that is required in a AW world.
>
> I guess I will have to test it. Thanks for the hint.
>
> Edward Sumerfield
>
[View Quote]

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