This is an old revision of the document!


texture-mod_installer.lsl

// -------------------------------------------------------------------------------- TextureMod Installer for M28
// In most cases, this script SHOULD NOT be distributed or sold with FULL PERMISSION. The valuable asset texture
// UUID is intercepted.
//
// rewrite the necessary UUID
key BOD = "268609e0-74d5-166b-7fa8-319f7996501f";
key CC  = "5b21c2d2-53f0-3f7a-8030-b4a3ba748dd0";
key CS  = "ff2d14dc-7e59-be3c-d111-9f3260e26269";
key FC  = "0fb35125-ff14-7a55-9795-916a7f8b7a72";
key FSM = "2a490b69-5a1c-1f63-64c0-aefe9ec0bea8"; // <--- for metal parts of FS
key FSW = "ce044afa-eee9-0597-b808-6c14b1dad20c"; // <--- for wood parts of FS
key LL  = "0f135360-f598-9685-0243-4f63f9bc078b";
key NP  = "1b0b66e2-0cf9-cd04-b0d0-c15dbb763a44";
key R   = "6f5445af-9c9b-c617-a098-3768de982a23";
key RE  = "386f27ef-4959-2ebf-72c0-977b71d77bf6";
key RT  = "c0ac66a2-5786-57ca-81e7-89ce7adebbe0";
// --------------------------------------------------------------------------- you do not need to fix below this
default{
    state_entry(){
        if (llGetObjectPrimCount(llGetKey()) > 10){
            string str = llGetSubString((string)llGetKey(), 0, 3);
            integer ch = -1 - (integer)("0x" + str);
            llListen(ch, "", llGetOwner(), "");
            llDialog(llGetOwner(), "Install ?", ["YES", "NO"], ch);
        }
    }
 
    listen(integer channel, string name, key id, string str){
        if (str == "YES"){
            integer i;
            integer end = llGetObjectPrimCount(llGetKey()) + 1;
            string name;
            list params;
            vector repeat = <1.0, 1.0, 0.0>;
            for (i=2; i<end; i++){
                name = llGetLinkName(i);
                if (name == "BOD"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 1, BOD, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, 1, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "CC"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, CC, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_TEXTURE, 1, CS, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "CS"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, CS, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "FC"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, FC, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "FS"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, FSM, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_TEXTURE, 1, FSW, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "LL"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, LL, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "LR"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, LL, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "NP"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 1, NP, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, 1, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "R"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, R, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "RE"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, RE, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0];
                }
                else if (name == "RT"){
                    params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, RT, repeat, ZERO_VECTOR, 0.0];
                    params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0];
                }
            }
            llSetLinkPrimitiveParamsFast(1, params);
            llRemoveInventory(llGetScriptName());
        }
    }
 
    on_rez(integer start_param){
        llResetScript();
    }
}