ソラマメ
ソラマメブログ > HOME

  

Posted by at

SLでIMや特定ワードを通知する方法(FS+Growl)

2013年12月25日

「セカンドライフの画面を見ているときは何もしないけど、別画面を見ているときに自分の名前を含むチャットやIMが来たときに通知する」という方法を紹介します。
Firestorm限定。Growlと連携します。以下の動画のような通知を実現できます。

○Youtubeを見ている時に声をかけられると最前面にアラート通知

※例では上からトーストが降りてくる通知ですが、他のタイプも色々あります。
 あと、PC画面じゃなくてiphoneとかスマホに通知する設定も出来ます(意味があるかは不明・・)

以降にPC画面に表示させる設定方法をざっくり記載します。

■設定に必要なツール
・Growl
Windows版 http://www.growlforwindows.com/gfw/
Mac版 http://growl.info/

Growlとは一言で言うと「ポップアップ通知システム」です。
詳細は「OS X必携ツール「Growl」の知って得する使い方(ascii.jp)」などを参照のこと。

■設定方法
1.Growlをインストール
成り行き任せでGrowlをインストールします。
インストールするとタスクトレイに猫の手みたいなのが表示されます。

2.FSのGrowl通知を有効にする
「環境設定」→「メッセージ」で、Growl通知にチェックを入れる。
なお、「FSが全面にあってもGrowlで通知」にチェックを入れると、通知がかなりウザイのでやめた方が良いです。


その後FSを再起動してください

3.Growlの設定を確認
タスクトレイの猫の手を右クリックし「open growl」
Applicationsに、Firestorm Viewerがあるのを確認。

これで認識してます。Growlの設定方法の説明は省略します。自分の好みの通知方法に変更してください。


4.FSで通知するアラートの設定
「環境設定」→「チャット」→「キーワード」で
特定キーワードを含むチャットがあったときに、アラート通知できます。


また、「環境設定」→「メッセージ」→「Alerts」で
どんなイベントがあったときにアラート通知するか設定が出来ます。




■一言
先日投稿したTwitter連携との連携もだけど、いろんなツールやサービスと連携して便利で楽しく遊べるといいですね!
読者の方で、良い連携を知っている人、みつけた人は私にもおしえてください。



※この記事は、セカンドライフ 技術系 Advent Calendar 2013 になるかもしれません  


Posted by uten at 23:55Comments(0)

今年一番のSS

2013年12月23日

セカンドライフ あなたのとっておきの1枚 AdventCalendar2013 に参加します。

私のお気に入りは、「自宅の庭にある怪獣ぬいぐるみでご近所さんと遊んでいるSS」です。


数ヶ月前にメインランドに土地を買って、ご近所と仲良くなれました。
たいてい自宅やご近所の家に集まってだらだらしています。それだけで楽しい。
今年こういう空間や隣人を持てたのは幸運でした!  


Posted by uten at 23:02Comments(2)

クリスマスの鳥

2013年12月23日

植物から鳥類に進化したよ。明日からプレゼントを空輸するよ!


む、食べちゃだめです。七面鳥と一緒にしないでください。
  


Posted by uten at 12:45Comments(0)今日の出来事

セカンドライフ内からTwitter投稿する方法

2013年12月23日

ガラケー用Twitter投稿サービス「モバツイ」を利用すると、SLから簡単にツイートできます。
この記事は、その方法を紹介します。

■概要
モバツイは、登録するとツイート専用のメアドが表示されます。ツイートしたい文章をメールの「件名」に書いて、このメアドに送信するとツイートできます。本来ガラケーで利用するサービスですが、セカンドライフ内からこのメアドに投稿してもツイートできます。それを利用します。

■モバツイを利用してツイートするスクリプト
モバツイの登録方法は後半で説明します。まずは、Twitter投稿するLSLの例を記載します。


//
// SLからTwitterに送信するスクリプト(モバツイ登録必須)
//
string address = "xxxxxx@p.movatwi.jp";// モバツイの送信用メールアドレス
string text= "フリーザ様のお店が開きますよ!!"; // 投稿するメッセージ
default{
touch_start(integer total_number){
string title="=?UTF-8?B?"+llStringToBase64(text)+"?=";
llSetText("送信中...",<1,0,0>,1);
        llEmail(address,title,"body-dmy");//モバツイはメール本文は無視される
llSetText("送信完了",<1,1,1>,1);
}
}

タッチすると、Twitterに「フリーザ様のお店が開きますよ!!」とツイートするスクリです。
textは適当にかえれば、ザーボンさんでもドドリアさんでも自由に変えれます。
なお、llEmail関数は呼び出されると20秒くらい固まります。

string address = "xxxxxx@p.movatwi.jp";// モバツイの送信用メールアドレス
の取得方法は下記参照してください。


■モバツイ登録方法(モバツイ送信用メアドの取得方法)
※モバツイはかなり古くからあるサービスで問題ないと思いますが、登録は自己責任でお願いします。

1.モバツイのURLにアクセスしてTwitterにログインを押す
http://s.movatwi.jp/


2.twitterの認証画面が表示されます。内容を確認して許可します


3.右上の鉛筆マークをクリック


4.メールで写真付きツイート(写ツ)を右クリックし、メニューから
「ショートカットのコピー」もしくは「メールアドレスのコピー」もしくは「URLのコピー」を選択します。



5.メールアドレスの貼り付け
さっきのLSLのスクリの部分にコピーしたメアドを貼り付けてください
string address = "xxxxxx@p.movatwi.jp";// モバツイの送信用メールアドレス


※この記事は、セカンドライフ 技術系 Advent Calendar 2013 の記事です。   


Posted by uten at 03:08Comments(0)スクリプト

Firestorm専用のレーダースクリプト

2013年12月20日

SecondlifeビューワのFirestormには謎の機能がいくつかあるのですが、
その一つに「レーダーに表示されるユーザのUUIDをsayする」という機能があります。
「レーダーに表示されるユーザ」といっているのは以下のウインドウに表示されるユーザ一覧のことです。


sayさせるコマンドは以下です。
llTriggerSound("76c78607-93f9-f55a-5238-e19b1a181389", 1.0);
これをLSLで実行するとレーダー上に表示されているアバターのUUIDをカンマで区切った文字列が、チャンネル「-777777777」にsayされます(Sayなので誰でもListenできるところは注意)

参考情報 http://wiki.phoenixviewer.com/scripting_the_radar
(これしか情報がなく、参考にならないのですが・・・)


ちなみに、上図のように7万m以上離れているユーザでも、
レーダーの一覧にさえ映っていればuuidを取得できます。



レーダーを15秒毎にチェックして、指定したUUID(サンプルはuten Resident)を見つけたら通知するスクリを科いてみました。
Firestormでしか動かないスクリプトです。


//
// レーダーに現れたら通知したいユーザのUUID
key target_uuid="988bd4ba-706b-495e-98d2-20da78705a3b";//uten
//
integer detected=0;
integer detected_bak=0;

default{
state_entry(){
llOwnerSay("レーダーチェック開始");
llListen(-777777777,"",NULL_KEY,"");
// 15秒ごとにレーダーチェック
llSetTimerEvent(15);
}
listen(integer channel, string name, key id, string message){
integer i;
string radar_uuid;

list my_list=llParseString2List(message,[","],[""]);
integer end = llGetListLength(my_list);
for (i=2; i<end; ++i){
// レーダーに映っているUUIDを抽出
radar_uuid=llList2String(my_list,i);

if(target_uuid==radar_uuid){
// ターゲットを発見
if(detected_bak==0){
llOwnerSay("ターゲットの人がレーダーにあらわれた");
}
detected=1;
detected_bak=1;
}
}

}
timer(){
if(detected_bak==1 && detected==0){
llOwnerSay("ターゲットの人がレーダーから消えた");
}
detected_bak=detected;
detected=0;
// レーダーをチェックしてUUIDを-777777777にsayさせる謎のコマンドw
llTriggerSound("76c78607-93f9-f55a-5238-e19b1a181389", 1.0);
}
}


※このスクリはあくまでサンプルです。sayはみんなに聞こえますので、セキュリティ的問題がありますw

しかし、ここまで書いておいてなんですが、
llSensorllGetAgentListllGetAgentSizeを使うよりもメリットがあるかどうかは不明!
有用な使い方を思いついた方は是非お知らせいただきたいです^0^


※この記事は セカンドライフ 技術系 Advent Calendar 2013 の記事です。   


Posted by uten at 01:22Comments(1)スクリプト