Site search

Google
WWW を検索 backup-beta.blogspot.com を検索

2009年4月14日火曜日

グリッドステータスとオンライン数を表示するスクリプト

今回はセカンドライフのログイン画面とかに表示されるグリッドステータスとオンラインになってる人の数を表示するスクリプトです^^

グリッドステータスの状態は古いほうのステータスのページ(?)をチェックしたら良さそうなんですが、ここって前スクリプトで取得しようとしてもエラーで表示されなかったんですね;;

それで諦めてたんですが、他にXMLデータで取得できるページがあったんですよw
http://secondlife.com/xmlhttp/secondlife.php
ここまでわかったらhttpリクエストでこのページをゲットしたらいいので簡単ですね^^


// グリッドステータスとオンライン数を表示
string url="http://secondlife.com/xmlhttp/secondlife.php";  // データを取得するURL
key http_request_id;

default
{
    state_entry()
    {
        llSetTimerEvent(0.1);  // 最初は0.1秒後にタイマーイベント
    }

    on_rez(integer start_param)
    {  // 持ち物から出したとき
        llSetTimerEvent(0.1);  // 0.1秒後にタイマーイベント
    }

    timer()
    {
        llSetTimerEvent(600);  // タイマーを10分にセット
        http_request_id=llHTTPRequest(url,[],"");  // httpリクエスト
    }

    http_response(key request_id, integer status, list metadata, string body)
    {
        if (request_id == http_request_id)
        {  // httpデータ取得したら
            // status要素の中身をゲット
            string status;
            integer i=llSubStringIndex(body,"<status>");
            integer j=llSubStringIndex(body,"</status>");
            if (~i && ~j) status=llGetSubString(body,i+8,j-1);
            // inworld要素の中身をゲット
            string inworld;
            i=llSubStringIndex(body,"<inworld>");
            j=llSubStringIndex(body,"</inworld>");
            if (~i && ~j) inworld=llGetSubString(body,i+9,j-1);
            // フローティングテキスト用に整形して表示
            string str="Second Life\nGrid Status: "+status+"\nOnline Now: "+inworld;
            llSetText(str,<1,1,1>,1);
        }
    }
}

Live Data Feedsに詳しく書いてあるんですけど、 http://secondlife.com/httprequest/homepage.php とか使ったらリンデンドルの交換レートも取得できますね^^

2 件のコメント:

  1. 初めまして。
    このブログ親切すぎです。
    スクリプトは全然興味なかったのですが、
    こちらのスクリプトを使ってあれこれやってみたら
    今まで出来なかった事もいろいろ出来て
    SLの幅が広がりました。
    難しそうでとっつけなかったのですが
    スクリプトに触れるきっかけがあってうれしいです
    まだ自分で作成は全然出来ないのですが
    こちらのブログを参考にして、いろいろと楽しんでおります。
    IMでなく、ブログのコメントに書いてしまうのは
    もしかしたら失礼かもしれませんが…。
    これからも更新楽しみにしています。

    返信削除
  2. はじめまして^^
    うちのブログ見てスクリプトに興味持って頂けるなんてホント嬉しいです><
    自分でいろいろ組めるようになってくると、更に楽しくなると思いますので頑張ってくださいね。
    あと、時々インワールド内でスクリプトの講習会みたいなの開催されてる方もおられますので、そういうのに参加してみるのもいいかもですね^^

    返信削除