セカCHU☆

SecondLifeのこと

LSLエディタが改良されてるね

2008年08月23日 19時25分48秒 | セカンドライフのすくりぷと
今まで漢字が使えなかったのが、いつの間にか使えるようになってますね
lslのコメントをローマ字で書くとすぐ1行いっぱいになっちゃってたから、漢字が使えるのすっごく便利
便利記念に、あんまり役に立たないscriptの覚書を書いてみようと思いまぁす

戦車の砲台script
integer stat = 0; //撃ってないか、撃ち終わったか
integer sex = 0; //最初に選択する性別
integer hundle; //聞き耳
list play_anim = ["canon-f","canon-m"]; //性別に対応したアニメの名前

default
{
  state_entry()
  {
//ここは空っぽでいいの?
  }

  attach(key id)
  {
    if (id != NULL_KEY)
    {//装着した時だけ、dialogを出してポーズが選べるよ
      hundle = llListen(-44,"",llGetOwner(),"");
      llDialog(llGetOwner(),"I am a....",["man","woman"],-44);
    }
  }

  touch_start(integer total_number)
  {
    if (stat == 0)
    {//まだ撃ってない時の処理
      stat = 1;
      if (llDetectedKey(0)==llGetOwner())
      {//タッチしたのが所有者の時だけ、弾発射ー
        llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
        llStartAnimation(llList2String(play_anim,sex));
        llSleep(1.9);
        llPlaySound("tankfire",1);
        llMessageLinked(LINK_ALL_OTHERS,0,"flash",NULL_KEY);
      }
    } else {//撃った後の処理
      stat = 0;
      if (llDetectedKey(0) == llGetOwner())
      {//タッチしたのが所有者の時だけ、アニメ終了
        llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION);
        llStopAnimation(llList2String(play_anim,sex));
      }
    }
  }
   
  listen(integer ch,string uname,key uid,string mes)
  {//装着してポーズを選ぶまでの間は聞き耳。
  //聞いたら性別をセットして聞き耳終わるよ。
    if (mes == "man")
    {
      sex = 1;
      llListenRemove(hundle);
    } else if (mes == "woman")
    {
      sex = 0;
      llListenRemove(hundle);
    }
  }
}

戦車の爆発script

default
{
  state_entry()
  {
//ここは空っぽでいいの?
  }

  link_message(integer sender_number, integer num, string str, key id)
  {
    if (str == "flash")
    {//"flash"のLinkMessageが来たら爆発表示するよ
      llSetTexture("muzzleflash",ALL_SIDES);
      llSleep(0.2);
      llSetTexture(TEXTURE_TRANSPARENT,ALL_SIDES);
    }
  }
}


どっちから見ても正面に見える看板
default
{
  state_entry()
  {

  }

  touch_start(integer total_number)
  {
    llOwnerSay("touched");
    string texture = "Snapshot";//POPのテクスチャ名
    llParticleSystem(
    [  PSYS_PART_FLAGS , ( 0 |
        PSYS_PART_EMISSIVE_MASK |
        PSYS_PART_INTERP_COLOR_MASK |
        PSYS_PART_INTERP_SCALE_MASK
        )
       ,PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE
       ,PSYS_PART_START_ALPHA, 1.0
       ,PSYS_PART_END_ALPHA, 1.0
       ,PSYS_PART_START_COLOR, <1,1,1>//色
       ,PSYS_PART_END_COLOR, <1,1,1>//色
       ,PSYS_PART_START_SCALE, <2,2,2>//大きさ 最大4x4x4
       ,PSYS_PART_END_SCALE, <2,2,2>//大きさ 最大4x4x4
       ,PSYS_SRC_MAX_AGE, 0.0
       ,PSYS_PART_MAX_AGE, 3.0
       ,PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>
       ,PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>
       ,PSYS_SRC_ANGLE_BEGIN, PI
       ,PSYS_SRC_ANGLE_END, 0*DEG_TO_RAD
       ,PSYS_SRC_BURST_PART_COUNT, 1
       ,PSYS_SRC_BURST_RATE, 1.0
       ,PSYS_SRC_BURST_SPEED_MIN, 0.0
       ,PSYS_SRC_BURST_SPEED_MAX, 0.0
       ,PSYS_SRC_TEXTURE,texture
    ]);
  }
}

touchで飛び跳ねる箱
integer TOUCH=0;  // touch hantei
integer DOCCHI=0;

default
{
  state_entry()
  {

  }
  
  touch_start(integer total_number)
  {
    if (TOUCH == 0){
      llSetTimerEvent(1.5);
      TOUCH = 1;
      llSetText("hop",<1,1,1>,1);
    } else {
      llSetTimerEvent(0.0);
      TOUCH = 0;
      llSetText("off",<1,1,1>,1);
    }
  }

  timer()
  {
    llApplyImpulse(<0,0,10>,FALSE);
  }
}

戦車完成☆

2008年08月23日 16時53分13秒 | セカンドライフのものづくり
ヤッホー、ヤッホッホー、○ーブラヤッホー
完成したよ



またまたインターネットでの写真を探して、撃つ瞬間の爆発を頂いちゃった
自分で描ければって思ってたんだけど、無理だよこんなのー
煙のパーティクルはどうかな?とも思ったけれど、やっぱり絵のほうが迫力あるよね

前から見るとペラペラだから、十字に交差させて後ろからも見えるようにしたよ。
爆発のトコにちょこっと点が見えてるのは、私の技術不足なんだー
音が鳴る瞬間だけ、爆発1プリムにつき裏と表の2枚のtextureを出して、ちょっと後に全部の面を透明にして見えなくしちゃう作戦だったの。
だけど、このtextureを出す命令って、1つにつき0.2秒掛かっちゃうの忘れてた。
1つの命令で出せる面って、1箇所か全部の面かのどっちかだから、
2面に絵を出そうとすると、命令2つ必要になって0.4秒掛かっちゃうのね。
プリム毎に同時に命令を動かしてるから、交差させた2プリムで合計4枚の絵を出すのでも、命令2つを同時に2回で、結局0.4秒。
最悪の2倍で0.8秒っていう事態にはならなかったんだけれど、それでも0.4秒って十分長いよ、全然一瞬じゃないよ。

どうしようか考えて、結局命令1つで全部の面に爆発の絵を出すことに。。。
だから、細ーい縦の面にもじつは絵が出ちゃってるのね
あんまり目立たないからいいけれど、これが売り物だと許されないレベルだよねー


それと、作った後でちょっと考えてみた。
戦車って夢がないよね。
銃やナイフと違って、完全に人間を殺すためだけにしか使われない兵器だもの。
作っちゃったからしょうがないけど、次はもっと夢のあるの作らなきゃダメね



p.s.
よほどじゃないとLMを取らない私
持ってるLMの、古いのから新しいのまで一気に飛んで、今どうなってるか確認してみると、、、
ビックリ、半分くらいは空き地になっちゃってました。
LMを取り始めたのって今年に入ってからだから、半年足らずでどこか他所に移転しちゃってるのね。
お客さん逃がしてないのか、ちょっぴり心配です。
私みたいな人だと、たぶんそれ以上探さずにLMをゴミ箱にポイだもん。
容姿(skinとかshape)とか店舗とか、頻繁に変えちゃってると、見かけても声を掛けられない人になっちゃうよー。
それってすごく悲しいよね。

なので、おうちには興味あるけれど、SIM購入ブームに乗っかっただけのオーナーさんが淘汰されるかなって思う3ヶ月くらい様子を見てから、土地借りたいなって密かに企んじゃってます。
誰かのグループハウスにしちゃってもいいよね。
住むなら長く居られるところで、環境SIMじゃないところね