De DigiWiki.
// Particles Poofer v0.2
string texture;
string keyword = "djphil";
updateParticles()
{
// llParticleSystem([0,512,1,<1.0,1.0,1.0>,2,1.0,5,<1,1,1>,7,8.0,9,2,12,texture,13,0.1,15,12,17,0.5,18,0.5,19,2.0]);
llParticleSystem([
PSYS_PART_FLAGS,(0),
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE,
PSYS_PART_START_ALPHA, 1,
PSYS_PART_END_ALPHA, 1,
PSYS_PART_START_COLOR, <1.0, 1.0, 1.0>,
PSYS_PART_END_COLOR, <1.0, 1.0, 1.0>,
PSYS_PART_START_SCALE, <1.0, 1.0, 0.0>,
PSYS_PART_END_SCALE, <1.0, 1.0, 0.0>,
PSYS_PART_MAX_AGE, 8,
PSYS_SRC_MAX_AGE, 2,
PSYS_SRC_ACCEL, <0,0,0>,
PSYS_SRC_BURST_PART_COUNT, 12,
PSYS_SRC_BURST_RADIUS, 0,
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_BURST_SPEED_MIN, 0.5,
PSYS_SRC_BURST_SPEED_MAX, 0.5,
PSYS_SRC_ANGLE_BEGIN, 0,
PSYS_SRC_ANGLE_END, 0,
PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>,
PSYS_SRC_TEXTURE, texture,
PSYS_SRC_TARGET_KEY, NULL_KEY
]);
llSleep(2.5);
llParticleSystem([]);
}
integer channel = 0;
integer Handle;
default
{
state_entry()
{
texture = llGetInventoryName(INVENTORY_TEXTURE, 0);
Handle = llListen (channel, "", llGetOwner(), "");
}
changed(integer change)
{
if (change & CHANGED_OWNER)
llResetScript();
}
listen(integer chan, string name, key id, string msg)
{
if (msg == keyword)
{
updateParticles();
}
else if (llToLower(llGetSubString(msg, 0, 5)) == "set keyword")
{
keyword = llToLower(llDeleteSubString(msg, 0, 5));
llOwnerSay("Keyword set to " + keyword);
}
else if (llToLower(llGetSubString(msg, 0, 5)) == "set channel")
{
if ((channel = ((integer)llDeleteSubString(msg, 0, 5))) < 0)
channel = 0;
llOwnerSay("Chat Channel set to "+(string)channel);
llListenRemove(Handle);
Handle = llListen (channel, "", llGetOwner(), "");
}
}
}