セカンドライフの歩き方[携帯版]はこちらです。

セカンドライフの歩き方 > スクリプトサンプル集

スクリプトサンプル集

スクリプトの使い方

セカンドライフでよく使うスクリプトを紹介します。スクリプトは一から書こうとすると大変です。始めはサンプルスクリプトをコピーして使うといいでしょう。

サンプルスクリプトの使い方

1.オブジェクト製作ウィンドウ下メニュー【コンテンツ】【新しいスクリプト】をクリック
2.生成された「New Script」を開き、書かれているものを削除
3.使いたいスクリプトのサンプルをコピーし、貼り付けて【保存】

※文字の入力には「"Hello"」のように""で囲むものが多いので、""を忘れないように!
※スクリプトに日本語を使用するときはこちらの日本語変換ページが参考になります。

スクリプト参考HP

lsl wikiSLCOM黒羊団LSL研究部

オブジェクトの上に文字を表示する

default
{
 state_entry()
  {
  llSetText("I am happy", <1,1,1>, 1.0);
  }
}

I am happy … ""の間に、表示させる文字を入力(255文字まで)
<1,1,1> … 文字の色を指定(0〜1)

<1,1,1>=白、<0,0,0>=黒、<1,0,0>=赤、<0,1,0>=緑、<0,0,1>=青
<1,0,1>=紫、<1,1,0>=黄、<1,0.5,0>=橙、など

1.0 … 文字の透明度(0〜1)。1=透明度0% 〜 0=透明度100%
■改行は、「\n」を入力。「 " 」の表示は、「 \" 」を入力。

ホームページを開く

default
{
 touch_start(integer total_number)
  {
  llLoadURL(llDetectedKey(0), "SecondLife no Arukikata", "http://www.sec-life.com/");
  }
}

■1つめの赤文字のところ…サイトタイトル
■2つめの赤文字のところ…サイトURL

オブジェクトを回転させる

default
{
 state_entry()
  {
  llTargetOmega(<1.0,1.0,1.0>, PI, 1.0);
  }
}

<1.0,1.0,1.0>…<x,y,z>座標を表す。数字は回転スピード(1なら1秒間に半回転)

テレポート関連

1.マップを開いてSIM外へテレポートする

string sim_name="Ueno";
vector pos = <48,115,22>;

default
{
 touch_start(integer total_number)
  {
   llMapDestination(sim_name, pos, pos);
  }
}

Ueno … SIM名
<48,115,22> … 座標

2.マップを開かずSIM内の近くへテレポートする

vector offset = <0.0, 0.0, 10.0>;
rotation rot = ZERO_ROTATION;

default {
 state_entry()
 {
  llSitTarget(offset, rot);
 }
 on_rez(integer start_param)
 {
  llResetScript();
 }
 changed(integer change)
 {
  if (change & CHANGED_LINK) {
   key k = llAvatarOnSitTarget();
  if (k != NULL_KEY)  {
   llUnSit(k);
   }
  }
 }
}

■オブジェクトは一般タブで「左クリックだった場合:オブジェクトに座る」に指定。
<0.0, 0.0, 10.0> … <x,y,z>指定した数字分、オブジェクトの位置から移動します。
この場合、z座標に10m、つまり上方向へ10m移動します。

タッチした人にアイテムを与える

default
{
 touch_start(integer total_number)
 {
  key avatar = llDetectedKey(0);
  llGiveInventory(avatar, "itemname");
 }
}

■オブジェクトの中に、この「スクリプト」「渡したいアイテム」を入れます。
itemname…ここに渡したいアイテムの名前を入力。

オーナーにIMを送る

default
{
 touch_start(integer total_number)
 {
  llInstantMessage(llGetOwner(), "Hello Jinn ");
 }
}

Hello Jinn …受け取りたいメッセージを入力

このスクリプトを入れたオブジェクトに誰かがタッチすると、オブジェクトの所有者にIMが届きます(メッセージは赤字の部分に入力)。呼び鈴などに使えそうですね。

パイメニューの表示を変更する

「Touch」の表示を変更

default
{
 state_entry()
 {
  llSetTouchText("Give You");
 }
}

Give You…表示させたい文字

「Sit Here」の表示を変更

default
{
 state_entry()
 {
  llSetSitText("Pose");
 }
}

Pose…表示させたい文字

テクスチャを動かす(アニメーション)

プリムの表面のテクスチャを動かすスクリプト。川や滝など水の流れに使えます。

default
{
 state_entry()
 {
  llSetTextureAnim(ANIM_ON | SMOOTH | LOOP, ALL_SIDES,1,1,1.0,1,0.5);
 }
}

0.5…最後の数字でテクスチャの移動の早さを調整

音(サウンド)を再生する

サウンドをループ再生するスクリプト。プリムの中にサウンドも同封しておきましょう。

default
{
 state_entry()
 {
  llLoopSound("Sound_Name", 1.0);
 }
}

Sound_Name…プリムの中に入れたサウンドの名前を入力

タッチでしゃべるプリム

プリムにタッチすることにより、設定した言葉を返すスクリプトです。

default
{
 touch_start(integer total_number)
 {
  llSay( 0,"Welcome!" );
 }
}

Welcome!…タッチされて返したい言葉を入力

座る位置を設定する

通常オブジェクトに座ろうとすると、アバターとオブジェクトの最短距離の位置で座ろうとするため、変な方向を向いて座ってしまうことがあります。このスクリプトを入れておけば、アバターの座る位置と角度を指定することができます。カウンターのイスや複雑な形のイスに使えるスクリプトです。

default
{
 state_entry()
 {
  llSitTarget(<-1.5,0.3,0.5>,llEuler2Rot(<0.0,90.0,120.0>*DEG_TO_RAD));
 }
}

llSitTarget…座る位置をメートルで指定 <x座標,y座標,z座標,>
llEuler2Rot…座る角度を指定 <x座標,y座標,z座標,>

座る位置や角度の数値は、オブジェクトの形や向きによって異なります。環境に合わせて数値を調整してください。

rss10 rss20 atom03

セカンドライフの本

セカンドライフ 歩き方
ハンドブック
セカンドライフ 歩き方ハンドブック
当サイト「セカンドライフの歩き方」が本になりました
セカンドライフを楽しむ本
セカンドライフを楽しむ本
LINZOOさんとの
共著発売
セカンドライフ
おすすめの本一覧

今日売れてる商品

昨日今日
ArtLife やる気 セラピー カラーセラピー アートセラピー アドセンス アフィリエイト 奈良 資格 色彩日記 仮想美術館 SNS 理科 受験 勉強 オーロラ ジブリ おいしい IT