Questions about Text

TLDR;
In my game, using the Group Up voice line will display instructions for the scripted abilities I’ve built for the specific hero your playing. I’ve tossed around the idea of using HUD Text, In world Text (only visible to event player) or what i ended up using, was Small Message. Recently, via this forum, i found out you can use \r\n to insert text onto a new line (like hitting the Enter/Return key) OR even easier, copy/paste the text off Notepad and the workshop will handle text on new lines they same way. What’s super neat about this is the text becomes Left Aligned versus Center Aligned when it appears on screen. So easier to read.

Question 1: Is there a better way?
Since there is a Text/Character limit you can type in the text field of a Custom String, depending on the amount of info you need to display, you have to divide up your text withing the action its self:

#1: Good 'nuff?

{
	Small Message(Event Player, Custom String("{0}\r\n{1}\r\n{2}", Custom String("Unique 1: Reserve Heals - Interact Key + Crouch"),
		Custom String("Unique 2: Armor Packs - Ability 2 + Crouch"), Custom String("Unique 3: Invisible Rally - Ultimate Ability")));
}

#2: Text field too long, part of the description is cut off

{
	Small Message(Event Player, Custom String(
		"Unique 1: Reserve Heals - Interact Key + Crouch\r\nUnique 2: Armor Packs - Ability 2 + Crouch\r\nUnique 3: Invisible Rally - Ultimat"));
}

#3: How i used to list the info

{
	Small Message(Event Player, Custom String("Unique 1: Reserve Heals - Interact Key + Crouch"));
	Small Message(Event Player, Custom String("Unique 2: Armor Packs - Ability 2 + Crouch"));
	Small Message(Event Player, Custom String("Unique 3: Invisible Rally - Ultimate Ability"));
}

#1 displays the text all nice and neat, Left aligned. Where as #3 is displayed onscreen as Center Aligned. Drawback thou is it Costs a few more workshop elements. (6 to be exact)

Question 2: Any way to change the rate at which Small Messages disappear?
This is a common complaint of ppl in my game, in that they can’t read all of the text quick enough before it disappears. Only solution to this, is you have spam the activation condition (Group Up) over n over until you’ve read everything.

  1. Example #1 can have issues if you send another small message short after #1 as the new message would overlap with Line 2 of message #1.
  2. Example #3 can be annoying to read because the first message is being pushed down, (while you’re able to read it) by the following messages, sending them in reverse would have the problem that the 3rd Ability would be on screen even shorter.

As for Element size if you still have enough headroom to the 32k Limit and don’t overload the server you shouldn’t worry about it too much, if it works it works.


If your game mode is single player, then you could increase the duration the messages stay on screen with

Set Slow Motion(0)

(It’s not by much
Or I’m crazy ~~ )

The easier solution would be to simply make it into a HUD Text so people can turn it on / off when they need it, instead of having to communicate over and over.

actions
{
	Create HUD Text(Local Player.A, Null, Null, Custom String(" \r\n\r\n\r\n\r\n\r\n\r\n{0}\r\n{1}\r\n{2}", Custom String(
		"Unique 1: Reserve Heals - Interact Key + Crouch"), Custom String("Unique 2: Armor Packs - Ability 2 + Crouch"), Custom String(
		"Unique 3: Invisible Rally - Ultimate Ability")), Right, 0, Null, Null, Color(White), Visible To and String,
		Default Visibility);
}

^ Would only be visible to players that have the Variable A as True.

Something that can also help due to people rebinding their keys or not knowing what button is meant by “interact” it might be better to use Input Binding String(Button(Interact)) instead.