Valhalla Legends Forums Archive | Battle.net Bot Development | System Profile Keys

AuthorMessageTime
Inner
[code]I've been trying to work on this for some time, and it's not showing it on my RTB. Here's some of my code:

When i send it:
Case &HA
Dim spltn() As String, strss As String
spltn() = Split(data, Chr(0), 5)
ConnectionUptime = GetTickCount()
MODstatstring.ParseStatString spltn(2), strss
AddC "BNET: Logged to B.net as, " & spltn(1) & "" & ", " & strss & "" & vbNewLine, &HFFFFC0
varUser = spltn(1)
Erase spltn()
Call RequestInfoStats(varUser, varProduct)

Public Sub RequestInfoStats(strUsername As String, strProduct As String)
With pbuffer
.InsertDWORD &H1
.InsertDWORD &HA
.InsertDWORD GetTickCount()
.InsertNTString varUser
.InsertNTString "record\" & UCase$(strProduct) & "\0\wins"
.InsertNTString "record\" & UCase$(strProduct) & "\0\losses"
.InsertNTString "record\" & UCase$(strProduct) & "\0\disconnects"
.InsertNTString "record\" & UCase$(strProduct) & "\0\last GAME"
.InsertNTString "record\" & UCase$(strProduct) & "\0\last GAME result"
.InsertNTString "system\username"
.InsertNTString "system\account created"
.InsertNTString "system\last logon"
.InsertNTString "system\last logoff"
.InsertNTString "system\time logged"
.sendPacket &H26
End With
End Sub

Parsing it:
Case &H26
Dim x As Integer
Dim ProfileEnd As String
Dim splitprofile() As String
Dim splta() As String, splts() As String, spltl() As String, spltd() As String
ProfileEnd = Mid(data, 17, Len(data))
If ProfileEnd = "" Then Exit Sub
splitprofile = Split(ProfileEnd, Chr(0))
Profile.txtsex.Text = splitprofile(0)
Profile.txtlocation.Text = splitprofile(2)
Profile.txtdes.Text = splitprofile(3)
ParseKeys data

Public Sub ParseKeys(strdata As String)
Dim strRest As String
Dim sysUsername As String
Dim sysAcctCreated As String
Dim sysLastLogon As String
Dim sysLastLogoff As String
Dim sysTimeLogged As String

Dim i As Integer
Dim splt() As String
Dim strTime As String

Dim FT As FILETIME
Dim ST As SYSTEMTIME

strRest = Mid$(strdata, 17) ' Get the data past the header and other information '

If Mid$(strdata, 9, 1) = Chr(10) Then ' Check to see if there is 10 keys '
splt() = Split(strRest, Chr(0), 10) ' Split the data by delimiter Chr(0) '

' Check to see if there are the correct amount of elements/keys '
If UBound(splt()) < 9 Then MsgBox "Error: Not enough profile keys??": Exit Sub


' Set all these strings (There in the order of how I requested them) '
sysUsername = splt(0)
sysAcctCreated = splt(1)
sysLastLogon = splt(2)
sysLastLogoff = splt(3)
sysTimeLogged = splt(4)

If sysAcctCreated = vbNullString Then sysAcctCreated = "Unavailable"
If sysLastLogon = vbNullString Then sysLastLogon = "Never logged on"
If sysLastLogoff = vbNullString Then sysLastLogoff = "Never logged on"
If sysTimeLogged = vbNullString Then sysTimeLogged = "Never logged on"


FT = StringToFileTime(sysAcctCreated)
Call FileTimeToSystemTime(FT, ST)
AddC ST.wMonth & "/" & ST.wDay & "/" & ST.wYear & " at " & Format(ST.wHour & ":" & ST.wMinute & ":" & ST.wSecond, "hh:mm:ss ampm") & vbNewLine, vbGreen

FT = StringToFileTime(sysTimeLogged)
Call FileTimeToSystemTime(FT, ST)
AddC ST.wDay & " days, " & ST.wHour & " hours, " & ST.wMinute & " minutes, and " & ST.wSecond & " seconds" & vbNewLine, vbGreen

FT = StringToFileTime(sysLastLogon)
Call FileTimeToSystemTime(FT, ST)
AddC ST.wMonth & "/" & ST.wDay & "/" & ST.wYear & " at " & Format(ST.wHour & ":" & ST.wMinute & ":" & ST.wSecond, "hh:mm:ss ampm") & vbNewLine, vbGreen


FT = StringToFileTime(sysLastLogoff)
Call FileTimeToSystemTime(FT, ST)
AddC ST.wMonth & "/" & ST.wDay & "/" & ST.wYear & " at " & Format(ST.wHour & ":" & ST.wMinute & ":" & ST.wSecond, "hh:mm:ss ampm") & vbNewLine, vbGreen
End If

End Sub

Public Function StringToFileTime(strTime As String) As FILETIME
Dim splt() As String, FT As FILETIME
splt() = Split(strTime, " ")

If Val(splt(0)) < 2 ^ 31 Then
FT.dwHighDateTime = Val(splt(0))
Else
FT.dwHighDateTime = Val(splt(0)) - 2 ^ 32
End If

If UBound(splt()) > 0 Then
If Val(splt(1)) < 2 ^ 31 Then
FT.dwLowDateTime = Val(splt(1))
Else
FT.dwLowDateTime = Val(splt(1)) - 2 ^ 32
End If
End If
StringToFileTime = FT
End Function
[/code]
May 27, 2004, 8:56 PM
SNiFFeR
Use the code tags :(. [ code ] [ /code ] (without the spaces.)

What exactly isn't working?
May 27, 2004, 9:04 PM
Inner
It isn't showing anything, lol.
May 27, 2004, 9:19 PM
UserLoser.
Try setting some breakpoints to see exactly what's happening
May 27, 2004, 9:30 PM
Inner
Ok, now, it's putting information on it, it now says:

[5:40:01 PM] BNET: Establishing a connection [asia.battle.net:6112]
[5:40:02 PM] BNET: Connected!
[5:40:02 PM] BNET: Check Revision call passed!
[5:40:03 PM] BNET: Version and CDKeys Passed.
[5:40:03 PM] BNET: Logon Passed!
[5:40:03 PM] BNET: Logged to B.net as, 1nnert443, Starcraft Brood War: (0 wins)
[5:40:03 PM] Joined the private channel op ekingdom.
[5:40:03 PM] 1nnert443 [0ms] [0 Flags] is in the channel using the Product: Starcraft Brood War: (0 wins)
[5:40:04 PM] Account Created: 1/1/1601 at 12:00:00 AM
[5:40:04 PM] Time Logged: 1 days, 0 hours, 0 minutes, and 0 seconds
[5:40:04 PM] Last Logon: 1/1/1601 at 12:00:00 AM
[5:40:04 PM] Last Log Off: 1/1/1601 at 12:00:00 AM

I have no idea why =/
May 27, 2004, 9:37 PM
Inner
[6:42:44 PM] Account Created: 4/17/2004 @ 09:54:49 PM
[6:42:44 PM] Time Logged: 22 days, 23 hours, 48 minutes, and 19 seconds
[6:42:44 PM] Last Logon: 5/27/2004 @ 10:42:55 PM
[6:42:44 PM] Last Log Off: 5/25/2004 @ 09:29:01 PM

YAY!
But 1 more thing, when i create a account, it puts for days 1, know how i can fix this?
May 27, 2004, 10:46 PM
hismajesty
You should probably put what the error was in your first problem so people (hopefully) won't ask the same question again.
May 27, 2004, 11:32 PM
BinaryzL
[quote author=Inner link=board=17;threadid=6986;start=0#msg62194 date=1085691369]
[code]Public Sub RequestInfoStats(strUsername As String, strProduct As String)
With pbuffer
.InsertDWORD &H1
.InsertDWORD &HA
.InsertDWORD GetTickCount()
.InsertNTString varUser
.InsertNTString "record\" & UCase$(strProduct) & "\0\wins"
.InsertNTString "record\" & UCase$(strProduct) & "\0\losses"
.InsertNTString "record\" & UCase$(strProduct) & "\0\disconnects"
.InsertNTString "record\" & UCase$(strProduct) & "\0\last GAME"
.InsertNTString "record\" & UCase$(strProduct) & "\0\last GAME result"
.InsertNTString "system\username"
.InsertNTString "system\account created"
.InsertNTString "system\last logon"
.InsertNTString "system\last logoff"
.InsertNTString "system\time logged"
.sendPacket &H26
End With
End Sub
[/code]
[/quote]

[code] .InsertNTString varUser[/code]
Why have strUsername as an argument and not use it in the function, but it doesn't really matter since you can only view yourself I think :-\.

Also your requesting to many profile keys and not parsing them right for what you want to do. Since you recieve the stat keys then the system keys and your doing the system keys first.
May 28, 2004, 12:25 PM
warz
[quote author=hismajesty[yL] link=board=17;threadid=6986;start=0#msg62234 date=1085700776]
You should probably put what the error was in your first problem so people (hopefully) won't ask the same question again.
[/quote]

I agree.
May 28, 2004, 9:37 PM
Inner
I didn't know i had the problem until i got it working sort of.
May 29, 2004, 1:06 AM
warz
[quote author=Inner link=board=17;threadid=6986;start=0#msg62478 date=1085792797]
I didn't know i had the problem until i got it working sort of.
[/quote]

Well, in mine the creation date looks alright and so does the last log on and log off, except my time logged says only 32 days. i know its more than that. also, its said 32 days and like 1 hour for the past few months. and sometimes it even says 31 days, and right now it says 29 days. so i put two and two together and figured something is wrong with what im calculating.
May 31, 2004, 5:40 AM

Search