EUDGen2
Feb 10 2013, 5:22 am
By: Roy
Pages: < 1 3 4 5
 

Mar 23 2015, 5:31 pm BumpelSnake Post #81



Quote from NudeRaider
Quote from BumpelSnake
I don't see a reason why one should check for "maximum" supply due to it's always 200 for every race.
You can modify that with overflows from extended units.
That is, only with a EUD actions enabler?

And I have another question: the features of the "local" tab of EUDGen are meant to work only in singleplayer, do I have this right?



None.

Mar 23 2015, 5:40 pm Roy Post #82

An artist's depiction of an Extended Unit Death

Quote from BumpelSnake
Quote from NudeRaider
Quote from BumpelSnake
I don't see a reason why one should check for "maximum" supply due to it's always 200 for every race.
You can modify that with overflows from extended units.
That is, only with a EUD actions enabler?
You can preplace extended units to change the max supply. See here: http://www.staredit.net/wiki/index.php/Modifying_Supply_Limits

Quote from BumpelSnake
And I have another question: the features of the "local" tab of EUDGen are meant to work only in singleplayer, do I have this right?
Depends on how you're using them. If you're doing local actions (like displaying text to the player), it will work fine in multiplayer. Read this for more information: http://www.staredit.net/topic/14226/#6




Mar 24 2015, 1:23 am BumpelSnake Post #83



This is pretty helpful! I tried it out, works perfectly.

For that supply topic I'd like to ask a more specific question. My idea is to use the supply indicators as hp/mana/whatever. I encounter a problem with the unit amount limit, when I test the denotable maximum of 995/995 (bigger values seem to break the line). As you cannot manipulate the used supply value via EUD actions, you can instead use units which reserve most supply points, e.g. carriers (in combination with units which reserve 1 supply point, so that 6 observers happen to be replaced by a carrier as soon as all 6 of them exist). Assuming there can be 4 players and every one of them owns units that are worth (in worst case) 995 protoss supply, that makes (995/6)*4 = 664 units total. This is easily an issue when other trigger systems need a similarily large amount of units (or maybe when this results in real bad lags) so that one is far better off with an alternative - as for my case, like EUD actions that manipulate used supply, but as far as I understand this is not possible without an EUD enabler, am I right? So can you think of a workaround?



None.

Mar 24 2015, 1:32 am jjf28 Post #84

Cartography Artisan

As far as other write overflows go in this area we pretty much only have EUPs, and since supply is outside the nice +/-1 range and dEUPs have such a high menu cost, I would strongly discourage their use in this situation.

Neat idea though.



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Mar 24 2015, 1:36 am BumpelSnake Post #85



What exactly is meant with "high menu cost"? And would you recommend to stick to the initial idea despite of the large unit amount consumption and rather try to economize on other unit-amount-intensive trigger systems?



None.

Mar 24 2015, 1:44 am jjf28 Post #86

Cartography Artisan

Menu cost is a term from economics used to describe the cost of setting up something that gives you an advantage (ie: the cost of reprinting all the menus to lower the price of something to increase demand).

In this case I used it to summarize the costs of using dEUPs:
- No longer compatible with macs
- Adds a few seconds to map initial load time
- No unit sprites (at least not with the current template, could use them if you shifted the command centers index and changed around/added a few triggers)
- Can only have ~43 (IIRC) units initially owned by players that may or may not be present at the start of the game
- Around ~40kb added to the map, ~400kb if not using section stacking compression
- Have to maintain several unit indexes while working on the map, have to have a large chunk of triggers that increases SCMDraft trigger load time

I don't see a good way to do this other than your initial idea, someone else might :)



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Mar 24 2015, 1:56 am BumpelSnake Post #87



Wow, this is a really detailed statement. Too bad it's not worth it, but thank you very much for your efforts.



None.

Apr 23 2021, 2:46 pm BumpelSnake Post #88



Quote from Roy
Extras

Please reup the .euddb file, or another example for an .euddb file that works with EUDGen2.



None.

Apr 23 2021, 6:25 pm Roy Post #89

An artist's depiction of an Extended Unit Death

Quote from BumpelSnake
Please reup the .euddb file, or another example for an .euddb file that works with EUDGen2.
The files are serialized via Json using some janky properties that I don't remember anymore. Here's what HackDetection.euddb looks like (formatted):
Code
{
 "Actions": [],
 "Conditions": [
   {
     "__type": "Compare",
     "Addresses": [
       0
     ],
     "Category": 5,
     "Comment": "(Local) Player is using ►Hack◄",
     "Fields": [
       {
         "__type": "Value",
         "AddressValue": "x",
         "Name": "Hack",
         "Presets": [
           {
             "AddressValue": 6559348,
             "Name": "Apocalypse",
             "Value": 50529027
           },
           {
             "AddressValue": 6637712,
             "Name": "Blitzkrieg",
             "Value": 1426150656
           },
           {
             "AddressValue": 6641380,
             "Name": "BW Low Latency",
             "Value": -1
           },
           {
             "AddressValue": 7135464,
             "Name": "NukeBlitz",
             "Value": 7135352
           },
           {
             "AddressValue": 7139324,
             "Name": "Oblivion/Xanax/ZMH",
             "Value": 16843009
           }
         ],
         "ShowCustom": false,
         "Value": "x",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "x"
       }
     ],
     "Name": "Hack Detection"
   }
 ]
}


Here's another example that's the equivalent to the Unit Status EUD Condition already in the program:
Code
{
 "Actions": [],
 "Conditions": [
   {
     "__type": "Compare",
     "Addresses": [
       0
     ],
     "Category": 2,
     "Comment": "Unit #►Index Id◄ has ►Status◄ status",
     "Fields": [
       {
         "__type": "Value",
         "AddressValue": "336*((1700-x)%1700)",
         "Name": "Index Id",
         "Presets": [],
         "ShowCustom": false,
         "Value": "0",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "0"
       },
       {
         "__type": "Value",
         "AddressValue": "x",
         "Name": "Status",
         "Presets": [
           {
             "AddressValue": 5885388,
             "Name": "Acid Spore",
             "Value": 16777216
           },
           {
             "AddressValue": 5885384,
             "Name": "Blind",
             "Value": 16777216
           },
           {
             "AddressValue": 5885372,
             "Name": "Defensive Matrix",
             "Value": 1
           },
           {
             "AddressValue": 5885372,
             "Name": "Ensnare",
             "Value": 65536
           },
           {
             "AddressValue": 5885260,
             "Name": "Hallucination",
             "Value": 9765120
           },
           {
             "AddressValue": 5885376,
             "Name": "Irradiate",
             "Value": 1
           },
           {
             "AddressValue": 5885372,
             "Name": "Lockdown",
             "Value": 16777216
           },
           {
             "AddressValue": 5885388,
             "Name": "Maelstrom",
             "Value": 1
           },
           {
             "AddressValue": 5885384,
             "Name": "Parasite",
             "Value": 256
           },
           {
             "AddressValue": 5885376,
             "Name": "Plague",
             "Value": 65536
           },
           {
             "AddressValue": 5885376,
             "Name": "Stasis",
             "Value": 256
           },
           {
             "AddressValue": 5885372,
             "Name": "Stimpack",
             "Value": 256
           },
           {
             "AddressValue": 5885376,
             "Name": "Storm",
             "Value": 16777216
           }
         ],
         "ShowCustom": false,
         "Value": "x",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "x*256-1"
       }
     ],
     "Name": "Unit Status"
   }
 ]
}


And here's one for Unit Flingy ID, which is too long to post here because it contains presets for every unit type: https://pastebin.com/CChb95ny

That's probably enough info to work off of if you really wanted to make your own .euddb files for EUDGen2. I was originally going to make a tool for this, but I never did.




Apr 30 2021, 11:00 am BumpelSnake Post #90



Quote from Roy
Quote from BumpelSnake
Please reup the .euddb file, or another example for an .euddb file that works with EUDGen2.
The files are serialized via Json using some janky properties that I don't remember anymore. Here's what HackDetection.euddb looks like (formatted):
Code
{
 "Actions": [],
 "Conditions": [
   {
     "__type": "Compare",
     "Addresses": [
       0
     ],
     "Category": 5,
     "Comment": "(Local) Player is using ►Hack◄",
     "Fields": [
       {
         "__type": "Value",
         "AddressValue": "x",
         "Name": "Hack",
         "Presets": [
           {
             "AddressValue": 6559348,
             "Name": "Apocalypse",
             "Value": 50529027
           },
           {
             "AddressValue": 6637712,
             "Name": "Blitzkrieg",
             "Value": 1426150656
           },
           {
             "AddressValue": 6641380,
             "Name": "BW Low Latency",
             "Value": -1
           },
           {
             "AddressValue": 7135464,
             "Name": "NukeBlitz",
             "Value": 7135352
           },
           {
             "AddressValue": 7139324,
             "Name": "Oblivion/Xanax/ZMH",
             "Value": 16843009
           }
         ],
         "ShowCustom": false,
         "Value": "x",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "x"
       }
     ],
     "Name": "Hack Detection"
   }
 ]
}


Here's another example that's the equivalent to the Unit Status EUD Condition already in the program:
Code
{
 "Actions": [],
 "Conditions": [
   {
     "__type": "Compare",
     "Addresses": [
       0
     ],
     "Category": 2,
     "Comment": "Unit #►Index Id◄ has ►Status◄ status",
     "Fields": [
       {
         "__type": "Value",
         "AddressValue": "336*((1700-x)%1700)",
         "Name": "Index Id",
         "Presets": [],
         "ShowCustom": false,
         "Value": "0",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "0"
       },
       {
         "__type": "Value",
         "AddressValue": "x",
         "Name": "Status",
         "Presets": [
           {
             "AddressValue": 5885388,
             "Name": "Acid Spore",
             "Value": 16777216
           },
           {
             "AddressValue": 5885384,
             "Name": "Blind",
             "Value": 16777216
           },
           {
             "AddressValue": 5885372,
             "Name": "Defensive Matrix",
             "Value": 1
           },
           {
             "AddressValue": 5885372,
             "Name": "Ensnare",
             "Value": 65536
           },
           {
             "AddressValue": 5885260,
             "Name": "Hallucination",
             "Value": 9765120
           },
           {
             "AddressValue": 5885376,
             "Name": "Irradiate",
             "Value": 1
           },
           {
             "AddressValue": 5885372,
             "Name": "Lockdown",
             "Value": 16777216
           },
           {
             "AddressValue": 5885388,
             "Name": "Maelstrom",
             "Value": 1
           },
           {
             "AddressValue": 5885384,
             "Name": "Parasite",
             "Value": 256
           },
           {
             "AddressValue": 5885376,
             "Name": "Plague",
             "Value": 65536
           },
           {
             "AddressValue": 5885376,
             "Name": "Stasis",
             "Value": 256
           },
           {
             "AddressValue": 5885372,
             "Name": "Stimpack",
             "Value": 256
           },
           {
             "AddressValue": 5885376,
             "Name": "Storm",
             "Value": 16777216
           }
         ],
         "ShowCustom": false,
         "Value": "x",
         "Offset": 0,
         "Size": 4,
         "UpperValue": "x*256-1"
       }
     ],
     "Name": "Unit Status"
   }
 ]
}


And here's one for Unit Flingy ID, which is too long to post here because it contains presets for every unit type: https://pastebin.com/CChb95ny

That's probably enough info to work off of if you really wanted to make your own .euddb files for EUDGen2. I was originally going to make a tool for this, but I never did.

Thanks for that! I'll look into it



None.

Options
Pages: < 1 3 4 5
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:40 am]
Ultraviolet -- :wob:
[2021-10-26. : 10:31 pm]
RIVE -- :wob:
[2021-10-25. : 9:59 pm]
UndeadStar -- :wob:
[2021-10-25. : 8:39 pm]
KrayZee -- :wob:
[2021-10-25. : 5:40 pm]
lil-Inferno -- :wob:
[2021-10-25. : 9:27 am]
Moose -- :wob:
[2021-10-24. : 12:54 pm]
Ultraviolet -- :wob:
[2021-10-22. : 8:31 pm]
O)FaRTy1billion[MM] -- :wob:
[2021-10-22. : 6:07 pm]
UndeadStar -- :wob:
[2021-10-22. : 12:00 pm]
Ultraviolet -- :wob:
Please log in to shout.


Members Online: Roy, Arkanis, KrayZee