Useful EUD Reference
Post #1
yoonkwun
Apr 2 2010, 9:09 pm
Post #2
HCM™stickynote
Apr 3 2010, 5:45 am
Post #4
yoonkwun
Apr 3 2010, 6:06 am
|
Yeah, but his database only has the address and description, not the extended player, if it's shared or not, how to get the value, etc. This just helps the process a bit more. Yes. Everything between these two lines is shared: Code***FIRST UNIT INDEX START; SHARED VALUES (see below)*** Code***FIRST UNIT INDEX END; SHARED VALUES (see below)*** ![]() ![]() ![]() ![]() ![]() ![]() |
Post #5
rockz
Apr 3 2010, 6:27 am
|
お や す み
|
Everything from the unitnode table is shared, and has already been detailed. Most of the time it's obvious whether or not the data is shared or not. The address is more useful, IMO. I find this method confusing, but IDK if EUD noobs will find it easier. If you can't understand little endian and artmoney, you probably shouldn't be doing EUDs.
![]() ![]() ![]() ![]() ![]() ![]() This is a great wallpaper to use if you want to go into an epileptic fit every time you sit down in front of your laptop, which I guess is a better option than watching Naruto.
|
Post #6
yoonkwun
Apr 3 2010, 6:39 am
|
To each their own then. Personally, when creating EUD triggers, I find it easier to copy and paste easily from a list with the extended players, not having to do the math every time. The various formulas are probably the most valuable pieces of information. This was also meant to allow those who can't understand the concept of EUDs use them anyway, because they have a lot of potential. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #7
poison_us
Apr 3 2010, 6:42 am
|
(•‿•)
|
So if I'm understanding the unit selection part right, I can use Memory(161889, Exactly, 5885096) to detect if player 1 is selecting the first Unit ID? And for each subsequent selection, I just add 1 to the 161889, until I hit my max?
This post was edited 1 time, last edit by poison_us: Apr 3 2010, 6:44 am. Reason given: :ermm: |
Post #9
HCM™stickynote
Apr 3 2010, 3:38 pm
Post #10
rockz
Apr 3 2010, 4:26 pm
|
お や す み
|
If you want to be useful, make it a user friendly excel sheet. That way you can easily change the numbers and such.
![]() ![]() ![]() ![]() ![]() ![]() This is a great wallpaper to use if you want to go into an epileptic fit every time you sit down in front of your laptop, which I guess is a better option than watching Naruto.
|
Post #11
O)FaRTy1billion
Apr 3 2010, 8:16 pm
|
.rapsdleF
|
Address, version, platform, name, data size, length, and description ... You don't need any more.
It takes negligible time to find that. If I did add it, though, I'd have to manually add the death table for every version for it to calculate with. ... If someone had ever requested such a thing, it would take a very minute amount of time to add. Hence the description field. It's a big textarea for a reason. Add any other/misc. information you feel necessary or useful. ;o Though the EUDDB does have a disadvantage since nobody seems to update it. ... the 1.16.1 addresses are very lacking and there is a lot of random things. This post was edited 3 times, last edit by FaRTy1billion: Apr 3 2010, 8:25 pm. ![]() ![]() ![]() ![]() ![]() ![]() TinyMap2 - Latest in map compression! [ 8/26/12 - New build! Potentially fixed Win7 crash ]
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!) EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab! MapSketch - New image->map generator! EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported) SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor! times! |
Post #12
Leeroy_Jenkins
Apr 4 2010, 12:00 am
|
I don't know what to write yet :/
|
Do it.
![]() ![]() ![]() ![]() ![]() ![]() ------------------Leeroy_Jenkin's Maps:
★★★★★ The Saddest Map on SC----------★★★★★ Escape Hell RPG----------★★★★★ NHL 2013 vBETA ----------------------------------------------------------------------------------------NEW ★★★★★ Middle of the Ocean RPG---------★★★★★ 2-D Mario DEMO -Soon to be completed! ------------------ ★★★★★ Middle of the Ocean 2 RPG-------★★★★★ Rescue Team RPG |
Post #13
Kaias
Apr 4 2010, 4:43 pm
|
I'm still looking for a way to detect when the players have given an order:
Now I'm looking for it for a different reason. In Io, when a player selects a target for his spell (depending on the spell type) the Hero will attempt to close the distance between himself and the target area until he is within casting range of it. The problem, of course, is that I need to know if the hero is given a new order before reaching proximity so that I cancel the order to cast. Obviously, this stipulates using a shared value. Less important things that I could use: Whether or not a unit is maelstromed, locked-down, or defense-matrixed. I'm also curious, rockz, what addresses/detections you would utilize to create a vHP system that could track every hit exchanged between a set number of units (IE 30). ![]() ![]() ![]() ![]() ![]() ![]() |
Post #14
rockz
Apr 4 2010, 5:34 pm
|
お や す み
|
I thought lethal was asking these questions...
As I told him: +0x5C - CUNIT* Target_Order will display the target, and you can detect cooldown, so you know who attacked whom. Maelstrom, lockdown, and dmatrix are easy. Burrowed units is pretty much the standard for VHP, but looks ugly imo and has slowdown problems. Since you know the set number of units, however, EUD HP isn't hard at all. If you're going to use EUDs, you may as well do it right, and detect changes in HP. You'd need a trigger for each HP value you want to detect (a 100 HP unit would probably have 200 states max), then a binary countoff set to detect changes (no more than 20 triggers in total). As for casting the spell, You select the unit to cast, right? then the unit is ordered towards the selected unit. Once it is in range, it casts the spell. It won't cast the spell until that time, so think of casting the spell as a concentration based spell. You can't move your unit unless you reselect it, which will cancel the spell. You set a DC to know which unit you have selected, another DC to know which unit you had selected last trigger, and if you've selected yourself after selecting another unit while a spell was in progress, cancel any order. ![]() ![]() ![]() ![]() ![]() ![]() This is a great wallpaper to use if you want to go into an epileptic fit every time you sit down in front of your laptop, which I guess is a better option than watching Naruto.
|
Post #15
O)FaRTy1billion
Apr 4 2010, 6:05 pm
|
.rapsdleF
|
In the address listing or in the info page?
![]() ![]() ![]() ![]() ![]() ![]() TinyMap2 - Latest in map compression! [ 8/26/12 - New build! Potentially fixed Win7 crash ]
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!) EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab! MapSketch - New image->map generator! EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported) SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor! times! |
Post #16
Kaias
Apr 4 2010, 6:06 pm
|
+0x5C - CUNIT* Target_Order will display the target, and you can detect cooldown, so you know who attacked whom. Burrowed units is pretty much the standard for VHP, but looks ugly imo and has slowdown problems. Since you know the set number of units, however, EUD HP isn't hard at all. If you're going to use EUDs, you may as well do it right, and detect changes in HP. You'd need a trigger for each HP value you want to detect (a 100 HP unit would probably have 200 states max), then a binary countoff set to detect changes (no more than 20 triggers in total). As for casting the spell, You select the unit to cast, right? then the unit is ordered towards the selected unit. Once it is in range, it casts the spell. It won't cast the spell until that time, so think of casting the spell as a concentration based spell. You can't move your unit unless you reselect it, which will cancel the spell. You set a DC to know which unit you have selected, another DC to know which unit you had selected last trigger, and if you've selected yourself after selecting another unit while a spell was in progress, cancel any order. This does make me think of a new option, however. Instead of ordering the Hero to the target area, I could order him to one of a set of specific order points that would put him on a collision course with the target area and then detect if the Hero's order coordinates are not one of these preset coordinates. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #17
yoonkwun
Apr 4 2010, 7:29 pm
|
Less important things that I could use: Whether or not a unit is maelstromed, locked-down, or defense-matrixed Updated OP. Now I'm looking for it for a different reason. In Io, when a player selects a target for his spell (depending on the spell type) the Hero will attempt to close the distance between himself and the target area until he is within casting range of it. The problem, of course, is that I need to know if the hero is given a new order before reaching proximity so that I cancel the order to cast. Obviously, this stipulates using a shared value. I don't know if I'm understanding this correctly but why couldn't you use my Order map in the other thread? It will detect when the unit recently made an order, which you could use to cancel the spell. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #18
Kaias
Apr 4 2010, 7:51 pm
|
I don't know if I'm understanding this correctly but why couldn't you use my Order map in the other thread? It will detect when the unit recently made an order, which you could use to cancel the spell. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #19
Kaias
Apr 4 2010, 8:38 pm
|
I don't know if I'm understanding this correctly but why couldn't you use my Order map in the other thread? It will detect when the unit recently made an order, which you could use to cancel the spell. Less important things that I could use: Whether or not a unit is maelstromed, locked-down, or defense-matrixed ![]() ![]() ![]() ![]() ![]() ![]() |
Post #20
yoonkwun
Apr 4 2010, 8:47 pm
|
The byte is a decrementing counter, so if you increase the value in the condition, you can in effect shorten the time it returns true. I made it the smallest value in the test map because I was too lazy to brute test what was the best highest value. Now I did and found it's 234881024 (16777216 * 14). It works pretty well too, it always runs at most once per order, and it's pretty hard to unintentionally click twice fast enough for it to return true only once.
This post was edited 1 time, last edit by yoonkwun: Apr 4 2010, 8:53 pm. ![]() ![]() ![]() ![]() ![]() ![]() |
0 members in this topic (italic members are currently writing a reply): None
+ guest(s)
+ guest(s)
[04:22 pm]
[03:04 pm]
[03:04 pm]
[02:25 pm]
[02:16 pm]
[02:15 pm]
[01:35 pm]





times!![[close]](/images/up.gif)