Staredit Newtork
Community
StarCraft
Games
Site
Favourites
Another EUD Question, But if it works...

Creator: Epoch
Time: Jun 12 2008, 2:10 am

Post #1     Epoch Jun 12 2008, 2:10 am

[Avatar]
 offline contact
I was wondering if there was any particular way to figure out the EUD offset of a defiler, when it casts swarm, through the use of EUDs, but not detecting the storm, but detecting the energy used to create the swarm.

I have tried myself, but to no success. Can one of the EUD pro's help out a beginner here?
Life is like nailing Jello to a wall. It will just never work.
Top

Post #2     DT_Battlekruser Jun 12 2008, 2:30 am

[Avatar]
I paid eleven minerals for THIS?
 offline contact
Could you be more specific as to the circumstances? If you know the Local ID of your defiler, than you certainly detect energy loss.
hi
Top

Post #3     A_of-s_t Jun 12 2008, 2:35 am

[Avatar]
Master of Temptation, Ruler of Aeronotics, and Secret Lover
 offline contact
Use these:

+0x4C - BYTE bPlayerID
+0x4D - BYTE bMainOrderID
+0x4E - BYTE bMainOrderState
+0x4F - BYTE bOrderSignal

+0x57 - BYTE bSpellCooldown

Start at 0x0059CB40 to 0x006283D0.
(user posted image)
Top

Post #4     Epoch Jun 12 2008, 2:37 am

[Avatar]
 offline contact
Quote from DT_Battlekruser
Could you be more specific as to the circumstances? If you know the Local ID of your defiler, than you certainly detect energy loss.

Laymans terms please?
Life is like nailing Jello to a wall. It will just never work.
Top

Post #5     A_of-s_t Jun 12 2008, 2:42 am

[Avatar]
Master of Temptation, Ruler of Aeronotics, and Secret Lover
 offline contact
Each unit has a Local ID associated with it -- from 0 to 1699. The first unit placed on the map is 0, the second is 1699, the third is 1668 and so on. The adress of Node 0 is 0x0059CB40. You need to read these address to see if it has fired:

+0x4D - BYTE bMainOrderID

Which would be 0x0059CB8D. Now go to datedit and find which ID number firing swarm is and read for that.

So, read the addresses:

0x0059CB8D + (n * 336) == 119
This post was edited 1 time, last edit by A_of-s_t: Jun 12 2008, 2:47 am.
(user posted image)
Top

Post #6     DT_Battlekruser Jun 12 2008, 2:43 am

[Avatar]
I paid eleven minerals for THIS?
 offline contact
Statistics specific to an individual unit on the map (current HP, current energy, etc.) are stored in a table in RAM called the Local ID table. If you know a local ID and an offset, you can compute the location you need for the EUD condition. This is only plausible if you know the local ID of the specific defiler you want to detect. Local IDs are assigned upon unit creation, so any preplaced unit will always have the same Local ID. Otherwise, if the order of creation of new units changes, the local IDs change, and it becomes virtually impossible to detect properties.

This reminds me, I should get off my ass and finish MemCalc 6.1.

(edit) Uhh, A of S T, are you sure? There is a unit max of 1700 units and to the best of my knowledge the table is first filled in order from 0 to 1699.
hi
Top

Post #7     Epoch Jun 12 2008, 2:45 am

[Avatar]
 offline contact
Nevermind, found it, thanks.
Life is like nailing Jello to a wall. It will just never work.
Top

Post #8     A_of-s_t Jun 12 2008, 2:45 am

[Avatar]
Master of Temptation, Ruler of Aeronotics, and Secret Lover
 offline contact
However, using EUDs, the only efficient way to read these variables is about... 4 times per click... which measn you need to copy these triggers four times per cycle run.

Sorry, dtbk, ur right >.> I've been doing other things with unit node.
(user posted image)
Top

Post #9     Heimdal Jun 12 2008, 3:41 pm

[Avatar]
 offline contact
Does anyone have a good system for reading a low-order byte out of the unitnode? Since you can't deconstruct the value without EUD actions I can't think of a good way.

If Blizzard had added an action to copy one death count to another...
Top

Post #10     O)FaRTy1billion[MM] Jun 12 2008, 8:02 pm

[Avatar]
Remember the game! P.s.: Feldspar.
 offline contact
Quote from DT_Battlekruser
(edit) Uhh, A of S T, are you sure? There is a unit max of 1700 units and to the best of my knowledge the table is first filled in order from 0 to 1699.
If you look at the data, the first unit is in the first slot. The second unit is in the last slot, then it works backward to the first slot (and filling any that may become available.) This is also more apparent when reading preplaced units. One unit may be at like 0x59xxxx, the next at 0x62xxxx, then subsequent units' offsets getting smaller.

Quote from Heimdal
Does anyone have a good system for reading a low-order byte out of the unitnode? Since you can't deconstruct the value without EUD actions I can't think of a good way.

If Blizzard had added an action to copy one death count to another...
TrigPlug can. :P
Pretty much all you can do (other than external functions) is read every possible value... That greatly limits what you can read, though. Like upgrades you'd have to read it 8 times (one for each combination of the other upgrades that share the same dword), assuming all upgrades are available.
This post was edited 1 time, last edit by FaRTy1billion: Jun 14 2008, 3:01 am.  Reason given: lololwrongprogramname
Badlands 128 Minimap Colors    I like useless tables!
Platform  95 Minimap Colors
Install   85 Minimap Colors    What is this table, you ask?
Ashworld  92 Minimap Colors    I made images that list all the
Jungle   105 Minimap Colors    tiles' minimap colors arranged
Desert   109 Minimap Colors    by tileset groups (i.e. tileset
Ice       94 Minimap Colors    index.)
Twilight  97 Minimap Colors    I could make my own SCPM...
Top

Post #11     Epoch Jun 13 2008, 8:00 pm

[Avatar]
 offline contact
Ok, I thought I had the code. But I guess I didn't DT, the defiler is the first unit on the map. A_of-s_t, could you explain those codes to me a little bit more?
Life is like nailing Jello to a wall. It will just never work.
Top

Post #12     Mafia.Dark_Marine]:] Jun 13 2008, 11:19 pm

[Avatar]
Remind me never to play Mafia with this avvy again
 online contact
Someone gimme that code too...I...really need it...
- Dark_Marine - CheF's back baby [=]:3
(user posted image)
Top

Post #13     DT_Battlekruser Jun 15 2008, 4:36 pm

[Avatar]
I paid eleven minerals for THIS?
 offline contact
Quote
If you look at the data, the first unit is in the first slot. The second unit is in the last slot, then it works backward to the first slot (and filling any that may become available.) This is also more apparent when reading preplaced units. One unit may be at like 0x59xxxx, the next at 0x62xxxx, then subsequent units' offsets getting smaller.

You should just out and publish all you know about EUD memory structures. I'm too lazy to examine RAM myself, so I'm just going on everything that's been published in the past.
hi
Top

Post #14     O)FaRTy1billion[MM] Jun 15 2008, 6:13 pm

[Avatar]
Remember the game! P.s.: Feldspar.
 offline contact
I was writing a detailed tutorial, but then I got bored. :P
Badlands 128 Minimap Colors    I like useless tables!
Platform  95 Minimap Colors
Install   85 Minimap Colors    What is this table, you ask?
Ashworld  92 Minimap Colors    I made images that list all the
Jungle   105 Minimap Colors    tiles' minimap colors arranged
Desert   109 Minimap Colors    by tileset groups (i.e. tileset
Ice       94 Minimap Colors    index.)
Twilight  97 Minimap Colors    I could make my own SCPM...
Top

Post #15     I)eathBringer Jun 15 2008, 6:30 pm

[Avatar]
 offline contact
how do u examine sc ram?
Top

Post #16     JaBoK Jun 15 2008, 6:51 pm

[Avatar]
 offline contact
Quote from Heimdal
Does anyone have a good system for reading a low-order byte out of the unitnode? Since you can't deconstruct the value without EUD actions I can't think of a good way.

If Blizzard had added an action to copy one death count to another...
Copy one death count to another...
Binary countoff, use:

At least x A;
Subtract x A; Add x B; Add x C;

At least x C;
Add x A; Subtract x C;

That lets you copy A over to B.
Top

Post #17     O)FaRTy1billion[MM] Jun 15 2008, 7:16 pm

[Avatar]
Remember the game! P.s.: Feldspar.
 offline contact
You can't copy EUDs. You cannot run SetDeaths on them to subtract anything. Doing so would break SC anyway.
Badlands 128 Minimap Colors    I like useless tables!
Platform  95 Minimap Colors
Install   85 Minimap Colors    What is this table, you ask?
Ashworld  92 Minimap Colors    I made images that list all the
Jungle   105 Minimap Colors    tiles' minimap colors arranged
Desert   109 Minimap Colors    by tileset groups (i.e. tileset
Ice       94 Minimap Colors    index.)
Twilight  97 Minimap Colors    I could make my own SCPM...
Top

Post #18     Heimdal Jun 16 2008, 6:46 am

[Avatar]
 offline contact
Jabok: Can't do that because the death count I want to be copying from is in EUD-memory. If there were a hypothetical "copy-death-count" action, it would still be allowed to read EUD-memory. And while we're in fantasy-land, I'd like a pet dinosaur.

Farty:
If we still had EUD actions, theoretically you could copy the value to two other death counts and then copy it into the original memory by destructively copying one back.
Top

Post #19     O)FaRTy1billion[MM] Jun 16 2008, 7:42 am

[Avatar]
Remember the game! P.s.: Feldspar.
 offline contact
Quote from Heimdal
Farty:
If we still had EUD actions, theoretically you could copy the value to two other death counts and then copy it into the original memory by destructively copying one back.
Maybe if you did it within 1 trigger cycle... I don't know how the triggers are handled alongside the game itself, but I can forsee bad things if you mess with certain values and don't have them fixed immediately...
Badlands 128 Minimap Colors    I like useless tables!
Platform  95 Minimap Colors
Install   85 Minimap Colors    What is this table, you ask?
Ashworld  92 Minimap Colors    I made images that list all the
Jungle   105 Minimap Colors    tiles' minimap colors arranged
Desert   109 Minimap Colors    by tileset groups (i.e. tileset
Ice       94 Minimap Colors    index.)
Twilight  97 Minimap Colors    I could make my own SCPM...
Top

Post #20     Epoch Jun 20 2008, 12:47 am

[Avatar]
 offline contact
Can we get back on topic, and figure this code out please? Or atleast help me with it?

Thanks :D
Life is like nailing Jello to a wall. It will just never work.
Top
Users in this topic: Guest


[08:56 pm]
[Echo]:] -- Are u hawt?
[08:56 pm]
[08:55 pm]
[08:55 pm]
Phobos[MM] -- No
[08:53 pm]
* [Echo]:] hyper ventilates *
[08:53 pm]
[Echo]:] -- Oooh baby! Nude pix?
[08:52 pm]
Phobos[MM] -- I mean, I'm 15, I am going to be 16 in a month
You must log in to shout.

©2003-2008 Staredit Network.
Starcraft & Starcraft II are trademarks of Blizzard Entertainment.
Site Index   |   Terms of Service   |   Privacy Policy   |   Contributions