For some reason, when I press the keybind it opens a door on the other side of the map or the wrong one. Also if you lock one door it locks them all?
Server Script--Inside the door part
local Open = false
local Locked = false
local CanLock = true
function EventFired(Player, PlayerPosition)
local Magnitude = (script.Parent.Position.Magnitude - PlayerPosition)
---------------------------OPEN/CLOSE DOOR----------------------------------
if Magnitude <= 3 and Magnitude >= 0 and Open == false and Locked == false then
print(Magnitude)
Open = true
script.Parent.Transparency = 0.5
script.Parent.CanCollide = false
print("Opened Door")
elseif Magnitude <= 3 and Magnitude >= 0 and Open == true and Locked == false then
print(Magnitude)
Open = false
script.Parent.Transparency = 0
script.Parent.CanCollide = true
print("Door Closed")
end
---------------------------TRY LOCKED DOOR----------------------------------
if Locked == true and Open == false and Magnitude <= 3 and Magnitude >= 0 then
script.Parent.LockedDoor:Play()
end
end
function Event3Fired(Player, Team, PlayerPosition)
---------------------------LOCK/UNLOCK DOOR----------------------------------
local Magnitude = (PlayerPosition - script.Parent.Position.Magnitude)
if Team == BrickColor.new("Deep orange") and Magnitude <= 3 and Magnitude >= 0 and Locked == false and CanLock == true then
Locked = true
script.Parent["Lock/Unlock"]:Play()
elseif Team == BrickColor.new("Deep orange") and Magnitude <= 3 and Magnitude >= 0 and Locked == true then
Locked = false
script.Parent["Lock/Unlock"]:Play()
elseif Team == BrickColor.new("Really blue") and Magnitude <= 3 and Magnitude >= 0 and Locked == true then
CanLock = false
Locked = false
script.Parent.BreakLock:Play()
end
end
game:GetService("ReplicatedStorage").Door.OnServerEvent:Connect(EventFired)
game:GetService("ReplicatedStorage").Lock.OnServerEvent:Connect(Event3Fired)
client script
local Player = game.Players.LocalPlayer
function onKeyPress(inputObject, gameProcessedEvent)
if inputObject.KeyCode == Enum.KeyCode.E then
local PlayerPosition = Player.Character.HumanoidRootPart.Position.Magnitude
game:GetService("ReplicatedStorage").Door:FireServer(PlayerPosition)
end
end
function onKeyPress2(inputObject, gameProcessedEvent)
if inputObject.KeyCode == Enum.KeyCode.F then
local PlayerPosition = Player.Character.HumanoidRootPart.Position.Magnitude
game:GetService("ReplicatedStorage").Lock:FireServer(Player.TeamColor, PlayerPosition)
end
end
game:GetService("UserInputService").InputBegan:Connect(onKeyPress)
game:GetService("UserInputService").InputBegan:Connect(onKeyPress2)
