ソラマメブログ
< 2008年07>
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
アクセスカウンタ
オーナーへメッセージ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。 解除は→こちら
現在の読者数 3人

2008年03月16日

グループインバイター(リンデンスクリプト Tips)

 グループ招待を補助するスクリプトです。ユーザが、グループに参加する際に、簡易な操作で
グループ参加が可能となります。


 良くいろいろな方から、グループに招待するスクリプトについて質問されます。
しかし、残念ながらLSLでグループに招待するコマンドは存在しません。これは、海外のブログ等
でも良く見かける話題で、みなさんに待望されているコマンドの一つではないでしょうか。おそらく
将来的にはそのようなコマンドが実装されるのではないかと思われます。ただ、現在のところない
ですが、slurlの仕組みを使用すれば近いことをすることが可能です。slurlとは、secondlife://~で
はじまるリンクのことです。
 良くブログの中で、TPのリンク先を記述する際に利用されてたりします。みなさんもブログ等のリ
ンクでsecondlife://(SIM名)/1/2/3というようなリンクを見たことがあるかと思います。リンクをク
リックすると、SL画面上でTP画面が起動し、テレポートが可能になります。
こんな感じです。
 secondlife:///japan nagano/42/197/21

同様にグループの画面もこのslurlを利用して起動可能です。パスのフォーマットは、
   secondlife:///app/group/(groupのuuid)/about
となります。今回のスクリプトは、オブジェクトをクリックするとグループ画面起動の
slurlをIM経由でアバターに送付します。
「スクリプト内容」
//
//    SHOP ZERO Tips23 GroupInviter  v1.0
//
//                   Created by Zero2000 Kid     2008/03/16
//          


default {
    state_entry(){
        llSetText("Lets, click me.\nYou can join our Group.", <1,1,1>, 1.0);
    }

    on_rez(integer param){
        llResetScript();
    }

    touch_start(integer t)    {
        list guid=llGetObjectDetails(llGetKey(), [OBJECT_GROUP]);
        llInstantMessage(llDetectedKey(0), "Hi,"+llDetectedName(0)+ 
    " please click this link. secondlife:///app/group/" + (string)guid + "/about");
    }
}


「使用方法」
1. オブジェクトを1つ作成します。(球でもボックスでも何でも構いません。)
2. オブジェクトを右クリックし、「編集」->「一般」->「グループ設定」を開き、
  募集を行うグループ名を設定します。
2. スクリプトをオブジェクトのコンテンツの中にドラッグします。
3. オブジェクト表面をクリックするとチャット画面上にslurlが表示されます。
4. slurlをクリックするとグループ画面が起動しますので、"join"ボタンを押せ
  ば入会完了となります。

(注) 募集するグループは、"公開募集"にチェックが入っている必要があります。

 * グループのダイアログは、テレポートのダイアログと違い、ブログ等のブラウザ上からは
 呼び出すことはできません。あくまでSL内のリンクからのみ起動が可能です。

 slurlでは、ほかにもアバター情報画面やクラシファイド広告画面等も出すこ
とも可能です。フォーマットは、それぞれ以下のようになります。
アバター情報   :secondlife:///app/agent/(アバターのuuid)/about
イベント情報   :secondlife:///app/event/(アバターのuuid)/about
クラシファイド広告:secondlife:///app/classified/(アバターのuuid)/about
以下のスクリプトは、自分自身の上記slurlを出力するスクリプトです。

default {
    touch_start(integer t)    {
        llInstantMessage(llGetOwner(), "secondlife:///app/agent/" + (string)llGetOwner() + "/about");
        llInstantMessage(llGetOwner(), "secondlife:///app/event/" + (string)llGetOwner() + "/about");
        llInstantMessage(llGetOwner(), "secondlife:///app/classified/" + (string)llGetOwner()+"/about");
    }
}

* 現時点で、eventとclassifiedは、まだ動作しないようです。

リンデンスクリプト Tips Intexへ





この記事へのトラックバックURL