get paid to paste

ReceiveData

// (C) 2008 Leben Schnabel - not for commercial purposes without written consent



integer OldListener;



warpPos(vector d) 

{   

    integer jumps = (integer)(llVecDist(d, llGetPos()) / 10.0) + 1;  

    if (jumps > 100)

        jumps = 100;     

    list rules = [PRIM_POSITION, d];

    integer count = 1; 

    while ((count = count << 1 ) < jumps) 

        rules = (rules=[]) + rules + rules;   

    llSetPrimitiveParams(rules + llList2List( rules, (count - jumps) << 1, count)); 

    while (llVecDist(llGetPos(), d) > .001)

        llSetPos(d); 

}



default

{

    on_rez(integer Channel)

    {

        llListenRemove(OldListener);

        llListen(Channel, "", "", "");

    }

    listen(integer Chan, string Name, key ID, string Data)

    {

        list Temp = llParseString2List(Data, ["^"], []);

        integer i;

        list PrimData;

        for (i = 0; i < llGetListLength(Temp); ++i)

        {

            list Parse = llParseString2List(llList2String(Temp, i), [";"], []);

            if (llList2String(Parse, 0) == ".Pos")

             {warpPos(llGetPos() + (vector)llList2String(Parse, 1));}

            if (llList2String(Parse, 0) == ".Scale")

             {PrimData = (PrimData=[]) + PrimData + [PRIM_SIZE, (vector)llList2String(Parse, 1)];}

            if (llList2String(Parse, 0) == ".Rot")

             {PrimData = (PrimData=[]) + PrimData + [PRIM_ROTATION, (rotation)llList2String(Parse, 1)];}

            if (llList2String(Parse, 0) == ".Sculpt")

            {

                if (llList2String(Parse, 2) == "Spheric")

                 {PrimData = (PrimData=[]) + PrimData + [PRIM_TYPE, PRIM_TYPE_SCULPT, (key)llList2String(Parse, 1),

                                                         PRIM_SCULPT_TYPE_SPHERE];}

                else if (llList2String(Parse, 2) == "Plane")

                 {PrimData = (PrimData=[]) + PrimData + [PRIM_TYPE, PRIM_TYPE_SCULPT, (key)llList2String(Parse, 1),

                                                         PRIM_SCULPT_TYPE_PLANE];}

                else if (llList2String(Parse, 2) == "Cylinder")

                 {PrimData = (PrimData=[]) + PrimData + [PRIM_TYPE, PRIM_TYPE_SCULPT, (key)llList2String(Parse, 1),

                                                         PRIM_SCULPT_TYPE_CYLINDER];}

            }

            if (llList2String(Parse, 0) == ".Texture")

            {

                PrimData = (PrimData=[]) + PrimData + [PRIM_TEXTURE, ALL_SIDES, (key)llList2String(Parse, 1),

                                                       <1, 1, 0>, <0, 0, 0>, PI];

            }

            if (llList2String(Parse, 0) == ".Name")

             {llSetObjectName(llList2String(Parse, 1));}

        }

        llSetPrimitiveParams(PrimData);

        llRemoveInventory(llGetScriptName());

    }

}

Pasted: Jun 9, 2011, 11:29:36 pm
Views: 63