2007年10月12日

セカンドライフで麻雀を楽しもう

セカンドライフ内で本格的な麻雀を楽しめる場所があります。テレポートはこちらから。

一人でもロボットが相手してくれますし、夜になるとスタッフの方やプレイヤーの皆さんが集まりますのでもっと楽しめます。ちなみに将棋もあります。




ゲーム代は無料で、お金を賭けることも無いのでどなたでも安心して遊べます。半荘戦、東風戦の切り替えが可能。




プレイの仕方や




ルールもこのように丁寧に説明されているので誰でも簡単に遊ぶ事ができます。




こちらはプレイ中の画面になります。とってもリアルです。点数計算や符計算はコンピューターがやってくれますので、詳しく無い方でも心配要りませんね。是非一度遊んでみて下さい。

2007年10月6日

メールの送受信をする

スクリプトでメールの送受信をしてみましょう。セカンドライフ内から外へメールを送信したり、外からセカンドライフ内にメールを送ることが可能です。

~~~~~~~~~~セカンドライフ内から外へメールを送信する~~~~~~~~~

llEmail(メールアドレス,題名,本文)関数を使用します。()の中に、送り先のメールアドレス、メールのタイトル、メールの本文を入力します。

default
{
   touch_start(integer total_number)
    {
      llEmail("XXXXXXXXX@XXXX","TEST","TEST DA YO");
    }
}

上記のスクリプトはオブジェクトをタッチすると、「XXXXXXXXX@XXXX」宛に、「TEST」という件名で、「TEST DA YO」という本文のメールを送信するスクリプトです。試しに私のメルアドに送信したところ、下記のようなメールが届きました。

Subject: TEST
Object-Name: Object
Region: NEO KOBE (166144, 270848)
Local-Position: (193, 156, 27)

TEST DA YO

~~~~~~~~~~~外からセカンドライフ内にメールを送る~~~~~~~~~~

セカンドライフに存在するオブジェクトにはすべて固有のキー(UUID)があり、ひとつひとつのオブジェクトが固有のメールアドレスを持っている状態です。メールアドレスは下記のような構成になっています。

オブジェクトのキー(UUID)@lsl.secondlife.com

つまりオブジェクトのキーさえわかれば、そのオブジェクトにメールを送ることが可能になるわけですね。

早速、llGetKeyを使用してメール受け取りに使用したいオブジェクトのキーを調べましょう。

default
{
 touch_start(integer total_number)
  {
     key thisKey = llGetKey();
     llOwnerSay("Key = " +(string)thisKey");
  }
}


上記のスクリプトは、オブジェクトをタッチするとそのオブジェクトのキー(UUID)をオーナーのみに聞こえる会話で知らせるスクリプトです。これで、このオブジェクトのキーが1aba5de3-f983-282f-7948-14a9f1beaad8ということがわかりました。先程出てきたメールアドレスに追加します。

1aba5de3-f983-282f-7948-14a9f1beaad8@lsl.secondlife.com

上記がこのオブジェクトの持っているメールアドレスになります。これでこのオブジェクトにメールを送ることができますが、オブジェクトにメールを受け取る設定をしなければメールは届きません。llGetNextEmail(受信するメールアドレス,受信するメールの題名)関数を使用して、受信するための設定をしましょう。

特に受信するメールを指定しない場合は、("", "")のように文字列を空にします。

default
{
  touch_start(integer total_number)
    {
      llGetNextEmail("", "");
    }
  email(string time, string address, string subj, string message, integer num_left)
   {
      llOwnerSay("Title = " + subj);
      llOwnerSay("From = " + address);
      llOwnerSay("Time = " + time);
      llOwnerSay("Message = " + message);
      llOwnerSay("Hokano Mail = " + (string)num_left);
   }
}

上記のスクリプトは、オブジェクトをタッチすると、そのオブジェクト宛に送られてきたメールを受信して、オーナーのみに聞こえる会話で内容を話すスクリプトになります。

試しに外から1aba5de3-f983-282f-7948-14a9f1beaad8@lsl.secondlife.com宛にメールを送ったところ、セカンドライフ内できちんと受け取り、内容を話してくれました。

*1aba5de3-f983-282f-7948-14a9f1beaad8はブログ用に作成したオブジェクトのキーになります。現在は削除済みですので存在しません。

2007年10月2日

スクリプト資料について

LSLで使用する関数をまとめました。lslWikiを参考に、カテゴリー別に分けてあります。この資料が素晴らしいスクリプトを組む手助けになれば幸いです。

まだサンプルが少なく物足りないかとは思いますが、使用例と画像を載せて分かりやすいものにする為に奮闘中ですのでお待ち下さいです。

2007年9月28日

テレポートさせる

特定の場所へのマップを表示させ、テレポート誘導させるスクリプト。

default
{
    state_entry()
    {
       llSetText("Teleport to Akiba",<1,0,0>,1);
       llSetTouchText("Teleport");
    }
    touch_start(integer total_number)
    {
       llMapDestination("Akiba",<128,128,0>,<128,128,0>);
    }
}

~~~~~~~~~~~~~命令ごとの説明~~~~~~~~~~~~~~~

llSetText("Teleport to Akiba",<1,0,0>,1);

オブジェクトの上にTeleport to Akibaと不透明な赤い文字で表示させる。


llSetTouchText("Teleport");

パイメニューの「Touch」を「Teleport」に表示変更。


touch_start(integer total_number)
     {
       llMapDestination("Akiba",<128,128,0>,<128,128,0>);
     }


オブジェクトに触るとシム名:Akibaの座標128,128,0のマップを表示させる。

2007年9月25日

ウェブからSecondLife内の特定の場所へ移動させたい

SLurlというサービスがあります。移動させたい場所の地域名と座標を入力してURL移動すると、その場所へテレポートすることができます。

自分のサイトに来てくれた方に、自分のお店、お気に入りの場所などを紹介したい場合に便利ですね。セカンドライフにログインしていない場合は、ログイン画面に移動します。

http://slurl.com/secondlife/移動する地域名/X座標/Y座標/Z座標/