Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
canopus // User Search
canopus // User SearchBot ProgressFeb 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 IDJan 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 DelphiFeb 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 SDKFeb 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 reminderFeb 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 reminderFeb 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 issueFeb 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 helpMar 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 DemoMar 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 neededMar 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 RightsMar 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 NameMar 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 & AWPhoneMay 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 & AWPhoneMay 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 & AWPhoneMay 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 & AWPhoneMay 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 & AWPhoneMay 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 BotJun 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] DelphiDec 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 queryMar 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 Build16Apr 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'sSep 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 5Apr 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_MISMATCHApr 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 CodeMay 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 CodeMay 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 CodeMay 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_teleportJun 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. |