Join us in Phaze Demesnes or follow us:

Home   Show All
Category: Contributor: Creator
Transmogrify Transmogrifier  

Transmogrifier

Transmogrify script. Goes in a large prim and covers up your avatar. Wear the prim on your pelvis for best results.

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

the Zip file

Download all files for Transmogrifier
Contents are in zip format, with .LSL (text) source code and LSLEdit (text + Solution) formats.
Get file # 1. Transmogrifier_1.lsl
Get file # 2. Transmogrifier_2.lsl
Get file # 3. Transmogrifier_3.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 // License: CC-BY. Please do not remove the copyright or this notice
2
3 // Author: Ferd Frederix
4 // Put in a large prim, and wear it.
5
6 integer type = -1;
7 integer ownerchannel;
8 integer listener;
9 integer person = TRUE;
10
11 switch(string what)
12 {
13 if (what == "avatar" && ! person)
14 {
15 llSay(ownerchannel,"avatar");
16 person = TRUE;
17 llSetAlpha(0.0,ALL_SIDES); // invisible
18 }
19 else if (what == "pet" && person)
20 {
21 llSay(ownerchannel,"pet");
22 person = FALSE;
23 // Make this prim an invisiprim.
24 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
25 llSetPrimitiveParams([PRIM_TEXTURE, ALL_SIDES, "e97cf410-8e61-7005-ec06-629eba4cd1fb", ZERO_VECTOR, ZERO_VECTOR, 0.0]);
26 }
27
28 }
29
30 default
31 {
32
34 {
36 }
37
39 {
40 // Make this prim an invisiprim.
41 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
42 llSetPrimitiveParams([PRIM_TEXTURE, ALL_SIDES, "e97cf410-8e61-7005-ec06-629eba4cd1fb", ZERO_VECTOR, ZERO_VECTOR, 0.0]);
43
44 llSetStatus(STATUS_PHANTOM,TRUE);
45 llSetTimerEvent(0.5);
46 }
47
48 timer()
49 {
51 if (flight & AGENT_IN_AIR)
52 {
53 switch("pet");
54 }
55 else
56 {
57 switch("avatar");
58 }
59 }
60
61
62 touch_start(integer total_number)
63 {
64 if (listener)
65 llListenRemove(listener);
66 integer channel = llCeil(llFrand(10000) +10000);
67 listener = llListen(channel,"","","");
68 llDialog(llGetOwner(),"Choose",["Switch", "Help", "Auto"], channel);
69 }
70
71 listen( integer channel, string name, key id, string message ) {
72 if (message =="Switch")
73 {
74 if (type) {
75 switch("avatar");
77 } else {
78 switch("pet");
80 }
81
82 type= ~ type;
83 } else if (message == "Auto"){
84 llSetTimerEvent(0.5);
85 } else if (message == "Help") {
86 llLoadURL(llGetOwner(),"Get Help","http://www.free-lsl-scripts.com/opensim/posts/transmogrifier/");
87 }
88
89 }
90
91 }

Transmogrifier

Accessories Script. Goes in any prim attached to your avatar, such as hair.

Category: Transmogrify
By : Ferd Frederix
Created: 2013-08-15 Edited: 2013-08-15
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 // License: CC-BY. Please do not remove the copyright or this notice
2
3 // Author: Ferd Frederix
4 // For all your worn accessories (not the pet)
5 // makes accessories like shoes and hair disappear when you fly.
6
7 integer ownerchannel;
8 integer listener;
9
10 setlisten()
11 {
12
13 if (listener) {
14 llListenRemove(listener);
15 }
16 listener = llListen(ownerchannel,"","","");
17 }
18
19
20 hide_show( float alpha)
21 {
24 for ( i = 0; i <= j; i++) {
25 llSetLinkAlpha(i,alpha]);
26 llSetLinkAlpha(i,alpha]); // do it twice as this is UDP and packets get lost
27 }
28 }
29
30 default
31 {
33 {
34 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
35 hide_show(0); // 0 = invisible
36 setlisten();
37 }
38
39 on_rez(integer param)
40 {
41 hide_show(1); // 1= visible
42 setlisten();
43 }
44
45
46
48 {
49 if (what & CHANGED_REGION)
50 setlisten();
51 if(what & CHANGED_OWNER)
53 }
54
55 listen(integer channel, string name, key id, string msg)
56 {
57 if (msg == "pet") {
58 hide_show(0);
59 } else if (msg == "avatar") {
60 hide_show(1);
61 }
62 }
63
64 }

Transmogrifier

Pet Script. Goes in and attached prims that you want to transmogrify to

Category: Transmogrify
By : Ferd Frederix
Created: 2013-08-15 Edited: 2013-08-15
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 // License: CC-BY. Please do not remove the copyright or this notice
2 // Author: Ferd Frederix
3
4 // for your pet that appears when you fly.
5 // makes pet appear and dissapear when you fly
6 integer ownerchannel;
7 integer listener;
8 setlisten()
9 {
10 if (listener) {
11 llListenRemove(listener);
12 }
13 listener = llListen(ownerchannel,"","","");
14 }
15
16
17
18 hide_show( float alpha)
19 {
22 for ( i = 0; i <= j; i++) {
24 }
25
26 }
27
28 default
29 {
31 {
32 ownerchannel = (integer)("0xF" + llGetSubString( (string)llGetOwner(), 0, 6 ));
33 hide_show(0); // 0 = invisible
34 setlisten();
35 }
36
37 on_rez(integer param)
38 {
39 hide_show(0); // 1= visible
40 setlisten();
41 }
42
44 {
45 if (what & CHANGED_REGION)
46 setlisten();
47 if(what & CHANGED_OWNER)
49 }
50
51 listen(integer channel, string name, key id, string msg)
52 {
53 if (msg == "pet") {
54 hide_show(1);
55 } else if (msg == "avatar") {
56 hide_show(0);
57 }
58 }
59 }