Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

What script is for a animated light and door connected to one button? [CLOSED]

Asked by 6 years ago
Edited 6 years ago

OK, I have a button that is connected to the function of opening a door via grouping the parts together. But I also need to get the button to activate another script connected with another model that has the duty of turning on a spinning animated light. I am stumped and I am asking help as I cannot find any answer to my question. [The button does have a ClickDetector and keep in mind that I am new to the idea of a toggle tool as a BoolValue]

I have attempted at grouping the button-door model and Emergency-Light model into one bigger model and separated the button-door model and Emergency-Light model inside of the bigger model and failed. I tried many more attempts, but to explain each one would be like writing multiple essays.

I currently do not have a script that I can try to find that seems to connect the button to activating another script and need help. I am wondering if it can be added to the Button-door model script. Thanks for everyone that attempted to help me whether failed or not in the end. Here is the script for the button-door model.


open = false door1 = script.Parent.Parent.Parent.Door1 local TweenService = game:GetService("TweenService") local part = script.Parent local tweenInfo = TweenInfo.new(24,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0) local Door1Open = {CFrame = door1.CFrame + door1.CFrame.lookVector * 37} local Door1Close = {CFrame = door1.CFrame } local Open1 = TweenService:Create(door1,tweenInfo,Door1Open) local Close1 = TweenService:Create(door1,tweenInfo,Door1Close) script.Parent.MouseClick:connect(function() if open == false then Open1:Play() wait(4) open = true else Close1:Play() wait(4) open = false end end)

The script for the animated light.

sp=script.Parent

bulb=sp:WaitForChild("Bulb")
part1=sp:WaitForChild("Part1")
light1=part1:WaitForChild("SpotLight")
part2=sp:WaitForChild("Part2")
light2=part2:WaitForChild("SpotLight")
toggle=sp:WaitForChild("Toggle")


function updatetoggle()
    bulb.BrickColor=(toggle.Value and BrickColor.new("Really red")) or BrickColor.new("Mid gray")
    light1.Enabled=toggle.Value
    light2.Enabled=toggle.Value
end


toggle.Changed:connect(updatetoggle)
updatetoggle()





rate=1/30
rps=1
currentrotation=math.random()

while true do
    wait(.3)
    while toggle.Value do
        wait(rate)
        currentrotation=currentrotation+(rps*rate)
        part1.CFrame=((bulb.CFrame*CFrame.Angles(0,math.pi*2*currentrotation,0))*CFrame.Angles(0,0,math.pi*.5))*CFrame.new(0,0,part1.Size.z*.5)
        part2.CFrame=((bulb.CFrame*CFrame.Angles(0,math.pi*2*(currentrotation+.5),0))*CFrame.Angles(0,0,math.pi*.5))*CFrame.new(0,0,part2.Size.z*.5)
    end
end

1 answer

Log in to vote
0
Answered by
lukeb50 631 Moderation Voter
6 years ago

2 Server-Side scripts can communicate with each other via Bindable Events and Bindable Functions. You can find more info on the wiki:

http://wiki.roblox.com/index.php?title=API:Class/BindableEvent

http://wiki.roblox.com/index.php?title=API:Class/BindableFunction

0
Thanks, I got the hang of it. BindableEvent gave me a basis and understanding and BindableFunction had the section of script I needed. AKUmurad 2 — 6y
Ad

Answer this question