f43b205c-6e45-63de-3f3a-5b8c417c7b86_script.lsl 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // The line above should be left blank to avoid script errors in OpenSim.
  3. /*
  4. * showadminpanel.lsl
  5. * Part of the Sloodle project (www.sloodle.org)
  6. *
  7. * Copyright (c) 2011-06 contributors (see below)
  8. * Released under the GNU GPL v3
  9. *
  10. * Contributors:
  11. * Edmund Edgar
  12. * Paul Preibisch
  13. */
  14. string OPEN="p12";
  15. string CLOSE="p13";
  16. integer toggle=-1;
  17. integer TIMER=60;
  18. vector RED =<1.00000, 0.00000, 0.00000>;
  19. vector ORANGE=<1.00000, 0.43763, 0.02414>;
  20. vector YELLOW=<1.00000, 1.00000, 0.00000>;
  21. vector GREEN=<0.00000, 1.00000, 0.00000>;
  22. vector BLUE=<0.00000, 0.00000, 1.00000>;
  23. vector BABYBLUE=<0.00000, 1.00000, 1.00000>;
  24. vector PINK=<1.00000, 0.00000, 1.00000>;
  25. vector PURPLE=<0.57338, 0.25486, 1.00000>;
  26. vector BLACK= <0.00000, 0.00000, 0.00000>;
  27. vector WHITE= <1.00000, 1.00000, 1.00000>;
  28. default
  29. {
  30. on_rez(integer start_param) {
  31. llResetScript();
  32. }
  33. state_entry()
  34. {
  35. llTriggerSound("powerup", 1);
  36. llMessageLinked(LINK_ALL_OTHERS, -99, OPEN, NULL_KEY);
  37. }
  38. touch_start(integer total_number)
  39. {
  40. key toucher = llDetectedKey(0);
  41. if (toucher!=llGetOwner()) return;
  42. if (toggle==-1){//OPEN
  43. llTriggerSound("SND_INTERFACE_BEEP", 1);
  44. llSetColor(YELLOW, ALL_SIDES);
  45. llSleep(0.1);
  46. llSetColor(WHITE, ALL_SIDES);
  47. llMessageLinked(LINK_ALL_OTHERS, -99, CLOSE, NULL_KEY);
  48. llTriggerSound("powerdown", 1);
  49. llSetPrimitiveParams( [ PRIM_GLOW,2,0.20 ] );
  50. llSetTimerEvent(TIMER);
  51. }else{ //close
  52. llTriggerSound("SND_INTERFACE_BEEP", 1);
  53. llSetColor(YELLOW, ALL_SIDES);
  54. llSleep(0.1);
  55. llSetColor(WHITE, ALL_SIDES);
  56. llMessageLinked(LINK_ALL_OTHERS, -99,OPEN, NULL_KEY);
  57. llTriggerSound("powerup", 1);
  58. llSetPrimitiveParams( [ PRIM_GLOW,ALL_SIDES,0.0 ] );
  59. }
  60. toggle*=-1;
  61. }
  62. link_message(integer sender_num, integer num, string str, key id) {
  63. //when a control button is pressed, that control button will automatically send a close request, so stop timer so we dont close twice
  64. if (str==CLOSE){
  65. llSetPrimitiveParams( [ PRIM_GLOW,ALL_SIDES,0.0 ] );
  66. llTriggerSound("powerdown", 1);
  67. llSetTimerEvent(0);
  68. }
  69. }
  70. timer() {
  71. toggle*=-1;
  72. llSetTimerEvent(0);
  73. llMessageLinked(LINK_ALL_OTHERS, -99, CLOSE, NULL_KEY);
  74. llTriggerSound("powerdown", 1);
  75. llSetPrimitiveParams( [ PRIM_GLOW,ALL_SIDES,0.0 ] );
  76. }
  77. }
  78. // Please leave the following line intact to show where the script lives in Git:
  79. // SLOODLE LSL Script Git Location: mod/scoreboard-1.0/objects/default/assets/sloodle_show_admin_button.lslp