Staredit Network

Staredit Network -> UMS Assistance -> Help Trigger Calculation & EUD
Report, edit, etc...Posted by Staredit.Net Essence on 2005-08-07 at 14:30:53
I do not know English, therefore I write through the interpreter. I have some questions on your triggers. Probably them already set, then give the reference.
1. By what principle the kind of the trigger is calculated. Under what formula is calculated, how the trigger should look. For example, I want to change the name Nexus, through ArtMoney I find the address on which the name Nexus lays. What is farther? How to me without additional toolkit (Memory Calculator), will write the trigger which to change a name of a building? Or I want to replace the weapon. How to me without Memory Calculator, it will be possible to calculate the trigger which to change the weapon at unit?
2. That can also that can not EUD. Whether there is a limit of opportunities of the given system of triggers?
Report, edit, etc...Posted by BSTRhino on 2005-08-07 at 19:12:51
1. The post that I learnt the formula to calculate the player number, unit ID and byte number was posted by DT_Battlekruser here: http://www.staredit.net/index.php?showtopi...ndpost&p=271886

If you understand Microsoft Excel, you can try looking at my spreadsheet which contains the formula used for EUD, and I have attached that spreadsheet to this post. However, unless you are a software programmer or doing advanced things, MemCalc should be enough.

2. There are limits to the opportunities you have using EUD. This post tells you what EUD can do: http://www.staredit.net/index.php?showtopic=19017

If there is something that is not on that list, then it is quite likely EUD can't do it. For example, you cannot change the techtree using EUD, you cannot give some units like the Vulture or Zealot air weapons, you cannot change a unit so it can cast a new spell like Mind Control, you cannot give the marine a different air weapon, and so on. For most things, people who make StarCraft mods will be able to tell you what is possible and what is impossible with EUD, you just need to ask if you want to know whether something can or can't be done with EUD. There is no list of what can't be done with EUD, because that list would be endless and infinite, but there is the list on what can be done with EUD which I have linked you to above.
Report, edit, etc...Posted by KrAzY on 2005-08-07 at 19:47:51
What kind of random name is 123 with his first post? Can't speak english, are you one of the koreans who flood the MemCalc?

Look at the Triggers of God thread, they have enough information for you to learn about, it starts complicated at the start. So theres no need to make a thread about it.

Btw, this is the wrong forum section, it should be in Map Making Assistance.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-08-08 at 00:39:33
The person doesn't know english, give him a break tongue.gif

Moved to assistance.
Report, edit, etc...Posted by Staredit.Net Essence on 2005-08-12 at 06:34:25
Some more questions about the counter of death.
1. As far as I have understood, each player has four-byte counter of death. Really all "death" are stored(kept) in one variable? For example, at the first player has died 2 marines and 3 zealot, then what kind will have the counter, That is " 2 marines and 3 zealot " or " 5 units ".
2. As actually triggers are changed operative memory you see by(with) they have the fixed size (4 bytes), and can not affect the contents variable removed(allocated) under the characteristic units.
Report, edit, etc...Posted by SacredElf on 2005-08-12 at 12:09:09
patched cry.gif
Report, edit, etc...Posted by Staredit.Net Essence on 2005-08-18 at 02:17:20
QUOTE(SacredElf @ Aug 12 2005, 09:09 PM)
patched  cry.gif
[right][snapback]286022[/snapback][/right]

Well also that. All the same it would be desirable to know.
Report, edit, etc...Posted by Red2Blue on 2005-08-18 at 02:23:21
Its so depressing that the EUD triggers were patched...
I didn't get to try all the things I wanted to try yet!
I must uninstall the patch and finish up what I started.
Report, edit, etc...Posted by DT_Battlekruser on 2005-08-18 at 04:46:05
Starcraft Memory looks like this, bit-by-bit

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

Each "0" represents a "bit", a transistor which can either allow current to pass ("1"), or not ("0"). Each row of 8 0s represents a byte. Bytes can be arranges into 256 different permutations (orders) from 00000000 to 11111111

The variable for the deaths of a unit is stored in a long, which is four bytes in length. One long is highlighted in the memory example.

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

When editing deaths for a player, you affect that whole long. Modifying deaths at a memory level is done in binary. You can use Windows Calculator to convert from Binary to Decimal. Becuase wiritng out 00000000 for a byte takes time, we abbreviate bytes into hexadecimal (base 16). A byte in hexadecimal looks like this: 00.

The values of these Extended Unit Deaths correspond to places in Starcraft memory that hold data for units.

To change the Air Weapon of a Marine, persay, you enter the values into MemCalc and get this:

You need to modify the 1 byte value starting on byte 1 of deaths of -29623 for player 6.

and can be found here

DEATHS OF -29623 FOR PLAYER 6 :
00 00 00 00

Represented above is the four bytes of that death counter in hexadecimal.

You can then set that first byte to a weapon ID.

And so on for other units.

NOTES AND LINKS:
-EUDs are no longer officially supported by Staredit Network, and will only work in Starcraft patch 1.13a and earlier. (current is 1.13b)
-If you are Korean, here is an excellent Korean mapping site and MemCalc tutorial: http://mapside.net/zb41/zboard.php?id=mapa...esc=asc&no=4102

GLOSSARY
bit - transistor than can be on or off
byte - set of 8 bits that represents the basic data storage unit on a computer. A byte is 8 bits because letters in text files use an 8-bit ASCII code in binary data.
long - a collection of 32 bits used a data variable

More specific questions will prompt more specific answers.
Report, edit, etc...Posted by Heimdal on 2005-08-18 at 10:02:50
You can still use EUDs if you get the EUDEnabler (don't you read the news?). And the patch didn't change EUD conditions either.
Report, edit, etc...Posted by DT_Battlekruser on 2005-08-18 at 16:58:33
Yeah, but that's still only in private games, which is almost as bad as not being able to do it on B.net. I'm just making sure he knows that simply making the EUD triggers won't work anymore.
Report, edit, etc...Posted by Staredit.Net Essence on 2005-08-21 at 12:08:11
Whether correctly I have understood, that the counter of death is not adhered to one place in RAM. That is the counter of death, due to triggers, can be initiated in any place RAM?
Report, edit, etc...Posted by DT_Battlekruser on 2005-08-21 at 16:34:57
No. Each death value for a player and a unit refers to specific 4 bytes of RAM. There are so many units and players, however, that it allows you to edit many KB of RAM.

If you were able to initiate anywhere on RAM, then you could mess with other programs on their computer, and pass viruses.
Report, edit, etc...Posted by LegacyWeapon on 2005-08-21 at 18:08:34
QUOTE(Heimdal)
... just so you know, there's nothing *beyond* SC's memory. Every program runs in its own address space, and it can't change memory from other programs unless you use special functions that are designed for that (like how EUDEnabler works).
Report, edit, etc...Posted by Staredit.Net Essence on 2005-08-24 at 11:33:02
That is with the help EUD it is possible to correct any meanings(importance) in RAM StarCraft, which size does not exceed 4 bytes?

How the game meanings(importance) in StarCraft are distributed(allocated)? At everyone game unit the place in RAM for it(him) (unit) of the characteristics? That is to switch on, Shield marine and ghost, I need to correct two separate meanings(importance) or one?
Report, edit, etc...Posted by DT_Battlekruser on 2005-08-24 at 19:18:57
Err, yes.

Err? The place in Starcraft memory that holds units placed on map only contains things like the unit id of it, its HP percentage, and such.

God, Google really needs to get a better Korean/English translator.
Next Page (1)