2008年07月17日
チャットに改行入れる方法
朝 Arare Cafe に行くと Pucelle さんが
-----
FK さんチャットに改行入れているけど どうするんだろう
-----
というので いろいろ試してみたけどうまくいかない
-----
FK さんに直接聞くと
-----
ノートパッドで編集したのをそのまま入れる
-----
ということのようだが うまくいかないぞ... RC だとうまくいくのか?
-----
という話もあったが 前にインストールした RC 起動して試そうと思ったら 起動しないで落ちてしまう
-----
仕方ないので スクリプト経由で 改行できないか試してみた
-----
結果は まあ 一応できたのでリスト上げておきます w
-----
使い方は /210 aaa\nbbb\nccc とかすると \n で改行します
-----
でもなんでこうなるんだろう... チャットに \n とすると(多分)中で \\n に変換されちゃうので それを \n に戻して llSay してるという感じ...
-----
FK さんチャットに改行入れているけど どうするんだろう
-----
というので いろいろ試してみたけどうまくいかない
-----
FK さんに直接聞くと
-----
ノートパッドで編集したのをそのまま入れる
-----
ということのようだが うまくいかないぞ... RC だとうまくいくのか?
-----
という話もあったが 前にインストールした RC 起動して試そうと思ったら 起動しないで落ちてしまう
-----
仕方ないので スクリプト経由で 改行できないか試してみた
-----
結果は まあ 一応できたのでリスト上げておきます w
//オブジェクトの発言ということで緑色になるのがあれだけど まあ仕方ないか...
// File: ChatWithNewLine.lsl
// Date Author number of nodes
// 2008/7/17 walkinglint 20
//
string llReplaceString(string source, list replace) {
while (llSubStringIndex(source, llList2String(replace, 0)) != -1) {
integer index = llSubStringIndex(source, llList2String(replace, 0));
string temp = llDeleteSubString(source, index, (index + (llStringLength(llList2String(replace, 0)) - 1)));
source = llInsertString(temp, index, llList2String(replace, 1));
}
return source;
}
default {
state_entry() {
string nm = llKey2Name(llGetOwner());
llSetObjectName(nm);
llListen(210, "", NULL_KEY, "");
}
on_rez(integer param) {
llResetScript();
}
listen(integer channel, string name, key id, string message) {
message = llReplaceString(message, ["\\n", "\n"]);
llSay(0, message);
}
}
-----
使い方は /210 aaa\nbbb\nccc とかすると \n で改行します
-----
でもなんでこうなるんだろう... チャットに \n とすると(多分)中で \\n に変換されちゃうので それを \n に戻して llSay してるという感じ...
Posted by walkinglint at 10:02│Comments(0)
│walking のスクリプティング講座