Editing Player Profiles

P

Prakash

Guest
Originally posted by Ajit@Aug 18 2004, 04:34 PM
suppose the value is
44 09 00 00 00 00 00 00 00 00 00
now this number would be 2372
can you tell me how 44 09 became 2372
 
A

Ajit

Guest
The simple formula is
Summation{(nth value) * (256 to power n-1)}
68(=44 in hex and is first value) and 9=(09 in hex and is 2nd value)

Calculating
68 * (256 to power(1-1)) + 9 * (256 to power(2-1))
= 68 * (256 to power 0) + 9 * (256 to power 1)
= 68 + 9 * 256
=2372

Also 44 DD 09 (that is 68 221 09)
will be as
68 * (256^0)+221*(256^1)+9*(256^2) {Take ^ for to power}
=646468

Now start dividing by 64
Reaminder is 4,Quotient is 10101
Again,Remainder is 53, Quotient is 157
Again,Remainder is 29,Quotient is 2
Again,Remainder is 2,Quotient is 0

Therefore your numbers are 4,53,29,2
Check relative values(in my previous post) = 7,84,44,4
Concentration is 7,Attack is 84,Defense is 44,Offside is 4.

Going reverse way
4*64^0+53*64^1+29*64^2+2*64^3=646468
You can see 646468 is greater than 1,256,256^2 but less than 256^3.
So divide by 256^2, 9 is the quotient,remainder is 56644
Divide by 256,quotient is 221,remainder is 68
Here it gets over.
68=44,221=DD,9=9
so 44 DD 09
 
P

Prakash

Guest
Yea i got those values thanks :). i was actually got confused with decimal and hex, the values are stored in Least Significant Byte (LSB). That means that 646468 which is 9DD44 is stored as 44 DD 09.

Another the problem i am facing is, take for example these three bytes 03 81 12 so their decimal value is 50451 but if you divide by 64 you wont get 4 values.
But the ingame values are Concentration 6,Attack 7,Defense 8,Offside 6
do you know anyway to overcome this problem.
 
A

Ajit

Guest
Prakash, That's a good system(LSB). I never knew about it.

Are you using hex or decimal values?
Going by the new way, 03 81 12<considered as hex bytes> has to be reversed to get 128103 which in decimal is 1212675 remainders come out to be 3,4,40,4. That is 6,7,62,7 in corresponding values. And I see these are the exact values.

If they are decimal then you can't take c513 but take c5103 which is 807171(and not 50451).Remainders 3,4,5,3 that is 6,7,8,6 just what you see. :)
 
P

Prakash

Guest
I was trying to crack up those values for couple of days but couldn't crack it up :( .
Btw VB uses LSB system to write numbers on file, if you open file as random or binary.
 
A

Ajit

Guest
I found a file inside the gob which had all commentary names written in it.
Editing Commentary is simple e.g. warne has a2 03, reverse to get 3a2 = 930. You can check that in front of 930 "in the attached file" is written Warne.
 
A

Ajit

Guest
Originally posted by barmyarmy@Jan 31 2004, 08:43 PM
Nationality

This is very strange, players are grouped as follows (two nationalities per value)

NZ/Aus - 01
Pak/Ban - 02
SA/Can - 04
Eng/SL - 08
Ind/WI - 10
Zim/Ken - 20
Holland - 40
Namibia - 80
They are not grouped. For example, an Indian has 10 at 217th byte where as a Windie has 10 at 218th.
 
P

Prakash

Guest
Bytes 216 and 217 determine the nationality for the players, here is the values of the teamid as used in LSB
Australia----------1
Bangladesh-------2
Canada-----------4
England-----------8
India-------------16
Kenya------------32
Namibia----------64
Netherlands----128
New Zealand---256
Pakistan--------512
South Africa--1024
Sri Lanka-----2048
West Indies---4096
Zimbabwe----8192
 

Users who are viewing this thread

Top