======String======
----
A **string** is a scripting data type consisting of a string of characters enclosed by double quotes on each end. Strings are typically used to represent a message, for example in the [[Display Message]] function, or when referencing an entity name or property name within a script. [[placeholder_expression|Placeholder expressions]] can be used within a string as a way to generate dynamic values at game runtime.
====Example:====
display_message("Hello, world! This is a string.");
The above example demonstrates a string passed to the [[Display Message]] function as an argument.
**Note:** Any double quotation marks within a string (excluding the quotation marks used to enclose it) must be escaped with a preceding backslash.
====Example:====
set_entity_property(entity["sign_01"], "message", "The sign's \"message\".");
The above example demonstrates 3 different cases of a string being used: an entity by ID reference, the name of the property, and a text value to store in the property.
=====String Concatenation=====
Strings can be concatenated, or connected together, using the plus symbol between two or more values. These values can be either a literal string (e.g. "Hello!"), variable name (e.g. my_string), or a reference to a property (e.g. global.property["my_string"]). The assumption is made that the variable or property contains a valid string value. This syntax can be used in most places where a string value is expected.
====Example:====
display_message("Hello, " + global.property["player_name"] + "!");
~~NOTOC~~