Isn't it bad that the hex changes?
yes
For this address/hex it would be the following condition, correct?
0048CF7E = -259322
E98C4152 = 16640 (This is due to the 41 > Decimal = 65*256 = 16640)
no
0048CF7E = -259322
E98C4152 = 2364080128 (This is due to the e9 > Decimal = 233*65536 = 15269888 + 8c > Decimal = 140*16777216 = 2348810240 = 2364080128)
Memory at Death Table + -259322 is at least 2364080128
But I don't know how to find the Most, I understand how I could get the number after I know which number I use.. but I cannot find it out.
add ff into the previous insignificant bytes.
As in.. the most would be say.. 52 and I would do 52 > Decimal = 82*65536 = 5373952, correct?
no. 52's address ends in a 1, so you'd multiply by 256, but 52 changes so it's pointless.
I also noticed Skipz, that our Olly's are different.. in the Location one you showed it has 55 E9 6A 39 62 6C whereas mine shows up as E9 6A 39 27 74 (It's missing the 55, why is that and is it vital?)
He moved the hex dump to show the first byte that a trigger would read. The first three red parts are still the same (e9 6a 39). This shouldn't be confusing, because the addresses are all the same. However this leads me to believe you still don't understand the concept of an address.
And I understand how you got the At Least.. but I can't figure out how you figured out how to multiply it by FF FF FF to get the At Most, because I can't get the number you got doing any of the math you've given.
You don't multiply by ff ff ff, you add it. You multiply by 1000000.
Follow my math carefully:
e9 8c 41, others change, so can't use them.
e9: 0048cf7e. Address ends in e. multiply by 10000. e90000 hex = 15269888 dec
8c: 0048cf7f. Address ends in f. multiply by 1000000. 8c000000 hex = 2348810240 dec
41: 0048cf80. Address ends in 0. Can't use because there are larger, changing numbers in this dword (dword is 4 bytes, all dwords start on 0, 4, 8, c, and death counts read dwords).
The address needed to be read is 0048cf7e and 0048cf7f. EUDTrig gives us a player number of -259322, but that refers to 0048cf7c, so there are two bytes before the two bytes we are reading.
To read the range, we want to read from at least 00 00 e9 9c and at most ff ff e9 9c, since the first two numbers can be any number and still won't affect the last to bytes.
8ce90000 hex = 2364080128 dec
8ce9ffff hex = 2364145663 dec
Now, I want you to do me a favor and find the triggers for the second set of 4 bytes in this picture. I'll do the first set. I'm going to shorten my work, so refer to my first one if you've got problems.
00 00 57 8b -> 2337734656
ff ff 57 8b -> 2337800191
dword address: 0041e284 -> -372792
3d f4 00 00 -> 15860. Assuming 0041e28a and 0041e28b don't change.
dword address: 0041e288 -> -372791
Trigger 1
Memory(-372792, at least, 2337734656)
Memory(-372792, at most, 2337800191)
Trigger 2
Memory(-372791, exactly, 15860)
Now you try.
Post has been edited 1 time(s), last time on Mar 2 2010, 8:05 pm by rockz.
"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"