Code:
s4client.exe+9CCEFD - jmp s4client.exe+9CCF08 // Jump over the Increase of 1 s4client.exe+9CCEFF - mov edx,[ebp-08] s4client.exe+9CCF02 - add edx,01 s4client.exe+9CCF05 - mov [ebp-08],edx // ^ this increase the counter s4client.exe+9CCF08 - mov ecx,[ebp-0C] // instance s4client.exe+9CCF0B - call s4client.exe+C92190 // player counter s4client.exe+9CCF10 - cmp [ebp-08],eax // compare ( nothing to say ) | eax = player number s4client.exe+9CCF13 - jae s4client.exe+9CCF70 // Break the while if all player are loaded s4client.exe+9CCF15 - mov eax,[ebp-08] // ebp -08 = counter s4client.exe+9CCF18 - push eax // .. s4client.exe+9CCF19 - mov ecx,[ebp-0C] // instance s4client.exe+9CCF1C - call s4client.exe+C923F0 // call to get the player id s4client.exe+9CCF21 - mov [ebp-30],eax // eax = player id [...]
i created a pseudo code in autoit ( BUT NO NO NO DONT CALL IT IN AUTOIT PLS )
Just for understanding.
Code:
Dim $var = 0 ; declare of variable
Dim $PlayerID = 0 ; declare of variable
While(GetPlayerNumber(GetInstance()) <= $var) ; While $var is above or equal to the player number
$PlayerID = GetPlayerID(GetInstance(),$var) ; get the playerid and saving in $PlayerID
$var += 1 ; Increase $var at 1
Msgbox(0,"",$PlayerID) ; output msgbox
WEnd
You' ll find more if you search in this function..
Instance :
Code:
s4client.exe+9CCED3 - mov eax,[s4client.exe+126C1BC] s4client.exe+9CCED8 - mov [ebp-24],eax s4client.exe+9CCEDB - mov ecx,[ebp-24] s4client.exe+9CCEDE - mov edx,[ecx+0000012C] s4client.exe+9CCEE4 - mov [ebp-28],edx s4client.exe+9CCEE7 - mov eax,[ebp-28] s4client.exe+9CCEEA - mov ecx,[eax+10] s4client.exe+9CCEED - mov [ebp-0C],ecx
s4client.exe+126C1BC
+0x12C
+0x10
= Instance
Have Fun with it.
Note : I use this function long time ago and this part in the memory get loaded if you join a room. ~ You can call it by yourself






