grimble // User Search

grimble // User Search

1  2  3  4  5  6  ...  28  |  

Bots Disappearing

Oct 22, 2000, 7:03pm
I have the same problem and playing with it I think it is closely related to
my post this morning in the "sdk" NG (AWSDKOCX: Multiple Asynchronous Object
Changes 22/10/2000 11:09).

I call awWait(0) every 250 milliseconds, and the debug info proves it (or as
close I can to proving it. No big gaps in the calls or anything..... but the
bot disappears for a couple of seconds and then comes back up. It even gets
the aw_avatar_add event because it welcomes me back !! No preceding
aw_world_disconnect though.

Grrrr..... very irritating !! Better learn C again I think, if I can't
find out anymore. Gonna go play with aw_object_add and aw_object_delete to
see what I can discover.

If you managed to sort this, ctc one, I'd be very interest.

Grimble.


[View Quote]

Bots Disappearing

Oct 23, 2000, 5:07pm
Thanks Xelag. Not good news, but thanks anyway. :O)

I'm going to play with it to check the session id to see if I can detect
when it happens in some way. I'll post a message if I find out anything
useful.

Grimble

[View Quote]

Bots Disappearing

Oct 27, 2000, 8:14am
OK, incase anyone is interested, I managed to solve the problem (or about
90% of it anyway) by restricting the number of unconfirmed updates at any
one time to 5 (!!!) by implementing a simple update queue in the bot
(irritatingly AFTER I had tried a number of much more complex ways of
getting around it. I have a number of chat calls going out at the same time
(which I haven't queued yet), so I don't know if they affect the number I
can have outstanding. That's the next thing (because obviously the chat and
the pics are a little out of sync right now by deferring the updates for a
few moments). Maybe that will stop the remaining 10%.

It still disconnects every so often (still seemingly unpredictably) and the
session number DOESN'T change, but you DO get the AW_EVENT_WORLD_DISCONNECT
when it happens and so I do an incremental aw_query when it reconnects (on
AW_EVENT_WORLD_ATTRIBUTES). There's a little pause in the overall process
(only about 5 seconds in all, since this is a very quiet area apart from the
picture updates) but its much less temperamental now.

Five is a horribly low number when I want to make 12 updates at a time, but
I guess I can try two or three update bots, controlled by a 'master' process
and see if I can get that to work faster. The performance isn't too bad but
not as fast as I wanted.

Just through I'd share the good/bad news.

Cheers,

Grimble.


[View Quote]

Object Checker idea

Oct 27, 2000, 8:43am
At the end of the day, there are only two things I can see you need, both of
which are managed in the browser (since it does all that), so therefore you
can put it in your bot.

(a) Writing a parser for for the action command (as you said) which isn't
that difficult as its a pretty simple "language". You have to do this to a
certain extent anyway to write a bot that does any form of object
manipulation to change the non-location attributes of the object (and to
identify them in the first place with a name).

(b) Implementing a basic HTTP/FTP protocol to request the file from the
relevant web/ftp server through a separate socket. You don't need to
actually download the whole file, just start to. You can't rely on checking
a directory listing since a lot of the web servers/sites won't allow you to
navigate that way (but then i'm no expert in web technology right now).
Information on these protocols can be found all over the web.

I too would regard this as an essential tool for anyone managing a public
building world, as well as reporting for the amount of building individuals
have done, how much of your precious space they have taken up, the last time
they added to it and the last time they visited. If it was my world (I
haven't taken that step just yet), I would want to know what the heck was
going on there. As the bot gets more complex, you can add more and more
checking/reporting until you knew more than God!

Now you've mentioned it, it sounds like quite a "fun" short term project.
Give it a go.

BTW, on the same subject (sorta), does anyone else get an error trying to
download 0.jpg from the active worlds server every so often in AlphaWorld?
It just goes foggy (usually between scenery changes I think). Irritating or
what! I didn't want to be part of a flood of e-mails to AW on the subject so
I left it for a bit, but it still happens, so I guess I'd better.

Cheers,

Grimble.



[View Quote]

Object Checker idea

Oct 27, 2000, 11:34am
There is always a choice between using a generic tool and coding it
yourself.

I have found that writing things in VB (if you have it) MASSIVELY reduces
amount of stress in debugging the actual functionality of the bot while
you're developing it. Then a quick conversion of the code to C/C++ to
implement/distribute it. More work at the end, but less to think about when
you've got your hands dirty trying to make it work. Besides, I HATE writing
the GUI side of things in C ... can't be assed with all that low-level
stuff.

I haven't tried it, but I imagine you should be able to use MrGrimms
AWSDKOCX from the old Control Creation Edition of VB5 (a free download from
Microsoft - yep, FREE from Microsoft! Go Figure!). Think you'd need to get
hold of a socket control from somewhere though, 'cuz I think MS only give
you theirs with the full VB Enterprise edition. A quick search on the web
should find you one though, but you might not get one for free. From what I
can remember, VB5 CCE apps don't compile to EXE's through - might be wrong
on that.

MS VB CCE: http://msdn.microsoft.com/vbasic/downloads/cce/default.asp
VB SDK Wrapper: http://members.home.net/grimmcna/

Hope this helps you on your way.

Grims.




[View Quote]

AWSDKOCX: Multiple Asynchronous Object Changes

Oct 22, 2000, 8:09am
Hi,

I'm writing a bot (in VB - thanks MrGrimm) that controls a number of picture
objects and often "blasts" 14-16 asynchronous object change calls in quick
succession through AWSDKOCX. This works like a dream for a while but after a
seemingly arbitrary period of time, I "lose" some updates. I get a new
object number back from the object change call, but no update and no
callback. This has two nasty effects on the bot activity:

(a) The pictures don't get updated - which is the whole point.

(b) I now have an object number which doesn't actually relate to the object
(since the original call gave me a new one but didn't make the change).

I can get around (b) programatically if I need to, but that's not the point.
I need the pictures to change at about the same time, not wait for a few
seconds and reset the object number and repost the call.

Anyone else have this kind on problem? I have had VB dropping important
events on me before (especially with a busy winsock control), but I don't
think this is related to that.

Any help would be greatly appreciated.

Thanks

Grimble

AWSDKOCX: Multiple Asynchronous Object Changes

Nov 12, 2000, 7:24am
No matter which way I tried it, it still happened - even if I totally
ignored the callbacks to ensure I wasn't tying up the processor.

Its all pretty arbitrary when it happens, but I've found that if I restrict
the number of outstanding updates to about 5 ( :O( ) by queuing them, then
it only disconnects about once every 100 updates or so. I just do an
incremental requery if that happens to reset all the objects. Its all a bit
aritrary really when it happens.

This was the same as a post called "Bots Disappearing" (the thread in the
bots NG) - seems to be an accepted problem. I was in AlphaWorld when I had
the problem. I'm going to see if its still a problem in a private, locally
hosted world at some point and also try it in C++.

Anything significant that I learn, I'll feedback into the NG.

Thanks.

Grims.

[View Quote]

Radius stuff

Nov 11, 2000, 2:57pm
As long as you're not leaking memory everywhere, is there a problem with
using the struct array?

For a P-10, P-20 or P-30 world, each part of the co-ordinate (X, Y and Z)
can be held within 2-bytes (smallint). I *think* it'll use a single 4-byte
block for 2 smallints (?) and once you've stored any additional information
you need on the avatar, you should be able to arrange it to be as memory
efficient as possible.

Unless you're expecting hundreds of people in your "paintball game", I think
memory usage is going to be the least of your problems.

The important thing is to make sure you're look after the memory properly.

Grims

[View Quote] [View Quote] -Twisted Horizon

Bots running on Unix computer

Nov 17, 2000, 7:49am
Not a massive Unix person, but is the SDK available for Unix platforms? I
though ppl were still waiting (for example) for a Linux SDK.

Grims

[View Quote]

new bot? good idea? or not?

Nov 19, 2000, 8:18am
I think a lot of people who write their own bots use this method anyway once
they've worked out the basics - applying some form of function library or
class structure (depending on the type of language you use) and expanding
that to their needs. Since you seem to sell your bots, why not keep your
infrastructure to yourself (I don't mean that how it might sound lol) to
enahance the capabilities of the your bots, give you a perceived advantage
and make just your life easier?

Grims


[View Quote]

new bot? good idea? or not?

Nov 19, 2000, 8:23am
Twist, you ever tried distributing a tiny VB application? A simple bot in VB
requires a setup install set that is well over 1MB ZIPPED. If you add a
little database processing in there, its up to 2MB because of the DAO, ADO
and/or RDO libraries. Then you put some fancy controls on the user interface
from one of the Windows Control Libraries (like the List control) and up it
goes even more.

When you're up to 3MB, you're talking about potentially a 30 minute download
on a dial up :O(.

Grims


[View Quote]

new bot? good idea? or not?

Nov 20, 2000, 7:43am
HEY!.... there was no malice intended in that post ... Geesh! This is
turning into bitch-city.

Perhaps I am getting you mixed up with someone else - in which case I
apologise. There are a lot of "I have a bot page" posts here. It was more of
a recommendation than anything - you build your own infrastructure and make
the most of it.


[View Quote]

new bot? good idea? or not?

Nov 20, 2000, 7:48am
What I have found (for the simple bots - my C/C++ is a little old and rusty
nowadays) is that bots can be DEVELOPED/DEBUGGED VERY quickly and easily in
VB, but distribution (free or otherwise) is best made in a less managed
language where you have more direct control over as much of the environment
as possible. If the VB code is structured properly in a manner that will
suit quick conversion of syntax to the new language, this works well.

Just a bot of additional ime investment at the end of it all.



[View Quote]

AW SDK C# port

Dec 4, 2000, 8:54am
Its really spooky to see my initial thoughts (that went through my head
while I was reading the first post) be reflected so closely in someone elses
hand.

Are you telepathic JV? Have to agree with everything you say here. M$ are
providing nothing new to the development community, they're just scared that
they are losing their position as the supplier of the "language of choice"
for serious development. If people are doing their jobs right, commercial
projects now consider C++ vs Java (and any other suitable languages) for new
OO developments and select the right one on its merits. C++ is a little
short of merits nowadays in comparison to Java.

All M$ have done here is make themselves look a little silly in my view.

Grims.



[View Quote]

vbsdk problem

Dec 28, 2000, 9:43am
Ummmm nope ... but then you don't exactly explain the problem.

Firstly, have you made sure that you're setting the centre sector correctly
for the aw_query?

Secondly, what does "going from cell to cell incorrectly" mean?

Have you read and understood http://www.activeworlds.com/sdk/property.htm ??

Grims


[View Quote]

vbsdk problem

Jan 1, 2001, 5:18pm
ok, well the position of the bot is irrelevant to the query. When you query,
the first two parms are the centre sector of the 9 that are queried. This is
described in the link provided in the previous post. The cells are then
returned in ascending sequence number order (also described in the linked
page). Its not random - its to allow bots to requery an area quicky based on
the most recent updates using the 3x3 sequence number matrix.

Grims


[View Quote]

vbsdk problem

Jan 5, 2001, 11:16am
As I said, I don't have any problems ... I have simple bots that record
whole areas successfully.

Sounds to me like you've got the sequence number matrix wrong or you're not
handling the "incomplete" aw_callback_query messages correctly.

Grims


[View Quote]

vbsdk problem

Jan 8, 2001, 10:01pm
Why don't you use the latest version and get that to work correctly instead
of trying to use an old version and having different problems with that?

What was the problem you used to get with v2?


[View Quote]

vbsdk problem

Jan 8, 2001, 11:27pm
I seem to remember you need to install v2 using the MS installer. That
should look after all that kind of stuff for you. I only had conflict probs
the first time I tried it before I read the instructions (Duh!). Installed
it a number of times since then (I clear this machine down and reinstall it
all every-so-often) with no probs.

Sounds pretty wierd though. Was it the same code you are using now? Have you
tried swapping them over and using the same code you are using with the old
version (that gets further)?

Running out of ideas ... difficult to do without getting at the code. Sorry.

Grims



[View Quote]

HELP!!!!!!!!!

Dec 28, 2000, 9:48am
Kah, Just so you don't feel ignored, I haven't had that problem from what I
can remember. Have you e-mailed Mr Grimm for any ideas?

Another idea would be to NOT use the quick start method but use the
individual init/create/login/enter commands instead and see which one blows
up.

I seem to remember that the AwSdkOcx2 needed to be installed using the MS
Installer (but I might be wrong). Did you use this or just put it in the
Windows system directory?

Grims


[View Quote]

HELP!!!!!!!!!

Dec 29, 2000, 3:44pm
Sure you're putting him where you think you are?

Grims

[View Quote]

This is how you can tell

Jan 3, 2001, 12:13am
Long time since I played with C/C++, but from what I remember you need to
crow-foot from a pointer or use the instance of the pointer object ...

i.e. since jcurrent is a pointer to a struct ... jcurrent->next OR
*jcurrent.next (might be the need for some brackets in there somewhere on
the 2nd one)

Is this right? Not sure ... try it. Anyone wanna shoot me to dust?

Grims

[View Quote] while(jcurrent.next != NULL), browsing my jackpot-holding signs to hold the
jackpot amount on, and i get error C2228: left of '.next' must have
class/struct/union type, but i already struct jackpot_sign *jcurrent;, any
ideas?

Ite.. prob with sdk.AwWorldEject

Jan 6, 2001, 8:25pm
OK, this is going to be a little more work that you probably expect.

aw_world_eject (as you probably know) needs the session number of the user.
When you are processing a chat message, you have the session number from the
SDK. When you want to go from an avatar name, you first need to get the
session number for that name. Unfortunately, the SDK only allows you to
resolve the citizen details from the name ... which unfortunately do not
include the current session number is any - probably something to do with
the way the active users are keyed in the world server.

This means that you will need to maintain a session table within the bot,
monitoring the AW_AVATAR_ADD and AW_AVATAR_DELETE events and store newly
arriving users and deleting the old ones. Then, when you use their name from
in the bot command, you find the session from your own stores and eject
using that session number. A comparatively large amount of work for simple
requirement, I know, but that's the way.

One thing to remember is that you only get the AW_AVATAR_ADD/DELETE messages
from within the bot's speaking radius so ...

(a) The bot's position needs to be announced (aw_state_change) and so must
be visible in the world, and
(b) The bot will only know about avatars within the speaking radius relating
to the rights of the citizen number used.

If you have a large world ... you will need several bots, all reporting to a
central session table. I don't believe there are any such restrictions on
the actual aw_world_eject call because its a world related command.

I'm sure there are sites on the web with simple session table code you you
can use to save you a bit of time. Otherwise, let us know what you're using
(C/C++, VB, Delphi, Java, etc) and maybe someone could donate a
mini-projects as an example for you to use instead.

Good luck.

Grims



[View Quote]

aw_object_change()

Jan 27, 2001, 8:19pm
Is that right? (although I've never had any reason to move an object that
far before).

For dozer's sake, no matter what you do to an object, the way AW effects the
"change" is to add a new one with the new attributes and delete the old
version, which is why it has a different object number once you do the
aw_object_change - its a totally different object.

Grims.

[View Quote]

Session Numbers

Jan 31, 2001, 10:51am
Can anyone tell me to what extent the avatar session numbers are unique ...
i.e. within world, within universe, etc.

Thanks,

Grims

Session Numbers

Jan 31, 2001, 3:10pm
Thanks Andras ... that solves a headache for me.

Grims


[View Quote]

VB prob: run-time error 450

Feb 17, 2001, 5:36am
Run-time errors are simply errors that weren't (or couldn't be) picked up at
compile time. Quite often they are caused by trying to use different
interfaces (for example, to ActiveX components) than the ones expected at
design time.

As far as AwSdkOcx2 not being found, this is why VB ships with the
Application Setup Wizard ... you identify all the dependencies and the VB
ASW packages all the right components from your machine into a distributable
package (Set Up program, CAB, etc). VB applications need too much in the way
of infrastructure components to safely distribute as an executable alone.

At the end of the day, the one thing Run-Time errors DO indicate is that
there is insufficient error trapping one of the components, whether it is
your code or someone elses. A Runtime 450 indicates a call to a procedure or
member function with the wrong number of arguments (a classic symptom of
having the wrong ActiveX interface installed) or you are trying to get/set a
property that doesn't support that activity (like trying to set a read-only
property on a control).

Make a SetUp package and distribute your application that way to ensure you
avoid this type of problem. If you package it up properly, identifying all
the components that YOUR CODE needs, then AwSdkOcx2 will be shipped with
your application. I believe there is not a dependency file for AwSdkOcx so
you need to remember to include aw.dll in the package manually. You'll end
up with at least a 2MB distributable package, but then that's VB for you. If
you stick a Jet database call (to MS Access for example) into your code,
that package size will jump to around 3.5MB - 4MB. That's the payback for
the ease of use you get with VB.

Grims.


[View Quote]

VB prob: run-time error 450

Feb 17, 2001, 9:49pm
Like I said, there isn't a dependency file for AwSdkOcx2, so you need to add
aw.dll manually to the package. Unless you distribute the components you use
from your machine, you aren't going to guarantee avoiding these types of
errors.

Its your choice at the end of the day ... distribute YOUR components or risk
runtime errors.

Good luck whichever way you try.

Grims.

[View Quote]

please

Feb 26, 2001, 1:37pm
Surely the assumption in this NG HAS to be that someone knows one end of a
suitable programming language from the other in order to be able to use ANY
SDK, not just the AW SDK.

Personally, I read "i have no idea of how to make a bot" as asking how to
interface with AW, and Agent1 supplied a link to the latest info on that
subject. What's the problem?

Starcube ... your best off learning VB 'by example' from the web (or from a
good book) and suppliment that, if you're lucky enough to find someone with
the time and patience, with some "mentoring" from someone who knows it well.
Read some of the other threads ... there seems to be loads of people
throwing bot code around in VB.

Grims.



[View Quote]

On-Line Owner Privilege Rights

Nov 11, 2000, 9:24am
This is a bit of a lame question, but I'm sorting out what's going to go in
a world before I get one - so I'm jumping the gun a bit here.

Does a bot, with the privilege rights of the world owner have the ability to
delete objects created by someone else. I appreciate that this can be done
off-line by the owner, but I don't know what a world owner can do with
objects online in terms of other people's objects.

Thanks.

Grims

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