lucio // User Search

lucio // User Search

1  |  

SQL Bot Notes

Feb 7, 1999, 4:24pm
This is a multi-part message in MIME format.

Content-Type: multipart/alternative;

Content-Type: text/plain;
Content-Transfer-Encoding: quoted-printable

I have an SQL bot running... it works both ways between a World and =
SQLserver. I am converting it to work with ODBC.

[View Quote]
Content-Type: text/html;
Content-Transfer-Encoding: quoted-printable


<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
body, PRE, BLOCKQUOTE, a, MENU, dd, UL, DT, dir, ADDRESS, h1, h2, h3, =
h4, h5, h6, HR
font-family: "Arial";
font-size: 12pt;
color: 000000;

<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
<BODY background=3Dcid:003f01be52c7$1fe4a400$0201010a at client =
<DIV><FONT color=3D#000000 size=3D2>I have an SQL bot running... it =
works both ways=20
between a World and SQLserver. I am converting it to work with=20
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>LP</FONT></DIV>
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
[View Quote] ------=_NextPart_001_0049_01BE52CF.822F5300--

Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <003f01be52c7$1fe4a400$0201010a at client>



SQL Bot Notes

Feb 7, 1999, 8:32pm
I've been working with the AW_QUERY of the sdk. I would suggest starting
from that to understand the process.

My bot scans through all zones repetitively and keeps the relative sequence
numbers updated on table. When ever a CELL_BEGIN message is received it
deletes all objects in that cell and refreshes the DB the CELL_OBJECT events

To manage the reverse sync I have an extra flag in the objects database that
indicates if the object is in sync (s) or is to be (a)dded, (c)hange or
(d)eleted. On the basis of this I execute the appropriate sdk instructions.

The prog alternates between a sync and a build phase constantly.

To build I just append objects with the (a)dd flag. To delete or modify I
run an update query and change the flag to (d)elete or (c)change.

Right now I have it working directly with Microsoft SQL Server using the SQL
libraries directly. I am working on a generic ODBC version that will work
with any DB and as soon as I have it working I will post it.



Nov 6, 1998, 6:01pm
A couple of questions to whoever can help:

1) aw_query requires the int x_sector and int z_sector parameters. Are these
real AW coordinates (i.e. 32N, 5W) or are they the reference to the sector
in the zone ?

2) I have noticed that aw_object_number occasionaly returns some large and
sometime negative number. The following is part of a dump of values
retrieved from Virtualy which has about 65,000 objects.


The first number is the aw_object_number which makes sense in the first two
lines. Is this normal ? What do the negative numbers mean ?

Thanks for for your help.

Lucio & Emanuele


Nov 6, 1998, 7:30pm
On the same issue, and just to clarify question 1), how would I query
objects at say 15s 12e ?




Nov 9, 1998, 1:42pm
Thanks to both.

I had looked at the Property section of the Docs but was confused on the
specific aw_query parameters I asked about. One reason I got confused is
because I thought the ZONE was always referenced with respect to the
position of the bot... thinking back I don't know how I got that idea.

My objective is to build a bot that will keep the world synchronized with an
SQL database. I am the builder of "Virtualy", a world entirely covered with
a modular surface. The fact that the entire surface is covered with objects
makes it impossible to use the traditional registry-based building control.
To overcome this I have developed an SQL database structure (for the moment
in MS-Access) which is periodically fed by a propdump. I have a set of
queries and SQL scripts that allow me to monitor and do "bulk" maintenance
on the world (For example: assign all objects in an area to a citizen so he
can modify the ground and remove trees).

The current problem is that changes made to the world by other citizens
between the propdump and propload phases are lost. I believe an on-line SDK
bot would eliminate this problem. I also think such a sync process should be
fairly straight forward and similar to what the browser normaly does with
the local cell.dat cache.

My next step would be to build a reverse process that builds in the world
from new records in the SQL database. This would eliminate the need for
builder bot scripts (used in the beginning to create Virtualy) or the merge
and propload which I currently use.

In practice what I am aming at is an ODBC interface to the World Database

Comments on this idea ?



Nov 9, 1998, 3:14pm
>The bots can only query one Zone at a time, and live input mode is good
only for
>that Zone. Will you have your bot move around from Zone to Zone to detect

Yes :) The bot would constantly move between zones and refresh the DB both
ways, with the world being primary in case of conflict.

>By the way, Virtualy is a beautiful place. All the trouble you took to
>with so many landscape objects was worth it.

Thanks :) But the are relatively few objects in Virtualy as the idea was to
mazimise object re-use. I will be teaching the technique at AWUniv at 21:00
VRT this coming saturday .


Support for Nvidia Stereo Drivers

Jun 18, 2002, 8:35pm
Now that 3.3 is DX8 compatible would it be possible to make it compatible
with the Nvidia Stereo drivers ? I have them and they work fine in progs
like FS2002. Is it the lack of fullscreen mode ?

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