Thanks pushedx, still working fine at least for swsro and rsro :) @Darkness, for the opcodes see Shadowz75's post in the 1st page, these are for pservers and rsro too!
Some changes to make it work for swsro (you also have to change all the opcodes, see Shadowz75's post!):
Code:
[b]line 63:[/b]
Global $controlServer = GUICtrlCreateCombo("SWSRO", 80, 80, 121, 20)
[b]line 116:[/b]
AppendByte(4) ; PSRO locale
AppendWord(9) ; length
AppendString("SR_Client") ; identity
AppendDword(1029) ; version
[b]line 589:[/b]
AppendByte(4)
[b]ServerToId function:[/b]
Func ServerToId($server)
if StringCompare($server, "SWSRO") == 0 Then
return 1
Endif
EndFunc
[b]And charlisting:[/b]
case "B007" ; Char listing [TODO: Update each opcode change]
BeginParse($packetData, Dec($packetSize))
$operation = Dec(ParseByte())
if $operation == 2 then ; char listing
$result = Dec(ParseByte())
$charCount = Dec(ParseByte())
AppendStatusText("Found " & $charCount & " characters")
For $c = 1 to $charCount
$charType = Dec(ParseDword())
$charNameLength = Dec(ParseWord())
$charName = ParseAscii($charNameLength)
AppendStatusText("Found character: " & $charName)
GUICtrlSetData($controlCharacter, $charName, 1)
$charVol = Dec(ParseByte())
$charLvl = Dec(ParseByte())
AppendStatusText("Level: " & $charLvl)
$charExp = Dec(ParseQword())
$charStr = Dec(ParseWord())
$charInt = Dec(ParseWord())
$charAttr = Dec(ParseWord())
$charHp = Dec(ParseDword())
$charMp = Dec(ParseDword())
AppendStatusText("HP/MP: " & $charHp & "/" & $charMp)
$doDelete = Dec(ParseByte())
if $doDelete == 1 then
$charMinsToDel = Dec(ParseDword())
EndIf
$unk1 = Dec(ParseWord())
$itemCount = Dec(ParseByte())
AppendStatusText("This character has " & $itemCount & " items equipped.")
For $i = 1 to $itemCount
$itemId = Dec(ParseDword())
$itemPlus = Dec(ParseByte())
AppendStatusText("[" & $itemId & "][+ " & $itemPlus & "]")
Next
AppendStatusText("")
Next
Endif
And for rsro (1.023):
Code:
[b]line 63:[/b]
Global $controlServer = GUICtrlCreateCombo("Zeus", 80, 80, 121, 20)
GUICtrlSetData(-1, "Venus|Artemis|Ares") ; add other item snd set a new default
[b]line 116:[/b]
AppendByte(40) ; RSRO locale
AppendWord(9) ; length
AppendString("SR_Client") ; identity
AppendDword(23) ; version
[b]line 589:[/b]
AppendByte(40)
[b]and ServerToId function:[/b]
Func ServerToId($server)
if StringCompare($server, "Zeus") == 0 Then
return 220
Endif
if StringCompare($server, "Venus") == 0 Then
return 221
Endif
if StringCompare($server, "Artemis") == 0 Then
return 224
Endif
if StringCompare($server, "Ares") == 0 Then
return 230
Endif
EndFunc