Here is the questiion:
Can I easily detect the type of the selected unit?
Some.
I think it's only possible in a controlled environment where the Local IDs are known, then you'd just detect what Local ID was selected and know what type it is. If units are dying and being created all over the place and you're trying to detect those, I don't think there's a reliable method.
In multiplayer, that is.
None.
yes.
0x68C14C Currently selected unit ID
Not shared.
0x654889 also looks like it could be one as well, but it's a 1 byte deal, and is sandwiched between two other numbers which may or may not change.
Morphling can help more, since he did something along these lines.
"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"
yes.
0x68C14C Currently selected unit ID
Not shared.
0x654889 also looks like it could be one as well, but it's a 1 byte deal, and is sandwiched between two other numbers which may or may not change.
Morphling can help more, since he did something along these lines.
I found another method.
Memory(-13043, Exactly, 0);
This EUD detects when you select your own unit. (green selection circle)
Memory(-13043, Exactly, 1);
This EUD detects when you select an enemy. (red selection circle)
Memory(-13043, Exactly, 2);
This EUD detects when you select an ally or player 12. (yellow selection circle)
Memory(264058, Exactly, 0);
This EUD detects the currently selected unit number (Marine=0, Ghost=1, and so on)
You can't tell when you select a marine since the value is 0 when no unit is selected and like rockz said, it is only single player, but other than that it works fine.
None.
Hrmmm...
Morphling, do you know what happens with the X value in Memory(-13043, Exactly, X) when
1. The selected unit dies, or goes out of vision.
2. Player selects several units.
Some.
1. don't know. You can figure this out pretty easily by looking at the memory.
2. can only be green
Edit: How did you get this Morphling?
I'm getting 0 consistently for selecting my unit(s), but when I select an enemy, I get 2 a lot of the time, or the value just doesn't change. 0x57d798 is the address I'm looking at, since that's 0x58a364 - 13043*4.
Post has been edited 1 time(s), last time on Dec 4 2009, 9:48 pm by rockz.
"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"