Advertisement
Guest User

Auto PBR Mirror Switch

a guest
Jun 18th, 2024
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // This script will enable/disable mirrors based on
  2. // avatar proximity. It's licensed under the public
  3. // domain, but it must remain open source, so everyone
  4. // can freely use and change it as they need.
  5. // ~ Toy Wylie - 2024-06-18 - V1.0
  6.  
  7. float DISTANCE=10.0;
  8. float INTERVAL=2.0;
  9. integer DYNAMIC=TRUE;
  10.  
  11. integer mirrorEnabled=TRUE;
  12.  
  13. enableMirror(integer yes)
  14. {
  15.     mirrorEnabled=yes;
  16.  
  17.     llSetLinkPrimitiveParamsFast(LINK_THIS,
  18.     [
  19.         PRIM_REFLECTION_PROBE,
  20.             FALSE,
  21.             0.0,
  22.             0.0,
  23.             0
  24.     ]);
  25.    
  26.     llSleep(1.0);
  27.  
  28.     integer probeFlags=PRIM_REFLECTION_PROBE_BOX;
  29.  
  30.     if(mirrorEnabled)
  31.     {
  32.         probeFlags=
  33.             PRIM_REFLECTION_PROBE_BOX |
  34.             PRIM_REFLECTION_PROBE_MIRROR;
  35.  
  36.         if(DYNAMIC)
  37.         {
  38.             probeFlags=probeFlags |
  39.                 PRIM_REFLECTION_PROBE_DYNAMIC;
  40.         }
  41.  
  42.         llOwnerSay("Mirror on");
  43.     }
  44.     else
  45.     {
  46.         llOwnerSay("Mirror off");
  47.     }
  48.  
  49.     llSetLinkPrimitiveParamsFast(LINK_THIS,
  50.     [
  51.         PRIM_REFLECTION_PROBE,
  52.             TRUE,
  53.             0.0,
  54.             0.0,
  55.             probeFlags
  56.     ]);
  57. }
  58.  
  59. default
  60. {
  61.     state_entry()
  62.     {
  63.         enableMirror(TRUE);
  64.         llSensorRepeat("",NULL_KEY,AGENT,DISTANCE,PI,INTERVAL);
  65.     }
  66.  
  67.     sensor(integer total_number)
  68.     {
  69.         if(mirrorEnabled)
  70.         {
  71.             return;
  72.         }
  73.  
  74.         enableMirror(TRUE);
  75.     }
  76.  
  77.     no_sensor()
  78.     {
  79.         if(!mirrorEnabled)
  80.         {
  81.             return;
  82.         }
  83.  
  84.         enableMirror(FALSE);
  85.     }
  86. }
  87.  
  88. //fspreprocessor off
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement