andras sarkozy // User Search

andras sarkozy // User Search

1  2  3  4  |  

Gesture problems

Dec 16, 1998, 5:47pm
--------------98111C6F7B8E4FFF647422F4
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

The same you posted some times ago and here. aw_wait(1000) is there and n=
othing really else.
The loop is here:
for (int i=3D0;i<36000;i++) // 10 hours lifetime
{
(AWWait)(1000); // 1 sec only
if (reset_gesture && reset_gesture < GetTickCount ())
{
/* time to set our gesture back to 0 again */
(AWIntSet) (AW_MY_GESTURE, 0);
(AWStateChange) ();
reset_gesture =3D 0;
}
}


[View Quote] > Because Edward writes very inefficient code?
>
> Which of my bots were you running?
>
> Most of them have one second poll (aw_wait(1000)) so that I can use tim=
ers that are accurate to one second. I have not looked at how much CPU th=
is takes up.
>
[View Quote] --------------98111C6F7B8E4FFF647422F4
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
The same you posted some times ago and here. aw_wait(1000) is there and
nothing really else.
<br>The loop is here:
<br>&nbsp; for (int i=0;i&lt;36000;i++)&nbsp;&nbsp;&nbsp; // 10 hours lifetime
<br>&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp; (AWWait)(1000); // 1 sec only
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reset_gesture &amp;&amp;
reset_gesture &lt; GetTickCount ())
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp; /* time to set our gesture back to 0 again */
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AWIntSet) (AW_MY_GESTURE, 0);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AWStateChange) ();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reset_gesture = 0;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; }
<br>&nbsp;
[View Quote] </body>
</html>

--------------98111C6F7B8E4FFF647422F4--

Gesture problems

Dec 16, 1998, 8:47pm
--------------BB1EF9B79C3112AAB2ACDA8C
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable



[View Quote] > Are you running 9 programs like this or using a single program to manag=
e 9 bots. I would imagine that a single program would be more efficient b=
ecause there would be only one 1 second loop as opposed to 9 of them.
>

I do run 9 independent programs - each does something slightly different,=
but even 1/9th of a second is a century for a Dual PII machine.

>
> How are you getting 9 bots at the same time? I thought there was a limi=
t of 3.
>

You can run as many as you want - just have to pay for it :o))

>
> Wow this is some really old code. since then we have migrated to (aw_wa=
it) syntax, then to the AWSDK::aw_wait and now finally to the simplest fo=
rm aw_wait using the awsdk.lib wrapper of the dll. But whatever works.
>

That was my very first SDK apps to write (modify) so I used the example I=
found on my HD. I consider to write some more - so I'll use the latest w=
rapper - if I can find it for Cbuilder3 :o)


>
[View Quote] believe was about the case of someone wanting an avatar to repeat the sa=
me gesture over and over again in response to chat events. In this case =
changing AW_MY_GESTURE specifically to zero is required in order to ?rese=
t? the gesture. Of course you could set it to some other gesture instead=
of zero, but then you would have more than one gesture going on. -Roland=

s.com?...You De Man Andras.
hat that it is not the change to zero but the CHANGE of the gesture that =
is important.
sture will initiate properly the new gesture, while resetting to zero wil=
l not cause change in the avatar movement. It is needed only for the SAME=
gesture than the last one..
number from the world server is different from the gesture it just perfo=
rmed?
seconds after the initial gesture is sent. Could that rule be rephrased a=
s ?to initiate a sequence of gestures, each successive gesture must be DI=
FFERENT from the last.?
instead of zero we could set gesture 4, then 5 seconds later, set gestur=
e 3, then 5 seconds later back to gesture 4 again. Would this sequence ca=
use the browser to correctly initiate each sequence?
increased number of users would depend on the outgoing bandwidth of the s=
erver. Servers with a high user load and low bandwidth would experience =
poor response time for all transactions, position updates included, as yo=
u would expect. If the server has adequate bandwidth available, though, =
I don't think you would ever notice a difference in propagation delay whe=
ther there was 1 user or 100 users in the world. I chose 5 seconds becaus=
e that's what the AW browser does...5 seconds after signaling a gesture, =
it returns to 0. I'm actually not sure whether a shorter timeout would ca=
use the gesture to terminate prematurely or not...my suspicion is not, si=
nce gestures can overlap (e.g. you can start a wave before completing the=
angry sequence, and the animation code will attempt to do both at the sa=
me time.) To know for sure I'd have to dive deep into the avatar animatio=
n code, which is not something I particularly relish (it isn't my
for sure...-Roland
D02 at poboxes.com?...I see. Its a perspective change from me. I keep making=
the mistake of see actions as changes in the server but really they are =
changes in other browsers propagated by a 1 second polling server.
my class library infrastructure again. Doh.
erver updates the browsers every second. Is there any kind of propagation=
delay noticed as the number of browsers increases or does the max logins=
per world keep this to a minimum.
s. A gesture sequence takes a certain amount of time to run in a browser.=
If I set to gesture to 5 and reset to 0 in two seconds will it stop the =
currently running sequence?
ure sequence compared to short sequences and varying the reset time inter=
val appropriately?
to be reset, the other browsers have to see the change. Remember that mu=
ltiple calls to aw_state_change() are not propagated out to other clients=
more than once per second. Your code will simply change your state in t=
he server, and then immediately change it back to the way it was before. =
To everyone else in the area, you will appear to have maintained gesture=
#5 all along.The correct way to do this is to add code to your bot to al=
ways change the gesture back to 0 again a few seconds after it was change=
d to 5. The easiest way to do this is to note the current time when you =
set the gesture to 5 (the Windows system call GetTickCount() returns a ha=
ndy time value in milliseconds), and then in your main event loop periodi=
cally check this saved value against the current time. You will need to =
modify your current call to aw_wait() since your program now needs to tak=
e action in addition to simply responding to events. The relevant
fine FIVE_SECONDS 5000 unsigned long reset_gesture; void avatar_chat()=
{
n?, rc);
ONDS;} /* replace aw_wait(-1) with this: */ while (!aw_wait (1000)) if (=
reset_gesture ?? reset_gesture ? GetTickCount ()) { /* time to set our =
gesture back to 0 again */ aw_int_set (AW_MY_GESTURE, 0); aw_state_ch=
[View Quote] --------------BB1EF9B79C3112AAB2ACDA8C
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
&nbsp;
[View Quote] </body>
</html>

--------------BB1EF9B79C3112AAB2ACDA8C--

Gesture problems

Dec 19, 1998, 7:35am
The trick is simple - use more user accounts - $20 for 3 additional bots :o))

[View Quote] [View Quote]

Mult. lists

Dec 19, 1998, 7:43am
char *gets( char *); is the gets function prototype.
You used an integer and that creates the coredump. I'm surprized that your compiler let you do it tho.


[View Quote] > I'm trying to get my DJ bot to get the user to chose between 3 different
> midi lists during the login procedure. Anything I keep trying causes the
> program to coredump once it reaches that point in the code. Here's a few
> pieces from the source... see if you can figure out what I'm doing
> wrong... Would be greatly appreciated.
>
> #include ?stdio.h?
> ..... (rest of the needed headers, of course)
> int list; //declared as global variable
> int current_midi;
> char *midis[] = {...}
> //continue for 3 lists...
> ...
> main (int argc; char *argv[])
> {
> ...
> //login coding...
> printf("Option for Midi List (1,2 or 3) :\n1: List one\n2: List
> 2\n3: List 3\n? ");
> gets(list);
> //create speaker
> //query for speaker object
> //Then to the main event loop...
> ...
> }
> //bot function creates speaker on entry
> void change_midi (void)
> {
> static int rc; //static because of an rc function used later
> char *sptr;
> char action[200], descrip[200];
> aw_int_set(AW_OBJECT_OLD_NUMBER, speaker_number);
> aw_int_set(AW_OBJECT_OLD_X, speaker_x);
> aw_int_set(AW_OBJECT_OLD_Z, speaker_z);
> aw_int_set(AW_OBJECT_X, speaker_x);
> aw_int_set(AW_OBJECT_Y, speaker_y);
> aw_int_set(AW_OBJECT_Z, speaker_z);
> aw_int_set(AW_OBJECT_YAW, speaker_yaw);
> aw_int_set(AW_OBJECT_OWNER, atoi(lowner)); //char -? int defined in
> login procedure as lowner. global
> aw_string_set(AW_OBJECT_MODEL, SPEAKER); //global deffinition
> sprintf(descrip, "Music Speaker playing...");
> aw_string_set(AW_OBJECT_DESCRIPTION, descrip);
> if (list == 1) {
> sprintf(action, "create sound %s", 1midis[1current_midi++]);
> if(!1midis[1current_midi])
> 1current_midi = 0;
> aw_string_set(AW_OBJECT_ACTION, action);
> if (rc = aw_object_change()) {
> printf("Unable to change speaker (reason %d)\n", rc);
> rc_errors(rc);
> } else {
> sptr = strrchr (1midis[1current_midi],'/');
> sptr++;
> printf("Speaker Music Changed - %s\n", sptr);
> speaker_number = aw_int(AW_OBJECT_NUMBER);
> }
> } else if (list == 2) {
> sprintf(action, "create sound %s", 2midis[2current_midi++]);
> if(!2midis[2current_midi])
> 2current_midi = 0;
> aw_string_set(AW_OBJECT_ACTION, action);
> if (rc = aw_object_change()) {
> printf("Unable to change speaker (reason %d)\n", rc);
> rc_errors(rc);
> } else {
> sptr = strrchr(2midis[2current_midi], '/');
> sptr++;
> printf("Speaker Music Changed - %s\n", sptr);
> speaker_number = aw_int(AW_OBJECT_NUMBER);
> }
> } else if (list == 3) {
> sprintf(action, "create sound %s", 3midis[3current_midi++]);
> if(!3midis[3current_midi])
> current_midi = 0;
> aw_string_set(AW_OBJECT_ACTION, action);
> if (rc = aw_object_change()) {
> printf("Unable to change speaker (reason %d)\n", rc);
> rc_errors(rc);
> } else {
> //strrchr set left off here due to change in char * on the 3rd
> global midi list above
> printf("Speaker Music Changed - %s\n", 3midis[3current_midi]);
> speaker_number = aw_int(AW_OBJECT_NUMBER);
> }
> } else {
> aw_int_set(AW_OBJECT_NUMBER, speaker_number);
> aw_int_set(AW_OBJECT_X, speaker_x);
> aw_int_set(AW_OBJECT_Z, speaker_z);
> if (rc = aw_object_delete()) {
> printf ("Unable to delete object (reason %d)\n", rc);
> rc_errors(rc);
> } else
> puts ("Speaker deleted");
> }
> }
> //then of course the rest of the querying process and remaining event
> functions

CPU Usage (23+ Kbytes)

Dec 20, 1998, 7:08am
--------------5ADDD42E9912FFA447D05B6A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Anyone can explain the high CPU usage of Ed's simple greeting bot??
This is a 300MHz DUAL Pentium II machine with 512MBytes of memory:

[Image]



--------------5ADDD42E9912FFA447D05B6A
Content-Type: multipart/related;
boundary="------------9513C2AFF798D00B36728A70"


--------------9513C2AFF798D00B36728A70
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Anyone can explain the high CPU usage of Ed's simple greeting bot??
<br>This is a 300MHz&nbsp; DUAL Pentium II machine with 512MBytes of memory:
<p><img SRC="cid:part1.367CBE9D.F5CBBE7D at mail.storage.co.hu" height=676 width=455>
<br>&nbsp;
<br>&nbsp;</html>

--------------9513C2AFF798D00B36728A70
Content-Type: image/jpeg
Content-ID: <part1.367CBE9D.F5CBBE7D at mail.storage.co.hu>
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="D:\TEMP\nsmail9G.jpeg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////
////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////
////////////////////////////////////////////////////////////////////wAAR
CAKkAccDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAIBAwT/xAA7EAABAwEFBQUI
AgMBAQACAwABAAIRIQMSMUFREyJhcZGBobHR8BQyM1JicsHhNFNCkvEEI0OiJLLS/8QAFwEB
AQEBAAAAAAAAAAAAAAAAAAECA//EABgRAQADAQAAAAAAAAAAAAAAAAABERIh/9oADAMBAAIR
AxEAPwC7W12ZaA2ZVA2sfDHX9Ll/6aOs/Wi52wZaWrnB9nB1JlRZ5DtaWzrMgOYJPH9KPavo
7/0udoRuFpBuiKL0brSdLU/jzKLFU5+1fR3/AKT2r6O/9K7gu3D/AI3QROpqoFkxxwjfLccl
F4e1fR3/AKT2r6O/9LbodZskRAcYWCya50CkgO5aovD2r6O/9J7V9Hf+kNmwFpglrjSMYhc7
VobdIAg5g4oVDp7V9Hf+k9q+jv8A0ujwC+1IxDCCuNo5xsLOXGszXGqJEQr2r6O/9J7V9Hf+
lNm5wsLSHGkRXCq1tmLhkVuXh6wRahvtX0d/6T2r6O/9IGNDmlowcJmhHNTbtAJIrLjJ46IV
Cvavo7/0ntX0d/6VmrWH5Gh3d+gstGA2xLgCC4DuROJ9q+jv/Se1fR3/AKWiyZeY2MS4TOil
tmLhkVuXh6wReN9q+jv/AEntX0d/6Q2TIeIwuw7mtFlZm0Aj/IgiuniicZ7V9Hf+k9q+jv8A
0uBqcIWI1mHo9q+jv/Se1fR3/pedEMw9HtX0d/6T2r6O/wDS86IZh6Pavo7/ANJ7V9Hf+l50
QzD0e1fR3/pPavo7/wBLzohmHo9q+jv/AEntX0d/6XnRDMPR7V9Hf+k9q+jv/S86IZh6Pavo
7/0ntX0d/wCl50QzD0e1fR3/AKT2r6O/9LzohmHo9q+jv/Se1fR3/pedEMw9HtX0d/6T2r6O
/wDS86IZh6Pavo7/ANJ7V9Hf+l50QzD0e1fR3/pPavo7/wBLzohmHo9q+jv/AEntX0d/6XnR
DMPYH2hAIshB+oJftP6h/sFocG2bS4gCBjyW3g5pLSCOCrmkWloQCLMQa+8Ev2n9Q/2Ci414
sg4SLnktFm2ztN0RLT+ELay1e8S2zBHMLb9r/UP9go/80bAzQSfALGOcXNDnOuf4nC9z/GqL
Loy1LrQsLQCOMoudn/Jf60REl0tQ6+xzWzd4qS+2cILOj4XYrm552l0Oa2giRj3hBye21eAC
3D6pU7K1MUNMK4LuLQXiCaDQcT5KwQRIRYmnl2dtJNZP1Js7bjjOOa9LjdaXaCVN4tO+QRBM
gadUNOGztjGNMKps7aSaycarvtBIAmpjBaHtMVmc4ohp59lawBBphXBDZWrjJBJ4legWjSJB
oqBBEhRdS8uztpJrJxris2VqQAQYGFV6nm60nSqwuh0UApPaUNS82ytQCADBxqt2dsBFY5r0
X2692K0OBMA69yGnm2dtAFaYVwQ2VqZkGtcV6lzdahofJaC3AHOiqacdnbccIxTZ20zWT9S9
JcAYmvJSy0DgJxIE0ohpw2dtINZH1Js7YCKxzXqRQ085balpbdABxg/tTs7aQayMN5epENPJ
sbT5e9NjafL3r1oi6l5NjafL3psbT5e9etENS8mxtPl702Np8vevWiGpeTY2ny96bG0+XvXr
RDUvJsbT5e9NjafL3r1ohqXk2Np8vemxtPl7160Q1LybG0+XvTY2ny969aIal5NjafL3psbT
5e9etENS8mxtPl702Np8vevWiGpeTY2ny96bG0+XvXrRDUvJsbT5e9NjafL3r1ohqXk2Np8v
emxtPl7160Q1LybG0+XvTY2ny969aIal5NjafL3psbT5e9etENS85FsWgFjSBqP2gFsBAY0D
gP2vQirNvPdtiACxpAECQPNA22GFmwcgPNehEHnY22Y261oj1xWz/wCjRvrtXdELcbJjxauc
8RIRdkQaVzMh5Ia4yAKR58V0PasjiURzNlMmQazUUz81bW3WgU7BC2OJSOJQY8SwiCZEUXIh
7gZaZukDAfkrtHEpHEoIuG9eJE8Bz81jbOABepQmmkeS6RxKRxKCNnRonBsYY4eSpogAEytj
iUjiUAmBQE8AubW7t26W1Bkxl26UXSOfrsSOfrsQcxYgCBApQgV7dVTWBrpGkR65Doqjn67E
jn67EBc3Aw8XXb2dNI1XSOfrsSOfrsQRswX3oFa1Feqllm4UJF0EZYwB5LrHP12JHNARI4lI
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
f1qSfaOF4tiGtvGRjj0wWMtCXGSIBIi4axOeZ5INcybSRZ7xIN/p24UpTvSys3se68QQQKxE
mSdeK17nNeKtgmA3M8ezkVllaF7oMGRJA/x4Hj0wQdUREBERBydZv2zXgiJ0wEHjx7+COYXM
dI3i6ccgaR2d5yVPc5rgaQSBGZ/5ywHTntnBrXG7DxI+mox1x4YINaHtcHXXECQGzJExqeBz
07BsibOyaf8AEiSMoB/KG0IA37MAzv5eOPbl011qWts3FsXjBGeGHVB0bMbwqNM/XrVasExv
RPBagIiICIiAiIgLHYLVjsEHFRbfBfyVqLb4L+SirREQaUKFCiMRn8gfYfEIjP5A+w+IQU+x
vPvSMQaiSI0OQ/aCwaLvAz2ZDsgdOJXVFRyFiYaC6jYDaZSDXpwWGxMODXAXgQZE5k68V2RB
ztLK/BN0kT7zZHjisNgCccruH+MYaY1w4YLqiCLOzuT7tflbCtEQEREBERAREQEREEOY4vDg
4CBQET+R65o6zDi+TRzbvj5q0QQ1pDi5xBJAFBHnqrREBcjY3paXbskwBWs59pyXVEENaQ4u
cQSQBQR56q0RAREQFzNmS4726SHERWRHkMl0RBzdZl07w3m3XU8K0x4rSxxcDeEAyKZ+VeHN
WiCHMLj727IMRWnH9LGWZaRLpDRdbTLj04LoiAiIgIiIIuO2l68I0IwHX8eCnYmAC73RDacj
XXAaLqiDls3B14OF840pllPAZqtmLrG5N1zoQrRBjQQImdJWoiAiIgIiICIiAsdgtWOwQcVF
t8F/JWotvgv5KKtERBpQoUKIxGfyB9h8QiM/kD7D4hB3REVBERAREQEREBERAREQEREBERAR
EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFjsFqx2CDiotvgv5K1Ft
8F/JRVoiINKFChRGIz+QPsPiERn8gfYfEIO6IioIiICIiAiIgIiICIiAiIgIiICIiAiIgIiI
CIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAsdgtWOwQcVFt8F/JWotvgv5KKtER
BpQoUKIxGfyB9h8QiChmK6oO6LjePopePopY7IuN4+il4+iljsi43j6KXj6KWOyLjePopePo
pY7IuN4+il4+iljsi43j6KXj6KWOyLjePopePopY7IuN4+il4+iljsi43j6KXj6KWOyLjePo
pePopY7IuN4+il4+iljsi43j6KXj6KWOyLjePopePopY7IuN4+il4+iljsi43j6KXj6KWOyL
jePopePopY7IuN4+il4+iljsi43j6KXj6KWOyLjePopePopY7IuN4+il4+iljsi43j6KXj6K
WOyLjePopePopY7IuN4+il4+iljsi43j6KXj6KWOyx2C5Xj6KXigxRbfBfyVqLb4L+SKtERB
pQoUKIxERFEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFo
zWLRmgSkrEQYLRpMBzZ0VSuVm6pF5uJpnipD3BrSXTebJphh5ojteFaimKxrw73SDyXKhsra
HXsa9gVODhvFwmgEDUjmg6ykriXuBMGXV3dMY46dUc8hu68OE1JinbEd3iEHaUlcQ50tlwrp
n59mGOCqzcTMmez10NQg6SotXEWTiKGFSi2+C/kgtRbfBfyVqLb4L+SKtERBpQoUKIxERFER
EBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFhc1oJcQBxWogj
a2fzt6ptbP529VaIOQdZAztP/wBz5qtrZ/O3qrRERtbP529U2tn87eqtEVG1s/nb1Ta2fzt6
q0QRtbP529U2tn87eqtEEbWz+dvVTa2jDZOAeCY1XVEQUW3wX8lai2+C/kirREQaVDrVgMF4
kcVRICyRqERO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqkahJGoQTtbP529U2tn87eqq
RqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqkahJGoQTtbP529U2tn87equRErJ
GoQTtbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqkahJGoQT
tbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqkahJGoQTtbP5
29U2tn87eqqRqFsiJQRtbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVN
rZ/O3qqkahJGoQTtbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O
3qqkahJGoQTtbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqk
ahJGoQTtbP529U2tn87eqqRqEkahBO1s/nb1Ta2fzt6qpGoSRqEE7Wz+dvVNrZ/O3qqkahJG
oQTtbP529U2tn87eqqRqEkahBO1s/nb1U2tow2TgHgmNV0kahJGoQaiTOCIofeHJcm2sgEua
ZEkDKnMrqQbw5Kdmdlc+mJhEL7ZivRL7de7Hlr2IbMknQkEiNP8AizZG5dJkDAR469yDb7Yx
7kvtrXBZsiAAIFZo2PXehsi69Joco8fWCDb7Yx7lU0p3qNkQABArNGx671cGPIIIDnEkAtJG
cU9duaphvNkqTZvMkkScd2kdVYDorU8AgItg6JB0RWH3RzUS4uN2IBiCMVZBgUzU3HSS0wDj
REQLQk+8070XRjjGvbgqDyW2ZpvY9JVNaWiOJKxtm4XQTIbhTsQaDvkZAA+KlrwWtnEgFUWO
vS0wSIMiVmzIuwTDRGHrt/CBfbWZEcPUptG8eUGVBsSKgSRoKmoNa1w4ILJzpc4CZwLZ048N
UHUEHBcy9zZktIEViInt9UXRrSBGQwop2ZukZzMxxQZeddBBaRqMPXXkqBkTEaLBZmskyTNB
mtY0tEEkoNRbB0SDoisQ+6Oa2DosIMCmaCNpDng/44cfXkjbQXWl2JAJgYLdnvEnWcOHoqdj
QYGABVs9PRRFbRup6LSd8DIgnwUmyJBE4hww1VOY4kEUIpUSgkPES6lSOhVFwBgmOYos2ZgA
HOcPXrGVLrGSTjjlXqgraN48oK0EHBc9m95JeBlAI55SddV0awtEZcBCDA515wgUEivNYHOJ
IBaSM4p67c1Vw3ia1EeKk2bzJJEnHdpHVBhe65e3f/8AXLnlihtCCcCa7ox9Hlmqcx7hBNCI
NPX5WGyJoTu1OFaz5oJ2sEVDgTEt7aetV1ExWJ4KNkS6XVPKmfmquuDSATwMYIMBJvRFDA9c
1ge4tGAJcRyifJWGwAAKBTszAjEEkU1nzQYHultBBJBPKfJYLTfAJFSRGY4+hmqFmRd4EnDW
fNDZlx3qt0hBItC7CBLoB4RKG0IDaCS6D1iVuyIJIJmZEycoQ2MjOZkkTrKAx5cThQkH168r
UizIqMZOXGVcHRBiLYOiQdEViLYOiQdEGItg6KTog2f+osCIPJ7VafT0T2q0+noiIh7VafT0
T2q0+noiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIg
e1Wn09E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0T2q
0+noiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIge1W
n09E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0T2q0+n
oiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIge1Wn09
E9qtPp6IiB7VafT0T2q0+noiIHtVp9PRParT6eiIge1Wn09E9qtPp6IiB7VafT0REQf/2Q==
--------------9513C2AFF798D00B36728A70--

--------------5ADDD42E9912FFA447D05B6A--

CPU Usage (23+ Kbytes)

Dec 20, 1998, 12:53pm
--------------C00FE917B852BB39F370B0EC
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Strangely enough - when I have only one bot running it uses %25 of the total power. The program has a loop:
for (int i=0;i<36000;i++)
{
(AWWait)(1000); // 1 sec only
if (reset_gesture && reset_gesture < GetTickCount ())
{
/* time to set our gesture back to 0 again */
(AWIntSet) (AW_MY_GESTURE, 0);
(AWStateChange) ();
reset_gesture = 0;
}
}

but it has the 1 second AWWait in it which doesn't explains the CPU load.
Any more clue??


[View Quote] > Looks almost as if the greeterbot example does busy polling with no cpu release. almost. just a quarter of your horsepower is not beeing used. could be easily exlplaíned on the 4 cpu machine, with each greater.exe exhausting one cpu, leaving the system with the remaining one, but if you have only two, and3 bots use each 25% and the Idle Process 25% some bots must have been releasing the cpu and some point so my guess wouldn't stand. my 2 cents.
>
> Andras Sarkozy schrieb in Nachricht <367CBE9D.E39BECDC at mail.storage.co.hu>...Anyone can explain the high CPU usage of Ed's simple greeting bot??
> This is a 300MHz DUAL Pentium II machine with 512MBytes of memory:
>
> [Nice Pic removed: Important things:]
>
> Name CPU
>
> System Idle 25%
> Greeter.exe 25%
> Greeter.exe 25%
> Greeter.exe 25%
>
>
>

--------------C00FE917B852BB39F370B0EC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
Strangely enough - when I have only one bot running it uses %25 of the
total power. The program has a loop:
<br>&nbsp;&nbsp;&nbsp; for (int i=0;i&lt;36000;i++)
<br>&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp;&nbsp;&nbsp; (AWWait)(1000); // 1 sec only
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reset_gesture &amp;&amp;
reset_gesture &lt; GetTickCount ())
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
<br>&nbsp;&nbsp; /* time to set our gesture back to 0 again */
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AWIntSet) (AW_MY_GESTURE, 0);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (AWStateChange) ();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reset_gesture = 0;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; }
<p>but it has the 1 second AWWait in it which doesn't explains the CPU
load.
<br>Any more clue??
<br>&nbsp;
[View Quote] </body>
</html>

--------------C00FE917B852BB39F370B0EC--

CPU Usage (23+ Kbytes)

Dec 20, 1998, 7:30pm
--------------B44F539E6409D9521C7AE5B6
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Good point - it decreased to %13 - %12 for each instance. It means for me that AWWait spends about 500 milisecond in he wait loop before gives up the control.
Actually - it means nothing :(( sorry
It is even a better mistery now!!! Is AWWait uses half the allocated time to do something and the rest for wait????


[View Quote] > Well, for a test, i would increase the 1000 to 2000 and see it the cpu usage gets cut into half. Walter
>
> Andras Sarkozy schrieb in Nachricht <367D0F81.10792F9E at mail.storage.co.hu>...Strangely enough - when I have only one bot running it uses %25 of the total power. The program has a loop:
> for (int i=0;i<36000;i++)
> {
> (AWWait)(1000); // 1 sec only
> if (reset_gesture && reset_gesture < GetTickCount ())
> {
> /* time to set our gesture back to 0 again */
> (AWIntSet) (AW_MY_GESTURE, 0);
> (AWStateChange) ();
> reset_gesture = 0;
> }
> }
>
> but it has the 1 second AWWait in it which doesn't explains the CPU load.
> Any more clue??
>
>
[View Quote] --------------B44F539E6409D9521C7AE5B6
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
Good point - it decreased to %13 - %12 for each instance. It means for
me that AWWait spends about 500 milisecond in he wait loop before gives
up the control.
<br>Actually - it means nothing :(( sorry
<br>It is even a better mistery now!!! Is AWWait uses half the allocated
time to do something and the rest for wait????
<br>&nbsp;
[View Quote] </body>
</html>

--------------B44F539E6409D9521C7AE5B6--

CPU Usage (23+ Kbytes)

Dec 21, 1998, 7:55pm
--------------5931427DFD00A9A984DB0B6A
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

I sent my bot to the "end of the world" - means NO avatar, NO objects - No nothing. (Still within my world limit)
Andras

[View Quote] > I don't think it is aw_wait() itself that is causing the high CPU usage. I have several SDK applications running right now on an NT box (the DJ bots in the Gate and Atlantis, the blimp in AW) with a single 400mhz PII and none of them use more than 1-2% of the CPU. They all use a similar loop centered around aw_wait(1000). Is your bot running somewhere where there are a lot of avatars? I've noticed that the bot program we have that is running all of the bots in The13th (somewhere around 20 bots or so) is using about 10% of the CPU of the NT machine, mostly due to the fact that many of the bots are moving around and others are chatting, and all those chat messages and state changes are being reflected back to all the other bots in the same program. This, by the way, is an obvious area of optimization for a future version of the SDK... :) -Roland
>
[View Quote] --------------5931427DFD00A9A984DB0B6A
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
I sent my bot to the "end of the world" - means NO avatar, NO objects -
No nothing. (Still within my world limit)
<br>Andras
[View Quote] </body>
</html>

--------------5931427DFD00A9A984DB0B6A--

CPU Usage (23+ Kbytes)

Dec 22, 1998, 5:38am
--------------0321F94A9C847305D90C4165
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

I don't know how to phrase it - "throwing ash on his head".
I was using SDK build 5 :o))))) With the latest build (11) - the performance is perfect!!!!
I apologize about the confusion I made

Andras

[View Quote] > I don't think it is aw_wait() itself that is causing the high CPU usage. I have several SDK applications running right now on an NT box (the DJ bots in the Gate and Atlantis, the blimp in AW) with a single 400mhz PII and none of them use more than 1-2% of the CPU. They all use a similar loop centered around aw_wait(1000). Is your bot running somewhere where there are a lot of avatars? I've noticed that the bot program we have that is running all of the bots in The13th (somewhere around 20 bots or so) is using about 10% of the CPU of the NT machine, mostly due to the fact that many of the bots are moving around and others are chatting, and all those chat messages and state changes are being reflected back to all the other bots in the same program. This, by the way, is an obvious area of optimization for a future version of the SDK... :) -Roland
>
[View Quote] --------------0321F94A9C847305D90C4165
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
I don't know how to phrase it - "throwing ash on his head".
<br>I was using SDK build 5 :o))))) With the latest build (11) - the performance
is perfect!!!!
<br>I apologize about the confusion I made
<p>Andras
[View Quote] </body>
</html>

--------------0321F94A9C847305D90C4165--

Getting Started with SDK

Jan 14, 1999, 6:22am
--------------D822306FB8180F1A278CB97B
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

There are no need for the def file if you are running under Borland CBuilder 3 - at least I don't have one :o)

[View Quote] > Since Roland uses Visual C++ 5.0, he probably has no .def file to include. They do those things different these days *smile* Walter
>
> Ædificator schrieb in Nachricht <369C202E.837297A0 at geocities.com>...Perhaps (if Roland is reading this post) a copy of the aw.def be included in any future releases of the SDK? purdy-please?
>
>
>

--------------D822306FB8180F1A278CB97B
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
There are no need for the def file if you are running under Borland CBuilder
3 - at least I don't have one :o)
[View Quote] </body>
</html>

--------------D822306FB8180F1A278CB97B--

Bots vs 'usual' Avatars

Feb 17, 1999, 7:10am
g=9.81 m/s^2
Andras


[View Quote] > Well, I would rather have Roland implement better avatar collision detection, which then bots can take advantage of through the SDK. Avatars should at LEAST be using their bounding box for collision detect, not a bounding box that can't go smaller than 1m³. And gravity needs a little work too. When running (Ctrl and arrows) off things (hills for example), it seems like I am on the moon or something because I end up coasting much further than I should before actually hitting the ground. Then, if I stop moving, instead of momentum carrying be forward, I just fall straight down. This is physically inaccurate. Then of course the next step is to allow world control over the gravity setting (like allow the m/s to be changed; isn't gravity like 8.5m/s or something on Earth?).
>
> Anyway, bots should be able to, because they're just avatars, be treated like any avatars (which already have collision detection).
>
[View Quote]

Bots vs 'usual' Avatars

Feb 18, 1999, 4:32pm
No wonder! You are at least 300 meter closer to the center of the Earth!! <smiles>
Andras


[View Quote] > that varies, it's 9.82 here in Holland.
>
> Rolu
>
[View Quote]

Bots vs 'usual' Avatars

Feb 18, 1999, 7:50pm
Agree! But Holland's surface is lower than Hungary's one - so he still can have larger "g" :))
Andras


[View Quote] > Since we're being geeky here, I feel compelled to point out that once you
> are at the surface, as you move closer towards the center of a solid sphere,
> acceleration due to gravitational attraction from the sphere does not
> continue to increase...consider the extreme case, where you are approaching
> the exact center of the earth: net acceleration becomes zero, since all
> parts of the earth are around you pulling on you equally.
>
> I know, you were joking :)
>
> -Roland
>
[View Quote]

Bots vs 'usual' Avatars

Feb 19, 1999, 6:20am
Just to keep you away for a while from AW:
You proved again that Holland has larger gravity - they are more north than Hungary :))
Andras


[View Quote] > Okay, I agree Holland's surface is lower, but this still isn't the reason
> for the larger G :)
>
> The force of gravity varies measurably over the surface of the earth due to
> 2 factors: 1) regional variations in the earth's density (the earth is not a
> sphere of uniform density across the surface), and 2) distance from the
> equator. Due to centripetal force from the earth's rotation, G appears to
> be "less" at the equator, which is moving at something like 1000 miles/hour,
> than at the poles.
>
> It's amazing the lengths I'll go to avoid working on AW bugs :)
>
> -Roland
>
[View Quote]

Security issue

Feb 20, 1999, 6:26pm
I agree with you - if the user does not trust in you - don't use your program!!
Andras


[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]

some help needed

Mar 8, 1999, 6:55pm
[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?

messages.lines.add("Faied to initialize API reason=%d",rc); <I guess it is still valid in Delphi>

>
>
> 2.
> I tried to make my bot say something with
>
> aw_say('[beep]');
>
> it should have said [beep] but it said nothing.
>
> Rolu

Aren't you supposed to use text quotes? (aw_say("[beep]");) "'" used to quote characters only in "C".

Again I'm not a Delphi expert, but coming from "C" it seems obvious.

Andras

RC=43 (invalid Password) problem

Mar 10, 1999, 7:45pm
[View Quote] > Yes there is.
>
> AW supports the idea of a "privileged password" that you can use to allow
> other people to build under your name. So, you might login using your name
> and normal password and then someone can tell you their privileged password
> so that you can build something for then under their name (cit number).
>
> You have to specifically set this password up. It does not default to your
> normal password.
>
> Run the AW browser and check your settings. There is a field there to enter
> one.
>

Options/Citizen/Privilege Password field
Andras


>
> It is this privileged password that is required for bots to login to a
> universe.
>
> Good luck
>
[View Quote]

Bot help needed

Mar 17, 1999, 11:09pm
You got me in this one behind you!!!
Andras


[View Quote] > I consider the tonne of daily "It's pookie427's birthday Tuesday, everyone go to my special birthday spot and put a message there" via telegram to be spam. No offense. I just usually don't know 99% of the people that I'm telegrammed with birthday invitations to. :)
> I suppose we'll need privacy features to turn off sdk originated telegrams. Unfortunately that may interfere with LEGITIMATE uses of sdk telegrams that don't involve mass spamming with bday notices.
> Maybe a level of sophistocation at the uniserver could be effective here. If the universe server were able to determine by comparing content of subsequent sdk originating telegrams, then it could determine if the given telegram is a "mass message." Those with mass messages turned off (like icq's similar feature) would not get them.
>
> Rjinswand
>
[View Quote]

Learning C++

Aug 13, 1999, 9:05am
--------------3DD59B4BC50D5C63A5470F7C
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I wrote 100,000+ lines of C++ code but I learned with "Cut and paste" . Try to read the examples, modify them and save it as your code. Later - you'll be happy to have them :))))
Andras

P.S. Of course there are books and tutorials too! <where????>


[View Quote] > I just bought C++, and i was wondering if anyone knows of any good ways to learn it. Thanks-iceberg

--------------3DD59B4BC50D5C63A5470F7C
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
I wrote 100,000+ lines of C++ code but I learned with "Cut and paste" .
Try to read the examples, modify them and save it as your code. Later -
you'll be happy to have them :))))
<br>Andras
<p>P.S. Of course there are books and tutorials too! &lt;where????>
<br>&nbsp;
[View Quote] </body>
</html>

--------------3DD59B4BC50D5C63A5470F7C--

Learning C++

Aug 13, 1999, 6:15pm
I have a few Sams book - they are really good!!
Andras


[View Quote] > Oh yes, another great tip. Check out http://www.mcp.com/ and the personal
> bookshelf option. They allow you to "checkout" books and read them online
> for free and we are talking $50 books so its a great offer. Ofcourse you
> are limited to MacMillan books but they have a lot of great C++ learning
> books. Here are a couple
>
> Sams Teach Yourself C++ in 21 Days, Second Edition
> Sams Teach Yourself Visual C++ 6 in 21 Days
>
[View Quote]

Learning C++

Aug 13, 1999, 6:17pm
--------------F495D19CD641855BC3EA2874
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Looks like my english failed me again. The <where???> supposed to be a joke :))
Thanks for the great links anyway!
Andras


[View Quote] > I wrote 100,000+ lines of C++ code but I learned with "Cut and paste" . Try to read the examples, modify them and save it as your code. Later - you'll be happy to have them :))))
> Andras
>
> P.S. Of course there are books and tutorials too! <where????>
>
>
[View Quote] --------------F495D19CD641855BC3EA2874
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Looks like my english failed me again. The &lt;where???> supposed to be
a joke :))
<br>Thanks for the great links anyway!
<br>Andras
<br>&nbsp;
[View Quote] </body>
</html>

--------------F495D19CD641855BC3EA2874--

Protect our objects directories with password

Oct 24, 1998, 8:42pm
Yeah, but then even the browser couldn't get it :o)

[View Quote] >
> Not true, at all
> you will be asked a username / password to get the file
>
> Alex

Simple error converter(13.8K): win32 app that asks for reason # and outputs the reason.

Nov 5, 1998, 10:09pm
how about the "Not too simple MCF40D.DLL" which is missing from your uplo=
ad?


[View Quote] > This is a simple program for looking up reasons. 13.8K
>
> ---------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
-------------------------------------------------------------------------=
--
> Name: Reasoner.zip
> Reasoner.zip Type: Winzip32 File (application/x-winzip)
> Encoding: base64

New Universe is comming soon...

Oct 7, 2006, 3:39am
[View Quote]

New Universe is comming soon...

Oct 7, 2006, 3:39am
[View Quote]

New Universe is comming soon...

Oct 7, 2006, 3:39am
[View Quote]

Re: Invisible Mode!!

Dec 2, 1998, 11:36pm
--------------F575CE19E5AB961210DD84E2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I think to be less agressive would help a lot.


[View Quote] > I wish that Cof'd add an Invisible mode where you could come on and no
> one would see you.Like your on AW's GZ and You want to go invisible
> and just listen then you can.That sounds cool to me.
>
> --
> **************************************************************
> Spy WorldBuilders Offer:
> Hosting
> All Avatars On Request
> All Objects On Request
> Reasonable Pricing
> *Trial* worlds(ie:Sample)
> Bot Scripts
> Monitering(Ie:We Moniter the world for Spammers Vandals Etc)
> Etc
>
> Spy WorldBuilders Asks:
> That We Be allowed to have (and keep) Build,PS,Eject,CareTaker,Etc
>
> **Spy Reserves the right to decline any application for any reason.**
> Telegram FastWalker2 Or Email Fast2 at Bellsouth.net
> for details.
> Spy Logo,Fast's Avatar Bar,The Alliance,Etc (c) 1998 By Fast.
> **************************************************************
>

--------------F575CE19E5AB961210DD84E2
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I think to be less agressive would help a lot.
<br>&nbsp;
[View Quote] --------------F575CE19E5AB961210DD84E2--

WorldBuilders World

Dec 5, 1998, 11:39am
--------------EB14D5E22CEEDD25469E300D
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I would nominate him to the "Borest sig" Cy Award


[View Quote] > Certainly not!! I know Facter's way of expressing himself, take it as
> a compliment. He's just saying you may win at the "longest sig" Cy
> Award.
>
>
[View Quote] --------------EB14D5E22CEEDD25469E300D
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I would nominate him to the "Borest sig" Cy Award
<br>&nbsp;
[View Quote] <p>--
<br>**************************************************************
<br>Spy WorldBuilders Offer:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hosting
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All Avatars On Request
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All Objects On Request
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reasonable Pricing
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *Trial* worlds(ie:Sample)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bot Scripts
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Monitering(Ie:We Moniter
the world for Spammers Vandals Etc)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Etc
<p>Spy WorldBuilders Asks:
<br>That We Be allowed to have (and keep) Build,PS,Eject,CareTaker,Etc
<p>**Spy Reserves the right to decline any application for any reason.**
<br>Telegram FastWalker2 Or Email Fast2 at Bellsouth.net
<br>for details.
<br>Spy Logo,Fast's Avatar Bar,The Alliance,Etc (c) 1998 By Fast.
<br>**************************************************************
<br>&nbsp;</blockquote>
</blockquote>
</html>

--------------EB14D5E22CEEDD25469E300D--

Is there a way to stop a looping sound

Dec 13, 1998, 5:52am
Try to use NOISE rather SOUND. That will be a one time event.

[View Quote] > I have instances where either BUMP or ACTIVATE is used with SOUND. Does
> anyone know how to stop the SOUND without interposing a BUMP or ACTIVATE
> SOUND SILENCE.WAV, or leaving the area of the sound???
>
> (Example: Click ON button on computer and humming sound starts, then click
> OFF button and sound should then stop. Also... water tap ON/OFF. Window OPEN
> you hear the birds outside, close and it should stop. Problem is, what do
> you do when the person wants to stand there and click On, OFF, ON, OFF, ON,
> OFF forever?)

Is there a way to stop a looping sound

Dec 14, 1998, 8:08pm
you are VERY funny :( - come up with some REAL idea


[View Quote] > Cause AW to crash. Shouldn't be too hard.
>
> --
>
> [ Fluxen Dean-Christian Strik ]
> [ ICQ: 11760568 ISG RhinoSoft ]
> [ fluxen at bigfoot.com dean2 at bigfoot.com ]
>
> The nice thing of standards is that there are so many to choose from.
> -- Andrew S. Tanenbaum
>
[View Quote]

1  2  3  4  |  
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