Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer maxoutsteps = 100; // 100/interval = 10 seconds
- integer maxinsteps = 100; // 100/interval = 10 seconds
- integer maxdelaysteps = 50; // 50/interval = 5 seconds
- float maxalpha = 0.8; //0.8 = not quite fully visible
- float maxglow = 0.1; //0.1 recommended max glow
- // end user config
- float interval = 0.1;
- vector color;
- integer outsteps = maxoutsteps;
- float glow = maxglow;
- float alpha = maxalpha;
- integer insteps;
- integer delaysteps;
- run()
- {
- llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_COLOR, ALL_SIDES, color, alpha, PRIM_GLOW, ALL_SIDES, glow]);
- }
- default
- {
- state_entry()
- {
- color = llList2Vector(llGetLinkPrimitiveParams(LINK_THIS, [PRIM_COLOR, 0]), 0);
- run();
- llSetTimerEvent(interval);
- }
- timer()
- {
- if(outsteps)
- {
- outsteps--;
- alpha = maxalpha*outsteps/maxoutsteps;
- glow = maxglow*outsteps/maxoutsteps;
- if(!outsteps)
- {
- delaysteps = maxdelaysteps;
- }
- }
- if(delaysteps)
- {
- delaysteps--;
- if(!delaysteps)
- {
- if(alpha < 0.5)
- insteps = maxinsteps;
- else
- outsteps = maxoutsteps;
- }
- }
- if(insteps)
- {
- insteps--;
- alpha = maxalpha*(maxinsteps - insteps)/maxinsteps;
- glow = maxglow*(maxinsteps - insteps)/maxinsteps;
- if(!insteps)
- {
- delaysteps = maxdelaysteps;
- }
- }
- run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement