|
andras // User Search
andras // User Search
Jan 31, 2001, 10:56am
They are unique within the Universe (The universe server assigns it at login)
Andras
[View Quote]grimble wrote:
>
> Can anyone tell me to what extent the avatar session numbers are unique ...
> i.e. within world, within universe, etc.
>
> Thanks,
>
> Grims
|
Feb 6, 2001, 11:10am
void *instance[64]; // is a good example of the array of the pointers.
Andras
[View Quote]hal9000 wrote:
>
> oh boy... that means tons and tons of pointers...
>
> btw is there a way to make an array of pointers?
>
> --
> -=Hal9000=- world:Discover
> --==~~out~~==--
> --==~~ http://hal9000.xoasis.com
>
> "faber" <Walter at Knupe.de> wrote in message
> news:3a7ef608 at server1.Activeworlds.com...
> | The aw_create() uses a void ** in order to be able to return an void *.
> | See these examples and comments:
> |
> |
> | void *instance; // pointer to "void", to unknown data
> |
> | void **p_instance; // pointer to a pointer to void.
> |
> | aw_create(....,&instance); // takes the address of the pointer-to-void
> | which generates a pointer-to-pointer-to-void
> |
> | p_instance = &instance; // same here
> |
> | aw_create(...,p_instance); // this would work too
> |
> | Hope that helps :)
> |
> | Faber
> |
> |
> | "hal9000" <wampa1 at qwest.net> schrieb im Newsbeitrag
> | news:3a7e26f4 at server1.Activeworlds.com...
> | > with the new 3.1 SDK my instances don't seem to be working... the
> | > aw_create() uses a void** for an instance, but to set the instance it
> | uses a
> | > void*... Is my brain not working or is this an SDK problem?
> | >
> | > --
> | > -=Hal9000=- world:Discover
> | > --==~~out~~==--
> | > --== http://hal9000.xoasis.com
> | >
> | >
> |
|
Feb 7, 2001, 8:49am
WHAT errors did you get??
Andras
[View Quote]hal9000 wrote:
>
> I tried
> void *bot[10];
> and I got errors when compiling...
>
> --
> -=Hal9000=- world:Discover
> --==~~out~~==--
>
> Win98, P2-450MHz, STB Velocity128, Creative Sound Blaster PCI 64V
> http://hal9000.xoasis.com
> "andras" <andras at andras.net> wrote in message
> news:3A7FF69C.4F8E1ACB at andras.net...
> | void *instance[64]; // is a good example of the array of the pointers.
> | Andras
> |
> |
> | hal9000 wrote:
> | >
> | > oh boy... that means tons and tons of pointers...
> | >
> | > btw is there a way to make an array of pointers?
> | >
> | > --
> | > -=Hal9000=- world:Discover
> | > --==~~out~~==--
> | > --==~~ http://hal9000.xoasis.com
> | >
> | > "faber" <Walter at Knupe.de> wrote in message
> | > news:3a7ef608 at server1.Activeworlds.com...
> | > | The aw_create() uses a void ** in order to be able to return an void
> *.
> | > | See these examples and comments:
> | > |
> | > |
> | > | void *instance; // pointer to "void", to unknown data
> | > |
> | > | void **p_instance; // pointer to a pointer to void.
> | > |
> | > | aw_create(....,&instance); // takes the address of the pointer-to-void
> | > | which generates a pointer-to-pointer-to-void
> | > |
> | > | p_instance = &instance; // same here
> | > |
> | > | aw_create(...,p_instance); // this would work too
> | > |
> | > | Hope that helps :)
> | > |
> | > | Faber
> | > |
> | > |
> | > | "hal9000" <wampa1 at qwest.net> schrieb im Newsbeitrag
> | > | news:3a7e26f4 at server1.Activeworlds.com...
> | > | > with the new 3.1 SDK my instances don't seem to be working... the
> | > | > aw_create() uses a void** for an instance, but to set the instance
> it
> | > | uses a
> | > | > void*... Is my brain not working or is this an SDK problem?
> | > | >
> | > | > --
> | > | > -=Hal9000=- world:Discover
> | > | > --==~~out~~==--
> | > | > --== http://hal9000.xoasis.com
> | > | >
> | > | >
> | > |
|
Feb 8, 2001, 3:01pm
Just to make it clear - the hearing range is 200m (20 coords in each directions) 120m is the max visibility range.
Andrsa
[View Quote]kah wrote:
>
> I think that the hearing range is 120 m. (12 coords in each direction). It's
> possible to do that with AW 3.x users, you could even get networked bots
> (like the Xelagot or the ones using the Bone network) to teleport you around
> several worlds.
>
> KAH
> PS. Just tought of a way of teleporting 2.2 users and in worlds where you
> don't have the right to use av warp:
> make the bot drop a hidden teleport object on the ppl that want to join and
> delete it after 5 seconds or something.
>
> the derek wrote in message <3A8225F5.7E695BA8 at yahoo.com>...
|
Feb 9, 2001, 8:12pm
First you have to query the world so the bot will get the message (it is enough to query the close vicinity of the bot). Then you should keep track of the objects (or those you are interested) in a kind of database.
Install your callback to the AW_EVENT_OBJECT_CLICK . The clicked object is uniquely identified by AW_CELL_X, AW_CELL_Z,
and AW_OBJECT_NUMBER at the callback. Do a lookup in your database for the particular object and act as you planned if you got a match.
HTH
Andras
[View Quote]lanezeri wrote:
>
> Sorry bout that...
>
> Say I click a "button1.rwx" how do I make my bot realize that? That what I
> need to know..
|
Feb 13, 2001, 11:23pm
Try to declare the function prototypes before you are referencing it.
Andras
[View Quote]jerme wrote:
>
> The following lines are causing errors using the MS C++ (3.0 SDK):
>
> aw_event_set (AW_EVENT_AVATAR_DELETE, handle_avatar_delete);
> aw_event_set (AW_EVENT_CHAT, chat);
>
> (22) : error C2065: 'handle_avatar_delete' : undeclared identifier
> (23) : error C2065: 'chat' : undeclared identifier
> (102) : error C2373: 'chat' : redefinition; different type modifiers
> (110) : error C2373: 'handle_avatar_delete' : redefinition; different type
> modifiers
>
> The first error is comming from the aw_event_set line. The second error is
> comming from the first line/function definition of the 'chat' function.
> Ditto for the 3rd and 4th errors. What's odd is that the first event
> handler i install (avatar_add) works fine. Other than the names, there are
> no differences between the 3. I know this is something simple... I just
> haven't figured out what yet..
>
> Thanks for any help in advance...
>
> JerMe at nc.rr.com
> ----------------------
> AIM: AlphaNumeric100
> ICQ: 106209991
> AW: JerMe (#296967)
|
Feb 19, 2001, 4:53pm
You get it when you do the query.
Excerpt from the API help:
AW_EVENT_CELL_OBJECT
DESCRIPTION
Describes a single object in response to aw_query or aw_cell_next.
NOTES
This event is triggered in response to a call to aw_query or to
aw_cell_next. This event sets the following attributes:
AW_OBJECT_NUMBER
AW_OBJECT_OWNER
AW_OBJECT_BUILD_TIMESTAMP
AW_OBJECT_X,
AW_OBJECT_Y
AW_OBJECT_Z
AW_OBJECT_YAW
AW_OBJECT_MODEL
AW_OBJECT_DESCRIPTION
AW_OBJECT_ACTION
See Property for a description of the property query mechanism.
[View Quote]jeiden wrote:
>
> So how would I get the blasted object number in the first place? Cause
> getting the N W coords is easy, I have no clue what to do about getting the
> actually object number.
>
> "lanezeri" <lanezeri at free-1.com> wrote in message
> news:3a9086bd at server1.Activeworlds.com...
|
Feb 19, 2001, 7:14pm
Sorry Ananas, you are wrong. The object click event is described in the help as :
AW_EVENT_OBJECT_CLICK
DESCRIPTION
Event called when a user left-clicks on an object in your area.
<snip>
This event is triggered whenever a nearby user left-clicks with the
mouse on an object. It will also be triggered if another nearby SDK
application calls aw_object_click. During this event, the following
attributes are defined:
AW_AVATAR_SESSION
AW_AVATAR_NAME
AW_CELL_X
AW_CELL_Z
AW_OBJECT_NUMBER
AW_AVATAR_SESSION and AW_AVATAR_NAME indicate the user
that clicked on the object. The clicked object is uniquely identified
by AW_CELL_X, AW_CELL_Z, and AW_OBJECT_NUMBER.
[View Quote]ananas wrote:
>
> As long as you don't have the object number yet it is much easier to
> identify an object with help of the description field. The original
> post was about a specific object so why should someone keep a database
> of all objects in a cell if he just wants to identify one specific
> button or whatever?
> There isn't a collision between Andras' method and this one, it is just
> a variation, you just don't qyuery the object number but the description
> field and compare that.
>
> lanezeri schrieb:
|
Feb 19, 2001, 6:33pm
Didn't you get the answer in my newsgroup?
Andras
[View Quote]commie wrote:
>
> I have written a program that will go through and survey a zone. What I
> want it to do it delete certain named objects. But it doesnt exactly work
> they way I want it. This is what it does: it does its survey, when survey
> is complete it goes through and deletes all objects with a certain name, but
> it doesnt delete them all. If i run it again it deletes them then. Is
> there something I am doing wrong? I tried to put the code at the handle
> cell end but it did the same thing. attached is a copy of the file.
>
> Thanks
>
> Name: objdel2.cpp
> objdel2.cpp Type: C++Builder Source File (application/x-unknown-content-type-BCBUnit)
> Encoding: x-uuencode
|
Feb 28, 2001, 5:09am
[View Quote]john viper wrote:
>
> I recommend Borland C++Builder. It is very visual (Ironically more so than
> Microsoft's Visual C++ which is a little cheaper but in no way better
> value), in several ways like VB and loads of fun to use, and easy to learn.
> Took me about 3 months to get it down pat, and I already knew some C but
> thats fairly easy too :-) I recommend Sams Teach Yourself Borland
> C++Builder in 21 days fo learning.
>
%100 agree!!!!
Andras
|
> -John Viper
Mar 17, 2001, 5:45pm
[View Quote]lanezeri wrote:
>
> Hey.. I cant get the stupid thing to add a simple number..
>
> say I have this..
>
> My Balance = 500
> Friend Balance = 500
>
> I transfer 300 to him.
>
> My New Balance = 200
> His New Balance = 500300
>
> I mean.. his balance should be 800, I used this format.. X + Y not X & Y
>
> Please try to help me.. someone..
>
Try to use X and Y as numbers, not Strings :)
|
Apr 4, 2001, 10:05pm
http://andras.net/tools/aw20.lib
Andras
Apr 14, 2001, 12:27pm
[View Quote]grimble wrote:
>
<snip>
>
> Just a quick note ... it might be crap maths in this machine, but I use
> Visual Studio 6 with Service Pack and COS(90) ... I think ... is never
> calculated correctly, so watch for that. I seem to remember from my school
> days that Cos(x) = 1/Sin(x) so you can use that if you get this problem.
|
kkhhmmmm kkhhmmmm rather use cos(x)=sin(x+90)
>
> Grims/
<snip>
Apr 16, 2001, 5:24am
[View Quote]> rough diamond wrote:
>
> On the topic of C++ programming (and not to say don't go to MicroB, my understanding is that it's a fine place), when I'm available I can do private C/++ lessons...
> -RD
|
Why do you post in HTML?
Andras
Apr 16, 2001, 5:27am
Set your world wrap enable in your browser and STOP post in HTML!
Andras
Apr 19, 2001, 2:02pm
[View Quote]ananas wrote:
>
> I had that too, but when I upgraded to Dos 5.01 it went away.
> If you don't have 5.01 a step back to 3.31 will reduce your trouble
> too.
>
> datedman wrote:
|
You both wrong! CP/M is rules!!!! No keyboard bottleneck, no task switching overhead - not to mention it runs on a Z80!
Andras
Apr 20, 2001, 7:31am
[View Quote]ananas wrote:
>
> not everyone used Z80 or 8080 - so you could well have been serious
>
> datedman wrote:
>
> --
> "_
> |
> /\
> \ /
> __/ /_
|
I still can act as a disassembler when it comes to Z80 or 8085 binary code :)
Andras
Apr 20, 2001, 7:34am
[View Quote]grimble wrote:
>
> A 21MB Winchester Disk ... now we're talking !!
>
> "datedman" <russell at synergycorp.com> wrote in message
> news:3ADF3FDC.D4D2817C at synergycorp.com...
> drives for that
> news:3ADEBFC6.F9A476FD at oct31.de...
> to do
> property
|
I had 2 40 meg NEC SCSI winchester. We set up as a file/application server around several Z80s using SDLC protocol on out proprietary network. 20 Z80s were hooked up running CP/M!
Andras
P.S. Follow-up set to community
May 14, 2001, 5:05am
[View Quote]azazael wrote:
>
> Using Grimmsofts VB wrapper is there any way to tell who the target was for
> a wisper? Neither grimmsoft.com or the AW SDK site seemed to hold any
> clues.
>
> Any assistance greatly appreciated
> Az
|
Clues are all over the place if you read the documentation but just in a few words:
Keep a list of all of your avatars (AW_EVENT_AVATAR_ADD and AW_EVENT_AVATAR_DELETE events) with the proper callback functions where each avatar is uniquely distinguished by the session number (AW_AVATAR_SESSION) (as M a k .. tried to explain). Pick the proper session for the whisper target and call the aw_whisper(session,message) function (I'm not a VB guy but I'm sure the wrapper has such a function).
Andras
May 14, 2001, 2:23pm
You won't get such information. Whispers between visitors are not accessible by the bot or any other tool. The only info youi can have (from the world server's log) that "Bill whispered to Ben" nothing more!
Andras
[View Quote]azazael wrote:
>
> Ok, I think there may be some uncertainty over what I meant - ananas was the
> closest. Getting the bot to wisper is not the problem, as Andras pointed
> out this is well documented.
>
> When you log AwChatMessage within the AW_EVENT_CHAT event it's possible to
> capture AwChatMessage, AW_CHAT_TYPE and AwAvatarName to tell who said what
> ie
>
> Bill said 'this is normal chat'
> or
> Bill wispered 'this is a wisper'
> or
> PKBill broadcast 'this is a broadcast'
>
> When I say wisper target I mean I want to log something like :
>
> Bill wispered 'this is a wisper' to Ben
>
> Ben being the wisper target
>
> I hope this clears any confusion :0)
>
> regards
>
> Az
>
> "azazael" <unkleazazael at hotmail.com> wrote in message
> news:3afef9a1$1 at server1.Activeworlds.com...
> for
|
May 25, 2001, 4:44pm
[View Quote]kah wrote:
>
> I've had larger traffic on the server today...guess that somebody's read
> these posts... now, just like you demonstrated now, if nobody posts, nobody
> reads. *try* and be logical, you have to post to get ppl to read and read to
> get ppl to post :-))
|
The more the lame groups - less the ppl post. Don't forget - to open an NG you have to offer something the other (existing) groups doesn't offer. It took me some time to establish my server by offering no moderation but no flaming too. Flames have their own group :)
Anyway - it is your call.
Andras
Jul 5, 2001, 11:02pm
[View Quote]agent1 wrote:
>
> In the future, could you post things like this in the general.discussion group? This has nothing to do with AW's SDK...
>
> -Agent1
>
> "gamer" <Gamer at active-worlds.co.uk> wrote in message news:3b44acff at server1.Activeworlds.com...
|
It DOES!! I discovered that one line is missing!
#include <aw_hell.hpp>
And he forgot to link the aw_evil.lib to his program! Shoot - what a newbie :((
Andras
Jul 8, 2001, 9:10pm
Does that mean that stupid Micro$lop opens the ini file for EACH parameter access?? Yuck!!! At least in Borland you pass an open stream parameter to the retrieval/write function.
Andras
[View Quote]ananas wrote:
>
> sorry, no VB here, but maybe the C version helps :
>
> Write into the INI file :
>
> WritePrivateProfileString ("settings", "windows", "yes",
> "settings.ini")
>
> read with :
>
> anz=GetPrivateProfileString ("settings", "windows", "no", buffer,
> buffersize, "settings.ini")
>
> The "no" is the default value that is retrieved if no
> entry can be found. The result in Anz contains the number
> of characters read.
>
> The location of the INI file :
>
> It is searched in the currend directory, in windows
> and windows system and on the path, so it would be
> better to have a unique name.
>
> I usually choose the name of my .exe file and replace the
> extension by ".ini".
>
> If you want to make sure that the file isn't taken from
> a different location, specify it with the complete path.
>
> gamer wrote:
>
> --
> "_
> |
> /\
> \ /
> __/ /_
|
Jul 9, 2001, 10:52am
That is not an excuse to go through all the file locate/open/seek operation.
Andras
[View Quote]ananas wrote:
>
> Windows caches the file and keeps track, at least as long
> as no normal file functions are used on INI files.
>
> andras wrote:
>
>
|
Oct 3, 2001, 2:54am
[View Quote]trekkerx wrote:
>
> Ive been messing with this for ever and it wont work. I cant get my bot
> to respond to anything.
> This is what I have...
>
> void handle_avatar_chat (void)
> {
> char* chatmsg;
> char reply[256];
> char* temp;
> int speakerSN;
>
> chatmsg = aw_string (AW_CHAT_MESSAGE);/
> speakerSN = aw_int (AW_CHAT_SESSION);
>
> temp = _T("hi");
>
> if (chatmsg == temp) {
> sprintf (reply,"Hello %s", speakerSN);
> aw_say (reply);
> }
> }
>
>
You can't compare plain strings with == sign (except if the operator overload is implemented).
use the
if (!strcmp(chatmsg,temp))
instead
|
HTH,
Andras
Oct 3, 2001, 6:16pm
[View Quote]killamo wrote:
>
> Hi,
> I have Microsoft 5.0 C++ and i am trying to compile the sample greeter
> bot. First off i have 19 gigs of free space i ahve tried re download the lib
> many times. Also i have tried making a new progect many times. I will send
> my log so you can see what the error is please reply!
>
> Deleting intermediate files and output files for project 'bot01 - Win32
> Debug'.
> --------------------Configuration: bot01 - Win32 Debug--------------------
> Compiling...
> bot.cpp
> Linking...
> .\Aw.lib : fatal error LNK1106: invalid file or disk full: cannot seek to
> 0x3bafad3f
> Error executing link.exe.
>
> bot01.exe - 1 error(s), 0 warning(s)
|
I think HenrikG's response is the closest to your problem. AW.LIB created under MSC 6.0 or higher. 5.0 is just no compatible with it. Try to find a more up to date version of that damned MSC ++ :(((
Andras
Oct 26, 2001, 8:19am
[View Quote]percipient wrote:
>
> Could someone explain to me how to set up the SDK, preferably the static
> version, in C++Builder 5, please? I'm getting lots of errors related to the
> SDK while compiling. Thanks.
>
> --
> Percipient
|
There is no static version for Borland C++. SDK's libraries are created under MS VC and there is no compatible version for Borland. Use the libraries I created ( http://andras.net/tools.html#dlls ) or run implib on the aw.dll - works like charm for me.
Andras
Oct 31, 2001, 12:40pm
[View Quote]ananas wrote:
>
> I had an effect like this when I didn't have an
> aw_wait() active for some time.
>
> percipient wrote:
>
>
|
Ananas is correct. Drag a TTimer to your form, set ti time period to 100 ms and within it's timer routine call aw_wait(1)
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (BotIsRunning) aw_wait(1); // just have 100 msec polling with 1 ms wait
// do other stuff in every 100 ms
}
Andras
Nov 1, 2001, 11:27am
Session numbers/instances has nothing to do with aw_wait(). I never set it and sometimes I have 30+ bots running at once.
Andras
[View Quote]grimble wrote:
>
> Its been a while for me, but it sounds like you're only issuing the aw_wait
> using the last allocated session number. I've always used one timer per bot,
> setting the session number (aw_instance_set) before the aw_wait each time.
>
> Grims
>
> "percipient" <percipient at percipients.com> wrote in message
> news:3bdfaecc at server1.Activeworlds.com...
> a
> triggered
|
Nov 1, 2001, 4:41pm
Don't call aw_wait() with a long time period - it is just a waste of CPU cycles and it will slow down your program. The value given in the parameter is simply a forced idle period - nothing will happen during that time.
Andras
[View Quote]percipient wrote:
>
> That seems to have done it. I already has a timer set at 500ms calling
> aw_wait(0), but I guess that wasn't right, even if I think that's what XelaG
> said he did.
> Now I have a timer at 100ms calling aw_wait(10), I'll fiddle with these
> numbers a bit to see what happens. I suppose that main reason for the
> problem was calling aw_wait(0), instead of something bigger than 0?
> Anyway, thanks for the help. Moving right along...
>
> Percipient
>
> "andras" <andras at andras.net> wrote...
>
> Ananas is correct. Drag a TTimer to your form, set ti time period to 100 ms
> and within it's timer routine call aw_wait(1)
>
> void __fastcall TForm1::Timer1Timer(TObject *Sender)
> {
> if (BotIsRunning) aw_wait(1); // just have 100 msec polling with 1 ms wait
> // do other stuff in every 100 ms
> }
>
> Andras
|
|