Whenever I try to display the number "1" on a text tag, the tag magically vanishes and doesnt display anything. When I try to display other one-digit numbers and other texts on the same text tag before and after, it works just as intended.
I observed this interaction at two different points in my code:
Case #1
This is a countdown for the start of the game. I entered the text strings manually and all strings are existing and error-free. I've tried editing the string "1" to add some color formatting but the text tag still disappears at the given point of time. The trigger commands of the other (working) text changes are exactly the same, as seen here:
// Initialize with "3" //TextTagCreate(Param/Value/1E713AC6,38,(RegionGetCenter(Spawn)),0.0,true,false,(PlayerGroupAll()))Wait(1.0,c_timeReal)// Change to "2" //TextTagSetText((TextTagLastCreated()),Param/Value/ABD2D6F8)Wait(1.0,c_timeReal)// Change to "1". The text tag disappears after running this command. //TextTagSetText((TextTagLastCreated()),Param/Value/7C534FC1)Wait(1.0,c_timeReal)TriggerEnable(spawn,true)SoundPlay(countdownsound_GO,(PlayerGroupAll()),100.0,0.0)// I deleted some irrelevant commands here //// Change to "GO!" //TextTagSetText((TextTagLastCreated()),Param/Value/E6F4BC0B)
Observed Behavior: It shows a "3", waits a second, shows a "2", waits a second, then the text tag disappears. One second later, the text tag reappears with the text "GO!".
Case #2
After dying, a text tag with a countdown is attached to the player. Here, I use a decrementing integer that gets converted to text and then put onto the text tag:
// The text tag is initialized with the text "11". //TextTagCreate(Param/Value/66B3D0C5,40,(UnitGetPosition((EventUnit()))),1.0,true,false,(PlayerGroupSingle((EventPlayer()))))TextTagAttachToUnit((TextTagLastCreated()),heroes[(EventPlayer())],1.0)ForEachInteger(resscountdown,10,1,-1)actionsTextTagSetText((TextTagLastCreated()),(IntToText(resscountdown)))// The deciding line of code! //IfThenElse()ifComparison(resscountdown,==,3)thenTextTagSetFontSize((TextTagLastCreated()),60)TextTagSetColor((TextTagLastCreated()),c_textTagColorText,(100%,47%,47%))elseSoundPlay(countdownsound,(PlayerGroupSingle((EventPlayer()))),100.0,0.0)Wait(1.0,c_timeReal)TextTagSetFontSize((TextTagLastCreated()),40)// Text changes to "RESPAWN!" //TextTagSetText((TextTagLastCreated()),Param/Value/CCF262EA)
Observed Behavior: It counts down from 10 to 2, but when its supposed to display a "1", the text tag just disappears for a second. After that, it displays the text "RESPAWN!" as expected. The color and the font size change work as intended.
Some facts
The map is largely created with the 1.5 Editor and still has only the WoL dependencies. I use the custom "ChefAiur" font at other places in my code, but not at the cases given above. I never had any localisation problems with this map.
Replication on a fresh map
I just made a completely new map (with WoL dependencies) with a simple trigger that takes every chat message and creates a text tag with the chat message at the current position of a zealot. This is the result (imgur link). The "..." were created whenever I typed in a "1". Typing in " 1" (with a space before the 1), shows the 1 as expected. This is quite weird.
EDIT: When typing increasingly more 1s, the interaction gets somewhat inconsistent (imgur link). From left to right, I typed one more "1" every time, starting with only one digit. I also changed the graphics settings down which didnt resolve the issue.
EDIT2: Apparently this works with any given string. By appending "1" to an arbitrary string (without spaces), it cuts off the end and replaces it with "...".
EDIT3: Okay, I think it somehow tries to force a line-break. Look at this (imgur link, disregard the right part of the image). Even though the strings "I LIKE SC2" and "I LIKE SC1" are nearly the same length, it jumps into the next line when using a "1" as the last character.
EDIT4: Its getting serious (imgur link). Notice how it takes two lines when I use 1s while long texts and texts with a lot of spaces dont get a second line. The strings with the 1s only contain 1s and varying amount of spaces which seem to have impact on the choice of where the line break occurs.
EDIT5: A bit more analysis on the matter (imgur link).
Conclusion
What I concluded so far: This doesnt seem like a localization issue (editor is deDE, game is enGB) because of case #2 which works string-independent. It probably is a font display issue of some sort although I dont use any custom styles/fonts in these cases.
EDIT6: Currently I can classify the bug as following:
Whenever the text tag string contains no spaces and has a "1" as the last character, it will not show the 1 but instead show the string ending with "...".
Whenever the text tag string contains spaces and has a "1" as the last character, it will insert a line break after the last space, thus seperating the last word (including the 1) into a new line.
Can anyone please try to replicate this in their editor with given and different examples? This all seems really odd.
Yeah, it's annoying. My guess would be that an update messed something up.
So far I've observed "1" text tag turning into "..." in following samples:
1) My bomberman map (haven't touched it in a year), it sometimes uses "1" text tags, those are now "...";
2) Units kill bounties. If you set unit to grant 1 resource on death it'll display "+..." instead of "+1".
The last Blizzard patch messed up the processing of text tags. I can confirm this with the map Undead Assault 3 where critical hits show texttag. Without any modification to the triggers involved they suddenly started to show "...". My guess is "..." is used if a string is too wide internally however the string is not too wide but characters such as '1' have incorrect width specified.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Introduction
Hey everyone.
Whenever I try to display the number "1" on a text tag, the tag magically vanishes and doesnt display anything. When I try to display other one-digit numbers and other texts on the same text tag before and after, it works just as intended.
I observed this interaction at two different points in my code:
Case #1
This is a countdown for the start of the game. I entered the text strings manually and all strings are existing and error-free. I've tried editing the string "1" to add some color formatting but the text tag still disappears at the given point of time. The trigger commands of the other (working) text changes are exactly the same, as seen here:
Observed Behavior: It shows a "3", waits a second, shows a "2", waits a second, then the text tag disappears. One second later, the text tag reappears with the text "GO!".
Case #2
After dying, a text tag with a countdown is attached to the player. Here, I use a decrementing integer that gets converted to text and then put onto the text tag:
Observed Behavior: It counts down from 10 to 2, but when its supposed to display a "1", the text tag just disappears for a second. After that, it displays the text "RESPAWN!" as expected. The color and the font size change work as intended.
Some facts
The map is largely created with the 1.5 Editor and still has only the WoL dependencies. I use the custom "ChefAiur" font at other places in my code, but not at the cases given above. I never had any localisation problems with this map.
Replication on a fresh map
I just made a completely new map (with WoL dependencies) with a simple trigger that takes every chat message and creates a text tag with the chat message at the current position of a zealot. This is the result (imgur link). The "..." were created whenever I typed in a "1". Typing in " 1" (with a space before the 1), shows the 1 as expected. This is quite weird.
EDIT: When typing increasingly more 1s, the interaction gets somewhat inconsistent (imgur link). From left to right, I typed one more "1" every time, starting with only one digit. I also changed the graphics settings down which didnt resolve the issue.
EDIT2: Apparently this works with any given string. By appending "1" to an arbitrary string (without spaces), it cuts off the end and replaces it with "...".
EDIT3: Okay, I think it somehow tries to force a line-break. Look at this (imgur link, disregard the right part of the image). Even though the strings "I LIKE SC2" and "I LIKE SC1" are nearly the same length, it jumps into the next line when using a "1" as the last character.
EDIT4: Its getting serious (imgur link). Notice how it takes two lines when I use 1s while long texts and texts with a lot of spaces dont get a second line. The strings with the 1s only contain 1s and varying amount of spaces which seem to have impact on the choice of where the line break occurs.
EDIT5: A bit more analysis on the matter (imgur link).
Conclusion
What I concluded so far: This doesnt seem like a localization issue (editor is deDE, game is enGB) because of case #2 which works string-independent. It probably is a font display issue of some sort although I dont use any custom styles/fonts in these cases.
EDIT6: Currently I can classify the bug as following:
Whenever the text tag string contains no spaces and has a "1" as the last character, it will not show the 1 but instead show the string ending with "...".
Whenever the text tag string contains spaces and has a "1" as the last character, it will insert a line break after the last space, thus seperating the last word (including the 1) into a new line.
Can anyone please try to replicate this in their editor with given and different examples? This all seems really odd.
Yeah, it's annoying. My guess would be that an update messed something up.
So far I've observed "1" text tag turning into "..." in following samples:
1) My bomberman map (haven't touched it in a year), it sometimes uses "1" text tags, those are now "...";
2) Units kill bounties. If you set unit to grant 1 resource on death it'll display "+..." instead of "+1".
Yea, I've noticed it too as well as some others I've talked to. None of us were sure how to fix it.
The last Blizzard patch messed up the processing of text tags. I can confirm this with the map Undead Assault 3 where critical hits show texttag. Without any modification to the triggers involved they suddenly started to show "...". My guess is "..." is used if a string is too wide internally however the string is not too wide but characters such as '1' have incorrect width specified.