Join us in Phaze Demesnes or follow us:

Home   Show All
Category: Contributor: Creator
Transmogrify TransmogrifyAvatar  

TransmogrifyAvatar

for anything you wear

Category: Transmogrify
By : Ferd Frederix
Created: 2013-09-08 Edited: 2013-09-08
Worlds: Second Life + OpenSim

the Zip file

Download all files for TransmogrifyAvatar
Contents are in zip format, with .LSL (text) source code and LSLEdit (text + Solution) formats.
Get file # 1. Accessories.lsl
Get file # 2. anti-no-script.lsl
Get file # 3. Controller.lsl
Get file # 4. Particles.lsl
Get file # 5. Pet.lsl

This script by Ferd Frederix may be used in any manner, modified, and republished.  Unless specified otherwise, my scripts are always free and open source.  Objects made with these scripts may be sold with no restrictions.  All I ask is that you point others to this location should they ask you about it and to not sell this script, unless it is for $0 L. Please help improve my work by reporting bugs and improvements.

1 // Transmogrifyer script
2 // License: CC-BY. Please do not remove the copyright or this notice
3 // Author: Ferd Frederix
4
5 // For all your worn accessories (not the pet)
6 // makes accessories like shoes and hair disappear when you fly.
7
8 integer ownerchannel;
9 integer listener;
10
11 setlisten()
12 {
13 if (listener) {
14 llListenRemove(listener);
15 }
16 listener = llListen(ownerchannel,"","","");
17 }
18
19
20 hide_show( float alpha)
21 {
23 integer k = 2; // do it twice to get rid of lost packets
24 while (k--)
25 {
27 for ( i = 0; i <= j; i++) {
28 llSetLinkAlpha(i,alpha, ALL_SIDES);
29 }
30 }
31 }
32
33
34 default
35 {
37 {
38 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
39 hide_show(0); // 0 = invisible
40 setlisten();
41 }
42
43
44 on_rez(integer param)
45 {
46 hide_show(1); // 1= visible
47 setlisten();
48 }
49
51 {
52 // no reset needed, we just need to re-establish a listener
53 if (what & CHANGED_REGION)
54 setlisten();
55
56 if(what & CHANGED_OWNER)
58 }
59
60 listen(integer channel, string name, key id, string msg)
61 {
62 if (msg == "pet") {
63 hide_show(0);
64 } else if (msg == "avatar") {
65 hide_show(1);
66 }
67 }
68 }

TransmogrifyAvatar

for any prim so it works in no script zones

Category: Transmogrify
By : Ferd Frederix
Created: 2013-09-08 Edited: 2013-09-08
Worlds: Second Life + OpenSim


This script by Ferd Frederix may be used in any manner, modified, and republished.  Unless specified otherwise, my scripts are always free and open source.  Objects made with these scripts may be sold with no restrictions.  All I ask is that you point others to this location should they ask you about it and to not sell this script, unless it is for $0 L. Please help improve my work by reporting bugs and improvements.

1 // Script Name: Anti_no-script_script.lsl
2 // Author: Ferd Frederix
3 // Lets any attachment with scripts work in a no-script zone.
4
5 // Downloaded from : http://www.free-lsl-scripts.com/cgi/freescripts.plx?ID=1644
6
7 // This program is free software; you can redistribute it and/or modify it.
8 // Additional Licenes may apply that prevent you from selling this code
9 // You must leave any author credits and any headers intact in any script you use or publish.
10 ///////////////////////////////////////////////////////////////////////////////////////////////////
11 // If you don't like these restrictions and licenses, then don't use these scripts.
12 //////////////////////// ORIGINAL AUTHORS CODE BEGINS ////////////////////////////////////////////
13
14
15 // The Script
16 //
17 //
18 // ______ _ ______ _ _
19 // | ___| | | | ___| | | (_)
20 // | |_ ___ _ __ __| | | |_ _ __ ___ __| | ___ _ __ ___ __
21 // | _/ _ \ '__/ _` | | _| '__/ _ \/ _` |/ _ \ '__| \ \/ /
22 // | || __/ | | (_| | | | | | | __/ (_| | __/ | | |> <
23 // \_| \___|_| \__,_| \_| |_| \___|\__,_|\___|_| |_/_/\_\
24 //
25 // fred@mitsi.com
26 // author Ferd Frederix
27 //
28
29 // anti-no-script script
30 // makes attached prims into a vehicle so they work in no-script zones.
31 // If you attach the prim while in a no-script zone, it won't work. Fly up 50 meters or so and it will start.
32 // Works only when in the root prim.
33
34 default
35 {
37 {
40 }
41
42
43
44
46 {
47 integer hasPerms = llGetPermissions();
48
50
51 }
52
53
54
56 {
57 if(id)//tests if it is a valid key and not NULL_KEY
58 {
60 }
61 else
62 {
63 llReleaseControls(); // detached
64 }
65 }
66 }

TransmogrifyAvatar

FOr the head of the avatar

Category: Transmogrify
By : Ferd Frederix
Created: 2013-09-08 Edited: 2013-09-08
Worlds: Second Life + OpenSim


This script by Ferd Frederix may be used in any manner, modified, and republished.  Unless specified otherwise, my scripts are always free and open source.  Objects made with these scripts may be sold with no restrictions.  All I ask is that you point others to this location should they ask you about it and to not sell this script, unless it is for $0 L. Please help improve my work by reporting bugs and improvements.

1 // Transmogrifyer script
2 // License: CC-BY. Please do not remove the copyright or this notice
3 // Author: Ferd Frederix
4 // 8-25-2013
5 // Controller goes in the root prim of the body.
6
7
8 integer type = -1;
9 integer ownerchannel;
10
11 integer person = TRUE;
12
13 hide_show( float alpha)
14 {
16 integer k = 2; // do it twice to get rid of lost packets
17 while (k--)
18 {
20 for ( i = 0; i <= j; i++) {
21 llSetLinkAlpha(i,alpha, ALL_SIDES);
22 }
23 }
24 }
25
26 // flop and send a link message for particle effects
27 switch(string what)
28 {
29 if (what == "avatar" && ! person)
30 {
31 llMessageLinked(LINK_SET,0,"switch","");
32 llSay(ownerchannel,"avatar");
33 person = TRUE;
34 hide_show(1.0); // invisible
35
36 }
37 else if (what == "pet" && person)
38 {
39 llMessageLinked(LINK_SET,0,"switch","");
40 llSay(ownerchannel,"pet");
41 person = FALSE;
42 hide_show(0.0);
43 }
44
45 }
46 default
47 {
49 {
50 llResetScript(); // so we can change owner
51 }
52
54 {
55 // Make this prim an invisiprim.
56 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
57 hide_show(1.0);
58 llSetTimerEvent(0.5);
59 }
60
61 timer()
62 {
64 if (flight & AGENT_IN_AIR)
65 {
66 switch("pet");
67 }
68 else
69 {
70 switch("avatar");
71 }
72 }
73 }

TransmogrifyAvatar

makes a flash of smoke when you transmogrify

Category: Transmogrify
By : Ferd Frederix
Created: 2013-09-08 Edited: 2013-09-08
Worlds: Second Life + OpenSim


This script by Ferd Frederix may be used in any manner, modified, and republished.  Unless specified otherwise, my scripts are always free and open source.  Objects made with these scripts may be sold with no restrictions.  All I ask is that you point others to this location should they ask you about it and to not sell this script, unless it is for $0 L. Please help improve my work by reporting bugs and improvements.

1 // Transmogrifyer script
2 // License: CC-BY. Please do not remove the copyright or this notice
3 // Author: Ferd Frederix
4
5 // Particles is a poofer effect for changing. Put it in the head, body and feet section of the avatar and in the pet.
6 // Easy to change the colors, or add a texture.
7
8 // Sends a RED flash of 400 particles for 1 second.
9 // If you add a texture to it, put the same texture on the side of a small box inside your pet so it will be cached and appear instantly.
10
11 // MASK FLAGS: set to "TRUE" to enable
12
13 integer glow = TRUE; // Makes the particles glow
14 integer bounce = FALSE; // Make particles bounce on Z plane of objects
15 integer interpColor = TRUE; // Color - from start value to end value
16 integer interpSize = TRUE; // Size - from start value to end value
17 integer wind = FALSE; // Particles effected by wind
18 integer followSource = FALSE; // Particles follow the source
19 integer followVel = TRUE; // Particles turn to velocity direction
20
21
22
23 // Choose a pattern from the following:
24 // PSYS_SRC_PATTERN_EXPLODE
25 // PSYS_SRC_PATTERN_DROP
26 // PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
27 // PSYS_SRC_PATTERN_ANGLE_CONE
28 // PSYS_SRC_PATTERN_ANGLE
29 // PSYS_SRC_PATTERN_EXPLODE;
30
31 integer pattern = PSYS_SRC_PATTERN_EXPLODE;
32 // Select a target for particles to go towards
33 // "" for no target, "owner" will follow object owner
34 // and "self" will target this object
35 // or put the key of an object for particles to go to
36
37 key target = ""; // if set to a UUID, such as llGetOwner(0), the particles go that-away
38
39
40 // PARTICLE PARAMETERS
41
42 float age = 0.1; // Life of each particle
43 float maxSpeed = 10.0; // Max speed each particle is spit out at
44 float minSpeed = 3; // Min speed each particle is spit out at
45 string texture = ""; // Texture used for particles, default used if blank
46 float startAlpha = 0.5; // Start alpha (transparency) value
47 float endAlpha = 0.5; // End alpha (transparency) value
48 vector startColor = <0,0,1>; // Start color of particles <R,G,B>
49 vector endColor = <0,0,1>; // End color of particles <R,G,B> (if interpColor == TRUE)
50 vector startSize = <1.0,2.0,1.0>; // Start size of particles
51 vector endSize = <1,2,1.0>; // End size of particles (if interpSize == TRUE)
52 vector push = <0.0,0.0,0.0>; // Force pushed on particles
53
54
55 // SYSTEM PARAMETERS
56
57 float rate = 0.1; // How fast (rate) to emit particles
58
59
60 float life = 1.0; // Life in seconds for the system to make particles
61 integer count = 40; // How many particles to emit per BURST
62 // life (1) / age (.1) * count (4) = 400 particles, about 10% of what anyone can see
63
64 float radius = 0.25; // Radius to emit particles for BURST pattern, helps cover up the avatar
65 float outerAngle = TWO_PI; // Outer angle for all ANGLE patterns, TWO_PI is a full sphere
66 float innerAngle = 0.5; // Inner angle for all ANGLE patterns
67 vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source
68
69
70 // SCRIPT VARIABLES
71 integer flags;
72
73 // nothing to see here. Go play somewhere else
74 StartSteam()
75 {
76
77 flags = 0;
78
79 if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
80 if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
81 if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
82 if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
83 if (wind) flags = flags | PSYS_PART_WIND_MASK;
84 if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
85 if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
86 if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;
87
89 PSYS_PART_FLAGS,flags,
90 PSYS_PART_START_COLOR, startColor,
91 PSYS_PART_END_COLOR, endColor,
92 PSYS_PART_START_SCALE,startSize,
93 PSYS_PART_END_SCALE,endSize,
94 PSYS_SRC_PATTERN, pattern,
96 PSYS_SRC_ACCEL, push,
102 PSYS_SRC_INNERANGLE,innerAngle,
103 PSYS_SRC_OUTERANGLE,outerAngle,
104 PSYS_SRC_OMEGA, omega,
105 PSYS_SRC_MAX_AGE, life,
106 PSYS_SRC_TEXTURE, texture,
107 PSYS_PART_START_ALPHA, startAlpha,
108 PSYS_PART_END_ALPHA, endAlpha
109 ]);
110
111 }
112
113
114 default
115 {
117 {
118 StartSteam(); // show the flash when it resets
119 }
120
121 link_message(integer sender_number, integer number, string message, key id)
122 {
123
124 if (message == "switch")
125 {
126 StartSteam();
127 }
128 }
129 }

TransmogrifyAvatar

For any attached pet that is to appear when you Transmogrify

Category: Transmogrify
By : Ferd Frederix
Created: 2013-09-08 Edited: 2013-09-08
Worlds: Second Life + OpenSim


This script by Ferd Frederix may be used in any manner, modified, and republished.  Unless specified otherwise, my scripts are always free and open source.  Objects made with these scripts may be sold with no restrictions.  All I ask is that you point others to this location should they ask you about it and to not sell this script, unless it is for $0 L. Please help improve my work by reporting bugs and improvements.

1 // Transmogrifyer script
2 // License: CC-BY. Please do not remove the copyright or this notice
3 // Author: Ferd Frederix
4
5 // For your pet
6 // makes the pet appear when you fly
7
8 integer ownerchannel;
9 integer listener;
10
11 setlisten()
12 {
13 if (listener) {
14 llListenRemove(listener);
15 }
16 listener = llListen(ownerchannel,"","","");
17 }
18
19
20
21 hide_show( float alpha)
22 {
24
26 for ( i = 0; i <= j; i++) {
27
29 }
30
31 }
32
33 default
34 {
36 {
37 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
38 hide_show(1); // 1 = visible
39 setlisten();
40 }
41
42 on_rez(integer param)
43 {
44 hide_show(0); // 0= invisible
45 setlisten();
46 }
47
49 {
50 if (what & CHANGED_REGION)
51 setlisten();
52 if(what & CHANGED_OWNER)
54 }
55
56 listen(integer channel, string name, key id, string msg)
57 {
58 if (msg == "pet") {
59 hide_show(1);
60 } else if (msg == "avatar") {
61 hide_show(0);
62 }
63 }
64 }