De DigiWiki.
// Hammer v1.0
string anim = "marteau";
key texture = "etoile";
string sound = "marteau";
float volume = 1.0;
key avatar_key;
list particle_parameters=[];
list nothing=[];
default
{
on_rez(integer param) {llResetScript();}
changed(integer change)
{
llSleep(1);
if(change & CHANGED_OWNER)
{
avatar_key =llGetOwner();
if(avatar_key!=NULL_KEY)
{
llRequestPermissions(avatar_key,PERMISSION_TRIGGER_ANIMATION);
llSleep(1.0);
llRequestPermissions(avatar_key,PERMISSION_TAKE_CONTROLS);
llStartAnimation(anim);
}
}
}
state_entry()
{
avatar_key=llGetOwner();
llRequestPermissions(avatar_key,PERMISSION_TRIGGER_ANIMATION);
llSleep(3.0);
llRequestPermissions(avatar_key,PERMISSION_TAKE_CONTROLS);
particle_parameters = [
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_SCALE, <.3, .3, FALSE>,
PSYS_PART_END_SCALE, <.3, .3, FALSE>,
PSYS_PART_START_COLOR, <1, 1, 1>,
PSYS_PART_END_COLOR, <1, 1, 1>,
PSYS_PART_START_ALPHA, (float) 1.0,
PSYS_PART_END_ALPHA, (float) 1.0,
PSYS_SRC_BURST_PART_COUNT, (integer) 15,
PSYS_SRC_BURST_RATE, (float) 1.5,
PSYS_PART_MAX_AGE, (float) 5.0,
PSYS_SRC_PATTERN, (integer) 2,
PSYS_SRC_BURST_SPEED_MIN, (float) 0.5,
PSYS_SRC_BURST_SPEED_MAX, (float) 5.5,
PSYS_SRC_BURST_RADIUS, (float) 00.5,
PSYS_SRC_ANGLE_BEGIN, (float) 0.4 * PI,
PSYS_SRC_ANGLE_END, (float) 0.0 * PI,
PSYS_SRC_ACCEL, < 00.00, 00.00, - 00.1>,
PSYS_PART_FLAGS, (integer) (0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_FOLLOW_VELOCITY_MASK
| PSYS_PART_BOUNCE_MASK
)];
}
run_time_permissions(integer permissions)
{
if (permissions & PERMISSION_TRIGGER_ANIMATION)
{
llGetPermissions ();
}
if (permissions & PERMISSION_TAKE_CONTROLS)
{
llTakeControls(CONTROL_LBUTTON , TRUE, FALSE);
llGetPermissions ();
}
}
control(key name, integer levels, integer edges)
{
integer pressed = levels & edges;
if ((levels & CONTROL_LBUTTON) && (edges & CONTROL_LBUTTON))
{
llRequestPermissions(avatar_key,PERMISSION_TRIGGER_ANIMATION);
llStartAnimation(anim);
llSleep(0.5);
llRequestPermissions(avatar_key,PERMISSION_TAKE_CONTROLS);
llPlaySound(sound,volume);
llSleep(0.5);
llParticleSystem(particle_parameters);
llSleep(1.0);
llParticleSystem(nothing);
}
}
}