|
grimble // User Search
grimble // User Search
May 17, 2001, 10:21pm
As BillyBob says, you have no choice but to locate and store the objects
first ... locate the object with an AwQuery in the first place, store all
the named objects it finds (or just the ones you are looking for) in an
array or a collection and then reference the collection in the
EventObjectClick to identify which one was clicked.
There's no "quick and dirty" solution to this, sorry.
Just a hint here ... when you are doing a survey to locate named objects,
rather than parsing the whole action line, its much easier to make the first
command in the action text on each of the objects the name of the object ...
so, in your example, code the object as "create name click1, sign" rather
than the other way around. Then in the EventCellObject event use something
like the following:
awObjectAction = awSDK.AwObjectAction
If (UCase(Left(awObjectAction, 12)) = "CREATE NAME " Then
<record the object>
EndIf
That way, you can see at the first opportunity (i.e. the first line of code
in the event handler) whether you even care about the object without having
to do some nasty string parsing before you can decide. To get the name of
the object, you just take the text up to the next delimiter ("," ";" or the
end of the string) and go from there.
If you are placing the object, it is much easier to make the object's action
text comply your bot's code than to code the bot to handle any action text
possible. For example, you could make sure that there is ALWAYS only one
space between "name" and the objects name and ALWAYS put a space after the
object name (whether it is the only command in the action text or not) so
that you know that the bot can take the text between "create name " and the
next space to be the object name. That saves a load of excessive coding and
processing.
Grims.
[View Quote]trekkerx <troop2 at empirenet.com> wrote in message
news:3B045F61.FA84C71D at empirenet.com...
> So is there anygood way to do it without having to find out the Object
> number?
>
> billybob wrote:
>
>
|
May 17, 2001, 7:19am
Is there any chance we could have a new newsgroup on news.activeworlds.com
for C++, VB, Delphi and Java questions related to the SDK?
I appreciate that there is a need for people who have started using these
languages purely for bot development with no other experience to speak of in
programming them to have a place to ask questions about the language and the
best way to do things, so I am not saying these people aren't welcome (in my
view anyway) to ask for the information they need.
The thing is, this SDK newsgroup is now getting littered with questions
about how to do things in VB ... and less and less to do with the SDK
itself. I know there are people with relevant skills that would monitor the
new NG, and it would help to keep on-topic stuff at the forefront in this
one.
Any comments (or ideas whether AW would set one up)?
Grims
May 17, 2001, 7:21am
Oops ... sorry.
"related to the SDK" meant to say "not directly related to the SDK".
Grims
[View Quote]grimble <grimble2000 at btinternet.com> wrote in message
news:3b0397ba at server1.Activeworlds.com...
> Is there any chance we could have a new newsgroup on news.activeworlds.com
> for C++, VB, Delphi and Java questions related to the SDK?
>
> I appreciate that there is a need for people who have started using these
> languages purely for bot development with no other experience to speak of
in
> programming them to have a place to ask questions about the language and
the
> best way to do things, so I am not saying these people aren't welcome (in
my
> view anyway) to ask for the information they need.
>
> The thing is, this SDK newsgroup is now getting littered with questions
> about how to do things in VB ... and less and less to do with the SDK
> itself. I know there are people with relevant skills that would monitor
the
> new NG, and it would help to keep on-topic stuff at the forefront in this
> one.
>
> Any comments (or ideas whether AW would set one up)?
>
> Grims
>
>
>
|
May 17, 2001, 9:05pm
LOL .... nicely put.
[View Quote]faber <Walter at Knupe.de> wrote in message
news:3b041756 at server1.Activeworlds.com...
|
It would keep some fights over correct basic programming and
i'll-help-but-i-have-no-clue helpers out of sight.
May 17, 2001, 9:12pm
Apart from the basic concept of keeping the basic VB questions out of the
SDK newsgroup (although they are perfectly valid questions ... and will be
welcome there), one of the key ideas behind this is so that people like you
who think that way don't have to read the posts and not even subscribe to
the newsgroup.
In that way we can keep the threads in the SDK focussed on SDK issues and
still help the people trying to learn the languages in question in a
separate forum. I take it from your comments that you won't subscribe to the
newsgroup if it ever materialised, which is your choice. Whatever happens,
we'll have to make sure there's a firm charter behind it ... that is stuck
to.
Grims
[View Quote]m a k a v e l i <tupacisdabest at aol.com> wrote in message
news:3b042e89$1 at server1.Activeworlds.com...
> I fully agree, although I hate newbies who never open a book, or read help
> files, I think this is a great idea.
>
> "grimble" <grimble2000 at btinternet.com> wrote in message
> news:3b0397ba at server1.Activeworlds.com...
> | Is there any chance we could have a new newsgroup on
news.activeworlds.com
> | for C++, VB, Delphi and Java questions related to the SDK?
> |
> | I appreciate that there is a need for people who have started using
these
> | languages purely for bot development with no other experience to speak
of
> in
> | programming them to have a place to ask questions about the language and
> the
> | best way to do things, so I am not saying these people aren't welcome
(in
> my
> | view anyway) to ask for the information they need.
> |
> | The thing is, this SDK newsgroup is now getting littered with questions
> | about how to do things in VB ... and less and less to do with the SDK
> | itself. I know there are people with relevant skills that would monitor
> the
> | new NG, and it would help to keep on-topic stuff at the forefront in
this
> | one.
> |
> | Any comments (or ideas whether AW would set one up)?
> |
> | Grims
> |
> |
> |
>
>
|
May 18, 2001, 7:49am
Wow ... Some response.
I don't remember seeing anyone derided in this newsgroup for using VB (or
any non-C++ language). I have about 4 PC development languages at my
disposal, with experience ranging from months to years. I used to used VB
for bots ... right up to the point it came time to send it to someone(Ack!
4.5MB's worth of cabs!). The post had nothing to do with elitism ... it is a
matter of of focus, not segregation ... to the benefit of all.
I am happy to help people where I can on any subject where I have experience
and feel have value to add to the subject. However I don't believe that
questions about handling visual controls and data stores etc. BELONG in the
sdk newsgroup. It clutters it up making things very difficult to locate
later for both people who want to find something regarding the SDK and those
looking for general programming answers. The result ... they repost the
question.
Recently, the SDK newsgroup (and to a ceetain extent this applies to the
Bots newsgroup too) seems be becoming a "general programming" forum where
the subjects are *very* loosely related to the SDK because people are
writing bots when they have the question. In my view ... these questions
would be best suited to a separate newsgroup.
I agree that it takes time for people to realise which newsgroup should be
posted to when it comes to certain types of question ... and, unfortunately,
true success could only be achieved with someone permanently mediating the
newsgroups, managing the posts (which we don't have here). But I feel that
the benefit of all would be served better by separating the general
programming questions from those related directly to the use of the SDK.
Grims
[View Quote]xelag <xelag at 3dee.nl> wrote in message
news:3b049871$1 at server1.Activeworlds.com...
> I personally think that the fact there are 2 newgroups for bots and sdk is
> more than enough. It is already quite confusing for people to know where
to
> post questions. The sdk newsgroup is the appropriate one to post
questions,
> in my opinion, about vb, c--, delphi or clum. As long as it is vaguely sdk
> related, welcome. The sdk newsgroup, as such, would be dead and gone
> without all the weird questions about weird systems :) There is even a
> third possibility, for the lucky few, to post in the beta newsgroup.....
> People with 'high technical nowledge' can post here, or make their own
> elitair newsgroup if they want to.
>
> When I started making bots, I started with VB. My first xelagot was a VB
> creep. I was made fun of in this same newsgroup, and not taken seriously
by
> professional C++ programmers, but also helped by many of them... And
> especially by Canopus, a Delphi programmer. But also by C++, often amidst
> derision and unbelief that anything other than C++ could do the job... I
did
> not belong here. I moved away from VB because of it's shortcomings, and
was
> denigrated because I used Delphi instead of C++. Only when my xelagot won
> the Cy award from C++ programmers, did I start getting recognition. After
> al, C++ programmers are also human... :)
>
> I think the time has come for experienced programmers (especially
C/C++ers)
> to accept newbie programmers. I had to fight my way, with the help of
other
> people in this newsgroup (that was what *really* helped me, not the sdk
> label attached to the newsgroup). We do not need another technical
> newsgroup: this one is more than enough. When I can help someone here, I
> will. I do not know everything, the one who does just throw the first
stone
> please. Maybe, the more experienced but elitair C++ers should publish here
> more often.
>
> Please note: I have nothing against C++. In fact, when people ask me what
> their best choice would be, I recommend C++, for the simple reason that it
> is more portable. I program in Delphi myself, and I am very pleased with
> it. I just hate the attitude many exclusive C/C++ programmers have
against
> others. This is the heritage I have got here... wounds heal slowly :)
>
> So, to keep it long enough: no need for another newsgroup, throw your
> troubles here, like I did!
>
> XelaG
>
> "grimble" <grimble2000 at btinternet.com> wrote in message
> news:3b0397ba at server1.Activeworlds.com...
news.activeworlds.com
these
of
> in
> the
(in
> my
> the
this
>
>
|
May 19, 2001, 1:47pm
Get/SetPrivateProfileString and Get/SetPrivateProfileInt aren't exactly
difficult to use.
Personally, I'd tend to go the direct route rather than add another layer
into the application which is only going to call these API functions anyway.
Reduces the number of components out of your control too.
Just a thought.
Grims
[View Quote]moria <moria at colony.co.uk> wrote in message
news:3b06938f at server1.Activeworlds.com...
>
> m a k a v e l i <tupacisdabest at aol.com> wrote in message
> news:3b058241$1 at server1.Activeworlds.com...
good
> work
>
> so is using the win32 api and much more powerful. Theres ocx's etc for
> lots of functions, but every one bloats the final app size.
>
> In addition, by using the API you'll learn a heck of a lot more than just
> including an OCX.:)
>
> I have nothing against OCX's etc, and brandts one is fine, but I still
> believe its best to get to know what you can do without them:)
>
> Moria
>
>
>
|
May 20, 2001, 12:23pm
Get/SetPrivateProfileString and Get/SetPrivateProfileInt aren't for sharing
data in the registry. They're for private settings.
You should use Get/SetProfileString and Get/SetProfileInt for that. :o)
Grims
[View Quote]kah <kah at kahbot.com> wrote in message
news:3b07cb00$1 at server1.Activeworlds.com...
> also possible to use registry entries (I'll get flammed if I don't tell
that
> it should be used for communication with other apps)
>
> KAH
>
> moria wrote in message <3b06938f at server1.Activeworlds.com>...
> good
>
>
|
May 18, 2001, 7:15pm
AwWhisper takes the SESSION number of the avatar and not its name. Its there
in black and purple-ish (sorry, I'm color blind when it comes to those
colours) in the Activeworlds SDK documentation! ...
http://www.activeworlds.com/sdk/aw_whisper.htm.
The session number is a Long, and the avatar name is a String, hence the
type mismatch. That error means there's something very simple wrong with
your code ... you're assigning a value to a variable or passing to a
function a value of the WRONG TYPE. What it doesn't mean is for you to wimp
out and post in the newsgroup.
I believe brant's classes allow you to do what you want ... it appears to
say so on his web-site ... passing the name instead of the session number
through the Avatar class.
Grims.
[View Quote]barbarossa <empbarbarossa at excite.com> wrote in message
news:3b058313$1 at server1.Activeworlds.com...
> :All Avid Users of AW,
> I have A simple AFK bot up ready for the web upload stage, ut I'd like to
> add another feature to it. The following scenario is what I need to occur:
> User selects name of afk person from the list of AFK people, in the UI.
That
> name is stored under List1.Text. Then, the user enters their whisper
message
> in the approatly named text box, & clicks the command button captioned
> "whisper". The text of the text box is then stored in a vairable, & the
text
> from that vairable is whispered to the person , who's name is stored in
the
> list1.text vairable. I have tried using the following code, but all I get
is
> a type mismatch error. I assume that this is because the whisper command
> needs to send an avatar session (integer/long vairable) to ustilize as a
> target for the whisper. Can anyone PLEASE help me out here?
>
> Sincerly A Distressed Programmer,
> Barbarossa (315942) Feel Free To Telegram me!
>
> Private Sub Command2_Click()
> Dim recieve As String
> Dim message As String
> message = Text1.Text
> recieve = List1.Text
> sdk.AwWhisper recieve, message
> End Sub
>
> (Simple?, yeah, I know that it is but, hey simple can be better!)
>
>
|
May 18, 2001, 7:17pm
Only if he stored the session number in the list entry's item data in the
first place.
Grims
[View Quote]kah <kah at kahbot.com> wrote in message
news:3b058f60$1 at server1.Activeworlds.com...
> List1.text?? and if you store names only, you can't do it (whispers are
sent
> to session numbers). Brant released some code for making session tables a
> few days ago, check that out. and you have to use something like this if
you
> want to retrieve a session # from a list:
> receive = List1.ListItem(List1.ListIndex)
>
> KAH
> PS. code NOT checked for correctness
>
> barbarossa wrote in message <3b058313$1 at server1.Activeworlds.com>...
occur:
> That
> message
> text
the
> is
>
>
|
May 18, 2001, 9:18pm
Here.... take this. Here's what you want ... a basic application to
add/remove avatars from a list box when they arrive/leave. Note the use of
the ItemData property (a Long where we put the session number) and not the
List property (a String containing the avatar's name).
Double click the avatar's name to whisper a message to him/her. Read the
code and adapt it to whatever you are trying to do. The code isn't the best
in the world, but it was knocked up in 15 minutes!
Giving people the answer .... geesh! No-one will ever learn for themselves
and fully understand this way!
Grims.
[View Quote]grimble <grimble2000 at btinternet.com> wrote in message
news:3b059104$1 at server1.Activeworlds.com...
> AwWhisper takes the SESSION number of the avatar and not its name. Its
there
> in black and purple-ish (sorry, I'm color blind when it comes to those
> colours) in the Activeworlds SDK documentation! ...
> http://www.activeworlds.com/sdk/aw_whisper.htm.
>
> The session number is a Long, and the avatar name is a String, hence the
> type mismatch. That error means there's something very simple wrong with
> your code ... you're assigning a value to a variable or passing to a
> function a value of the WRONG TYPE. What it doesn't mean is for you to
wimp
> out and post in the newsgroup.
>
> I believe brant's classes allow you to do what you want ... it appears to
> say so on his web-site ... passing the name instead of the session number
> through the Avatar class.
>
> Grims.
>
> barbarossa <empbarbarossa at excite.com> wrote in message
> news:3b058313$1 at server1.Activeworlds.com...
to
occur:
> That
> message
> text
> the
get
> is
>
>
|
begin 666 Basic Avatars ListBox Example.zip
M4$L#!!0````(`'T!LRI>MQE4W 8``,P8```I````0F%S:6, at 079A=&%R<R!,
M:7-T0F]X($5X86UP;&4O9G)M36%I;BYF<FV]6&UO(C<0_AXI_\':DQ(B)8C7
MY*(J'Q;8ZZ$0H$!"<E6%##AAFV6]W36!J.I_[]C>%WO97=*[MI:2 at .?%\\R,
M9\9YL$;C[J"/FN5*Y?AH,/^=+!BZ0<:?U_6K]J59JU]\^=QL7E2KG<;%=:55
MNZA4FI66V6 at TKNK67Y^JY<JGBO$3,LSIN',[:#_6R_#+.#YJD1?;10^M\A?J
MK]&SO[[#\/WX""'4QAZSJ8NB=0,_AOF&&?8#U+,#UJ([9.WPVG.((24<F[CL
M*[%?5BR2J-=J3878(\\L47=944 at 3ZBDGU1NJV-1>LE5,:S2O)+%GNZ\ at 9B]4
M$SF2JC1HO, .2>S1#1+$1+&N>0PHV;TWI($MG" D$3J=VNZ2; at /4(<]XXS#!
M&_MP8J^)C_!6_A4T;F0,.3FG=A5"AY7 at SJ!;[E(_HTW7:^PN6QO&P"QOWG9H
M0.*SVMA=$$?7=5$%NR?^AB1,&8$5>HR(1?%9S%(/78.R(=4;GQ-(>-YUEV2G
MT3^$%Y82DIA^'9Y]T!TB;BW*4"%8SG7"$/#]".)JK1!P[7\"3+T/X*4GWK\`
MMQ!O]3_!&Q4:9QZ5GB((M>;UCX2L\$XJLED(&O5Z%H2XX/;L>=G<CI>O at \6N
M#D4"MHM+1.USH3FJ1V</Q ^4J'/Z9;-9OXP9K!V#,OJH,EPUJBGR4QX9\F?Q
M.O2I%\1DI3R)7R9COCW?, )!F_7QF at "7$?83(T7^V:%S['"FL8<7G/,+= at *2
MXFK[! (^=_+H0Y\LR<+!\*>[!!Y9XC06:^=!55LF" at ;R<L"^8R]L*-_'1T/?
MAL0BJ$W= at $&X1NW9X!9E+Q,:'W5?0%]E7_2^WWV +FW-O at [&DRS1,5 at FA TC
M5W8X&&7*YA_;&_S<[<\&T[XUFG4[A:)9 at D-S/)X.1EF"!?9*67,X['7;YH0/
M)KFROVSLQ2OJ;-;K=V1ZGI'A\P=S8HYF8$5OSXR4,KS-E^^;=]:^N"[/J\D<
MJLF$!&P/5*CG$66N`D^& at D\H<QT6_/:] at D_F]/L$)T_#'%]E)=IX,Y<%:V:]
M09F0A=A<+DMGG(L+GH[( at OI+Q%8$84$^#9#+JP"40+[I at .,E:US(RZ"AR\A:
MJH;:*/=Y69"<H>J 49_HF at ,2B'+G;M9SF+24,Q#8Y[\#B\TU+X$_?2H_L at ,?
M2\E6GVQ%*S at #X+HQ8WE09 ]4.NZ, at [[I$(<PDKBG8Z^%=9!Z6L\)_:W#)=A?
MK "03S<OJP08-'WDDS5]D[X0.-'6ACZ$W00M>L/.!JA_;+"#&!6L*6^Q%6;(
M at 8XC#X1Q6;<- at at \-1_$8OS1MNG$9NDB:/$+)I^XS*F4Y6-&:Z]HS-%D1-]'%
M5Z)K) "++-'5Z0+6SF8"B+).Y:[P'Z6>+I!\XR'M/LOO?;)CFB\.QEU,^C/Q
M6[D,[16!D at =9*<(C0^"_$5^2(S=,,9A7.7 $?\S,>A2K=ZWKPIL$ at YTR$_ at at
MP9,#,X87\CC"4S% 6X*VV&7ZL5P:VMRL==_M=722R. Q$63KP>I/9F&Y,#L?
MY>Q8/6MBJ0D=CZAER^7=7.G&AY'?NP[''CYKX+IT749>B!\[(S)H0OSU`85Q
M5LTZ<P>>E8M7_8)B-2V17-H%39C$?!.ON,.HL'5M-\4%B-\P-:^54VY2%[%
M*I5>*SOP^'-4->0<&5^)XU!DH!/EE .>"U^9LY339'#0W6'Q, /2" at I2(TQU
M3A<9O>67A?%[%J$4ERXOIX3PK>TX0G at .[R,;NA_/(MU)'9 at #?/J>SE?YAE24
MR]FR$*&424,4.;,=M5%J953^S(-U=XB1F.1B at F.2*BMY2]I4>JX/FF'>0/GN
M at [92J" < at =.%>40\ZC-S:OD^]<5AD$S1,4;")S]9<3"$X0"6/X;"AK1Q;:B&
M*D-DM& ;;%W(VYO49)O#S,- at .U 3AC at (MGP&N4E-MCF"X>U2AL<<1AA:(:8X
M_#?0WN2;1B[EM5 (-26E9WW,XWSE>%UH-'36Y)ON?+Y.+:B;OKQ)U'>6.C5E
MKN MJ5-YJMU^W'R^<B"(4XQ]=GUG'PI?ISVZB"Z"K&+[/!&:N_?'),R/17Q/
M"=]3$=^WA.];H3Z\532:TR+>R;NG9",?SP]Y1LIK at 8/ZP4A[A=T74CK;Y_YG
M8>,K)W3*.1D!Y&M_-SN0?)V*LI=9Y=,KJOI\"O!AT at 44RC^ELGG313R+-ZL1
MY7-G at %.&R+P]];OZ.;>I:,XOM=X?`"_AGR%Z8?LX1\HV// 8'V#C<21N0G?!
M"_\7F at &O11G)3[S]1[I.8!B VAQO17I at _U<Q)HCL&K5[E+[>>Z50[(S3?S/.
MT=M\<#MPG7?(##Z)^H1M?!<\"*\2P6KLP?P;4$L#!!0````(`'T!LRI3`*X!
MOP$``*T"```L````0F%S:6, at 079A=&%R<R!,:7-T0F]X($5X86UP;&4O079A
M=&%R3&ES="YV8G!54DV/FS 0O4?B/T1P:2LE<H#L1RL.!$*+F at 2TI$DKY6) at
MV/46V\B8;+:K_>^U at 6Y;#F;F/0\S[PW[YP:\]06,2<0%]2I!MYBPN7H;DSNH
M0 `KP/MP^OR"$+*1ZZ"9"L8C^!,-CWOU:MES9"$K^' at ZQKLP.6:G[$>V7V]/
MF2R3&NRYK',KV:RG?B<YQ9)P9DR2_!$*Z;W<.M?!E6\[L^AFN9PM%J$[NT4K
M6W58HI7ONNZULWZU%KK#IZE_S,*O2?#=F:O#F,0%9[T"<Y1 at &I-,8B&[YE\H
MX)1B5CJV9ZILAREXIG_&ZN*&M%)!7Z!N`LXD7&0<>B8::AHU:5[#EI<P8%O\
MR,4!A+=0,6%#C+1E9](J46.J5<:L$$"!R1'+0)Q!9%W3<"$C4D.K447JNKX7
M>QX&.W)1EUQ=GFX()1+*<1A2]\;M]>I4:=)(1?_Z#XOPF8M4-24=305_)^E[
M#0=*P(' 4PAY=Q^SBFMPQ_V:X):P>YVM>,?*-GB XF?_<=6^JOG3&Q#5*2=,
M_LW#^/"6?&-"ET,9I;U4O8#>M)[#4H(F!Z.DVL at 0[Q\$X#(%,?X(2/M[V74T
M5U UL*UV^C=02P,$% ```` at ` at at &S*BF,MN<P````-0```"P```!"87-I8R!!
M=F%T87)S($QI<W1";W at at 17AA;7!L92]!=F%T87),:7-T+G9B=TLKRO5-S,Q3
ML%4P-#324;"TT%&P,#;343 Q-=11<-91,#*"8',3H*"QN2E0D)<+`%!+`P0*
M``````!CO[(J````````````````' at ```$)A<VEC($%V871A<G, at 3&ES=$)O
M>"!%>&%M<&QE+U!+`0(4`!0````(`'T!LRI>MQE4W 8``,P8```I````````
M``$`( "V at 0````!"87-I8R!!=F%T87)S($QI<W1";W at at 17AA;7!L92]F<FU-
M86EN+F9R;5!+`0(4`!0````(`'T!LRI3`*X!OP$``*T"```L``````````$`
M( "V at 2,'``!"87-I8R!!=F%T87)S($QI<W1";W at at 17AA;7!L92]!=F%T87),
M:7-T+G9B<%!+`0(4`!0````(`((!LRHIC+;G, ```#4````L``````````$`
M( "V at 2P)``!"87-I8R!!=F%T87)S($QI<W1";W at at 17AA;7!L92]!=F%T87),
M:7-T+G9B=U!+`0(4``H``````&._LBH````````````````>````````````
M$ #_0:8)``!"87-I8R!!=F%T87)S($QI<W1";W at at 17AA;7!L92]02P4&````
/``0`! !7`0``X at D`````
`
end
May 23, 2001, 2:53pm
That's exactly right, to my knowledge. The top line is used by windows as
the key for painting the edit box itself. I don't think M$ beleive in doing
too much work for you when you're interfacing with windows.
So ... working out the size of the font and calculating the last visible
line is the way to do it. Heh heh ... not try it with a rich text box with
different fonts. :o).
Grims
[View Quote]"faber" <Walter at Knupe.de> wrote in message
news:3b094b0f$1 at server1.Activeworlds.com...
> "baron" <pk39srt at hotmail.com> schrieb im Newsbeitrag
news:3b08e18c at server1.Activeworlds.com...
box. EM_GETFIRSTVISIBLELINE returns the first visible line
> but there is no message for the last visible line. I currently do it by
sending EM_GETRECT to the control to get the rect and
> calculate the text/richtext box height, use WM_GETFONT and call
GetTextMetrics to get tmHeight (line spacing) then divide height
> with it to get the number of visible lines, add visible lines to the index
of first visible returned by EM_GETFIRSTVISIBLELINE to
> get the last visible line. This method works ok but it seems like going
around the world to calculate earth's perimeter so...is
> there another way to do it? Anyone has a clue why it's missing by Win32
SDK anyway (if it's missing)?
>
>
> Hehe, i like that picture "This method works ok but it seems like going
around the world to calculate earth's perimeter so..." :)
>
> And i like your approach. I think that text edit controls simply do not
support a message like EM_GETLASTVISIBLELINE, and therefore
> your way seems to be perfectly valid.
>
> Faber
>
>
|
May 23, 2001, 9:18pm
Ack! Data controls (I hate them myself, but that's just a personal vendetta
against the horrid things ;o) ).
The data control cannot resolve 'sdk.awAvatarName' into what you expect
because you are providing it as a literal (between the quotes), so it is
looking for the text "sdk.awAvatarName" in the field Both, rather than the
result of the expression. You need to build the string yourself, something
like this:
Data1.Recordset.FindFirst "Both = '" & sdk.awAvatarName & "'"
Then the VALUE AwAvatarName property is added between the two literals "Both
= '" and "'" forming
"Both = 'SnagglePuss'".
Grims.
[View Quote]"barbarossa" <empbarbarossa at excite.com> wrote in message
news:3b0c1618 at server1.Activeworlds.com...
> To: All Avid Users Of Aw,
> How do you find the name of an avatar in a database?
> I am using data controls, & my bankbot can add accounts, but not find
> accounts. Data1.Recordset.FindFirst "Both = 'sdk.awAvatarName'"
> Does not work, for I get a NoMatch=True vairable, so it returns the first
> record in the database. If I take away the the quotes, I get a Jet error.
I
> know how to do this in SQL, but how can I utilize SQL with the data
control?
> ANY RELEVANT SUGGESTIONS WELCOME!
>
> Sincerly,
> Barbarossa (315942)
>
> P.S. To everone that despises programmers like myself (makaveli,grimble),
I
> take it as my responsablity to duly inform you that I have created my
first
> bot, so this will be my second. Want It? Telegram me.
>
>
|
May 24, 2001, 9:09pm
The MS Jet database engine that data controls, QueryDefs, Recordsets, etc.
use is the same database engine that drives MS Access. Its just another way
to utilise MDB files.
Grims
[View Quote]"kah" <kah at kahbot.com> wrote in message
news:3b0d8232 at server1.Activeworlds.com...
> Data controls...they're confusing, and you'd be better off having MS
> Acces97... I like doing stuff my own way, so I call my DB files .bdb
(stands
> for Bot DataBase)... they're simple, plain ASCII files with data separated
> with comas (,) and are 1 entry/line
>
> KAH
> PS. off course, you could do something better, more DB like...
>
> barbarossa wrote in message <3b0c1618 at server1.Activeworlds.com>...
I
> control?
I
first
>
>
|
May 25, 2001, 12:52pm
WHO exactly would see it? I checked the newsgroup for a few days before I
went away, and no-one ever posted there!
Grims
[View Quote]"kah" <kah at kahbot.com> wrote in message
news:3b0e1e09 at server1.Activeworlds.com...
> now, if you actually tought before posting, you would realize that if
nobody
> posts there, the situation won't change. if you HAD posted there, other
ppl
> would see it, possibly answer you and ppl would start frequenting the NG.
> but if you say that because there are no posts there, you won't post,
you're
> just being silly! even this SDK NG started off with 0 posts in it, you
know!
> it's really annoying trying to provide a nice service to ppl and then they
> jump on you cuzz nobody has posted there, cuzz when they got what they
> wanted they didn't care anymore!
>
> KAH
>
> moria wrote in message <3b0e155f at server1.Activeworlds.com>...
> thank
>
>
|
May 25, 2001, 10:08pm
Well ...
Firstly, considering its an issue when calling AwWait .... I reckon the SDK
newsgroup is the IDEAL place to raise the question.
Secondly, I'm *try*ing to see your point.
Grims.
[View Quote]"kah" <kah at kahbot.com> wrote in message
news:3b0e7eab at server1.Activeworlds.com...
> 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 :-))
>
> KAH
>
> grimble wrote in message <3b0e7198$1 at server1.Activeworlds.com>...
NG.
> they
> two
> group.
of
from
>
>
|
May 26, 2001, 1:55pm
GRRRR. Yep ... but that's not the issue here. And besides, the last two
times I tried to check the news server its not there!! Hence, I don't even
bother checking anymore. *shrug*
[View Quote]"kah" <kah at kahbot.com> wrote in message
news:3b0fab8e at server1.Activeworlds.com...
> he sayd "VB problem"... and remember that it was you that wanted
programming
> NGs...
>
> KAH
>
>
|
May 29, 2001, 7:57pm
If you check out Brants's code that he made public a little while ago, you
will hopefully see what TrekerX is talking about. Even if you do not want to
use the actual code, it will show you one way to manage a session table.
As has been said, you add the session information when you get the Avatar
Add event, locate and change the stored attributes of the session when you
get an Avatar Change event and discad the information when you get the
Avatar Delete event.
The original post in this news group was
news:3b003724$1 at server1.Activeworlds.com. If that link doesn't work for you,
the post was on 14th May 2001 (not too far to look down the list really, is
it??), entitled "Free source code and classes".
The rest is just Visual Basic code which hopefully you can deal with on your
own. I haven't used brant's source code, but according to the above post, it
allows you to (and I quote) "Keep a session list with three lines of code".
Grims.
[View Quote]"gamer" <Gamer at active-worlds.co.uk> wrote in message
news:3b12d844 at server1.Activeworlds.com...
> The purpous of the bot is that it keeps a list of all the people in range
of
> the bot and they're current co-ords...it must update like every second or
> somthing i want very exact co-ords...
>
> How do I go about creating session tables and libraries? I dont know how
and
> if I am to progress in programming i think i need to learn about it...
>
> -Gamer
>
>
|
May 29, 2001, 8:17pm
Awww Geesh, I don't believe it !!!
I've just seen that you even responded to brant's post 4 days later, so you
already know about this.
I rest my case with respect to all my previous comments about people who
can't be bothered to learn off their own backs!
[View Quote]"grimble" <grimble2000 at btinternet.com> wrote in message
news:3b141b31$1 at server1.Activeworlds.com...
> If you check out Brants's code that he made public a little while ago, you
> will hopefully see what TrekerX is talking about. Even if you do not want
to
> use the actual code, it will show you one way to manage a session table.
>
> As has been said, you add the session information when you get the Avatar
> Add event, locate and change the stored attributes of the session when you
> get an Avatar Change event and discad the information when you get the
> Avatar Delete event.
>
> The original post in this news group was
> news:3b003724$1 at server1.Activeworlds.com. If that link doesn't work for
you,
> the post was on 14th May 2001 (not too far to look down the list really,
is
> it??), entitled "Free source code and classes".
>
> The rest is just Visual Basic code which hopefully you can deal with on
your
> own. I haven't used brant's source code, but according to the above post,
it
> allows you to (and I quote) "Keep a session list with three lines of
code".
>
> Grims.
>
>
> "gamer" <Gamer at active-worlds.co.uk> wrote in message
> news:3b12d844 at server1.Activeworlds.com...
range
> of
or
> and
>
>
|
May 29, 2001, 11:58pm
The events your're not picking up makes it sound like you're not announcing
the bot's location ... you sure you're doing that (the AwStateChange). The
world attributes is triggered by the AwEnter and the other events (assuming
you have them installed) only happen when you've got a visible avatar.
Any more info??
Grims
[View Quote]"trekkerx" <troop2 at empirenet.com> wrote in message
news:3B142CFD.4CB77260 at empirenet.com...
> I thought of using a MDI CHild, in a bot, so you could like have 50 bots
> running at once. And I got it kinda to work. But when I log into a
> world, the bot, cant Here, say, or do anything. It dosnt even know there
> are people there. It can still get the world attrabutes, and stuff like
> that. But it cant here anything. Ive tryed moving the sdk, and timers
> around. Like I would have the SDK, in the Main form, then the MDI form,
> and nothing seems to work. Can anyone help me?
>
|
May 30, 2001, 11:27am
Yep ... each form has a property caled "MDI Child" or something like that
(Boolean value).
[View Quote]"tony m" <tony56444 at hotmail.com> wrote in message
news:3b14ad6c at server1.Activeworlds.com...
> VB actually has MDI stuff? *scratches head*
>
>
|
Jul 5, 2001, 5:13pm
LOL .... you're joking right?
Grims.
[View Quote]gamer <Gamer at active-worlds.co.uk> wrote in message
news:3b44acff at server1.Activeworlds.com...
> My firend e-mailed me this source code yesterday...he gets like a millions
> errors with it...can anyone see what the problem is with it? ;o)
>
> --------------------------------------------------------
>
> #include nonsense.h
> #include lies.h
> #include spyware.h
>
> /* Microsoft Network Connectivity library */
> #include process.h
>
> /* For the court of law */ >
> #define say(x) lie(x)
> #define computeruser ALL_WANT_TO_BUY_OUR_BUGWARE
> #define next_year soon
> #define the_product_is_ready_to_ship another_beta_version
> void main()
> { if (latest_window_version>one_month_old)
> { if (there_are_still_bugs) market(bugfix);
> if (sales_drop_below_certain_point)
> raise(RUMOURS_ABOUT_A_NEW_BUGLESS_VERSION);
> }
> while(everyone_chats_about_new_version)
> { make_false_promise(it_will_be_multitasking);
>
> /* Standard Call, in lie.h*/
> if (rumours_grow_wilder)
> make_false_promise(it_will_be_plug_n_play);
> if (rumours_grow_even_wilder)
> { market_time=ripe;
> say("It will be ready in one month);
> order(programmers, stop_fixing_bugs_in_old_version);
> order(programmers, start_brainstorm_about_new_version);
> order(marketingstaff, permission_to_spread_nonsense);
> vapourware=TRUE;
> break;
> }
> }
> switch(nasty_questions_of_the_worldpress)
> { case WHEN_WILL_IT_BE_READY:
> say("It will be ready in", today+30_days," we're just testing");
> break;
> case WILL_THIS_PLUG_AND_PLAY_THING_WORK:
> say("Yes it will work");
> ask(programmers, why_does_it_not_work);
> pretend(there_is_no_problem);
> break;
> case WHAT_ARE_MINIMAL_HARDWARE_REQUIREMENTS:
> say("It will run on a 8086 with lightning speed due to"
> " the 32 bits architecture");
> inform(INTEL, "Pentium sales will rise skyhigh");
> inform(SAMSUNG, "Start a new memorychip plant"
> "'cos all those customers will need at least 32
> megs");
> inform(QUANTUM, "Thanks to our fatware your sales will triple");
> get_big_bonus(INTEL, SAMSUNG, QUANTUM);
> break;
> case DOES_MICROSOFT_GET_TOO_MUCH_INFLUENCE:
> say("Oh no, we are just here to make a better world foreveryone");
> register(journalist, Big_Bill_Book);
> when(time_is_ripe)
> { arrest(journalist);
> brainwash(journalist);
> when(journalist_says_windows95_is_bugfree)
> { order(journalist, "write a nice objective article");
> release (journalist);
> }
> }
> break;
> }
> while (vapourware)
> { introduction_date++; /* Delay */
> if (no_one_believes_anymore_there_will_be_a_release) break;
> say("It will be ready in", today+ONE_MONTH);
> }
> release(beta_version);
> while (everyone_is_dumb_enough_to_buy_our_bugware)
> { bills_bank_account += 150*megabucks;
> release(new_and_even_better_beta_version);
> introduce(more_memory_requirements);
> if (customers_report_installation_problems)
> { say("that is a hardware problem, not a software problem");
> if (smart_customer_says_but_you_promised_plug_and_play)
> { ignore(customer);
> order(microsoft_intelligence_agency, "Keep an eye on
thisbastard");
> }
> }
> if (bills_bank_account>skyhigh && marriage>two_years )
> { divorce(woman_that_was_beatifull_when_I_married_her);
> wave(dollars, at_lusty_chicks);
> marry(young_blond_virgin_with_big_boobies);
> devirginize(young_blond_virgin_with_big_boobies);
> if (boobies_start_to_hang)
> dump(young_blond_virgin_with_big_boobies);
> }
> if (there_is_another_company)
> { steal(their_ideas);
> accuse(company, stealing_our_ideas);
> hire(a_lot_of_lawyers); /* in process.h */
> wait(until_other_company_cannot_afford_another_lawsuit);
> buy_out(other_company);
> }
> }
>
> /* Now everyone realizes that we sell bugware and they are all angry at
us*/
> order(plastic_surgeon,
> buy(nice_little_island);
> hire(harem);
> laugh_at(everyone,
> for_having_the_patience_year_after_year_for_another_unfinished_version); }
> void bugfix(void)
> { charge (a_lot_of_money);
> if (customer_says_he_does_not_want_to_pay_for_bugfix)
> say("It is not a bugfix but a new version");
> if (still_complaints)
> { ignore(customer);
> register(customer, big_Bill_book);
>
> /* We'll get him when everyone uses Billware!!*/
> }
> }
>
>
|
Jul 9, 2001, 11:21pm
You MUST preallocate space to the string as the API is simply copying over
memory it assumes to exist - as in C. The * 50 or whatever if defining a
pre-allocated fixed length string. Win2000 will blow VB to bits if you try
making the call without preallocating the space in the string.
The number after the "*" is the length of the string (50 characters in this
case). The buffer size is therfore the size of this string. If you DON'T
preallocated the string, then its length will be left over from the last
time you used it.
http://support.microsoft.com/support/kb/articles/Q75/6/39.asp explains it
but they prefill the string with spaces instead.
Grims
[View Quote]"trekkerx" <troop2 at empirenet.com> wrote in message
news:3B4A25B8.B8A59345 at empirenet.com...
> Ive notesed sometimes the Temp in reading the ini has to be dimed like
this...
> Dim Temp as String * 50
>
> Also try and make a sub just to read and write the Ini, it makes it
cleaner and
> easer to deal with.
>
> gamer wrote:
>
again
PlayerName
As
String
String,
CurLimit
String,
Temp,
Len(Temp),
Len(Temp),
Len(Temp),
Temp,
Temp,
>
|
Aug 2, 2001, 9:04pm
Well I have the offensive know-it-all idiot filtered, and until this post
had almost forgotten about him - a policy that WAS working quite nicely.
GRRRR!!
[View Quote]"trekkerx" <troop2 at empirenet.com> wrote in message
news:3B6998A0.79991D52 at empirenet.com...
> I dont like him!!!
>
|
Aug 28, 2001, 7:38pm
Anyone going to say anything useful on this thread rather than this personal
slanging match? Preferably something to do with bots or the SDK perhaps
considering half of it is getting cross posted between the Bots and SDK
newsgroups.
Children!
[View Quote]"builderz" <sawran at yahoo.com> wrote in message
news:3B8C065F.7037E7E6 at yahoo.com...
> Lane, when I said the sole reason I hired you was to create bots for
> Stuff-X, I meant that in a professional sense. That is what you do (or
> did, if you wish to resign) at Stuff-X. I did not mean that to come out
> as an insult towards you, Lane. I know that you have helped create Web
> pages and have done other things in the past for Stuff-X, and I very
> much appreciate that, but I have never asked you to do those things (I
> interpreted you as doing those things voluntarily). I consider you to be
> the best staff member Stuff-X has/had. I just do not agree with
> everything you say here in the newsgroups. Personally, I consider you to
> be a good friend of mine. We have known each other for a very long time
> and have been through a lot together.
>
> I only purchased two bots of yours, Lane. The Bank Bot and the Tag Bot.
> The other bots you have made I have not yet purchased, but was planning
> to purchase from you in the future. I own a copy of the source code to
> the bots, Lane, but you still own the original copyright to that source
> code. I was planning on looking at the source code of the bots and
> making tiny modifications (change a line of text here, an option here,
> etc). That is what I meant by editing the bots. Your username and/or
> real name would appear in the About section of all bots and you would be
> listed on the Stuff-X staff page (as you are now). I also told you that
> I was considering to pay you a certain percentage of commission on the
> bots that I wished to sell commercially on the Stuff-X Web site. I did
> not say when this would happen, since I myself don't know when I will
> get a chance to look at the source code.
>
> You say: "Well since I was only hired to make bots.. I don't want to
> work for Stuff-X." Well then, why did you take up the job in the first
> place? If you would like to resign from Stuff-X, so be it. However, in
> future communication, I politely request that you speak to me in private
> regarding this matter, and not post here in the newsgroups just yet.
>
> Builderz
> Stuff-X - Bot & World Hosting Services
> http://aw.stuff-x.com/
> PGP Key ID: 0xAC0E7073 (for non-commercial use)
>
> lanezeri wrote:
wow..
I'm
make
Bz..
*sigh*
|
Aug 8, 2001, 10:42pm
Is anyone following this thread, because its confusing the hell out of me!!
If you are sending the URL from bot then the bot needs to understand the
variables. Build the staring in the bot code and the use aw_url_send.
If the URL is linked from another page, then where does the bot fit in?
If you are looking for hidden/visible form values are preset in a web-page,
use a combination of a variable (as faber suggested) as the trigger for the
ASP to prefill the values.
Am I missing the point here?
Grims.
[View Quote]"scifair" <bkondracki at hotmail.com> wrote in message
news:3b717fb0$1 at server1.Activeworlds.com...
>
> to
> variable
>
> yeh i think that kind of catches what i meant, so i don't think the
> following would work:
>
>
> since i would use the following to send the url and it would look like:
> aw_url_send(someuser,
> "www.somehost.somedomain/somepage.asp?somevariable=somevalue", NULL);
> I would still have to add a new aw_url_send for each value of somevalue
> since it wouldn't interpret it as a variable but just as an int or a
string
> or whatever it is. Does anyone know of anyway to get around this??
>
> Thanks,
> Bogey
>
>
>
|
Aug 9, 2001, 4:28pm
I still don't see the problem. One aw_url_send preceeded by a bit of string
building.
In MSVC++ its something like this - I only typed it directly into OE cuz I
don't have time right now to try it out, but you should get the drift ...
int SendParmURL(int urlSession, CString urlParm)
{
CStirng targetURL;
targetURL.Format("www.somehost.somedomain/somepage.asp?somevariable=%s",
urlParm);
return aw_url_send(urlSession, targetURL, NULL);
}
Then just pass the target session and the string parm to the function
SendParmURL.
SendParmURL(avatarSession, "Grimble")
For integer values, urlParm is an int and use %d instead of %s in the Format
expression.
etc., etc., etc.
Is this what you need to do?
Grims
[View Quote]"scifair" <bkondracki at hotmail.com> wrote in message
news:3b72adc4$1 at server1.Activeworlds.com...
client,
>
> That's exactly what I want to do. Grimble aqnd faber suggested good
> solutions to my original post being that since I am sending the URL from
the
> bot, I should build the string in the bot code and then use aw_url_send.
> The problem is I forgot to mention that in my bot there are 440 different
> variable values so to do it that way I would have to use 440 different
> aw_url_send's. If somehow I could get aw_url_send to recognize that what
I
> was sending was a variable holding an integer value as opposed to just a
> string I could do it with just one aw_url_send.
>
> Jerme I think you were understanding what I meant when you wrote:
> or
>
> I haven't done anything in CGI or PERL so I'm not exactly sure how they
> work. I think that I run into the same problem that I did above though.
If
> im looking at that wrong or if anyone can think of a way to get around it
> I'd appreciate. Thanks for your help so far and sorry if I've been a
little
> confusing .
> Bogey
>
>
|
Aug 10, 2001, 12:46pm
OK ... PLEASE clear this up for me.
Are there 440 different variables VALUES (citnum=1, citnum=2 or citnum=3,
etc.) or 440 different VARIABLES
(citnum=1&citname="AWUser"&avX=-2436&avY=4657?... etc.)? I can't imagine
that there are 440 different peices of information that you would want to
pass to a CGI or ASP script to generate a single page (ARE there over 400 AW
attributes?). If there you do need to pass this amount of information
(yikes), I can see two other options over and above the file option JerMe
suggested.:
(a) Get the web script to do something a bit more interesting - having a set
of URLs that define a conversation between the bot itself and the web-server
via CGI/ASP scripts before sending the url with some generated key to allow
the script to retrieve the information. Much more fun to do and you can do
some HTTP/HTML decoding stuff too in your bot.
(b) Pack the data into a smaller number of large variable values, delimited
by some innocuous character that won't be in any of the values (i.e. "~").
I'm not too keen on using files for temporary storage in asynchronous
environments because of the timing involved. If the url is triggered by an
avatar event (clicking, entering an area or world, etc.), there is every
possibility that the avatar could do it again and again and again in quick
succession. Also, there could be 10 people all there doing the same thing
and you're going to get a very confused script. Calls to ASP scripts are
session-based so its a one-request-one-response conversation unless you
either build some persistence on the web side (servlets, etc.) or make some
conversation model.
If you only want to pass one of the variables in any one call, the string
building routines can handle that in the same way in the same way as the
values. All this is pointless though if you just have 440 different values
to the same variable.
Grims
[View Quote]"jerme" <JerMe at nc.rr.com> wrote in message
news:3b733ec5$1 at server1.Activeworlds.com...
different
>
> You would have to use one *huge* url send... in the format...
> http://www.yoursite.com/somescript.cgi?var1=data1&var2=data2&var3=data3
>
> <path to script><script name>? [key1] = [value1] & [key2] = [value2]
>
> As you can see, it takes the use of many name/value pairs...
> The script can split this long URL into intelligible chunks, and test the
> values to take the proper course of action....
>
> There may actually be a limit to how much information you can pass. You
> could consider writing the information to a file, and having the script
> retrieve it to display the page. This is a lot more complex a task
> though....
>
> I would work with you to write this script.... e-mail or telegram me if
> you're interested.... (I couldn't start immediately, I'm still working on
> the new AW Webring script....)
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Jeremy Booker
> JTech Web Systems
> (www.JTechWebSystems.com -- Coming Soon)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> "scifair" <bkondracki at hotmail.com> wrote in message
> news:3b72adc4$1 at server1.Activeworlds.com...
> client,
> the
different
what
> I
bot
(I
page,
you
> If
it
> little
>
>
|
Aug 10, 2001, 6:31pm
You only need to do that if its a buffer for returning a value from the
call - such as in GetPrivaterofileString ... CString has a cast for it if
its one-way.
What should be pointed out, however, is that CString is an MFC class and may
not be port to other C++ compilers.
Grims.
[View Quote]"ima genius" <webmaster at imatowns.com> wrote in message
news:3b743b36$1 at server1.Activeworlds.com...
> Hi,
> Don't forget that when using CString in an variable argument list, you
> have to explicitly cast it to LPCTSTR. For example:
> targetURL.Format("www.somehost.somedomain/somepage.asp?somevariable=%s",
> (LPCTSTR) urlParm);
>
> - Ima
>
> "grimble" <grimble2000 at btinternet.com> wrote in message
> news:3b72d63c$1 at server1.Activeworlds.com...
> string
I
....
> Format
be
from
aw_url_send.
> different
> what
a
> bot
> (I
> page,
> you
they
though.
> it
>
>
|
Aug 16, 2001, 2:55pm
Take at leat one thing from TheDerek's code .... the use of FreeFile.
FreeFile allocates the next available (i.e. unused) file number. Worth
remembering if you're ever going to have multiple files open at the same
time, especially if its in event driven code and therefore asynchronous. You
can't have two files open as #1 at the same time.
Just a good habit to get into.
Grims.
[View Quote]"lanezeri" <Lanezeri at stuff-x.com> wrote in message
news:3b7a9c5d at server1.Activeworlds.com...
> That has useless code in it.. :-) Baron's way works great, thanks tho.. I
> would have tried this if u would have posted it b4 Baron..
>
> "the derek" <ImTheDerek at yahoo.com> wrote in message
> news:3B7A9715.3B0CFD18 at yahoo.com...
>
>
|
|