canopus // User Search

canopus // User Search

1  ...  2  3  4  5  6  7  |  

Bot Progress

Feb 8, 2000, 11:04pm
Sure, it would be better to have access to the complete object data! But
partial data, like bounding-box data, is better than nothing at all. And bot
programmers can acquire some of the geometry routines that might eventually
apply to complete collision-detection, even to gravity.

In quite a few 3D engines, collision-detection is done in two stages: first, a
broad sweep of the object database, using bounding boxes; then, once the
nearest and likeliest barriers are detected, a narrow examination of the
candidate objects, using their face, edge, and vertex data as targets for
detailed geometric probes. Like Faber says, it's not easy to do, & doing just
the first part might make some programmers succeed at adding a new bot ability,
even if it is just stopping at walls or trees or breaking a fall on a mountain
peak or an automobile roof.

Renderware 3.0 has built-in full collision-detection, or so they claim. If this
means that the full ability will be passed on to bot programmers via the AW 3.0
SDK, then let it happen!


[View Quote] > 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]

AW_OBJECT_ADD with Owner other than Bot ID

Jan 29, 1999, 3:40pm
Also see the thread in this newsgroup called Changing the Owner, from 10/16/98.



[View Quote] > I have noticed that the AW_OBJECT_ADD does not allow adding of objects to a
> world with an Owner ID other than that under which the bot is logged on. In
> the browser instead it is possible as long as you have ED privs.
>
> Would this be possible with the SDK ?
>
> Lucio

Build 13 Delphi

Feb 10, 1999, 11:34pm
This is a multi-part message in MIME format.
--------------CF86ED628544472F2E6E816A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Attached is the Build 13 version of the AWAPI written in Object Pascal
for Delphi. If you are coming to the SDK for the first time, you should
read the instructions for using the API that appeared in the NG thread
for Delphi on 10/1/98. A unit listing the API Reason Codes prepared by
XelaG appeared in a thread on 12/2/98.


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

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
UEkucGFzUEsFBgAAAAABAAEAOQAAAKsMAAAAAA==
--------------CF86ED628544472F2E6E816A--

Delphi Encapsulation of SDK

Feb 11, 1999, 2:10pm
This is a multi-part message in MIME format.
--------------44BB8C47204A606EBB2A8CC9
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Here is an OOP Platform for Delphi SDK programmers. It encapsulates a
large part of the SDK, so that programmers can go ahead and program bots
without having to get into the details of aw.dll function calls. There
is support for classes of Avatars, Chats, Blocks (AW building objects),
and Citizens. A central BotMaster handles the assignment of events and
callbacks to individual Bots, which both respond to events and initiate
events of their own. The SDK reason codes are present as stringtable
resources. Besides collection classes for Avatars, Chats, Blocks, and
Citizens, there are HandlerQueues for events which must be resumed
after calling a callback, etc.

The source code for the methods contains suggestions where and how to
override the existing code. In addition to the OOP Platform, 4 sample
programs are provided, including the 2 SDK Sample Programs (rewritten
for the Platform), and 2 variations on Sample 1, showing how to derive
descendant classes from the Platform classes.

The Platform and the sample programs can be found in the attached Zip
file. This is just a first draft, and though I tried to anticipate many
different kinds of bot uses, new kinds of bots are always being
invented. So the Platform will certainly need updating, and I hope the
other Delphi bot programmers will modify it and improve it.

--------------44BB8C47204A606EBB2A8CC9
Content-Type: application/x-zip-compressed; name="BotPak.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="BotPak.zip"

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
--------------44BB8C47204A606EBB2A8CC9--

Build 13 upgrade reminder

Feb 17, 1999, 1:27pm
When 2.1 is officially released this week, and the SDK beta period comes to an
end, can we expect to use SDK bots on the public-building COF worlds, where the
people are? Will the COF worlds like Atlantis, Mars, Meta, and Yellowstone be
opened to bots, now that we've tested them out? Or should we expect to buy our
own worlds, if we want to run our bots at home?

[View Quote] > Hi folks,
>
> this is a gentle reminder that you should upgrade all of your SDK
> applications to use build 13 of the SDK as soon as possible. I can see from
> the server logs that there are a lot of bots running out there that are
> still using builds from 10 through 12. Builds 12 and earlier will be
> disabled very soon, probably before the end of this week.
>
> -Roland

Build 13 upgrade reminder

Feb 17, 1999, 4:46pm
Well, I was just interrupted, while building on a COF world, to receive an
update to Version 2.1. And I can report that one COF public-building world, at
least, does allow bots! :o) Thanks, Roland.

[View Quote] > I am not sure what the plans are yet in this department. I will have to
> check with mgmt and get back to you on that...allowing bots in these worlds
> isn't so much related to whether the SDK is beta or released, it's related
> to the potential for bot abuse in these worlds (e.g. massive robo building
> projects) and whether or not people are actually going to abuse them.
>
> -Roland
>
[View Quote]

Security issue

Feb 23, 1999, 12:53pm
An SDK bot program dials up ActiveWorlds--the buyer knows that, and counts on
ActiveWorlds to be virus-free. But how can the buyer be sure that every bot
programmer's machine is virus-free, and hasn't been taken over by Netbus or
BackOrifice? Downloading a bot program once is risky enough. If AW citizens
start thinking that bot programs regularly dial up the programmer's machine for
supervision of bot behavior or automatic downloads, they're going to shy away
from bots.

[View Quote] > Baggis, I think yours is a real issue. More that one bot around
> communicates with the maker's server: Hambots, Imabots. Mine would if
> I knew how to. The bot maker can encryt whatever he wishes, there is
> no control on that. And like any other program, the bot could contain
> a virus or be a trojan.
>
> I guess the same will have to apply as with any executable: you'll
> have to trust the maker.
>
> XelaG.
>
> On Sat, 20 Feb 1999 08:49:36 +0100, "Baggis" <baggis at swipnet.se>
[View Quote]

Need some programming help

Mar 1, 1999, 1:36pm
You could get the caption of the browser's foreground window by using the
Delphi WinAPI functions FindWindow('AlphaWorld', nil) and
GetWindowText(AWindow, TheText, 255), and then analyzing TheText into its
parts for the current coordinates. (If you need the altitude and certain
other attributes, you'll have to call the two functions again for each
appropriate status-bar window.) There is an excellent volume covering the
subject of accessing the Win32 API called "The Tomes of Delphi 3" by John
Ayres et al, from Wordware Publishing.

[View Quote] > My name is Matheus, and I am a Delphi programmer, and I need to know how
>
> to get the coordinates of the current person using AW.
>
> It's like this: I am developing a software that needs to know where (the
>
> corrdinates NS, EW, A, facing) the person using AWBrowser is. How can I
> accoplish this? I though about using some windows api functions, so,
> anyone know any function that uses it? (doesn't need to be a Delphi
> one!)

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

some help needed

Mar 8, 1999, 10:34pm
There are versions of the Sample Programs in the Delphi threads for 10/1/98 and
10/13/98. They stick as close as possible to the C code of the original Sample
Programs, so that you can easily see what has to be modified to work in Delphi.
Some of your questions will be answered there. Most of the Delphi threads since
that time are clearly labeled; if you want to work with a Delphi encapsulation
of the SDK, see the 2/13/99 thread. For example, in Sample 1, the Greeter Bot
uses aw_say with the string parameter (in single quotes, as usual) converted
from a Delphi string to a C string by a PChar typecast (in the line before the
call to aw_say). The encapsulated versions of the Sample Programs allow you to
ignore details like how and when aw_init is called; it already has a unit
containing resource strings for the reason codes, and to log them to your memo,
all you have to do is to enable the BotMaster object's Reason method and direct
its Reason output to your memo control.

[View Quote] > Hi, I started to program with the SDK last night, and I ran into some
> questions.
>
> I use Delphi 4.
>
> 1.
> in these C++ programs I see things like:
>
> if (rc = aw_init (AW_BUILD)) {
> printf ("Unable to initialize API (reason %d)\n", rc); exit (1); }
>
> Am I right in trying to translate this into
>
> rc:=aw_init(AW_BUILD);
> if rc=0 then
> messages.lines.add('API initialized succesfully') //messages is a
> memo box
> else
> begin
> messages.lines.add('Failed to initialize API');
> exit;
> end;
>
> This seems to work correctly, but I'm not sure. And how can I use the %d?
>
> 2.
> I tried to make my bot say something with
>
> aw_say('[beep]');
>
> it should have said [beep] but it said nothing.
>
> Rolu

Bots and Bot Rights

Mar 17, 1999, 4:48pm
How can you tell a SeedBot from a BuilderBot? Wouldn't 300 copies of a Seed
object be a lot uglier than one Building with 300 objects in it?

Why should buildings that are built with the help of a bot be subject to a an
object limit, while buildings that are built without a bot have no object limit?
Total cells built per day for or by one owner is the best suggestion so far:
somebody has to write a program that automates the search through the day's
building log, sorting by owner and then calculating cells built per owner. (A
variation on this is a program that queries every zone in the world, records
every object built since the last survey, and then sorts by owner and cell. This
would also be handy as the basis for generating an uptodate guide map of the
world.)

AlphaWorld used to eject bots from the area around GZ. Caretakers have no
serious problem with obnoxious bots, because they can detect the bot's owner
from the world login process. Citizen avatars can be detected by other citizens,
and this inhibits obnoxious citizen behavior elsewhere in the world. Oddly,
there is no way for other citizens to detect a bot's owner, either from its name
or by means of the SDK. This means that citizens that wish to behave obnoxiously
can do so without fear of reprisal if they do it disguised as a bot. This is one
case in which bots have privileges that are denied to their owners.



[View Quote] > So I like my bot. It follows me everywhere. 'Cept it can't. Not Welcome.
> After seeing XelaG's companion bots I fell in love with the idea and have
> been trying to perfect my "Botany" series.
>
> Well why aren't bots welcome? Mayhaps because there are no restrictions on
> their activities.
>
> So lets help Roland out and spec out what is needed so he does not have to
> waste his time on
> figuring out what *exactly* is needed. Then he could peruse the spec and
> add some code in during his lunch break.
>
> A few yes/no flags would be easy to implement with little or no changes to
> the world servers. Building quota's
> are much harder and may I suggest they be delayed til round two.
>
> My *initial* suggestion to get the ball rolling...
>
> Two classes of bots
>
> Caretaker bots. They can do anything. This is kind of how the current
> restrictions work
> If is on the "approved" list, then its in. No limits.
>
> Other bots. These are the ones that need monitoring.
>
> So for the Other BOT classification as series of radio buttons (or
> something) that allow...
>
> Bots can *always* whisper to their owners - this way they don't bother
> anyone else.
>
> (And I have marked *** the recommended defaults for non-caretaker bots)
>
> Whisper to others
> YES
> YES outsize of GZ area ***
> YES PS only
> NO
>
> Talk to anyone
> YES
> YES outsize of GZ area ***
> YES PS ONLY
> NO
>
> Build
> Public building worlds
> Public - OK
> Public - Seed only (tight quota) ;these two quota ones are
> harder to code for
> Public - limited (loose quota)
> PS only *** (see note 1)
> NO
> Restricted building words
> Authorized builders only ***
> PS Only
> NO
>
> Delete
> Public building worlds
> Owner objects only
> PS only
> NO *** (It not hard to manually delete a lot of stuff.
> Lets not have auto-deleters running around)
> Restricted building words
> Owner objects only ***
> NO
>
> Eject
> PS Only
> NO ***
>
> Become an Avatar/Visible
> YES ***
> PS Only
> NO
>
> The code to enforce the restrictions can be in the SDK. It just needs a few
> bits
> of data from the world server along with what it already knows. A new API
> call
> to interrogate available privileges for the current bot would make life
> easier.
>
> - - -
> Note 1:
>
> Basically working on a backup/restore bot that can backup a world and
> restore it.
> I think a lot of people would like to back up their worlds to protect
> against random
> crashes/vandalism/etc/etc/etc. For private worlds there is no problem
> getting
> stuff rebuilt. For something like AW it would take something like the
> privilege
> of a PS or something to allow the restore bot to go in and rebuild a bunch
> of
> stuff. I can see where they don't want loads of people running builder
> bots, but
> I can see where exceptions should be granted with due process.
>
> Ummm
> Comments?
> Howland

Logging In by Citizen Name

Mar 20, 1999, 6:40pm
How does the Browser manage to log in using the citizen's name, while
bot programs have to log in using the citizen's number? Most people know
their citizen name, but don't remember their citizen number. It's a
rotten way to start a program by treating the citizen like a numbered
unit in some policestate. Is there a way to get the citizen number from
the citizen name before calling aw_login? (aw_citizen_attributes_by_name
doesn't seem to work there)?

New ShowBot & AWPhone

May 4, 2000, 1:06pm
The new ShowBot can stage a special effects performance on a set of your
choice in ActiveWorlds. You put together a Screenplay for the ShowBot to
follow. The Screenplay is made up of a few simple construction commands,
naming surveys, blueprints, & demolition files for the ShowBot to
perform. You could do a fireworks show, a volcanic eruption, a haunted
house, an earthquake--anything that can be done by building & destroying
objects according to a preconceived plan.

Since the ShowBot is constantly changing & moving objects on the Set,
you can avoid the frustrating Building Inspector calls that occur with
invisible objects & animation-sequences. Also, everybody who is there
sees the ShowBot special effect, not just the person who Bumps or
Activates the initiating object.

The ShowBot can be found at
http://www.canopus.org/construction/bots/staging.html.

There is also a new AWPhone application, which allows you to set up a
group chat call from within ActiveWorlds. It works like a bot program
but doesn't affect your bot quota. It doesn't route you through a Server
either; it just connects you with your friends. The AWPhone can be found
at http://www.canopus.org/construction/bots/phoning.html.

New ShowBot & AWPhone

May 4, 2000, 7:16pm
You're right. "Temporary calling number" and "internet number" are designed to put the user at ease,
like the fiction that the program form is a "phone". Microsoft itself uses the term "IP Address" when
its Service Provider dialog pops up in versions of its DPlay Chat sample. But I found that most people
did not have the slightest idea of what an "IP Address" was, and were not ready to learn how to use
WinIPCFG.exe in order to look up their IP Address before using the Phone program. They usually thought
"IP Address" was their email address, if they had any thoughts at all. Plus I wanted to build the IP
Address lookup into the AWPhone itself.

Looking at an IP Address ("109.144.25.37"), the technically literate would see it as an "address" and
surmise that it was an Internet Protocol identifier. Most people wouldn't see it as a "regular phone
number", that's certain! "I.P. number" is a nice compromise: I'll try it out on people and see how it
works. Thanks. :o)

[View Quote] > On the description page for awphone, http://www.canopus.org/construction/bots/phoning.html,
> I would replace "temporary calling number" and "internet number" with "I.P. number" as this is the
> only valid term for it. Anything else leads to confusion at the reader or at his friends when spread
> around :)
>
> Faber
>
[View Quote]

New ShowBot & AWPhone

May 5, 2000, 9:38pm
A second AWPhone model has been added
(http://www.canopus.org/construction/bots/phoning.html): the AWPhone GPS.
The GPS version regularly contacts the global positioning satellites in
ActiveWorlds to get your coords. If successful, your world & coords are sent
to everyone in the group call. This is handy if you & your friends get
separated while travelling through AW together. Meanwhile, your group can
continue to chat as in the basic AWPhone.

[View Quote] > The new ShowBot can stage a special effects performance on a set of your
> choice in ActiveWorlds. You put together a Screenplay for the ShowBot to
> follow. The Screenplay is made up of a few simple construction commands,
> naming surveys, blueprints, & demolition files for the ShowBot to
> perform. You could do a fireworks show, a volcanic eruption, a haunted
> house, an earthquake--anything that can be done by building & destroying
> objects according to a preconceived plan.
>
> Since the ShowBot is constantly changing & moving objects on the Set,
> you can avoid the frustrating Building Inspector calls that occur with
> invisible objects & animation-sequences. Also, everybody who is there
> sees the ShowBot special effect, not just the person who Bumps or
> Activates the initiating object.
>
> The ShowBot can be found at
> http://www.canopus.org/construction/bots/staging.html.
>
> There is also a new AWPhone application, which allows you to set up a
> group chat call from within ActiveWorlds. It works like a bot program
> but doesn't affect your bot quota. It doesn't route you through a Server
> either; it just connects you with your friends. The AWPhone can be found
> at http://www.canopus.org/construction/bots/phoning.html.

New ShowBot & AWPhone

May 24, 2000, 1:57am
Version 1.1 of the AWPhone & AWPhone GPS has been posted to the website
(http://www.canopus.org/construction/construction.html). They now try to
detect if you have more than one connection to the Internet, letting you
choose the one for your AW Phone. (For example, you have both an old
modem connection & a new DSL connection on your computer.) Thanks,
Faber, for helping out on this issue.

[View Quote]

New ShowBot & AWPhone

May 24, 2000, 8:45pm
A bug left over from testing made the AWPhone branch around the new
code, which would be okay for people with just one internet connection,
anyway; try the version posted today, to see if offers a choice between
two or more of your connections--it does on my computer. And thanks for
testing it so fast!

[View Quote]

Super Finder Bot

Jun 6, 2000, 2:14pm
Try the LostFoundBot, which looks for your property, taking one strip of
land across the world at a time. The Bot is available at
http://www.canopus.org/construction/construction.html.


[View Quote]

Delphi

Dec 18, 1999, 6:45pm
I've posted most of the Delphi material that appeared here on a new
webpage at http://www.canopus.org/delphi/delphi.html. This includes the
Delphi version of Build 15 of the AWAPI, & the Delphi Encapsulation of
the SDK, with sample programs & source code.

what do you want in a bot?

Feb 5, 2000, 3:43pm
The magsbot is the answer to all those people who ask, "where can I get a
cheap, full-featured compiler so I can write my own bot programs?" Better:
the magsbot is free! Yet it provides the support that we expect from major
programming languages, such as built-in lists, file access, timers, DLL
connectivity, even user-programmable buttons. Plus the magsbot makes the
major bot functions (chat, avatar-awareness, surveying, building) available
in the same scriptlike programming language. The latest version makes it
easier for non-programmers to begin programming by studying explicit
bot-programming examples. So users can invent all sorts of new bots--if they
have the imagination to think of any--just by programming a magsbot.


[View Quote] > Hi,
>
> Welllll, I must say I'm a little disappointed in the lack of reaction to
> Magsbot. I've only gotten feedback from a few people. I'd really
> appreciate any comments, either positive or negative, about it.
>
> What do you want in a bot? It can probably be done with Magsbot, and
> I'll try to write the scripts (buttons or behavior table) for it, if so.
> Or add it to the basic bot, if not. :)
>
> -Magine
>
> Get Magsbot at http://www.pipeline.com/~magine
>
> * Now includes example user-defined buttons for Follow avatar, Record
> and Playback avatar movements, Bookmarks, Log objects by click and and
> Rebuild from log, Recite text file thru chat; and behavior table with
> daily greeting and visitor log, respond to questions, play midis, ask
> trivia questions, much more. Magsbot has it's own extensive "Bot Basic"
> control language, and you can change behavior while the program is
> running without having to reload a script.

Totally confused about object query

Mar 30, 2000, 2:34am
Maybe one problem is with the final line of handle_cell_begin:

sequence[sector_z + 1][sector_x + 1] = aw_int (AW_CELL_SEQUENCE);

This adds a constant value of 1 to sector_x and sector_z, which only
works in the SDK Sample situation (an object right at GroundZero, so
that 1 - intended_sector_x/intended_sector_z = 1 - 0 = 1). You need to
compute the difference for your initial Sector_Numbers, & add those two
constants to sector_x and sector_z. When I wrote the Delphi version of
Sample 2, I put the midispk at 1S 78W [SectorX=10, SectorZ=0], so that
this would be clear from the Sample, which looks for sequence[sector_z +
1, sector_x - 9]. (The Delphi API, the Samples, & the Delphi
Encapsulation of the SDK are now posted at
http://www.canopus.org/delphi/delphi.html.) Your Query is set to start
out at SectorX=2, SectorZ=1. So 1 - 2 = -1 and 1 - 1 = 0, your
constants. I think I got that right...it's always all little confusing.

It wouldn't hurt to retain the paranoid code line from the sample that
says "if (sector_x < 9) or (sector_x > 11) or (sector_z < -1) or
(sectorz > 1) then exit" // and maybe raise an error. (Your intended
Sector_Numbers are the middle ones of your Zone.)

[I think the line of C code which bothers you means "set rc to the
return value of aw_query(..), &, treating rc as a Boolean (either zero
or nonzero), do one of the following". But I'm used to Delphi, & could
easily be wrong about compact lines of C code.]


[View Quote]

Delphi for Build16

Apr 5, 2000, 2:28pm
The Delphi version of Build 16 of the AWAPI is available at
http://www.canopus.org/delphi/delphi.html. Build 16 will only work in
worlds that are running AW 3.0 Beta.

Re: NPC's

Sep 29, 2000, 10:20pm
Yes, it's an idea for a new version. Roland has continued to mention
it in Tech Talks since then. I think he got up to a thousand
experimental bots running in one world without the bots or the world
showing any significant performance degradation. Just think of the
things you could do--not just NPC's--if you could put a large number of
bots in each of three worlds! Let's hope it makes it into 3.1.

[View Quote]

SDK 3.0 and Borland C++Builder 5

Apr 7, 2000, 10:22pm
Borland C++Builder 3 has an implib.exe application in the Bin folder.
Probably Version 5 does too.

[View Quote]

What is API?

Apr 14, 2000, 1:14am
brez has it right. And since it's an Application Programming Interface written
in C, and available as a DLL, other programming languages can access the DLL &
call the API functions. Not just C++, but also Delphi, Visual Basic, Java, bot
programs are using the API. Just look back through the Bots NG messages.

[View Quote] > Forgive me, this is my first year programing with C++ and I am only on
> pointers and dynamic arrays. I do not understand what the Documentation for
> the sdk means when it says API.
> I understand how to call aw_init and what initialize means, but what is API?
>
> Call aw_init to initialize the API
> http://www.activeworlds.com/sdk/writing.htm
>
> (is API the class?)
>
> Thanks in advance
> BBB

Delphi RC_VERSION_MISMATCH

Apr 22, 2000, 4:53pm
Version mismatch usually happens when the 'const AW_BUILD = 16' line in your
akAWAPI Delphi unit doesn't match the Build Number of the aw.dll you are
using.

Either you keep on using an old build of aw.dll to match your old akAWAPI
unit
or you use a new version of akAWAPI (check the 'const AW_BUILD = ' line) to
match the new version of aw.dll that you have.

I think I usually put the newest aw.dll in the akAWAPI package that I post.
You
mention 'three examples': this sounds like you are using the Delphi
Encapsulation of the SDK. Newer akAWAPI (& the matching aw.dll) should still
work with the Encapsulation, because mostly methods have been added, not
subtracted or revised. But probably the Encapsulation section has an old
akAWAPI
(& its matching aw.dll) in it: substitute the latest akAWAPI (& matching
aw.dll), & see if that helps.

It could be that I put the wrong aw.dll in the new akAWAPI package. I'll
check.
You can check by comparing their Build/Version numbers.

Also, I'm not sure whether you must have AW 3.0 Beta to use the latest aw.dll

(would that also cause a Version Mismatch?).

Delphi AWPhone Source Code

May 4, 2000, 12:36pm
I have posted the source code for the AWPhone on the website that
already contains the Delphi headers for the SDK & the Delphi
encapsulation of the SDK (http://www.canopus.org/delphi/delphi.html).
The AWPhone is a DirectPlay application that uses ActiveWorlds as a
Lobby. It sets up a peer-to-peer network, so you can make internet
conference calls without a server. For programmers, it's more
interesting as a simple DirectPlay application, & it is based on work by
the Delphi-Jedi group (http://www.delphi-jedi.org).

Delphi AWPhone Source Code

May 24, 2000, 2:03am
Version 1.1 of the AWPhone source code, including the ability to display
a list of active IP Addresses, has been posted to the site.

[View Quote]

Delphi AWPhone Source Code

May 24, 2000, 8:57pm
That's explained in the webpage that accompanies the sourcecode: the
program is based on work by an international group of programmers called
the Delphi-Jedi, who are trying to let people that don't program in
Microsoft C++ have access to Microsoft's DirectX SDK. All the headers
were translated by Erik Unger, & the AWPhone is based on a DPChat
program written by Arne Schaepers. I tried to leave their comments where
they put them, & added my own to the new code. Just like in AW, the
people you work with nowadays could be anywhere on the globe, right? :)

[View Quote]

aw_teleport

Jun 28, 2000, 3:11pm
Currently only caretakers or those with eject rights can use
aw_teleport. This is probably to prevent jokers from sending people to
arbitrary locations. But couldn't this method be used safely if the
person teleported by the bot was also the bot's owner? (the SDK would
have to check that the session_id was a session_id of the citizen_number
used to start the bot)? If someone makes their own bots teleport them to
bot-selected locations, then they have only themselves to blame if they
don't like being teleported.

The documents say that "this method is primarily intended to allow
bots to teleport human users around in a world". But, as described, it
is a privilege only given to citizens who have worlds of their own. It
would be nice for ordinary AW citizens to offer tours of their property
on public worlds like AlphaWorld, Mars, or Meta. If aw_teleport were
extended as described above (the person teleported must be the bot's
owner), you could offer tours of your property on public worlds.
Ordinary AW citizens could script a tour & then post it on a website for
download. Anybody could then get the tour script & run it on their own
TourGuide Bot, which would teleport its clients from location to
location, on all the AW worlds.

1  ...  2  3  4  5  6  7  |  
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