• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Hashtable for DoT (bleeding) help

Level 3
Joined
Sep 8, 2025
Messages
15
A Complete Beginners Guide to Hashtables I am going off the tutorial found on this website for making a DoT.

I copied it exactly. It doesn't do any damage over time. Before I post my whole convoluted triggers, let me ask this simple question: Is this tutorial up to date still? Does using (key (unit)) work?

Long story short, my bleed DoT isn't working and this is what Gemini says. Gemini insists it should say Handle ID, but that is nowhere in my editor. I have looked a thousand times. I am well aware that Gemini is often wrong. But it is the only reason I got this far \=

The Invalid Line:

Set VariableSet BBEBleedTimer = (Load 1 of (Key (Picked unit).) from BleedExpirationTable.)
The Problem:
Again, (Key (Picked unit).) is the broken, non-functional label.
The Correct Line:
Set BBEBleedTimer = (Load 0 of (Parent Key (Handle ID of (Picked unit))) from BleedExpirationTable)

Thank you so much.
 
Yes, using "Key (unit)" works. Under the hood, "Key <Handle>" is the same as getting the object's handle ID. Gemini might just be getting confused since in JASS it is GetHandleId and in GUI it is "Key".

So there may be a different issue with your trigger. Just as a sanity check, always make sure you've initialized your hashtable. ;)
  • HashtableInit
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set MyHashtable = (Last created hashtable)
That often trips up a lot of people. Otherwise, feel free to share your triggers!
 
Hey, that's a great guide. Perhaps this will help you get the gist of hashtables further?
 
Thank you both for responses. Yes I definitely looked at both those guides. With many hours of fiddling and cursing, I have units in aoe taking damage over time lol small miracle. I wish I could make a useful contribution by saying how I got it to work but I have no idea how.

On a related problem; I wanted the aoe targets to also be slowed, so I used silence with -.5 movement speed. I want the caster to play Stand Channeling for the duration. But my hero's animation gets cancelled when he is attacked. Why is this and how do I overcome it?

p.s. I have a backup plan I didn't try yet which is to change from silence to maybe blizzard(so the channel animation is guaranteed to work), and then make a dummy caster for every target to cast slow which seems like a real pain.
 
Back
Top