corrade-lsl-templates
/source/heads-up-display/tell/tell.lsl |
@@ -579,6 +579,28 @@ |
} |
listen(integer channel, string name, key id, string message) { |
llListenRemove(listenHandle); |
// Assume local chat channel. |
channel = 0; |
if(llGetSubString(message, 0, 0) == "/") { |
integer i = 1; |
string num = ""; |
do { |
string t = llGetSubString(message, i, i); |
if(llGetListLength( |
llParseString2List( |
t, |
["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] |
, |
[] |
)) != 0) { |
jump got_channel; |
} |
num += t; |
} while(++i < llStringLength(message)); |
@got_channel; |
channel = (integer) num; |
message = llGetSubString(message, i, -1); |
} |
llInstantMessage( |
wasKeyValueGet( |
"corrade", |
@@ -599,6 +621,7 @@ |
configuration |
) |
), |
"channel", channel, |
"entity", entity, |
"type", "normal", |
"target", wasURLEscape( |