Table of Contents

Shortnote

The following script can be used to create a brazier that will light up whenever an avatar is detected in the proximity (10 meters range).

Smoke Flame
Smoke Smoke

The textures above are referenced in the script as "Flame" and "Smoke".

Screenshot

The brazier lights up when an avatar is close.

Code

This script was tested and works on OpenSim version 0.7.4!

proximity_brazier.lsl
///////////////////////////////////////////////////////////////////////////
//  Copyright (C) Wizardry and Steamworks 2013 - License: GNU GPLv3      //
//  Please see: http://www.gnu.org/licenses/gpl.html for legal details,  //
//  rights of fair usage, the disclaimer and warranty conditions.        //
///////////////////////////////////////////////////////////////////////////
 
default
{
    state_entry() {
        llSensorRepeat("", "", AGENT, 10, TWO_PI, 1);
    }
    sensor(integer num) {
        float d = llFabs(llVecDist(llDetectedPos(0),llGetPos()));
        llParticleSystem([0,295,PSYS_PART_MAX_AGE,3.800000,PSYS_PART_START_COLOR,<1,.98431,.04706>,3,<.98431,.00000,.00000>,PSYS_PART_START_SCALE,<.20213,.20213,.20213>,6,<.27788,.59734,2.66495>/d,PSYS_SRC_PATTERN,2,13,.050000,8,<.00000,.00000,.10000>,PSYS_SRC_BURST_PART_COUNT,10,16,.350000,PSYS_SRC_BURST_SPEED_MIN,.100000,18,.100000,20,llGetKey(),22,1,PSYS_SRC_ANGLE_END,1,PSYS_SRC_OMEGA,<.00000,.00000,.00000>,PSYS_SRC_TEXTURE,"Flame",PSYS_SRC_MAX_AGE,.000000,2,.501961,PSYS_PART_END_ALPHA,.098039]);
        llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, <1,.5,0>, 2 / d, 10, .75]);
    }
    no_sensor() {
        llParticleSystem([0,1|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_EMISSIVE_MASK,PSYS_SRC_PATTERN,4,PSYS_PART_START_COLOR,<1,1,1>,3,<.8,.8,.8>,2,.3,PSYS_PART_END_ALPHA,.0,PSYS_PART_START_SCALE,<.025,.035,.0>,6,<1,1.125,.0>,PSYS_PART_MAX_AGE,30.0,8,<.0,.0,.01>,PSYS_SRC_TEXTURE,"Smoke",13,.75,22,3.141593,PSYS_SRC_ANGLE_END,(3.141593-.1),PSYS_SRC_BURST_PART_COUNT,1,16,.01,PSYS_SRC_BURST_SPEED_MIN,.0,18,.01,PSYS_SRC_OMEGA,<.3,.3,0>]);
        llSetPrimitiveParams([PRIM_POINT_LIGHT, FALSE, <1,.5,0>, 1, 10, .75]);
    }
    on_rez(integer num) {
        llResetScript();
    }
    changed(integer change) {
        llResetScript();
    }
}

secondlife/proximity_brazier.txt ยท Last modified: 2022/11/24 07:46 by 127.0.0.1

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.