The script only works in Studio's test solo feature; not in-game.
The following code is located in a LocalScript:
function activate()
if script.Parent.Value.Value ==1 then
script.Parent.Value.Value =2
script.Parent.UI.Visible =true
script.Parent.UIcover.Visible =true
script.Parent.UIselection.Visible =true
script.Parent.OmnitrixOpen.Visible =false
script.Parent.ActivateSound:Play()
else if script.Parent.Value.Value ==2 then
script.Parent.Value.Value =3
script.Parent.UI.Visible =false
script.Parent.UIcover.Visible =false
script.Parent.UIselection.Visible =false
script.Parent.OmnitrixOpen.Visible =true
script.Parent.ScrollSound2:Play()
else if script.Parent.Value.Value ==3 then
script.Parent.Value.Value =4
script.Parent.TransformSound:Play()
script.Parent.OmnitrixGreenLight.Visible =true
script.Parent.LidGreenLight.Visible =true
script.Parent.OmnitrixGreenLight.ImageTransparency =1
script.Parent.LidGreenLight.ImageTransparency =1
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.75
script.Parent.LidGreenLight.ImageTransparency =0.75
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.5
script.Parent.LidGreenLight.ImageTransparency =0.5
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.25
script.Parent.LidGreenLight.ImageTransparency =0.25
wait (0.5)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.25
script.Parent.LidGreenLight.ImageTransparency =0.25
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.5
script.Parent.LidGreenLight.ImageTransparency =0.5
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =0.75
script.Parent.LidGreenLight.ImageTransparency =0.75
wait (0.1)
script.Parent.OmnitrixGreenLight.ImageTransparency =1
script.Parent.LidGreenLight.ImageTransparency =1
script.Parent.OmnitrixGreenLight.Visible =false
script.Parent.LidGreenLight.Visible =false
else if script.Parent.Value.Value ==4 then
script.Parent.Value.Value =1
script.Parent.TransformSound:Play()
script.Parent.OmnitrixRedLight.Visible =true
script.Parent.LidRedLight.Visible =true
script.Parent.OmnitrixRedLight.ImageTransparency =1
script.Parent.LidRedLight.ImageTransparency =1
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =0.75
script.Parent.LidRedLight.ImageTransparency =0.75
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =0.5
script.Parent.LidRedLight.ImageTransparency =0.5
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =0.25
script.Parent.LidRedLight.ImageTransparency =0.25
wait (0.5)
script.Parent.OmnitrixRedLight.ImageTransparency =0.25
script.Parent.LidRedLight.ImageTransparency =0.25
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =0.5
script.Parent.LidRedLight.ImageTransparency =0.5
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =0.75
script.Parent.LidRedLight.ImageTransparency =0.75
wait (0.1)
script.Parent.OmnitrixRedLight.ImageTransparency =1
script.Parent.LidRedLight.ImageTransparency =1
script.Parent.OmnitrixRedLight.Visible =false
script.Parent.OmnitrixOpen.Visible =false
script.Parent.LidRedLight.Visible =false
end
end
end
end
end
script.Parent.Activate.MouseButton1Click:connect(activate)
Do excuse my horrible script layout, gentlemen.

2 comments
If you're implying that I replace all the "else if"s with "elseifs", it still doesn't work. And you haven't given me an overall view on what I should change / fix. Sorry if I come across as a bit 'rude' or 'narbish'.
I gave you the correct if statement formatting. Change else if to elseif and change the number of ends to the correct amount. Although there are things that could make the code more efficient and readable, if the paths are correct then that's the only functionality problem I can see.