Hashtables are not as hard as they seem to be.
You simply do it like this:
-
Hashtable - Save 0.00 as (Key --Your String-- of (Key (Triggering unit)) in Hashtable
This is for saving a Real.
--0.00 can be replaced by ANY number, either a variable or whatever value you want to save as a variable, so Hashtables won't leak if you are using an unspecified value.--
--The first value after the real can be replaced by a number or a word. This is like a name. You can choose this yourself. Remember: Use the Hashtable - Get String ID.--
--The second value is the unit you want to save the value to. If a unit casts an ability, and you want that unit to get the value, use (Key (Triggering Unit)) Remember: Use the Hashtable - Get Handle ID.--
--The last value is the Hashtable you want to save the data in. Normally, you only require one hashtable. To create a hashtable, create a hashtable variable and create a trigger:
-
Hashtable
-

Events
-


Time - Elapsed game time is 0.01 seconds
-

Conditions
-

Actions
-


Hashtable - Create a hashtable
-


Set Hashtable = (Last created hashtable)
--
I usually call my Hashtable variable "Hashtable".
When you wish to load a Hashtable value, use any action you would normally use for that particular action, for example, you want to load a real number for a certain variable.
-
Load Hashtable Data
-

Events
-

Conditions
-

Actions
-


Set RealVariable = (Load (Key --Your String--) of (Key (Picked unit)) from Hashtable)
-


-------- NOTE!!! --------
-


-------- The Picked Unit is not what you refer to to load a value. If you wish to load a value from a lot of units, for example, for a knockback, do this: --------
-


Unit Group - Pick every unit in UnitGroupVariable and do (Actions)
-



Loop - Actions
-




Set RealVariable = (Load (Key --Your String--) of (Key (Picked unit)) from Hashtable)
-


-------- If you are using this method, don't forget to add the picked unit to the specific group when the unit uses the certain ability. --------
About Strings
You can type in any name you want for your string! Simply type in the same thing (NOTE: When you load, you require the EXACT same string!) in your loading trigger!
Typing a word that refers to the certain value might also help, for example, for an angle, you can name it Angle.