get paid to paste

ReadImport

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



integer Line;

string NCName;



list Datas;



vector TempScale;



default

{

    on_rez(integer Dummy)

     {llResetScript();}

    state_entry()

    {

        llWhisper(0, "Maya Sculpt Importer");

        llWhisper(0, "Please drop a notecard with the Maya script in me and the textures i need. Click me to start.");

    }

    touch_start(integer total_number)

    {

        if (llDetectedKey(0) == llGetOwner())

        {

            NCName = llGetInventoryName(INVENTORY_NOTECARD, 0);

            if (NCName == "")

             {llWhisper(0, "Cannot start import, missing Maya script in notecard.");}

            else

             {state Start;}

        }

    }

}



state Start

{

    on_rez(integer Dummy)

     {llResetScript();}

    state_entry()

    {

        llWhisper(0, "Beginning...");

        llGetNotecardLine(NCName, Line);

    }

    dataserver(key Dummy, string Data)

    {

        if (Data != EOF)

        {

            if (llToLower(Data) == "newprim")

            {

                if (llGetListLength(Datas) > 0)

                {

                    integer TempChan = llRound(llFrand(100000)) + 100;

                    llRezAtRoot(llGetInventoryName(INVENTORY_OBJECT, 0), llGetPos() + <1, 0, 1>, ZERO_VECTOR, ZERO_ROTATION,

                                TempChan);

                    llSay(TempChan, llDumpList2String(Datas, "^"));

                    Datas = [];

                }

            }

            else

            {

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

                integer i;

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

                {

                    if (llList2String(Temp, i) == "-setObjectName")

                    {

                        Datas = (Datas=[]) + Datas + [".Name;" + llList2String(Temp, i + 1)];

                        i = i + 1;

                    }

                    if (llList2String(Temp, i) == "-setSculpt")

                    {

                        key TextureKey = llGetInventoryKey(llList2String(Temp, i + 1));

                        if (TextureKey == NULL_KEY)

                         {llWhisper(0, "WARNING: Missing texture " + llList2String(Temp, i + 1));}

                        else

                        {

                            string SculptType = "Spheric";

                            if (llSubStringIndex(llToLower(llList2String(Temp, i + 1)), "planesculpt") != -1)

                             {SculptType = "Plane";}

                            if (llSubStringIndex(llToLower(llList2String(Temp, i + 1)), "cylindersculpt") != -1)

                             {SculptType = "Cylinder";}

                            Datas = (Datas=[]) + Datas + [".Sculpt;" + (string)TextureKey + ";" + SculptType];

                            i = i + 1;

                        }

                    }

                    if (llList2String(Temp, i) == "-setTexture")

                    {

                        key TextureKey = llGetInventoryKey(llList2String(Temp, i + 1));

                        if (TextureKey == NULL_KEY)

                         {llWhisper(0, "WARNING: Missing texture " + llList2String(Temp, i + 1));}

                        else

                        {

                            Datas = (Datas=[]) + Datas + [".Texture;" + (string)TextureKey];

                            i = i + 1;

                        }

                    }

                    if (llList2String(Temp, i) == "-setScale")

                    {

                        TempScale = <llList2Float(Temp, i + 1), llList2Float(Temp, i + 2), llList2Float(Temp, i + 3)>;

                        Datas = (Datas=[]) + Datas + [".Scale;<" + llList2String(Temp, i + 1) + "," +

                                                      llList2String(Temp, i + 2) + "," +

                                                      llList2String(Temp, i + 3) + ">"];

                        i = i + 3;

                    }

                    if (llList2String(Temp, i) == "-gotoRelativePos")

                    {

                        

                        Datas = (Datas=[]) + Datas + [".Pos;<" + (string)(llList2Float(Temp, i + 1) * TempScale.x) + "," +

                                                      (string)(llList2Float(Temp, i + 2) * TempScale.y) + "," +

                                                      (string)(llList2Float(Temp, i + 3) * TempScale.z) + ">"];

                        i = i + 3;

                    }

                }

            }

            Line = Line + 1;

            llGetNotecardLine(NCName, Line);

        }

        else

        {

            if (llGetListLength(Datas) > 0)

            {

                integer TempChan = llRound(llFrand(100000)) + 100;

                llRezAtRoot(llGetInventoryName(INVENTORY_OBJECT, 0), llGetPos() + <1, 0, 1>, ZERO_VECTOR, ZERO_ROTATION,

                            TempChan);

                llSay(TempChan, llDumpList2String(Datas, "^"));

            }

            llWhisper(0, "Done.");

            llResetScript();

        }

    }

}

Pasted: Jun 9, 2011, 11:41:17 pm
Views: 45