Difference between revisions of "NewLine"
Jump to navigation
Jump to search
Ryu Darragh (talk | contribs) |
|||
Line 25: | Line 25: | ||
} | } | ||
return message; | return message; | ||
} | |||
</lsl> | |||
A shorter alternative: | |||
<lsl> | |||
string NewLine(string message) | |||
{ | |||
list lWords = llParseStringKeepNulls(message, ["\\n"], []); | |||
return llDumpList2String(lWords, "\n"); | |||
} | } | ||
</lsl> | </lsl> | ||
Line 30: | Line 39: | ||
<div id="box"> | <div id="box"> | ||
== Example == | == Example == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> |
Revision as of 03:23, 29 January 2010
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Specification
<lsl> 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;
} </lsl>
A shorter alternative: <lsl> string NewLine(string message) {
list lWords = llParseStringKeepNulls(message, ["\\n"], []); return llDumpList2String(lWords, "\n");
} </lsl>
Example
Example used in a prim to generate floating text. <lsl> 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); }
} </lsl> 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