2008年05月20日
【続】プロフィール写真を取得・表示するフォトブック(完成版)
世の中、「完成」に到達するのは難しいもので、
「CFT Visitors' Photobook」もさらに改良を加えました。
これもありがたいご指摘があってのこと。
……というわけで下がその修正版です。
普通に使っている分にはあまり気がつきませんが、
スクリプトの見た目はだいぶきれいになったと思います。
ほかにもお気づきの点があれば、
ぜひアドバイスいただければと思います。
オープンな場で採点(?)していただくと、
ひとりであれこれ考えているより楽しいですね!
===================================================
key requestid;
string resident;
integer index;
integer number = 2;
list names = [];
integer name;
default
{
on_rez(integer start_param)
{
llResetScript();
}
state_entry()
{
llSetText("Visitors' Profile Photos\nTouch the panel and add your photo!\nBut if you don't set a photo in your SL profile,\nno photo will appear on the board.", <1,1,1>, 1);
llSetLinkTexture(LINK_ALL_CHILDREN, "woodpaneling", ALL_SIDES);
llMessageLinked(LINK_ALL_CHILDREN, 0, " ", NULL_KEY);
}
touch_start(integer num_detected)
{
resident = llDetectedName(0);
name = llListFindList(names, [resident]);
if(name == -1)
{
requestid = llHTTPRequest("http://world.secondlife.com/resident/"+(string)llDetectedKey(0),[HTTP_METHOD,"GET"],"");//ここをシンプルに変更しました。
names = names + [resident];
}
}
http_response(key request_id, integer status, list metadata, string body)
{
if (request_id == requestid)
{
integer i = llSubStringIndex(body,"http://secondlife.com/app/image/");
if(i != -1)
{
string photo = llGetSubString(body,i+32,i+67);
llSetLinkTexture(number, photo, 1);
}
else//ここもシンプルに変更しました。
{
llSay(0, "Sorry, " + resident + ". There's no photo in your profile.");
llSetLinkTexture(number, "woodpaneling", 1);
}
llMessageLinked(number, 0, (string)(llGetDate() + " " + resident), NULL_KEY);
number++;
if(number == 18)
{
number = 2;
names = [];
}
}
}
}
===================================================
クラブに展示してあるフォトブック、配布しているフォトブックも、
これに合わせて最新バージョンに入れ替えてあります。
無料配布ですので、ぜひお持ちください。
ちなみに、一段階前のスクリプトはこんな感じでした。 ここです。
そして最初のスクリプトは、こんな感じでした。
それからすっかり忘れていましたが、
写真を表示するオブジェクトには
こんなスクリプトを埋めています。
===================================================
子プリム用スクリプト
===================================================
default
{
link_message(integer sender_num, integer num, string str, key id)//親プリムのllMessageLinked待ち。
{
llSetText(str, <1,1,1>, 1);//親プリムから送られてきたテキストを表示。
}
}
===================================================
これがないと、日付と名前が表示されませんでした。
では、また。
/nimue/87/13/82/
Club Fabulous Tokyo移転のお知らせ
Club Fabulous Tokyo新装開店
とりあえず再開
Club Fabulous Tokyo 一時閉鎖のお知らせ
ビデオ紹介:キャンディランプ
ビジターセンサー Ver.2.0 のメール通知機能
Club Fabulous Tokyo新装開店
とりあえず再開
Club Fabulous Tokyo 一時閉鎖のお知らせ
ビデオ紹介:キャンディランプ
ビジターセンサー Ver.2.0 のメール通知機能
Posted by mountainbook.tokyo at 00:44│Comments(0)
│クラブ情報