ソラマメブログ
< 2025年05月 >
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

2008年03月16日

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

 グループ招待を補助するスクリプトです。ユーザが、グループに参加する際に、簡易な操作で
グループ参加が可能となります。
グループインバイター(リンデンスクリプト 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"ボタンを押せ
  ば入会完了となります。
グループインバイター(リンデンスクリプト Tips)
(注) 募集するグループは、"公開募集"にチェックが入っている必要があります。

 * グループのダイアログは、テレポートのダイアログと違い、ブログ等のブラウザ上からは
 呼び出すことはできません。あくまで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 Indexへ






同じカテゴリー(リンデンスクリプトTips)の記事画像
サウンド再生スクリプト(リンデンスクリプト Tips)
カメラコントロール(リンデンスクリプト Tips)
標準時間表示スクリプト(リンデンスクリプト Tips)
プリムカウンター2(リンデンスクリプト Tips)
土地情報チェッカー(リンデンスクリプト Tips)
SIM負荷チェッカー(リンデンスクリプト Tips)
同じカテゴリー(リンデンスクリプトTips)の記事
 サウンド再生スクリプト(リンデンスクリプト Tips) (2009-12-16 20:13)
 カメラコントロール(リンデンスクリプト Tips) (2009-11-21 21:26)
 標準時間表示スクリプト(リンデンスクリプト Tips) (2009-11-02 00:34)
 プリムカウンター2(リンデンスクリプト Tips) (2009-10-12 20:40)
 土地情報チェッカー(リンデンスクリプト Tips) (2009-10-11 21:33)
 SIM負荷チェッカー(リンデンスクリプト Tips) (2009-08-09 20:26)
この記事へのトラックバック
お友達からの依頼で、お店に来た人をグループに招待するスクリプトを作ってみました。とはいえ、LSLには人をグループに招待する関数はありません。代わりに使われるのが、「secondlife:」...
グループご招待スクリプト【虚実のはざま】at 2009年05月07日 00:10
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。