|
Remember the game! P.s.: Feldspar.
|
It is just a table of 12 ints that contain pointers to the select unit node(s). I think it was in the Maplantis topic that I posted all the addresses... (No where do you actually see a specific 0-1699 number that I am aware. It is always a pointer)
Found it: http://www.staredit.net/maplantis/index.php?post=63271 And Doodle told me that they indeed are always 336 bytes. This post was edited 1 time, last edit by FaRTy1billion: Mar 27 2008, 11:41 pm.
|
|
I paid eleven minerals for THIS?
|
Then how does Starcraft get unit-specific data, such as current health percentage or kill count? ![]() ![]() ![]() ![]() ![]() ![]() "Three can keep a secret, if two are dead." -Benjamin Franklin
"Had, having, and in quest to have, extreme; A bliss in proof, and proved, a very woe; Before, a joy proposed; behind, a dream. All this the world well knows; yet none knows well To shun the heaven that leads men to this hell." -William Shakespeare |
|
I paid eleven minerals for THIS?
|
If the pointer is to the units table (DAT data), how do you get the local ID reference? You just said that the local ID is not the pointer..
![]() ![]() ![]() ![]() ![]() ![]() "Three can keep a secret, if two are dead." -Benjamin Franklin
"Had, having, and in quest to have, extreme; A bliss in proof, and proved, a very woe; Before, a joy proposed; behind, a dream. All this the world well knows; yet none knows well To shun the heaven that leads men to this hell." -William Shakespeare |
|
Remember the game! P.s.: Feldspar.
|
I said there is no real 0-1699 number... "DAT data"? You mean .dat files? I am talking about the unitnode where all the unit information is stored.
And doing that math stuff I posted is useless, I was just saying if you REALLY wanted a 0-1699 pointer. If you want to find a pointer to a unit, find its current HP and then subtract 9 from that address. If you want to explore it first hand, you can play with the selection addresses I linked to a few posts back... You can look at what it uses for unit references. |
|
I paid eleven minerals for THIS?
|
So it points to the ith index of the local-ID table, where i is the localID of the selected unit, no?
![]() ![]() ![]() ![]() ![]() ![]() "Three can keep a secret, if two are dead." -Benjamin Franklin
"Had, having, and in quest to have, extreme; A bliss in proof, and proved, a very woe; Before, a joy proposed; behind, a dream. All this the world well knows; yet none knows well To shun the heaven that leads men to this hell." -William Shakespeare |
|
I paid eleven minerals for THIS?
|
The indexes of the local-ID table can be whatever memory offsets - but my point is the pointer is to the local, not unit ID table.
![]() ![]() ![]() ![]() ![]() ![]() "Three can keep a secret, if two are dead." -Benjamin Franklin
"Had, having, and in quest to have, extreme; A bliss in proof, and proved, a very woe; Before, a joy proposed; behind, a dream. All this the world well knows; yet none knows well To shun the heaven that leads men to this hell." -William Shakespeare |
|
We are not amused
|
Where are the red 0s when you put it into eudtrig?
![]() ![]() ![]() ![]() ![]() ![]() Of the sparkling wines, the most famous is Perth Pink. This is a bottle with a message in, and the message is 'beware'. This is not a wine for drinking, this is a wine for laying down and avoiding.
Another good fighting wine is Melbourne Old-and-Yellow, which is particularly heavy and should be used only for hand-to-hand combat. |
|
We are not amused
|
Oh jesus, this just got harder. Read the page again, you'll note that farty and DT are talking about what number you need to use (the local ID). Study Doodle77's map some more.
![]() ![]() ![]() ![]() ![]() ![]() Of the sparkling wines, the most famous is Perth Pink. This is a bottle with a message in, and the message is 'beware'. This is not a wine for drinking, this is a wine for laying down and avoiding.
Another good fighting wine is Melbourne Old-and-Yellow, which is particularly heavy and should be used only for hand-to-hand combat. |
|
Remember the game! P.s.: Feldspar.
|
I'm getting really confused now... what the hell is a local-ID table or a unit ID table?
You can check to see what unit ID is selected, but if you have a mixed group it will show 244. I can't remember the offset off the top of my head, but it is not shared (go look in the changing unit portrait topic for the map that I have it in.) Also the number of red 00s in EUDTrig is for when you use Object ID/Len. It shows you how the bytes appear in the int. |
|
We are not amused
|
Alls I know is that in Doodle's map, he's got 5885072 deaths for the marine, 6455936 deaths for the firebat, 6455600 for the ghost, 6455264 for the zealot, and 6454928 for the civilian. Considering the ghost is unitid 1, marine is unitid 0, and firebat is unitid 32, it wouldn't make much sense to go specifically by unitid. The ghost/bat/zeal are all off by 336, but the civ and rine are way off, and I think it's because of the way they were placed on the map. I know that when I was checking unit hp, there was also a huge difference in the units' EUD.
![]() ![]() ![]() ![]() ![]() ![]() Of the sparkling wines, the most famous is Perth Pink. This is a bottle with a message in, and the message is 'beware'. This is not a wine for drinking, this is a wine for laying down and avoiding.
Another good fighting wine is Melbourne Old-and-Yellow, which is particularly heavy and should be used only for hand-to-hand combat. |
|
I paid eleven minerals for THIS?
|
A local-ID table will contain up to 1700 entries pertaining to individual instances of a unit. The data local to a unit's instance includes such things as its current HP percentage, current shield percentage, and so on. The Unit ID table holds all the data loaded from the units.dat file, and essentially contains unit data (think static fields of a class). Unit data would include total HP count, weapon ID, and such. I don't actually know the bit-structure of Starcraft's RAM, but all of that data must be stored somewhere, and I know from the offsets I have seen that there exists a table solely of unit (static) data, because that was what everyone was editing with EUD actions. Anything you are finding should be in the local ID table, which has no relation to the unit's Unit ID. The position of a instantiated unit within the local ID table will depend on its Local ID, assigned at creation based on when the unit is created. ![]() ![]() ![]() ![]() ![]() ![]() "Three can keep a secret, if two are dead." -Benjamin Franklin
"Had, having, and in quest to have, extreme; A bliss in proof, and proved, a very woe; Before, a joy proposed; behind, a dream. All this the world well knows; yet none knows well To shun the heaven that leads men to this hell." -William Shakespeare |