Display message with unit's name

Don

Rise with the Fallens!
Reaction score
52
I want to display a such to every player:

Level X : *nbr of units created* *type of unit* in every corner.

EX: Level 6: 25 Footman in every corner.

And i'm using this action:

Code:
Game - Display to (All players) the text: (Level |cffffcc00 + ((String(level)) + (|r:  + ((String(time_ammount)) + ( |cffffcc00 + ((String(unit_type[level])) + |r in every corner.))))))

Var: level = integer (no array). ***this part work***
Time ammount = integer (no array, 20 beggining value). ***this part work***
Unit_type = unit type variable (with array, states the unit type) ***this part doesn't work***

So what it does is in exemple, i take footman from preset units (world editor allready made units) and create them. Then, it displays correctly the name when at ( |cffffcc00 + ((String(unit_type[level])). BUT, when i make a custom unit ''ex: pig'', it displays thst:

Level 1: 20 Custom_h033 in every corner.

Why?

Am i suppose to use something else for custom units?
 

UndeadDragon

Super Moderator
Reaction score
447
h033 would be the units raw-code.
 

Zhirgoyt

New Member
Reaction score
9
Im a little confused, why just dont use the Name of unit thing, instead of a variable? Just curious...
 

Don

Rise with the Fallens!
Reaction score
52
Im a little confused, why just dont use the Name of unit thing, instead of a variable? Just curious...

Cause ''name of unit'' is a SPECIFIC unit name, not generic (unit-type). That way, i would have to make ''pick every unit of type pig and display ''bla bla bla bla bla bla bla... (name of picked unit)... bla bla bla bla bla...)'' and this for the 50 levels, long , too long!

h033 would be the units raw-code.

That i knew, and i don't think i want to display a such thing in my map lol!
 

Zhirgoyt

New Member
Reaction score
9
Cause ''name of unit'' is a SPECIFIC unit name, not generic (unit-type). That way, i would have to make ''pick every unit of type pig and display ''bla bla bla bla bla bla bla... (name of picked unit)... bla bla bla bla bla...)'' and this for the 50 levels, long , too long!

Well if you spawn 20 of the same things in each wave you would only have to pick a random unit within the region and display that name...
 

Don

Rise with the Fallens!
Reaction score
52
But still, have to do it for every 50 levels, there should be a shorter way!
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
Code:
Game - Display to (All players) the text: (Level |cffffcc00 + ((String(level)) + (|r:  + ((String(time_ammount)) + ( |cffffcc00 + (Name of YourUnit ) + |r in every corner.))))))
Then there would be no need to use the Unit Type variable, but instead make it a unit variable.
 

Don

Rise with the Fallens!
Reaction score
52
But i need to use unit_type to spawn every level.

But could i make Unit_name[1] (unit var) = Unit_type[1] (unit_type var)
 

UndeadDragon

Super Moderator
Reaction score
447
If it's in the trigger when it creates the units, why not just use (Last Created Unit)?
 

Don

Rise with the Fallens!
Reaction score
52
It is not in trigger that create unit since it turn on ''spawn triger'' because it is every one sec of game time, create 1 pig at bla bla bla bla...

So it would repeat the message every seconds... unmake-able! LOL
 

UndeadDragon

Super Moderator
Reaction score
447
You could save the last created unit as a variable when it is created and then call back the name of the unit in this trigger. That way it would always display the name of the last created unit.
 

the Lumpy

►►►
Reaction score
53
This is a bit messy, but you could create a unit temporarily just to get the name:
Code:
Unit - Create 1 unit_type[level] for Neutral Passive at (Center of SecretRegion) facing Default building facing degrees
Set unit_name = (Name of (Last created unit))
Unit - Remove (Last created unit) from the game
and then you could use the unit_name variable in your display action.
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
Do you have some sort of variable that contains an integer as to how many units are to be spawned via the periodic event? You could just add an If-Then which checks if it is the first spawn, and then use the (Last created unit).

That would only display it once, and that's how I did it in my old TD.
 

Don

Rise with the Fallens!
Reaction score
52
You could save the last created unit as a variable when it is created and then call back the name of the unit in this trigger. That way it would always display the name of the last created unit.

I use this one, fucking thanks (+rep)

This is a bit messy, but you could create a unit temporarily just to get the name:
Code:
Unit - Create 1 unit_type[level] for Neutral Passive at (Center of SecretRegion) facing Default building facing degrees
Set unit_name = (Name of (Last created unit))
Unit - Remove (Last created unit) from the game
and then you could use the unit_name variable in your display action.

Very good too but i take undead's way (+rep)

Do you have some sort of variable that contains an integer as to how many units are to be spawned via the periodic event? You could just add an If-Then which checks if it is the first spawn, and then use the (Last created unit).

That would only display it once, and that's how I did it in my old TD.

This one's awesome but i'm fixed on undead's (+rep)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top