ソラマメブログ

2008年07月17日

チャットに改行入れる方法

朝 Arare Cafe に行くと Pucelle さんが
-----
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 してるという感じ...

同じカテゴリー(walking のスクリプティング講座)の記事
 プロフィール写真の表示に問題 (2009-11-30 20:55)
 ミニ太陽系 (2009-03-21 06:03)
 関数から文字列を返したら何か問題になる? (2009-03-18 18:02)
 llListFindList って型って関係ないんだったっけ (2009-03-18 14:02)
 夏時間(PDT)の実験 (2009-03-08 22:04)
 15パズルの作り方(その3) (2009-03-08 06:03)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。