Removing specific floating text eg floating text assigned to a unit

jayhant

New Member
Reaction score
0
I'm trying to make a system that allows you to make floating text appear on whatever unit you have selected (eg -text Test will spawn floating text "Test" over your picked units)

I'm wondering if its possible to remove floating text thats assigned to a specific unit that would be activated via some command or when the unit dies.

I know you can remove floating text via 'last created floating text' but that wouldn't necessarily be the current floating text assigned unit you've currently selected
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
1) Save the floating text in a variable
2) ???
3) Profit


But more seriously. If you want this to work MUI use a hashtable to associate a floating text with a unit.
 

jayhant

New Member
Reaction score
0
How would you go about doing that?

Im guessing that the picked unit and the actual string they put in would be the only variables saved right?
Im also wondering how you do that eg (Key(Picked Unit)) thing and if thats a variable on its own
 

Ryushi

"I will stand, or I will fall. I will not sit."
Reaction score
59
You could look around for a tutorial on hashtables for more information, but the general idea would be this:

After you create the floating text, you would store the handle of the floating text (That would be the 'Hashtable - Save Texttag Handle' action) using Key(Picked Unit) as one index, and setting the other to anything you want.
When you want to remove the floating text later, you can retrieve it from the hashtable by using the same indices you used when storing it.
 

Ryushi

"I will stand, or I will fall. I will not sit."
Reaction score
59
When assigning an integer value, select 'Hashtable - Get Handle ID'. Then look for Picked Unit in the next drop-down list.
 

Ryushi

"I will stand, or I will fall. I will not sit."
Reaction score
59
The two indices of a hashtable take integer values. Every individual instance of a unit in a map will have a unique handle ID. The handle ID will be an integer. So the unique handle ID of a unit can be used an an index in a hashtable.
To hopefully make this clear, storing the floating text would look something like this:

Hashtable - Save Handle Of(Last created floating text) as (Key (Picked unit)) of 0 in (Last created hashtable)
 

DrEvil

FCRI Associate!
Reaction score
111
or....

Trigger:
  • FloatingTextInit
    • Events
      • Map Init
    • Conditions
    • Actions
      • set FloatingTextCount=0


...

Trigger:
  • UnitActivation
    • Events
      • Some unit is clicked...
    • Conditions
    • Actions
      • set FloatingTextUnit[FloatingTextCount]=SomeUnit
      • set FloatingTextFloatingText[FloatingTextCount]=CreateFloatingText()
      • set FloatingTextCount=FloatingTextCount+1


when a unit dies(or another command on a unit is activated) just loop over until you get the right index and remove the floating text associated with the unit...

Screw Hashtibles!!!
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Horrible performance and horrible idea.
There is only a limited amount of positive integer values. Once your map reaches that number of units its game over and the map crashes.
 

jayhant

New Member
Reaction score
0
Probably just me but I just cant get my head around this lol
I mean, i cant even get to the (Key (Picked unit)) thing since it needs to be a handle variable or something

If someone wants to, feel free to try and make this system and send me the map file its in or something lol
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top