removed useless _ folders
This commit is contained in:
3
Butterflies/Butterflies.sol
Normal file
3
Butterflies/Butterflies.sol
Normal file
@@ -0,0 +1,3 @@
|
||||
<Solution name="Butterflies">
|
||||
<Project name="Butterflies" path="Butterflies\Butterflies.prj" active="true"/>
|
||||
</Solution>
|
||||
14
Butterflies/Butterflies/Butterflies.prj
Normal file
14
Butterflies/Butterflies/Butterflies.prj
Normal file
@@ -0,0 +1,14 @@
|
||||
<Project name="Butterflies" guid="3ee231bb-eea8-46ea-a9cd-889a33e78675">
|
||||
<Object name="Object" guid="744117d9-6a1a-43f1-84bd-1f6bb2d8443b" active="true">
|
||||
<Script name="butterflap.lsl" guid="700a6325-42fd-4193-8818-919a6d44b66a">
|
||||
</Script>
|
||||
<Script name="color change.lsl" guid="5afccb3d-19b4-4fb4-b6c6-5a1b326d1c0e">
|
||||
</Script>
|
||||
<Script name="flight.lsl" guid="82b229c3-15ff-44c0-81f2-7f92d790585c">
|
||||
</Script>
|
||||
</Object>
|
||||
<Object name="Controller" guid="a27909ff-1ec9-42a3-9d96-70a28b0b0282">
|
||||
<Script name="rezzer-controller.lsl" guid="62ad9eab-4dc3-4e20-8657-f1948ee39cdc">
|
||||
</Script>
|
||||
</Object>
|
||||
</Project>
|
||||
246
Butterflies/Butterflies/Controller/rezzer-controller.lsl
Normal file
246
Butterflies/Butterflies/Controller/rezzer-controller.lsl
Normal file
@@ -0,0 +1,246 @@
|
||||
// :CATEGORY:Butterflies
|
||||
// :NAME:Butterflies
|
||||
// :AUTHOR:Ferd Frederix
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:38:49
|
||||
// :ID:133
|
||||
// :NUM:199
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Butterflies
|
||||
// :CODE:
|
||||
|
||||
// rezzer & controller
|
||||
|
||||
integer startup = 0x050; // 10 meters, color 0
|
||||
integer counter = 0;
|
||||
integer selected = 0;
|
||||
float range = 20; // sensor range
|
||||
integer distance = 5; // roaming range
|
||||
integer timetick = 5;
|
||||
integer listener;
|
||||
integer wanted;
|
||||
integer asensor = FALSE;
|
||||
integer on_off;
|
||||
integer bcolor = 0;
|
||||
integer color = -1; // =1 = all
|
||||
integer height = 1;
|
||||
|
||||
Rez()
|
||||
{
|
||||
if (color == -1)
|
||||
{
|
||||
bcolor++;
|
||||
if (bcolor > 9)
|
||||
bcolor = 0;
|
||||
}
|
||||
else
|
||||
bcolor = color;
|
||||
|
||||
startup = (height << 16) + (distance << 4) + bcolor;
|
||||
|
||||
//llOwnerSay("Distance:" + (string) distance);
|
||||
//llOwnerSay("Color:" + (string) color);
|
||||
|
||||
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), llGetPos() + <0.0,0.0,0.5>, <0.0,0.0,0.0>, <0.0,0.0,0.0,1.0>, startup);
|
||||
}
|
||||
|
||||
MakeMenu()
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
string msg = "Select an item:\nOn|Off - enable or disable\nSensor = Only run when Avatars are in range\nDistance - Set roaming and range\nMore - Increase the number of butterflies\nLess - decrease the number of butterflies\nColor - pick a color\nHeight - How hi they fly";
|
||||
list menu = ["Off","Sensor Off","Less","On","Sensor On","More","Distance","Color","Height"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
|
||||
}
|
||||
|
||||
|
||||
MenuDistance(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["1","5","10","15","20","25","30","45","96"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
MenuColor(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["0","1","2","3","4","5","6","7","8","9","All"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
MenuHeight(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["0","1","2","3","4","5","6","7","8","9","10","15"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
|
||||
listen(integer channel,string name,key id, string msg)
|
||||
{
|
||||
|
||||
llListenRemove(listener);
|
||||
if (msg == "On")
|
||||
{
|
||||
llSetTimerEvent(1.0);
|
||||
on_off= TRUE;
|
||||
llSetAlpha(0,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Off")
|
||||
{
|
||||
llSetTimerEvent(0);
|
||||
on_off= FALSE;
|
||||
llSensorRemove();
|
||||
llOwnerSay("Butterflies are stopped");
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Sensor On")
|
||||
{
|
||||
llSetTimerEvent(0);
|
||||
wanted = 1;
|
||||
MenuDistance("Pick how far to detect avatars");
|
||||
}
|
||||
else if (msg == "Sensor Off")
|
||||
{
|
||||
MakeMenu();
|
||||
llSensorRemove();
|
||||
llOwnerSay("Butterflies are stopped");
|
||||
asensor = FALSE;
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Distance")
|
||||
{
|
||||
wanted = 2;
|
||||
MenuDistance("Pick the distance that the butterflies will roam");
|
||||
}
|
||||
else if (msg == "Color")
|
||||
{
|
||||
wanted = 3;
|
||||
MenuColor("Pick a color number");
|
||||
}
|
||||
else if (msg == "Height")
|
||||
{
|
||||
wanted = 4;
|
||||
MenuHeight("Pick a maximum height for flight");
|
||||
}
|
||||
else if (msg == "More")
|
||||
{
|
||||
timetick -=1;
|
||||
if (timetick <= 0)
|
||||
timetick = 1;
|
||||
integer count = llCeil(60/timetick);
|
||||
llOwnerSay((string) count + " butterflies");;
|
||||
MakeMenu();
|
||||
}
|
||||
else if (msg == "Less")
|
||||
{
|
||||
timetick +=1;
|
||||
integer count = (integer) (60/timetick);
|
||||
llOwnerSay((string) count + " butterflies");
|
||||
MakeMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (wanted == 4 )
|
||||
{
|
||||
height = (integer) msg;
|
||||
llOwnerSay("Butterfly height is " + (string) height+ " meters");
|
||||
MakeMenu();
|
||||
}
|
||||
if (wanted == 3 )
|
||||
{
|
||||
if (msg == "All")
|
||||
{
|
||||
color = -1;
|
||||
llOwnerSay("Butterfly color is is all colors");
|
||||
}
|
||||
else
|
||||
{
|
||||
color = (integer) msg;
|
||||
llOwnerSay("Butterfly color is is " + (string) color );
|
||||
}
|
||||
|
||||
MakeMenu();
|
||||
}
|
||||
if (wanted == 2 )
|
||||
{
|
||||
distance = (integer) msg;
|
||||
llOwnerSay("Butterfly roaming range is " + (string) distance + " meters");
|
||||
integer count = (integer) (60/timetick);
|
||||
MakeMenu();
|
||||
}
|
||||
else if (wanted == 1 )
|
||||
{
|
||||
range = (integer) msg;
|
||||
llOwnerSay("Avatar detection range is " + (string) range + " meters");
|
||||
asensor = TRUE;
|
||||
llSensorRepeat("","",AGENT,range,PI,timetick);
|
||||
llOwnerSay("Butterflies should appear every " + (string) timetick + " seconds");
|
||||
integer count = (integer) (60/timetick);
|
||||
MakeMenu();
|
||||
llSetAlpha(0,ALL_SIDES);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
state_entry()
|
||||
{
|
||||
MakeMenu();
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
if (llDetectedKey(0) != llGetOwner())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (asensor)
|
||||
{
|
||||
llOwnerSay("Avatar detection range is " + (string) range + " meters");
|
||||
}
|
||||
if (on_off)
|
||||
{
|
||||
llOwnerSay("Butterflies are on" );
|
||||
}
|
||||
else
|
||||
{
|
||||
llOwnerSay("Butterflies are off" );
|
||||
}
|
||||
|
||||
llOwnerSay("Butterfly roaming range is " + (string) distance + " meters");
|
||||
integer count = (integer) (60/timetick);
|
||||
llOwnerSay("About " + (string) count + " butterflies a minute");
|
||||
if (llDetectedKey(0) == llGetOwner())
|
||||
MakeMenu();
|
||||
}
|
||||
|
||||
|
||||
timer()
|
||||
{
|
||||
llSetTimerEvent(timetick);
|
||||
Rez();
|
||||
}
|
||||
|
||||
sensor(integer num_detected)
|
||||
{
|
||||
Rez();
|
||||
}
|
||||
|
||||
on_rez(integer startparam)
|
||||
{
|
||||
llResetScript();
|
||||
}
|
||||
}
|
||||
|
||||
29
Butterflies/Butterflies/Object/butterflap.lsl
Normal file
29
Butterflies/Butterflies/Object/butterflap.lsl
Normal file
@@ -0,0 +1,29 @@
|
||||
// :CATEGORY:Butterflies
|
||||
// :NAME:Butterflies
|
||||
// :AUTHOR:Ferd Frederix
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:38:49
|
||||
// :ID:133
|
||||
// :NUM:196
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Butterflies
|
||||
// :CODE:
|
||||
|
||||
// butterflap
|
||||
|
||||
default
|
||||
{
|
||||
on_rez(integer startparam)
|
||||
{
|
||||
integer color = startparam & 0xf;
|
||||
|
||||
string aname = "wing" + (string) color;
|
||||
string abody = "body" + (string) color;
|
||||
llSetTexture(aname,ALL_SIDES);
|
||||
llMessageLinked(LINK_SET,0,abody,"");
|
||||
//llSetLinkPrimitiveParams( 2,[ PRIM_TEXTURE, ALL_SIDES, abody, <1,1,0>,<0,0,0>, 0 ] );
|
||||
}
|
||||
}
|
||||
|
||||
31
Butterflies/Butterflies/Object/color change.lsl
Normal file
31
Butterflies/Butterflies/Object/color change.lsl
Normal file
@@ -0,0 +1,31 @@
|
||||
// :CATEGORY:Butterflies
|
||||
// :NAME:Butterflies
|
||||
// :AUTHOR:Ferd Frederix
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:38:49
|
||||
// :ID:133
|
||||
// :NUM:197
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Butterflies
|
||||
// :CODE:
|
||||
|
||||
// color change
|
||||
|
||||
integer count = 0;
|
||||
|
||||
default
|
||||
{
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
string aname = "wing" + (string) count;
|
||||
string abody = "body" + (string) count;
|
||||
llSetTexture(aname,ALL_SIDES);
|
||||
llMessageLinked(LINK_SET,0,abody,"");
|
||||
count++;
|
||||
if (count >9)
|
||||
count = 0;
|
||||
}
|
||||
}
|
||||
|
||||
80
Butterflies/Butterflies/Object/flight.lsl
Normal file
80
Butterflies/Butterflies/Object/flight.lsl
Normal file
@@ -0,0 +1,80 @@
|
||||
// :CATEGORY:Butterflies
|
||||
// :NAME:Butterflies
|
||||
// :AUTHOR:Ferd Frederix
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:38:49
|
||||
// :ID:133
|
||||
// :NUM:198
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Butterflies
|
||||
// :CODE:
|
||||
|
||||
// flight
|
||||
|
||||
////////////////////////////////////////////
|
||||
// Follow Me Script segment
|
||||
//
|
||||
// Written by Ferd Frederix
|
||||
///////////////////////////////////////// ///
|
||||
float RADIUS = 2.0;
|
||||
|
||||
/////////////// CONSTANTS ///////////////////
|
||||
string FWD_DIRECTION = "-x";
|
||||
|
||||
vector START;
|
||||
float distance = 5;
|
||||
float MOVEfTO_INCREMENT = 1;
|
||||
float timerval = .5;
|
||||
|
||||
float gTau = .2; // move
|
||||
float rTau = 1; // rotation
|
||||
vector Pos;
|
||||
integer height = 1;
|
||||
/////////// END GLOBAL VARIABLES /////////////
|
||||
|
||||
|
||||
NewPos()
|
||||
{
|
||||
Pos.x = START.x + llFrand(distance*2)- distance;
|
||||
Pos.y = START.y + llFrand(distance*2)- distance;
|
||||
Pos.z = START.z + llFrand(height);
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
llSetStatus(STATUS_PHYSICS, FALSE);
|
||||
llCollisionSound("",0.0);
|
||||
}
|
||||
|
||||
|
||||
on_rez(integer startparam)
|
||||
{
|
||||
llStopMoveToTarget();
|
||||
distance = (startparam >> 4) & 0xff;
|
||||
height = (startparam >> 16) & 0xff;
|
||||
|
||||
llSetStatus(STATUS_PHYSICS, TRUE);
|
||||
|
||||
START = llGetPos();
|
||||
Pos = START;
|
||||
|
||||
NewPos();
|
||||
llSetTimerEvent(timerval);
|
||||
}
|
||||
|
||||
timer()
|
||||
{
|
||||
vector up = llRot2Up( llGetRot() );
|
||||
llLookAt(Pos, gTau * 5.0, gTau);
|
||||
if (llVecDist(llGetPos(),Pos) < 0.5)
|
||||
NewPos();
|
||||
|
||||
vector Dest = llGetPos() + llVecNorm(Pos - llGetPos()) * (llFrand(0.5) + .2);
|
||||
llMoveToTarget(Dest, gTau);
|
||||
}
|
||||
}
|
||||
|
||||
232
Butterflies/Butterflies/Object/rezzer & controller.lsl
Normal file
232
Butterflies/Butterflies/Object/rezzer & controller.lsl
Normal file
@@ -0,0 +1,232 @@
|
||||
// rezzer & controller
|
||||
|
||||
integer startup = 0x050; // 10 meters, color 0
|
||||
integer counter = 0;
|
||||
integer selected = 0;
|
||||
float range = 20; // sensor range
|
||||
integer distance = 5; // roaming range
|
||||
integer timetick = 5;
|
||||
integer listener;
|
||||
integer wanted;
|
||||
integer asensor = FALSE;
|
||||
integer on_off;
|
||||
integer bcolor = 0;
|
||||
integer color = -1; // =1 = all
|
||||
integer height = 1;
|
||||
|
||||
Rez()
|
||||
{
|
||||
if (color == -1)
|
||||
{
|
||||
bcolor++;
|
||||
if (bcolor > 9)
|
||||
bcolor = 0;
|
||||
}
|
||||
else
|
||||
bcolor = color;
|
||||
|
||||
startup = (height << 16) + (distance << 4) + bcolor;
|
||||
|
||||
//llOwnerSay("Distance:" + (string) distance);
|
||||
//llOwnerSay("Color:" + (string) color);
|
||||
|
||||
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), llGetPos() + <0.0,0.0,0.5>, <0.0,0.0,0.0>, <0.0,0.0,0.0,1.0>, startup);
|
||||
}
|
||||
|
||||
MakeMenu()
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
string msg = "Select an item:\nOn|Off - enable or disable\nSensor = Only run when Avatars are in range\nDistance - Set roaming and range\nMore - Increase the number of butterflies\nLess - decrease the number of butterflies\nColor - pick a color\nHeight - How hi they fly";
|
||||
list menu = ["Off","Sensor Off","Less","On","Sensor On","More","Distance","Color","Height"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
|
||||
}
|
||||
|
||||
|
||||
MenuDistance(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["1","5","10","15","20","25","30","45","96"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
MenuColor(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["0","1","2","3","4","5","6","7","8","9","All"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
MenuHeight(string msg)
|
||||
{
|
||||
integer channel = llCeil(llFrand(1000) + 9000);
|
||||
list menu = ["0","1","2","3","4","5","6","7","8","9","10","15"];
|
||||
listener = llListen(channel,"","","");
|
||||
llDialog(llGetOwner(),msg,menu,channel);
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
|
||||
listen(integer channel,string name,key id, string msg)
|
||||
{
|
||||
|
||||
llListenRemove(listener);
|
||||
if (msg == "On")
|
||||
{
|
||||
llSetTimerEvent(1.0);
|
||||
on_off= TRUE;
|
||||
llSetAlpha(0,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Off")
|
||||
{
|
||||
llSetTimerEvent(0);
|
||||
on_off= FALSE;
|
||||
llSensorRemove();
|
||||
llOwnerSay("Butterflies are stopped");
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Sensor On")
|
||||
{
|
||||
llSetTimerEvent(0);
|
||||
wanted = 1;
|
||||
MenuDistance("Pick how far to detect avatars");
|
||||
}
|
||||
else if (msg == "Sensor Off")
|
||||
{
|
||||
MakeMenu();
|
||||
llSensorRemove();
|
||||
llOwnerSay("Butterflies are stopped");
|
||||
asensor = FALSE;
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
else if (msg == "Distance")
|
||||
{
|
||||
wanted = 2;
|
||||
MenuDistance("Pick the distance that the butterflies will roam");
|
||||
}
|
||||
else if (msg == "Color")
|
||||
{
|
||||
wanted = 3;
|
||||
MenuColor("Pick a color number");
|
||||
}
|
||||
else if (msg == "Height")
|
||||
{
|
||||
wanted = 4;
|
||||
MenuHeight("Pick a maximum height for flight");
|
||||
}
|
||||
else if (msg == "More")
|
||||
{
|
||||
timetick -=1;
|
||||
if (timetick <= 0)
|
||||
timetick = 1;
|
||||
integer count = llCeil(60/timetick);
|
||||
llOwnerSay((string) count + " butterflies");;
|
||||
MakeMenu();
|
||||
}
|
||||
else if (msg == "Less")
|
||||
{
|
||||
timetick +=1;
|
||||
integer count = (integer) (60/timetick);
|
||||
llOwnerSay((string) count + " butterflies");
|
||||
MakeMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (wanted == 4 )
|
||||
{
|
||||
height = (integer) msg;
|
||||
llOwnerSay("Butterfly height is " + (string) height+ " meters");
|
||||
MakeMenu();
|
||||
}
|
||||
if (wanted == 3 )
|
||||
{
|
||||
if (msg == "All")
|
||||
{
|
||||
color = -1;
|
||||
llOwnerSay("Butterfly color is is all colors");
|
||||
}
|
||||
else
|
||||
{
|
||||
color = (integer) msg;
|
||||
llOwnerSay("Butterfly color is is " + (string) color );
|
||||
}
|
||||
|
||||
MakeMenu();
|
||||
}
|
||||
if (wanted == 2 )
|
||||
{
|
||||
distance = (integer) msg;
|
||||
llOwnerSay("Butterfly roaming range is " + (string) distance + " meters");
|
||||
integer count = (integer) (60/timetick);
|
||||
MakeMenu();
|
||||
}
|
||||
else if (wanted == 1 )
|
||||
{
|
||||
range = (integer) msg;
|
||||
llOwnerSay("Avatar detection range is " + (string) range + " meters");
|
||||
asensor = TRUE;
|
||||
llSensorRepeat("","",AGENT,range,PI,timetick);
|
||||
llOwnerSay("Butterflies should appear every " + (string) timetick + " seconds");
|
||||
integer count = (integer) (60/timetick);
|
||||
MakeMenu();
|
||||
llSetAlpha(0,ALL_SIDES);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
state_entry()
|
||||
{
|
||||
MakeMenu();
|
||||
llSetAlpha(1,ALL_SIDES);
|
||||
}
|
||||
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
if (llDetectedKey(0) != llGetOwner())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (asensor)
|
||||
{
|
||||
llOwnerSay("Avatar detection range is " + (string) range + " meters");
|
||||
}
|
||||
if (on_off)
|
||||
{
|
||||
llOwnerSay("Butterflies are on" );
|
||||
}
|
||||
else
|
||||
{
|
||||
llOwnerSay("Butterflies are off" );
|
||||
}
|
||||
|
||||
llOwnerSay("Butterfly roaming range is " + (string) distance + " meters");
|
||||
integer count = (integer) (60/timetick);
|
||||
llOwnerSay("About " + (string) count + " butterflies a minute");
|
||||
if (llDetectedKey(0) == llGetOwner())
|
||||
MakeMenu();
|
||||
}
|
||||
|
||||
|
||||
timer()
|
||||
{
|
||||
llSetTimerEvent(timetick);
|
||||
Rez();
|
||||
}
|
||||
|
||||
sensor(integer num_detected)
|
||||
{
|
||||
Rez();
|
||||
}
|
||||
|
||||
on_rez(integer startparam)
|
||||
{
|
||||
llResetScript();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user