Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
magine // User Search
magine // User SearchMagsbot classes in exchange for script help?Oct 3, 2001, 6:08am
Try this in Magsbot (immediate mode F5) to open a mySQL database. Substitute
your own appropriate values for username, password and database name, of course. I have no idea if it will work, but it should in theory. :) Do please let me know! DBACTIVE 0; DBPROVIDER ""; $svr="db1.database.com"; at p=3306; at opt=131072; $db="mydb"; $u="myUsername"; $pw="myPassword"; DBCONNECT $fmt["Driver={mySQL};Server=%s;Port=%s;Option=%s;Stmt=;Database=%s;Uid=%s;Pwd=%s;",$svr, at p, at opt,$db,$u,$pw]; DBSQL ""; DBACTIVE 1 -Magine, sleepless in Michigan [View Quote] > I like the bot very much, and here's a suggestion for a future version: > MySQL support! I tryed it, but it didn't work :-(( to have MySQL would be > great, as it's very fast and easy to integrate with web applications, so you > could have the bot interact with webpages... > > KAH > [View Quote] Magsbot 3.0 with AWB 3.3 features!Jun 3, 2002, 9:54pm
Hi!
There are a lot of new things in Magsbot 3.0 beta, including support for AWB 3.3 with global mode (bot can detect chat and movement anywhere in a world), color world announcements ("console messages"), and basic terrain query and build. More elaborate terrain features will be added shortly, but right now you can save a terrain page to a file and recreate it, or just set terrain cells individually using the bot. Write your own terrain handling routines! Also in recent releases of Magsbot I've added button categories, to let you keep better track of all those custom buttons that you make or the samples I include. :) You can also cut and paste buttons to make sorting them into the category tabs easy. Magsbot's Behavior Table, as always, lets you control the bot's response to any world events, and I've made some internal changes recently to improve response time. You can download Magsbot at http://www.turtleflight.com/magine/mb.html and see a list of new features at http://www.turtleflight.com/mbh/mh_30features.htm. Let me know what you think! :) -Magine bot click detection bug?Oct 17, 2002, 6:52pm
I'm finding that bots are having a hard time detecting clicks on objects
lately. It seems to be a problem when running an instance in global mode, detecting clicks that are in areas far from the bot. Sometimes the bot will receive an OBJECT_CLICK event, and sometimes not. I've been using the beta SDK (build 27), but I also tested with the previous version (build 24) and had the same problem. However, the problem only began in the last month or two. Could it be a glitch in with the new world server (rather than the SDK)? -Magine AW SDK build 37, Magsbot 5.2 betaApr 3, 2004, 9:11am
This is a multi-part message in MIME format.
--------------040503040302000202050309 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Why wait? Experience all the new SDK bugs now! :D Magsbot 5.2 beta <http://www.turtleflight.com/DL/mb52b.zip>. Magsbot "What's New?" <http://www.turtleflight.com/mbh/mh_new.htm> If you're programming a bot yourself in Delphi, the AWAPI header for build 37, ported to Object Pascal, is here <http://www.turtleflight.com/DL/mAWAPI37.pas>. -Magine, up all night! --------------040503040302000202050309 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> Why wait? Experience all the new SDK bugs now! :D <br> <br> <a href="http://www.turtleflight.com/DL/mb52b.zip">Magsbot 5.2 beta</a>.<br> <br> <a href="http://www.turtleflight.com/mbh/mh_new.htm">Magsbot "What's New?"</a><br> <br> If you're programming a bot yourself in Delphi, the AWAPI header for build 37, ported to Object Pascal, is <a href="http://www.turtleflight.com/DL/mAWAPI37.pas">here</a>. <br> <br> -Magine, up all night!<br> </body> </html> --------------040503040302000202050309-- bot gramsApr 3, 2004, 11:50pm
Anyone get bot grams working? I get a "not logged in" error, I assume
that means the recipient is not logged in...except I test it with my own ID, and I certainly do have bots logged in. Magsbot plug-insOct 3, 2004, 6:26pm
If you're a Delphi programmer, you can now write plug-ins for Magsbot to
add your own functions and commands. (This is in addtion to the macros and custom buttons you could already create.) See http://www.turtleflight.com/mbh/mh_plugins.htm for more information. Note this is an alpha version, but I'm anxious to let people take a look at it. :) -Magine scavenger hunt bot scriptApr 17, 2001, 6:40pm
--------------306F6F14767063E4C2CBFB58
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Instructions and sample scripts for running a bot-moderated scavenger hunt game are now available on my web site. Players search the world(s) for scavenger hunt items to return to the bot, who keeps track of the score, and comments when players find an item. The script from the A'tuin2 Halloween Scavenger Hunt from last October is included as an example. Take a look at let me know (email not telegram, please!) how you like it! :) -Magine --------------306F6F14767063E4C2CBFB58 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> Hi, <p>Instructions and sample scripts for running a bot-moderated scavenger hunt game are now available on my <a href="http://www.pipeline.com/~magine">web site</a>. Players search the world(s) for scavenger hunt items to return to the bot, who keeps track of the score, and comments when players find an item. The script from the A'tuin2 Halloween Scavenger Hunt from last October is included as an example. Take a look at let me know (email not telegram, please!) how you like it! :) <p>-<a href="mailto:magine at pipeline.com">Magine</a> <br> </html> --------------306F6F14767063E4C2CBFB58-- Callback Timings?Jul 4, 2005, 3:32pm
I would think not, since it would depend on how long each called
function takes to finish. [View Quote] New World - Now Hiring Lead Programmer(s)!Nov 9, 2005, 10:55pm
[View Quote]
>
> We just hired a local coder (in the SF Bay Area) who will be working for > us for $10.00/hour, ca$h money. > > The free market is a WONDERFUL thing ... for everyone. :) > *Visualizes a guy in rags standing on a street corner holding a sign: WILL CODE FOR FOOD* propdump version 3Feb 27, 2006, 5:44pm
Is there any difference between propdump version 3 and version 2, other
than that the carriage return + linefeed is replaced by ASCII 128+127 in version 3 instead of 10+127 as in version 2? Thanks, Magine aw_object_add with special objects?Apr 18, 2006, 12:43pm
I assume that to create a special object (PE, mover, zone, camera) you
would still use aw_object_add, but you would also set AW_OBJECT_TYPE and call the appropriate function, aw_object_particles_set, aw_object_mover_set, aw_object_zone_set or aw_object_camera_set, beforehand? (Well, except for aw_object_camera_set, which doesn't seem to actually be in the latest aw.dll). I'm doing that, but getting a "invalid object type" error message. I assume you must use aw_int_set to set AW_OBJECT_TYPE, no? aw_object_add with special objects?Apr 22, 2006, 4:34pm
[View Quote]
>I seem to remember setting AW_OBJECT_TYPE after setting the structures.
> > > I did too. Did you get it working? click on, click offMay 9, 2006, 8:20pm
This is a multi-part message in MIME format.
--------------020409030008030301090203 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Well this is really strange. Just when I thought I had figured out the problem with not receiving objectadd and objectdelete events in BotTest1 (I needed to do a local survey first, or else use a global bot), now suddenly the bot can't detect object clicks at all, or object selection...which it was doing just fine earlier today, and nothing has changed in the bot. But even stranger, if I create a new object, the bot will detect that objectadd, and then afterward, the bot will can detect clicks and selection and deletion on the new object only. So, clicks on objects created earlier generate no event; but clicks on objects created more recently, are detected. Even if the bots leaves the world and I restart the bot program entirely, it will still detect clicks on the recently-created objects when it is restarted and returns to the world, but not on the objects created earlier. All of the objects, new and old, were created by the same citizen (me). Doing a survey, local or worldwide, or using a global bot instance, doesn't affect these results any. Another anomaly I noticed: earlier today, when the bot entered the world, it would receive AW_ENTITY_ADD events for each mover in the world that was already there. Now it no longer does that. Perhaps all objects created earlier have become invisible to the SDK for some reason? Yet the AWB has no problem. Other kinds of events like avatar add/delete or avatar click, etc. are still working properly. Something with the BotTest1 server maybe? --------------020409030008030301090203 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Well this is really strange. Just when I thought I had figured out the problem with not receiving objectadd and objectdelete events in BotTest1 (I needed to do a local survey first, or else use a global bot), now suddenly the bot can't detect object clicks at all, or object selection...which it was doing just fine earlier today, and nothing has changed in the bot.<br> <br> But even stranger, if I create a new object, the bot <i>will</i> detect that objectadd, and then afterward, the bot will can detect clicks and selection and deletion on the new object only. So, clicks on objects created earlier generate no event; but clicks on objects created more recently, are detected. Even if the bots leaves the world and I restart the bot program entirely, it will still detect clicks on the recently-created objects when it is restarted and returns to the world, but not on the objects created earlier. All of the objects, new and old, were created by the same citizen (me). Doing a survey, local or worldwide, or using a global bot instance, doesn't affect these results any.<br> <br> Another anomaly I noticed: earlier today, when the bot entered the world, it would receive AW_ENTITY_ADD events for each mover in the world that was already there. Now it no longer does that. Perhaps all objects created earlier have become invisible to the SDK for some reason? Yet the AWB has no problem.<br> <br> Other kinds of events like avatar add/delete or avatar click, etc. are still working properly.<br> <br> Something with the BotTest1 server maybe?<br> <br> </body> </html> --------------020409030008030301090203-- not yet!May 10, 2006, 4:16pm
What is error 401 (RC_NOT_YET) all about? It happens constantly when my
4.1 Magsbot tries to do state changes in rapid succession, for example while following someone. I assume it indicates that the server isn't ready for another state change message, but that didn't used to cause an error. SurveyMay 31, 2006, 7:54pm
[View Quote]
>1) What programming language do you program bots in?
> > Delphi (currently Delphi 7). >2) What do you prefer to program in (in case they aren't they same answer)? > > Delphi! >3) Why do you prefer to program bots in the language of your choice? > List pros and cons please! > > You can create a nice GUI much more quickly and easily in Delphi than in Visual Studio (at least the pre-.NET version of VS; I haven't used .NET yet), but the language (Object Pascal) has the same power (classes, inheritance, etc. all that good stuff) as C++. If you still use the Windows API functions Delphi. I haven't done so personally, but it is possible to compile for Linux also. Delphi 2005 and up support C++ and C# as well as Object Pascal, if you prefer those languages, and there is a .NET version if you dearly need to become a Slave of Bill. :D As a long-time C programmer, before I was forced to use Delphi on a job 6 years ago, I too scoffed at it, believing the programmer prejudice that said Delphi was a light-weight IDE suitable only for database work. It definitely is not! No, I'm not getting any kickback from Borland. :D You can get a Delphi version of the AW SDK build 59 aw.h at http://www.turtleflight.com/DL/mAWAPI.pas. Of course, there's also Magsbot, it has a simple programming language all its own. ;) aw_object_data_moverJun 1, 2006, 5:53am
Has anyone been able to create movers using a bot? I have managed to
create PEs and zones, and I can even create movers from a previously performed survey (using the data exactly as received); but when I try to create a new mover from scratch, it seems like the fields of the struct are messed up. In other worlds, the order of the fields in the data are not actually as they are shown in the struct as defined in aw.h. The struct-filling functions (like aw_object_mover_set) don't seem to work at all. To get the PE's and zones, I had to allocate and fill the structs myself. When I do this with movers however, the mover that gets created has the values in the wrong fields when examined in the world. It could be my mistake, but since I managed okay with PEs and zones, I'm thinking not. Creating cameras using a bot is probably working also, but cameras are kind of boring so I have really tested them extensively yet. :D aw_object_data_moverJun 1, 2006, 5:05pm
Thanks, I'll try the macro functions again then.
[View Quote] > Hi Magine, > > Using the latest version of the SDK for 4.1, I haven't had any issues > creating objects with the macro functions. I did at first, but then I > realized I wasn't setting the object type properly before I called > object add. > > Also for the movers, are you setting the model after you fill the > structure? Movers, unlike the other V4 objects still rely on the > model field for V3 objects to work. > [View Quote] aw_object_data_moverJun 2, 2006, 9:31am
I tried the macro function for filling the mover, now I get an "invalid
object type" message as before. Did you create a mover, specifically, with the macro functions? Or at all? Please tell me if so, because if it's working for you then I must be doing something wrong. However, I can create PEs, zones and cameras and they all come out fine, but with movers all the properties in the mover that is created seem scrambled up (values missing or in the wrong fields). Yes, I set the model name, object type, etc. The model name is one of the few things that comes out right in the created mover. The flags come out alright too. But the values I put for locked_pos_y, locked_pos_z and locked_pos_yaw appear in the three locked offset fields instead; the locked_pos_pitch shows up in locked yaw, and locked pitch has some odd value that I didn't put in (probably it's taken from some bytes within another field or fields). The name comes out wrong (first two letters of the name+the seq name+first two letters of the script name) and the seq file field gets the script field string but with the first and last letters truncated. The sound field has nothing in it. I really have the feeling that the struct definition in aw.h is not the same as what the AWB and server are using... [View Quote] > Thanks, I'll try the macro functions again then. > [View Quote] Delphi port of aw.hJun 3, 2006, 1:40am
Anyone looking for a port of the build 60 SDK header file to Delphi, can
get it at http://www.turtleflight.com/DL/mAWAPI.pas. -Magine Object eventsJun 15, 2006, 12:00am
[View Quote]
[View Quote]
Also the object ID doesn't change each time the object is moved or changed in the AWB, the way the object number does, which is very nice. As for AW_OBJECT_SYNC, you have to do aw_int_set(AW_OBJECT_SYNC,1) before calling aw_object_click() if you want the effects to be seen globally. I have no idea why. :D You will notice that the various data structs are set up to have a variable size block at the end for string data. In theory, you use the aw_object_*_set functions to create the struct, but in practice, that hasn't worked for me. I had to fill the struct manually to get it to work...and even that hasn't worked for movers: when I created those, the properties were scrambled up in the wrong fields. I wonder if the struct defined for movers in aw.h isn't really what's being used internally at present? aw_attributes_sendJun 11, 2006, 7:02pm
How is this supposed to be used? I'd like to be able to set flying privs
according to individuals. When I tried to do this: aw_int_set(AW_WORLD_ALLOW_FLYING,1); aw_attributes_send(mysession); ....I assumed that all the attributes that I didn't explictly set would be taken from the current set of attributes, so that only AW_WORLD_ALLOW_FLYING would change. But in fact ALL of the attributes were reset for me, leaving me with avatar 0 in a world of circle-slash objects... dead bots do tell talesJun 15, 2006, 12:05am
I've found that in 4.1 SDK build 60, after calling aw_destroy, I can
still select the presumably nonexistant instance using aw_instance_set, without getting an error. (This kind of broke a function in Magsbot that expected to get an error if the instance had been destroyed. I fixed the problem as far as I'm concerned by doing some things differently, but it seems strange anyway.) SDK Developers : Pissed OffJun 18, 2006, 6:18am
[View Quote]
>I kind of think it's stupid to have that licence file.. Many 4.1 bots like
>Magine's have SDK errors because of that licence file.. I can't get them to >create instances or login anymore. > > You need to put a copy of the license file in the folder where the data files are, if that is different from the folder where MBot.exe is. [953] delete object using object idAug 13, 2006, 4:37pm
It doesn't appear possible to delete an object using the object id. I do:
// iObjectID, iObjectZ, iObjectX are set to the previously created object's ID and coordinates. aw_int_set(AW_OBJECT_NUMBER, 0); aw_int_set(AW_OBJECT_ID, iObjectID); aw_int_set(AW_OBJECT_Z, iObjectZ); aw_int_set(AW_OBJECT_X, iObjectX); aw_object_delete(); ....but the object doesn't get deleted. Sometimes aw_object_delete returns "no such object" and sometimes it returns successful (0) but the object doesn't disappear. Sometimes the wrong object disappears. There's no problem if I use object number instead of ID. Yes, I am getting the new object id and not the object number when I create the object with object number set to 0. The aw_object_change function works ok using the object id instead of the object number. [953] delete object using object idAug 15, 2006, 12:22am
This is a multi-part message in MIME format.
--------------090908000804050905040605 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I guess you mean one of the other game bot programmers? :) Right, object id doesn't change when an object is moved or edited, so it would be more reliable to use when controlling objects in a game or anything else where you want to control objects that might get moved. I know you can delete things using object number, but you should be able to use object id also. Theoretically you can (according to Chris), but it's just not working for some reason, or not working for me anyway. It is true that with object id you don't need to know the object location, so that part of my code was unnecessary. [View Quote] >My understanding is that AW_OBJECT_NUMBER is used to uniquely identify >an object within a cell address (AW_OBJECT_X, AW_OBJECT_Z). You should >use AW_OBJECT_NUMBER to delete, and I think it will work for you, if >you have the X, Z cell address correct. > >I believe AW_OBJECT_ID is intended to be used to uniquely identify an >object in the entire world, and that it does not change if the object >is edited. This is used primarily by game bots that track object >ownership. Perhaps also used for the tourist guard bots. For a game >bot, I think it is much simpler to use AW_OBJECT_ID, than trying to >track the OBJECT_NUMBERS, which can change, and are tied to cell >addresses. > >Perhaps one of the game bot programmers can clarify. > >-cotarr > >On 13 Aug 2006 14:37:38 -0400, "Magine" <magine at turtleflight.com> [View Quote] --------------090908000804050905040605 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> I guess you mean one of the <i>other</i> game bot programmers? :) Right, object id doesn't change when an object is moved or edited, so it would be more reliable to use when controlling objects in a game or anything else where you want to control objects that might get moved.<br> <br> I know you can delete things using object number, but you should be able to use object id also. Theoretically you can (according to Chris), but it's just not working for some reason, or not working for me anyway. It is true that with object id you don't need to know the object location, so that part of my code was unnecessary.<br> <br> <br> <br> [View Quote] I believe AW_OBJECT_ID is intended to be used to uniquely identify an object in the entire world, and that it does not change if the object is edited. This is used primarily by game bots that track object ownership. Perhaps also used for the tourist guard bots. For a game bot, I think it is much simpler to use AW_OBJECT_ID, than trying to track the OBJECT_NUMBERS, which can change, and are tied to cell addresses. Perhaps one of the game bot programmers can clarify. -cotarr On 13 Aug 2006 14:37:38 -0400, "Magine" <a class="moz-txt-link-rfc2396E" href="mailto:magine at turtleflight.com"><magine at turtleflight.com></a> [View Quote] </pre> <blockquote type="cite"> <pre wrap="">It doesn't appear possible to delete an object using the object id. I do: // iObjectID, iObjectZ, iObjectX are set to the previously created object's ID and coordinates. aw_int_set(AW_OBJECT_NUMBER, 0); aw_int_set(AW_OBJECT_ID, iObjectID); aw_int_set(AW_OBJECT_Z, iObjectZ); aw_int_set(AW_OBJECT_X, iObjectX); aw_object_delete(); ....but the object doesn't get deleted. Sometimes aw_object_delete returns "no such object" and sometimes it returns successful (0) but the object doesn't disappear. Sometimes the wrong object disappears. There's no problem if I use object number instead of ID. Yes, I am getting the new object id and not the object number when I create the object with object number set to 0. The aw_object_change function works ok using the object id instead of the object number. </pre> </blockquote> </blockquote> <br> </body> </html> --------------090908000804050905040605-- Magsbot 2.0 beta availableAug 7, 2001, 11:25pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html> Hi, <p>It's faster, has a new Survey dialog, improved error messages, cut-and-paste abilities added to the Behavior Table, revised heirarchical menus, a command for simulated multi-threading and now that I've finished redesigning the internal workings of the program, I will be able to start adding other improvements more frequently. Take a look at the new Mags on my new web page at <a href="http://www.turtleflight.com/magine/mb.html">http://www.turtleflight.com/magine/mb.html.</a> <p>Oh yeah, you can now enter coordinates in AW Browser-style, for those of you who have problems dividing by 1000 and remembering that South and East are negative. :D <p>And as ever, Magsbot is the most versatile bot around, suitable for nearly any kind of bot project. :) <p>-Magine <p>PS <br><i>Technical details I'm sure you're eager to know about: </i>The main change in Magsbot 2.0 is internal, and should result in improved speed in expression evaluation. What's that mean?? Expressions are those strings like " at atr[my_z] * at pi - 360" that you use as arguments to Magsbot commands or functions. Previously they were stored as strings, which meant that they had to be parsed again everytime they were referenced, even within a loop, which really slowed things down. In 2.0, expressions are "packed" into data structures when the user enters them, so when they are evaluated at run-time, Magsbot only has to do the math, not the parsing all over again. With this change you could say that Magsbot is not really a script-bot but actually a bot program interpreter. I know you're just as excited about this as I am. :P <br> <br> </html> Magsbot 2.1 beta - database functionalitySep 26, 2001, 4:24am
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html> Magsbot 2.1 beta is now available at <a href="http://www.turtleflight.com/magine/mb.html">http://www.turtleflight.com/magine/mb.html</a>. <p>It's supports AWB 3.2 (SDK build 22) and now has database commands, using the Active Data Objects (ADO) API. You can store and retrieve data from any type of database that is supported by ADO. For details and a list of the supported commands/functions, see the Magsbot on-line help <a href="http://www.turtleflight.com/mbh/mh_actions.htm#database">here</a>. <p>Actually, since I'm no database expert, I'm looking for someone who is, in order to learn myself how to take full advantage of the ADO capabilities. I've testing the use of a local, Access database with Magsbot, but theoretically, you should even be able to connect to a database over the net...if you know the "provider" and "connect" strings required. I'd appreciate any assistance from anyone who knows about that sort of thing. <p>-Magine <br> <br> <br> </html> Magsbot classes in exchange for script help?Sep 26, 2001, 4:47am
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html> Hi, <p>I spend a lot of time programming Magsbot, but I don't seem to get around to writing a lot of scripts. It would certainly be nice if there were more people writing them, so....if anyone is interested, I'd be willing to give some classes on how to program Magsbot, in order to encourage other people to write scripts and make them public. If you're interested, please <a href="mailto:magine at turtleflight.com">write me</a>. Thanks! :0 <p>-Magine</html> Magsbot classes in exchange for script help?Sep 30, 2001, 6:03pm
Degree of detail would depend on what the people attending wanted. When
would be a good time? Saturdays? Some weekday evening? -Magine [View Quote] > Unlike those who are flaming you for posting in HTML, I would be > interested in taking one of these classes - how detailed would they > be? > [View Quote] Magsbot classes in exchange for script help?Sep 30, 2001, 6:03pm
When would be a good time? Saturdays? Some weekday evening?
[View Quote] > I'm interested in a class. > [View Quote] |