Difference between revisions of "User:Draconis Neurocam"

From Second Life Wiki
Jump to navigation Jump to search
Line 50: Line 50:
         SetLinkPosLocal2Root(integer linknum,vector offset)
         SetLinkPosLocal2Root(integer linknum,vector offset)
         {
         {
            llSetLinkPrimitiveParamsFast(linknum, [PRIM_POSITION, ((llList2Vector(llGetLinkPrimitiveParams(linknum, [PRIM_POSITION]),0) - llGetPos())/llGetRot())+offset]);
              llSetLinkPrimitiveParamsFast(linknum, [PRIM_POSITION, (llList2Vector(llGetLinkPrimitiveParams(linknum, [PRIM_POS_LOCAL]),0))+offset]);
         }
         }
</lsl>
</lsl>

Revision as of 18:40, 27 March 2012

Salutations, I am Draconis Neurocam.

My goal is to make things better to the best of my ability.

This place is something I dreamed would exist as a child, and now since it does, I love being a part of it.

What most people never actually realize is how powerful what we have at our fingertips is.

I take this as an extension of real life, and not something separate.


@Neurocam_ <lsl> //Written by Nomad Padar one of the most genius people I have ever known vector int2vec(integer n) {

   //0zyx ZZZZ ZZZZ ZZZZ YYYY YYYY XXXX XXXX
   return <n&0xFF, (n>>8)&0xFF, ((n>>16)&0xFF)> + <((n&0x10000000)!=0)*.5,((n&0x20000000)!=0)*.5,((n&0x40000000)!=0)*.5>;

} integer vec2int(vector v) {

   integer x = (integer)(v.x);
   integer y = (integer)(v.y);
   integer z = (integer)(v.z);
   integer out;
   
   //Rounds to 0, .5, or 1.0
   float delta = v.x-x;
   if((delta>.25) && (delta<.75)) out += 0x10000000;
   else if(delta>.75) out += 0x1;
   delta = v.y-y;
   if((delta>.25) && (delta<.75)) out += 0x20000000;
   else if(delta>.75) out += 0x100;
   delta = v.z-z;
   if((delta>.25) && (delta<.75)) out += 0x40000000;
   else if(delta>.75) out += 0x10000;
   out += x+(y<<8)+(z<<16);
   return out;

} default {

   touch_start(integer total_number)
   {
       integer param = vec2int(llGetPos());
       llSay(0, (string)param);
       llSay(0, (string)int2vec(param));
   }

}

</lsl>

<lsl>

       SetLinkPosLocal2Root(integer linknum,vector offset)
       {
             llSetLinkPrimitiveParamsFast(linknum, [PRIM_POSITION, (llList2Vector(llGetLinkPrimitiveParams(linknum, [PRIM_POS_LOCAL]),0))+offset]);
       }

</lsl>

<lsl> <value,maxvalue - value,0> / maxvalue </lsl>

<lsl> list ray(vector s, vector e) {

   return llCastRay(s,e,
   [
       RC_REJECT_TYPES,
                       0
                       //RC_REJECT_AGENTS
                       //|RC_REJECT_PHYSICAL
                       //|RC_REJECT_NONPHYSICAL
                       //|RC_REJECT_LAND
                       ,
       RC_DATA_FLAGS,
                       0
                       //RC_GET_NORMAL
                       //|RC_GET_ROOT_KEY
                       //|RC_GET_LINK_NUM
                       ,
       RC_MAX_HITS, 1,
       RC_DETECT_PHANTOM,FALSE  
   ]);

} </lsl> <lsl> //forwards loop through n (i=(i+1)%n) //backwards loop through n (i=(n+i-1)%n) </lsl>