全く役に立つとは思えないtips集

全く役にたつとは思えないtips集とは
  • まさに誰得 しかし使い方がわかればこれほど有意義なものはないというtipsである
 インベントリに新規スクリプト作ってコピペすればいいじゃなーい


  • パーティクル強制停止
 使い方:スクリプト消したのにパーティクル消えないじゃんって悩む前にこれをぶちこめ

default { 
   state_entry(){
     llParticleSystem([]);
     llRemoveInventory(llGetScriptName());
   }
}

  • リンクプリムの素材を一括変更して自動消滅するスクリプト
 使い方:適当にコピペしてぶちこめ

list material=["stone","metal","glass","wood","flesh","prastic","rubber"];
integer Handle;
change_material(integer material){
   llSetLinkPrimitiveParams(LINK_SET,[PRIM_MATERIAL,material]);
}
   
default
{

   state_entry()
   {
       Handle = llListen(200, "", "", "");
       llDialog(llGetOwner(),"change material",material,200);
   }
   listen(integer channel, string name, key id, string message)
   {
       change_material(llListFindList(material,[message]));
       llRemoveInventory(llGetScriptName());
   }
}

  • 超簡略型タイピングオブジェクトスクリプト
 使い方:適当にコピペしてぶちこむとチャット時だけ表示されるオブジェクトになる


default { 
 state_entry(){ 
   llSetTimerEvent(0.1); 
 } 
 timer(){ 
   float num = 1.0; 
   if (llGetAgentInfo(llGetOwner()) & AGENT_TYPING ){ 
       num = 1.0; 
       llSetLinkAlpha(ALL_SIDES,num,ALL_SIDES); 
   }else{ 
       num = 0.0; 
       llSetLinkAlpha(ALL_SIDES,num,ALL_SIDES); 
   } 
 } 
}

  • フローティングテキストの削除
 使い方:ぶちこむとフローティングテキストが消えて自動消滅

default
{
   state_entry()
   {
       llSetText("",<1,1,1>,0);
       llRemoveInventory(llGetScriptName());
   }
}

  • 1プリムの木
 使い方:適当にコピペしてぶちこむと1プリムの木のテンプレになった後自己消滅

default
{

   state_entry()
   {
   llSetPrimitiveParams([PRIM_TYPE,7, "5a2e3a9f-e9e8-c680-f6be-a89e13f0ffe0", 1,PRIM_TEXTURE,ALL_SIDES, "32dfd1c8-7ff6-5909-d983-6d4adfb4255d", <2.000000, 16.000000, 0.000000>, <0.000000, 0.500015, 0.000000>, 0.000000]);
       llRemoveInventory(llGetScriptName());
   }
}

  • テクスチャ プリローダー
 使い方:スカルプアニメとかのプリロード用に使うと便利
 はっつけたいテクスを9枚までをこのスクリプトと一緒にぶちこめ

default
{

   state_entry()
   {
       llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,0,<0.05,0.95,0>,0.1,<0,0,0>,<1,1,0>,<0,0,0>]);
       integer i;
       for(i=0;i<llGetInventoryNumber(INVENTORY_TEXTURE);++i){
           llSetTexture(llGetInventoryName(INVENTORY_TEXTURE,i),i);
       }
       llSetAlpha(0.0,ALL_SIDES);
       llRemoveInventory(llGetScriptName());
   }
}

  • 超簡易リサイズスクリプト
 使い方:ぶちこんだ後にタッチして"size 1.0"とかsayするとその倍率にリサイズされるが
  アンドゥーも復帰も無いからミスったら終了という鬼畜スクリプト
integer handle;
 
resizing(float scale){
           integer i;
           llResetTime();
           for(i=1;i<=llGetNumberOfPrims();++i){
               list param=llGetLinkPrimitiveParams(i,[7,6]);
               if(i!=1){
                   llSetLinkPrimitiveParamsFast(i,[7,llList2Vector(param,0)*scale
                           ,6,((llList2Vector(param,1)-llGetPos())/llGetRot())*scale]);
               }else{
                   llSetLinkPrimitiveParamsFast(i,[7,llList2Vector(param,0)*scale]);
               }
           }
           llSay(0,(string)llGetTime());
}
default
{
   touch_start(integer total_number)
   {
       if(llDetectedKey(0)==llGetOwner()){
           llSay(0,"set scale");
           handle=llListen(0,"",llGetOwner(),"");
           llSetTimerEvent(30);
       }
   }
   listen(integer channel, string name, key id, string message){
       if(llGetSubString(message,0,3)=="size"){
           float scale=(float)llGetSubString(message,5,-1);
           resizing(scale);
       }
       llOwnerSay("comp");
       llSetTimerEvent(0);
       llListenRemove(handle);
   }
   timer(){
       llSay(0,"timeout");
       llSetTimerEvent(0);
       llListenRemove(handle);
   }
}

  • リンクされた子プリム(スカルプ限定)をファントム化するスクリプト
 使い方:ファントム化したいスカルプの子プリムにぶちこめばおk
     ルートをノーマルプリムで当たり判定にして見た目部分をスカルプで作ればいいじゃなーい
     当然のごとく物理オブジェクトでは動かないから注意

key map="";//マップのUUIDを適当にぶちこむ
default
{
   state_entry(){
       llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,0, <0.0,1.0,0>, .0, <0,0,0>, <1,1,0>,<0,0,0>,PRIM_FLEXIBLE,TRUE,0,0.0,0.0,0.0,0.0,<0,0,0>]);
       llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_SCULPT,map,0]);
   }
   on_rez(integer i){
       llResetScript();
   }
   changed(integer c)
   {
       if (c & (CHANGED_REGION | CHANGED_REGION_START | CHANGED_TELEPORT) )
       {
           llResetScript();
       }
   }
}
最終更新:2010年08月22日 16:56