I was trying to make a tesla that can open its two front door using the GUI textbuttons but however, when i try to do it, the door isn’t opened immediately and it also cannot be closed too.
Note: when the GUI textbutton is clicked, the localscript will send signals to the server either to close or open the doors using remote event.
Client script:
[code]> local DoorOpen = script.Parent
local leftfront = workspace.TeslaCyberTruck.leftfront
print(leftfront.Parent)
DoorOpen.leftfrontopenclose.MouseButton1Up:Connect(function()
leftfront:FireServer()
end)
local rightfront = workspace.TeslaCyberTruck.rightfront
DoorOpen.rightfrontopenclose.MouseButton1Up:Connect(function()
rightfront:FireServer()
end)[/code]
serverscript:
local leftfront = workspace.TeslaCyberTruck.leftfront
leftfront.OnServerEvent:Connect(function(player)
if workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle == 0 then
print(“openning left front door”)
workspace.TeslaCyberTruck.DoorServo.leftfront.TargetAngle = 30
workspace.TeslaCyberTruck.leftfrontdoor.CanCollide = false
workspace.TeslaCyberTruck.leftfrontglass.CanCollide = false
repeat
wait()
print(workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle)
print(“hasn’t reached the desire angle”)
until workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle >= 30
workspace.TeslaCyberTruck.leftfrontdoor.CanCollide = true
workspace.TeslaCyberTruck.leftfrontglass.CanCollide = true
return
elseif workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle == 30 then
print(“Closing left front door”)
workspace.TeslaCyberTruck.DoorServo.leftfront.TargetAngle = 0
workspace.TeslaCyberTruck.leftfrontdoor.CanCollide = false
workspace.TeslaCyberTruck.leftfrontglass.CanCollide = false
repeat
wait()
print(workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle)
print(“hasn’t reached the desire angle”)
until workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle == 0
workspace.TeslaCyberTruck.leftfrontdoor.CanCollide = true
workspace.TeslaCyberTruck.leftfrontglass.CanCollide = true
return
end
end)
local rightfront = workspace.TeslaCyberTruck.rightfront
rightfront.OnServerEvent:Connect(function(player)
if workspace.TeslaCyberTruck.DoorServo.rightfront.CurrentAngle == 0 then
print(“openning right front door”)
workspace.TeslaCyberTruck.DoorServo.rightfront.TargetAngle = -30
workspace.TeslaCyberTruck.rightfrontdoor.CanCollide = false
workspace.TeslaCyberTruck.rightfrontglass.CanCollide = false
repeat
wait()
print(workspace.TeslaCyberTruck.DoorServo.rightfront.CurrentAngle)
print(“hasn’t reached the desire angle”)
until workspace.TeslaCyberTruck.DoorServo.rightfront.CurrentAngle <= -30
workspace.TeslaCyberTruck.rightfrontdoor.CanCollide = true
workspace.TeslaCyberTruck.rightfrontglass.CanCollide = true
return
elseif workspace.TeslaCyberTruck.DoorServo.leftfront.CurrentAngle == -30 then
print(“Closing right front door”)
workspace.TeslaCyberTruck.DoorServo.rightfront.TargetAngle = 0
workspace.TeslaCyberTruck.rightfrontdoor.CanCollide = false
workspace.TeslaCyberTruck.rightfrontglass.CanCollide = false
repeat
wait()
print(workspace.TeslaCyberTruck.DoorServo.rightfront.CurrentAngle)
print(“hasn’t reached the desire angle”)
until workspace.TeslaCyberTruck.DoorServo.rightfront.CurrentAngle == 0
workspace.TeslaCyberTruck.rightfrontdoor.CanCollide = true
workspace.TeslaCyberTruck.rightfrontglass.CanCollide = true
return
end
end)