Ersteres ist etwas komplizierter und funktioniert nur, in dem man 2 Versionen der Lampe hat, wobei eine an und die andere aus ist. Dann verknüpft man die über die Parent-Funktion und aktiviert Set Enabled State opposite of parent (oder so änlich). Auf dem Parent-Licht lässt man dann ein Script laufen (Gamemode-Block), das die aktuelle Zeit (GetCurrentTime) und den aktuellen Enabled/Disabled-Status (GetDisabled) überprüft und sofern die nicht zusammenpassen entsprechend reagiert (Enable/Disable).

Alternativ kann man auch den OBSE-Befehl SetLightRadius (gefolgt von Disable; Frame warten; Enable) verwenden.



Das andere lässt sich über den Befehl MessageBox, eine Variable und den Befehl GetButtonPressed (unbedingt in einem Gamemode/Menumode/ScriptEffectUpdate-Block!) realisieren.
Falls du Probleme hast und Englisch verstehst könnte dir dieses Tutorial nützlich sein.