Friday, November 30, 2007

Fog Script

Dan - here is the fog script. Its a simple particle script, you can modify the color, if it bounces off the z-plane, effected by wind or have it follow different objects or avatars


// Particle Script

integer glow = TRUE; // Make the particles glow
integer bounce = TRUE; // Make particles bounce on Z plan of object
integer interpColor = TRUE; // Go from start to end color
integer interpSize = TRUE; // Go from start to end size
integer wind = FALSE; // Particles effected by wind
integer followSource = TRUE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction

// Choose pattern:
// PSYS_SRC_PATTERN_EXPLODE
// PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE;

// Select a target for particles to go towards
// "" for nothing, "owner" for creator, "self" for host object

key target = "self";

// Particle paramaters
float age = 8; // Life of each particle
float maxSpeed = 1; // Max speed each particle is spit out at
float minSpeed = 1; // Min speed each particle is spit out at
string texture; // Texture used for particles, default used if blank
float startAlpha = 0.2; // Start alpha (transparency) value
float endAlpha = 0.3; // End alpha (transparency) value
vector startColor = <7,25,34.45>; // Start color of particles
vector endColor = <1,252,34.4>; // End color of particles (if interpColor == TRUE)
vector startSize = <1.0,1.0,1.0>; // Start size of particles
vector endSize = <1.0,1.0,1.0>; // End size of particles (if interpSize == TRUE)
vector push = <0,0,-1>; // Force pushed on particles

// System paramaters
float rate = .1; // How fast (rate) to emit particles
float radius = .9; // Radius to emit particles for BURST pattern
integer count = 500; // How many particles to emit per BURST
float outerAngle = 2.0; // Outer angle for all ANGLE patterns
float innerAngle = 2.0; // Inner angle for all ANGLE patterns
vector omega = <1,2,3>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

// Script variables
integer flags;

updateParticles()
{
if (target == "owner") target = llGetOwner();
if (target == "self") target = llGetKey();
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_INNERANGLE,innerAngle,
PSYS_SRC_OUTERANGLE,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
]);
}

default
{
state_entry()
{
updateParticles();
}
}

Interesting script problem

Hi all,

Ben and I are trying to figure out a script problem that
could be indicitive of a deeper problem.

If you go to the reception room for Inferno, you will
see a picture of Sandro Boticelli. If you touch
the picture a loadURL message comes up and if you
select OK you get a web page with info on Botticelli.

So far so good. Here is the simple script:




string SiteName = " " ;
//Change this to meet your needs.
string SiteURL = "http://si.ist.psu.edu/neodante/afterlife/inferno/sandro-botticelli-1444-1510/";
//Change this to meet your needs.

default
{
state_entry()
{
llSetText(SiteName,<0,1,1>,2);
}


touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), SiteName, SiteURL);
}

}


Now - I copied my Botticelli picture, and put a copy in
the reception room of Purgatorio.

But now the script does not work! Same exact script!

I then create a new object - paste the script there -
it compiles successfully -- same problem (no message, no
web browser window, no nothing!)

So, again on the new object, I whittle down the
script to the following simplest possible script:


default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}

touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), "fred", "http://www.psu.edu");
}
}


Still no work!

Thoughts? Both Ben and I worked on this but could not
find any solution.

- gerry

Thursday, November 29, 2007

floating text script


string SiteName = "Blaw-Knox Steel Mill" ;
//Change this to meet your needs.

default
{
state_entry()
{
llSetText(SiteName,<0,1,1>,2);
}
}

open url script


string SiteName = " " ;
//Change this to meet your needs.
string SiteURL = "http://www.psu.edu.";
//Change this to meet your needs.

default
{
state_entry()
{
llSetText(SiteName,<0,1,1>,2);
}

touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), SiteName, SiteURL);
}
}

Tuesday, November 27, 2007

Inferno: Level Three


Here's the third level of Inferno. I'm going to hold off on the other ones until I am able to do some building.

Inferno: Level Two


Here is the diagram for circle two -- circles two and three have significantly less going on than circle one. I'll have the third one up by tonight, and then I'll start doing some building.

Monday, November 26, 2007

Let me impress you with my amazing Paint skillz


I made a rough diagram for the first level of Inferno. I have levels two and three drawn out by hand, but I still need to reorganize them in Paint -- I just thought I'd throw this one out there so I can get started building as soon as possible. Let me know what you think!

I've also been attending some classes run by the New Citizens Institute (formally New Citizens Incorporated) that have been really helpful in understanding building and scripting.

Tuesday, November 6, 2007

Blank Avatars & Doors



I finished the blank avatars, The minimum amount of prims i could use for them is 20. Which how many are in the two hooded avatars on top of inferno. With hair there are around 30 or 40 prims for each avatar.


I also placed the wooden doors inside purgatory. I implemented scripts so the doors open automatically when you walk into them or if you click them.

Gerry - They're only on the first two floors for now because i wanted you to check them out and make sure they are what you wanted before i placed them on all the floors. Let me know



- Todd