SplitLine
De DigiWiki.
Example:
Trivial example to listen to any chat from the object owner for source values and respond lines split at space (" ") positions using 10 characters stride value.
// Insert code of SplitLine user function here default { state_entry() { llOwnerSay("Enter text"); llListen(0, "", llGetOwner(), ""); } listen(integer _chan, string _str, key _id, string _msg) { llOwnerSay(_msg + "\nsplit to:\n" + SplitLine(_msg, " ", 10)); } }
Specification:
string SplitLine(string _source, string _separator, integer _stride) { integer offset= _stride; integer sourceLen = llStringLength(_source); integer separatorLen = llStringLength(_separator); while (sourceLen > _stride) { integer split = llSubStringIndex(llGetSubString(_source, offset, -1), _separator); if (split != -1) { _source = llInsertString(_source, offset + split + separatorLen, "\n"); sourceLen = llStringLength(_source) - offset; offset += split + _stride + 2; } else sourceLen = -1; } return _source; }