Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. integer maxoutsteps = 100; // 100/interval = 10 seconds
  2. integer maxinsteps = 100; // 100/interval = 10 seconds
  3. integer maxdelaysteps = 50; // 50/interval = 5 seconds
  4. float maxalpha = 0.8; //0.8 = not quite fully visible
  5. float maxglow = 0.1; //0.1 recommended max glow
  6.  
  7. // end user config
  8.  
  9. float interval = 0.1;
  10. vector color;
  11. integer outsteps = maxoutsteps;
  12. float glow = maxglow;
  13. float alpha = maxalpha;
  14. integer insteps;
  15. integer delaysteps;
  16.  
  17. run()
  18. {
  19. llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_COLOR, ALL_SIDES, color, alpha, PRIM_GLOW, ALL_SIDES, glow]);
  20. }
  21.  
  22. default
  23. {
  24. state_entry()
  25. {
  26. color = llList2Vector(llGetLinkPrimitiveParams(LINK_THIS, [PRIM_COLOR, 0]), 0);
  27. run();
  28. llSetTimerEvent(interval);
  29. }
  30.  
  31. timer()
  32. {
  33. if(outsteps)
  34. {
  35. outsteps--;
  36. alpha = maxalpha*outsteps/maxoutsteps;
  37. glow = maxglow*outsteps/maxoutsteps;
  38.  
  39. if(!outsteps)
  40. {
  41. delaysteps = maxdelaysteps;
  42. }
  43. }
  44.  
  45. if(delaysteps)
  46. {
  47. delaysteps--;
  48. if(!delaysteps)
  49. {
  50. if(alpha < 0.5)
  51. insteps = maxinsteps;
  52. else
  53. outsteps = maxoutsteps;
  54. }
  55. }
  56.  
  57. if(insteps)
  58. {
  59. insteps--;
  60. alpha = maxalpha*(maxinsteps - insteps)/maxinsteps;
  61. glow = maxglow*(maxinsteps - insteps)/maxinsteps;
  62.  
  63. if(!insteps)
  64. {
  65. delaysteps = maxdelaysteps;
  66. }
  67. }
  68.  
  69. run();
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement