Valhalla Legends Forums Archive | Battle.net Bot Development | userlist

AuthorMessageTime
Camel
this is a thing i made about a year ago for people who couldnt figgure out how the hell to make userlists
it'll parse the statstring for you, so all you have to do is userlist.adduser and pass it the statstring ping and flags. or, you can parse it yourself and tell it what to add.
[url]http://www.ik0ns.com/junk/UserList5.ocx[/url]

[code]
Case &HF 'in channel crap
   Dim UserName As String: UserName = Mid(strData, 29, InStr(29, strData, Chr(0)) - 29)
   Dim FLAGS As Long:      FLAGS = Asc(Mid(strData, 9, 1))
   Dim Chat As String:     Chat = Mid(strData, 29 + Len(UserName) + 1, Len(strData) - 1): If Right(Chat, 1) = Chr(0) Then Chat = Left(Chat, Len(Chat) - 1)
   Dim Ping As Long:       Ping = CVI(Mid(strData, 13, 2))
   Select Case Asc(Mid(strData, 5, 1))
       Case 1 'user list
           frmMain.UL.AddUser UserName, , Chat, FLAGS, Ping
       Case 2 'user join
           frmMain.UL.AddUser UserName, , Chat, FLAGS, Ping
       Case 3 'user part
           frmMain.UL.RemoveUser UserName
[/code]
February 22, 2003, 5:16 PM
Noodlez
why on earth would you make that an ocx?! that has to be the most useless thing ever

and from this we conclude, anyone who can make a binary bot not a channel list obviously shouldn't be making a bot (and didn't make the binary bot)
February 23, 2003, 2:10 AM
Camel
...
because it does a hell of a lot more than just the userlist?
it parses statstrings n shit

[edit] and, because some people are lazy and want to focus on the actual bot part of the bot, not the ui
February 23, 2003, 11:52 AM
St0rm.iD
[quote]...
[edit] and, because some people are lazy and want to focus on the actual bot part of the bot, not the ui[/quote]

Well they wouldn't be using VB then.

And the C++ users could do it in 5 seconds.
February 23, 2003, 12:34 PM
Camel
hey, people have to learn somehow
bnls was a horrible idea too, but that doesnt meant people aren't using it
February 23, 2003, 1:39 PM
Atom
you should at least give the source to the ocx
February 23, 2003, 2:11 PM
warz
One thing I find interesting about the programming community on bnet is that anything new, and original, and made by some person nobody knows is automatically rendered pointless/stupid/crap etc. His ocx is similar to cupheads. Cupheads does the battle.net related things, and this guys does the listview things. There's really no difference. I also enjoy reading Noodlez's replies, because they always include something similar to the phrase - "if the person can't do ___________, then they obviously didnt create that bot!" That's so much crap. There's so many reasons why that's crap, also. I know where Noodlez started out, and it's the same place that he's currently making fun of others for starting out at as well - hypocrite.

All in all - keep programming, camel. These people don't know what they're doing anyways.
February 23, 2003, 2:35 PM
Yoni
[quote]hey, people have to learn somehow
bnls was a horrible idea too, but that doesnt meant people aren't using it[/quote]
:o What's so horrible about BNLS?
February 23, 2003, 3:09 PM
Kp
BNLS is obviously bad because you aren't distributing it as a DLL and shared object, with source for both. ;)
February 23, 2003, 3:47 PM
dRAgoN
[quote]One thing I find interesting about the programming community on bnet is that anything new, and original, and made by some person nobody knows is automatically rendered pointless/stupid/crap etc. His ocx is similar to cupheads. Cupheads does the battle.net related things, and this guys does the listview things. There's really no difference. I also enjoy reading Noodlez's replies, because they always include something similar to the phrase - "if the person can't do ___________, then they obviously didnt create that bot!" That's so much crap. There's so many reasons why that's crap, also. I know where Noodlez started out, and it's the same place that he's currently making fun of others for starting out at as well - hypocrite.

All in all - keep programming, camel. These people don't know what they're doing anyways.[/quote]

Camel is not an unknowen programer he is also one of the regular posters from Robocop's old B.Net bot development board which was at http://botsrus.net-games.com.
February 24, 2003, 12:27 AM
Skywing
[quote]

Camel is not an unknowen programer he is also one of the regular posters from Robocop's old B.Net bot development board which was at http://botsrus.net-games.com.[/quote]
The old botdev forum wasn't affiliated with Bots R Us, IIRC.
February 24, 2003, 8:08 AM
pileofcrap
I would also like to know what was so "horrible" about BNLS. and WARZ you make a good point.
February 24, 2003, 10:57 AM
Camel
[quote]:o What's so horrible about BNLS?[/quote]
i dont mean it's badly written or anything. it's the idea of giving people a step up because their brains are too underdeveloped or they havn't learned enough to comprehend some concepts at the current moment. if i were to start all over, i wouldnt need that ocx file i wrote. in fact, the only reason i wrote it in the first place was because my code became spaghetti through too many refrences to the userlist. but having the ocx even now is damn nice. in fact, that control doesnt even use a listview control; it's made up of dynamicly loaded picture controls and lables. even that scrollbar is its own control. the only thing i've changed in the past year was the war3 icon; the only thing i would change now is maby add a way to list the users on it. when i made it, i didnt know what the hell a listview was. and to be honest, i still cant figgure out how the hell to put a lag icon on there, because i dont care enough to put the five or six mintues in to it that it would take.

and atom: i would be somewhat of a hypocrit if i released the source. i didn't release it so that people could learn from it. when i designed it, i was only learning myself. i would never suggest anybody take the same approach i did. sure, it worked out well, but it uses misleading concepts. one would be much better off trying to figgure that sort of thing out with the listview. this control is for people who cant/dont want to do it on their own. the purpose of open source software is so that people can learn, not become confused. if the source for BNLS were to be leaked, it would wreak havoc across the newbie programmer communities. sort of the same with this, only to a lesser extent.

edit: proofreading helps
February 24, 2003, 5:45 PM
dRAgoN
[quote]
The old botdev forum wasn't affiliated with Bots R Us, IIRC.[/quote]

you know what i ment 8p
February 24, 2003, 6:03 PM
Yoni
[quote]it's the idea of giving people a step up because their brains are too underdeveloped or they havn't learned enough to comprehend some concepts at the current moment.[/quote]
Have you ever tried to duplicate the Warcraft 3 logon sequences without using BNLS? Even with advanced knowledge of assembly and lots of experience in disassembling and reverse engineering, it takes a long time. BNLS greatly simplifies the process.

(The same goes for all other logon sequences - it's just that Warcraft 3 is the only one whose source code isn't openly available elsewhere, thus it is the most worthy of mentioning.)
February 24, 2003, 6:04 PM
Camel
yes yoni, but that just helps my argument. i personally havn't even tried to emulate war3 yet; i've just recently gotten back in to botting, and am still working on getting my bot to not skrew up d2dv/d2xp open (it connects but i'm trying to get rid of the charactor@realm*account@server and make it totally transparent as with w2bn/star/sexp). if i were to attempt war3 login, i'm sure i would fail, for i would fall under the category of people who don't know enough about it to do it. there's no "idiot" label on my head, i simply havn't reached that point yet. an "idiot," imho, is one who is unable to reach such places (relatively).
if i were to attempty war3 login, i would probably even look in to bnls. hell, i might even use it. but what seperates the men from the boys is the willingness to ween one's self off of that dependancy. people who use bnls because they cannot do it any other way are idiots. people who use bnls because they're learning are not.

my $0.02
February 24, 2003, 6:15 PM
tA-Kane
Amen to that.

But, it would be better stated as "People who use BNLS because they don't know how to do it any other way are idiots."

I know *how* to login without using BNLS, but I cannot do so because I'm unable to get the creation date of the Starcraft application, (required for CheckRevision). I *could* hard-code the creation dates into my bot, or perhaps have it get sent over BotNet, but I don't like that idea.
February 24, 2003, 7:45 PM
Zakath
Incidentally, the easiest way to handle D2 users is to check usernames to see if they contain '*', and, if so, parse out anything that may appear before it. Not perhaps ideal for all situations, but it works:
[code]if ( strrchr( name, '*' ) != NULL && name[0] != '*' )
           strcpy( name, strrchr( name, '*' ));[/code]
February 24, 2003, 10:59 PM
Camel
yes, but it's more complicated
it automaticly chops off everything before the * on all 0xF packets. that part works fine. the problem is that any function that whispers a user needs to re-add that *. i pretty much have it down, i'm just not sure if its buggy or not :)
February 24, 2003, 11:31 PM
Zakath
Oh, eww...don't get rid of the * - it IS part of the username for D2 clients.

I just get rid of the character name:
[15:39:28] *Mizzle is here using Diablo II: Lord of Destruction (Miztyk, a level 23 barbarian on realm USEast), with a ping time of 79ms and flags of 0.

That's much better than "Miztyk@USEast*Mizzle", don't you think?
February 25, 2003, 12:36 AM
Camel
it is not part of the username--it just designates what comes after it as a username rather than a charactor name. id sort of needs to be done, because of the way i have users and ranks set up. my bot is and always has been intented to be an ops bot. making it a good chat bot will always be secondary. it's amazing how many people try to tell the bot to "add charactor*user@realm" when the bot is clearly on starcraft.
February 25, 2003, 1:07 AM
Zakath
No, the * is part of the username. If you are not logged onto a realm (or the realm is lagged and isn't keeping up) you will show up simply as *Account.

[00:41:26] *GoddessLarissa joined the channel using Diablo II (Open character), with a ping time of -1ms and flags of 0.

However, for an opbot, that's a problem. The solution most use is simply not to have their opbots use D2 clients.
February 25, 2003, 1:58 AM
Skywing
[quote]No, the * is part of the username. If you are not logged onto a realm (or the realm is lagged and isn't keeping up) you will show up simply as *Account.

[00:41:26] *GoddessLarissa joined the channel using Diablo II (Open character), with a ping time of -1ms and flags of 0.

However, for an opbot, that's a problem. The solution most use is simply not to have their opbots use D2 clients.[/quote]Yes.  Not to mention problems with the server being inconsistant about including character name (and even asterisks) in ban/unban/kick messages.
February 25, 2003, 1:56 PM
Camel
[quote]The solution most use is simply not to have their opbots use D2 clients.[/quote]
so what, you want me to do what everyone else is doing? i'll stick with my code, thx.

edit: and i wanna have ops as BNU-Bot*Camel[DA]@USEast ;D
February 25, 2003, 6:12 PM

Search