Difference between revisions of "NewLine"
Jump to navigation
Jump to search
m (<lsl> tag to <source>) |
|||
Line 14: | Line 14: | ||
== Specification == | == Specification == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
< | <source lang="lsl2"> | ||
string NewLine(string message) | string NewLine(string message) | ||
{ | { | ||
Line 26: | Line 26: | ||
return message; | return message; | ||
} | } | ||
</ | </source> | ||
A shorter alternative: | A shorter alternative: | ||
< | <source lang="lsl2"> | ||
string NewLine(string message) | string NewLine(string message) | ||
{ | { | ||
Line 35: | Line 35: | ||
return llDumpList2String(lWords, "\n"); | return llDumpList2String(lWords, "\n"); | ||
} | } | ||
</ | </source> | ||
</div></div> | </div></div> | ||
Line 43: | Line 43: | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
Example used in a prim to generate floating text. | Example used in a prim to generate floating text. | ||
< | <source lang="lsl2"> | ||
string NewLine(string message) | string NewLine(string message) | ||
{ | { | ||
Line 75: | Line 75: | ||
} | } | ||
} | } | ||
</ | </source> | ||
In chat, | In chat, | ||
Latest revision as of 17:31, 24 January 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Specification
string NewLine(string message)
{
integer newlinepos = llSubStringIndex(message, "\\n");
while(newlinepos >= 0)
{
message = llDeleteSubString(message, newlinepos, newlinepos + 1);
message = llInsertString(message, newlinepos, "\n");
newlinepos = llSubStringIndex(message, "\\n");
}
return message;
}
A shorter alternative:
string NewLine(string message)
{
list lWords = llParseStringKeepNulls(message, ["\\n"], []);
return llDumpList2String(lWords, "\n");
}
Example
Example used in a prim to generate floating text.
string NewLine(string message)
{
integer newlinepos = llSubStringIndex(message, "\\n");
while(newlinepos >= 0)
{
message = llDeleteSubString(message, newlinepos, newlinepos + 1);
message = llInsertString(message, newlinepos, "\n");
newlinepos = llSubStringIndex(message, "\\n");
}
return message;
}
default
{
on_rez(integer rez_param)
{
llResetScript();
}
state_entry()
{
llSetText("", <1,1,1>, 0.0);
llListen(1, "", llGetOwner(), "");
}
listen(integer channel, string name, key id, string str)
{
str = NewLine(str);
llSetText(str, <1,1,1>, 1.0);
}
}
In chat,
"/1 test test test" causes the prim to display:
test test test
"/1 test\ntest\ntest" causes the prim to display:
test
test
test