removed useless _ folders
This commit is contained in:
3
Random Rezzer Game/Random Rezzer Game.sol
Normal file
3
Random Rezzer Game/Random Rezzer Game.sol
Normal file
@@ -0,0 +1,3 @@
|
||||
<Solution name="Random Rezzer Game">
|
||||
<Project name="Random Rezzer Game" path="Random Rezzer Game\Random Rezzer Game.prj" active="true"/>
|
||||
</Solution>
|
||||
47
Random Rezzer Game/Random Rezzer Game/Object/Prim Script.lsl
Normal file
47
Random Rezzer Game/Random Rezzer Game/Object/Prim Script.lsl
Normal file
@@ -0,0 +1,47 @@
|
||||
// :CATEGORY:Games
|
||||
// :NAME:Random Rezzer Game
|
||||
// :AUTHOR:Anonymous
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:39:00
|
||||
// :ID:675
|
||||
// :NUM:916
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Random rezzer
|
||||
// :CODE:
|
||||
|
||||
integer channel = -1234321; // some random integer rto talk with
|
||||
|
||||
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
llSetStatus(STATUS_PHYSICS,TRUE); // make it bouncy
|
||||
llSetStatus(STATUS_RETURN_AT_EDGE,TRUE) ; // be nice to neighboring parcels
|
||||
}
|
||||
|
||||
timer()
|
||||
{
|
||||
llWhisper(0,"No one grabbed the " + llGetObjectName());
|
||||
llDie(); /// Aww, another wasted prim
|
||||
}
|
||||
|
||||
// if they touch this, the name is snt to the HUD
|
||||
touch_start(integer total_number)
|
||||
{
|
||||
llShout(channel, llDetectedName(0) + "^" + (string) llDetectedKey(0) );
|
||||
llDie();
|
||||
}
|
||||
|
||||
// the rezzer sends a '1' as a start_param, so we can tell this prim to die. Otherwise it will die when you rez it to work on it.
|
||||
on_rez(integer start_param)
|
||||
{
|
||||
if (start_param)
|
||||
{
|
||||
llSetTimerEvent(llFrand(10) + 5); // object will be here for 5 to 15 seconds, then die
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
47
Random Rezzer Game/Random Rezzer Game/Object/Rezzer.lsl
Normal file
47
Random Rezzer Game/Random Rezzer Game/Object/Rezzer.lsl
Normal file
@@ -0,0 +1,47 @@
|
||||
// :CATEGORY:Games
|
||||
// :NAME:Random Rezzer Game
|
||||
// :AUTHOR:Anonymous
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:39:00
|
||||
// :ID:675
|
||||
// :NUM:917
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// Random Rezzer
|
||||
// :CODE:
|
||||
|
||||
// Put objects in this box and it will rez them at various speeds and places.
|
||||
// Make sure the boxes are physical and temporary or you will quickly have a pile of prims
|
||||
|
||||
default
|
||||
{
|
||||
on_rez(integer start_param)
|
||||
{
|
||||
llResetScript(); // when you rez it, we have to start a listener
|
||||
}
|
||||
state_entry()
|
||||
{
|
||||
llSetTimerEvent(1); // rez in 1 second at startup.
|
||||
}
|
||||
timer() {
|
||||
|
||||
integer howmany = llGetInventoryNumber(INVENTORY_OBJECT); // how many items, 1,2,3
|
||||
|
||||
integer whichone = llCeil(llFrand(howmany)) -1 ; // pick one at random
|
||||
string name = llGetInventoryName(INVENTORY_OBJECT,whichone); // get the name of the object
|
||||
llSay(0, "Now in play: "+ name);
|
||||
float x = llFrand(9) + 1; // up to a MAXIMUM of 10 meters away, no closer than 1 meter away. Cannot rez furrhaer than 10
|
||||
float y = llFrand(9) + 1; // up to a MAXIMUM of 10 meters away, no closer than 1 meter away. Cannot rez furrhaer than 10
|
||||
float pushx = llFrand(1); // Give it a velocity
|
||||
float pushy = llFrand(1); // Give it a velocity
|
||||
vector pos = llGetPos();
|
||||
float z = pos.z;
|
||||
pos.x += x; // add the current position to the random rez place
|
||||
pos.y += y; // add the current position to the random rez place
|
||||
|
||||
|
||||
llRezObject( name,pos,<pushx,pushy,0>,ZERO_ROTATION,1); // rez an object at random location and speeds at 1 meter height so it bounces
|
||||
llSetTimerEvent(llFrand(20) + 10); // rez from 10 to 30 seconds, randomly
|
||||
}
|
||||
}
|
||||
88
Random Rezzer Game/Random Rezzer Game/Object/Scorekeeper.lsl
Normal file
88
Random Rezzer Game/Random Rezzer Game/Object/Scorekeeper.lsl
Normal file
@@ -0,0 +1,88 @@
|
||||
// :CATEGORY:Games
|
||||
// :NAME:Random Rezzer Game
|
||||
// :AUTHOR:Anonymous
|
||||
// :CREATED:2013-09-06
|
||||
// :EDITED:2013-09-18 15:39:00
|
||||
// :ID:675
|
||||
// :NUM:918
|
||||
// :REV:1
|
||||
// :WORLD:Second Life
|
||||
// :DESCRIPTION:
|
||||
// random game
|
||||
// :CODE:
|
||||
|
||||
integer GIVE = TRUE; // if TRUE, give them a random prize
|
||||
|
||||
integer channel = -1234321; // some random integer rto talk with
|
||||
integer maxCount = 100; // Only keep the 100 top scores so we do not run out of RAM
|
||||
list scores;// a list of scores (integers like 1,1,23, and avatar names. Wr number is first so we can sort on it for high scores.
|
||||
|
||||
default
|
||||
{
|
||||
on_rez(integer start_param)
|
||||
{
|
||||
llResetScript(); // when you rez it, we have to start a listener
|
||||
}
|
||||
|
||||
state_entry()
|
||||
{
|
||||
llListen(channel,"","",""); // listen on our secret channel for things that are touched.
|
||||
}
|
||||
|
||||
listen(integer channel, string name, key id, string message)
|
||||
{
|
||||
|
||||
list stuff = llParseString2List(message,["^"],[]); // look in message for aviName^aviKey
|
||||
string aviName = llList2String(stuff,0); // get the name
|
||||
key aviKey = (key) llList2String(stuff,1); // get the key
|
||||
llSay(0, "Prim " + name + " caught by : " + aviName);
|
||||
|
||||
// lets see of this person is in the list of people already played
|
||||
integer index = llListFindList(scores,[aviName]); // get the number of the position of the name, the score is one less than this
|
||||
if (index == -1)
|
||||
{
|
||||
// Nope, so we add them to the list
|
||||
scores += 1; // they have one object;
|
||||
scores += aviName;
|
||||
llOwnerSay("Welcome, " + aviName + " . This you your first time to play, so just keep watching for and clicking the objects and have fun");
|
||||
}
|
||||
else
|
||||
{
|
||||
// yes, they have played before, get their old score
|
||||
integer oldscore = llList2Integer(scores,index-1);
|
||||
oldscore++; // add an object to the old score
|
||||
scores = llListReplaceList(scores,[oldscore],index-1, index-1); // save it back in the score list
|
||||
}
|
||||
|
||||
if (GIVE)
|
||||
{
|
||||
integer PrizeNum = llGetInventoryNumber(INVENTORY_OBJECT); // get how many items are in this prim
|
||||
integer whichOne = llCeil(llFrand(PrizeNum)) -1 ; //pick a prize, randomly
|
||||
llGiveInventory(aviKey, llGetInventoryName(INVENTORY_OBJECT,whichOne));
|
||||
}
|
||||
|
||||
|
||||
|
||||
scores = llListSort(scores,2,FALSE); //sort from largest num to lowest
|
||||
|
||||
scores = llDeleteSubList(scores, maxCount, maxCount+1); // delete the smallest score so we never get bigger than maxCount
|
||||
|
||||
string scoreText; // We need to calculate the highest scores for display
|
||||
integer i ;
|
||||
integer stop = 10; // show top 10 scores
|
||||
if (llGetListLength(scores) < 10) // is the list bigger than 10 yet?
|
||||
{
|
||||
stop = llGetListLength(scores);
|
||||
}
|
||||
|
||||
// print out the top 10 scores, or fewer
|
||||
for (i = 0; i < stop; i+= 2)
|
||||
{
|
||||
scoreText += llList2String(scores,i+1) + " : " + (string) llList2String(scores, i) + "\n";
|
||||
}
|
||||
llSetText(scoreText,<1,1,1>,1.0);
|
||||
llOwnerSay(scoreText);
|
||||
|
||||
|
||||
}// end listen
|
||||
} // end default
|
||||
10
Random Rezzer Game/Random Rezzer Game/Random Rezzer Game.prj
Normal file
10
Random Rezzer Game/Random Rezzer Game/Random Rezzer Game.prj
Normal file
@@ -0,0 +1,10 @@
|
||||
<Project name="Random Rezzer Game" guid="6eb4bcbe-bd24-4bdf-b783-babafdb51880">
|
||||
<Object name="Object" guid="a67acfea-614e-41ee-9a03-861147c07c6b" active="true">
|
||||
<Script name="Prim Script.lsl" guid="ac4f92cd-42ba-4f86-95e4-0c94f831b96f">
|
||||
</Script>
|
||||
<Script name="Rezzer.lsl" guid="37da609a-7e71-4c02-b3bf-a6eeb68b008e">
|
||||
</Script>
|
||||
<Script name="Scorekeeper.lsl" guid="fb11691e-e9b4-446e-93ad-b3d411ecc7ab">
|
||||
</Script>
|
||||
</Object>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user