So I have a problem with the client being shown as backwards but the server sees them as normal.
The issue can be seen here:
Code for Client and Server
Server:
local SS = game.ServerStorage
local CPF = workspace:WaitForChild("CutscenePartsFolder")
local bool = false
function Cutscene(Name, Player, WaitDuration, MovingDuration, MovingBack)
if not CPF:FindFirstChild(Name .. "1") or not CPF:FindFirstChild(Name .. "2") then print("CallCutscene was called, could not find parts in Folder. " + Name) return end
if not MovingDuration then MovingDuration = 0 end
if not MovingBack then MovingBack = false end
if not WaitDuration then WaitDuration = 5 end
if not Player then Player = "All" end
local PositionalPart = CPF[Name .. "1"]
local LookPart = CPF[Name .. "2"]
if Player == "All" then
for i, v in pairs(game.Players:GetPlayers()) do
v.DevComputerMovementMode = Enum.DevComputerMovementMode.Scriptable
end
end
_G.CallCutscene(Player, MovingDuration, PositionalPart, WaitDuration, LookPart, MovingBack)
end
SS:WaitForChild("Bindables").Final.Event:Connect(function()
if bool then return end
bool = true
local CFrameOutsideOfHouse = workspace.CutscenePartsFolder.Final1_2.CFrame
_G.DarkClientGUIBE:Fire("All")
_G.TeleportPlayers("All", CFrameOutsideOfHouse)
local AddedVector = Vector3.new(-48, 0, 0)
Cutscene("Final1_")
for i, v in pairs(game.Players:GetPlayers()) do
wait()
local oldcframe = v.Character:GetPrimaryPartCFrame()
v.Character:SetPrimaryPartCFrame(oldcframe * CFrame.Angles(0, math.rad(180), 0))
print(v.Character.PrimaryPart.CFrame)
wait()
v.Character.Humanoid:MoveTo(v.Character.Head.Position + AddedVector)
end
_G.DarkClientGUIBE:Fire("All")
end)
Client:
ReplicatedStorage:WaitForChild("CutsceneRE").OnClientEvent:Connect(function(MovingDuration, EndingCFrame, WaitDuration, StartingCFrame, MovingBack)
if not StartingCFrame then
StartingCFrame = game.Players.LocalPlayer.Character.Head.CFrame
end
if MovingDuration == 0 then
MovingDuration = 0.01
end
local cam = workspace.CurrentCamera
cam.CameraType = "Scriptable"
if typeof(EndingCFrame)== "Instance" then
EndingCFrame = EndingCFrame.CFrame
end
if typeof(StartingCFrame) == "Instance" then
StartingCFrame = StartingCFrame.CFrame
end
for i, v in pairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v:IsA("Part") then
v.LocalTransparencyModifier = 0
end
end
cam:Interpolate(EndingCFrame,StartingCFrame, MovingDuration)
wait(WaitDuration)
if MovingBack then
for i, v in pairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v:IsA("Part") then
v.LocalTransparencyModifier = 1
end
end
cam.CameraType = "Custom"
end
end)
Next ones are Server Sided
_G.CallCutscene Function:
_G.CallCutscene = function(Player, MovingDuration, EndingCFrame, WaitDuration, StartingCFrame, MovingBack)
if Player == "All" then
CutsceneRE:FireAllClients(MovingDuration, EndingCFrame, WaitDuration, StartingCFrame, MovingBack)
else
CutsceneRE:FireClient(Player, MovingDuration, EndingCFrame, WaitDuration, StartingCFrame, MovingBack)
end
end
_G.DarkClientGUIBE:
local DarkClientGUIBE = BindablesFolder:WaitForChild("DarkClientGUIBE")
DarkClientGUIBE.Event:Connect(function(Player, Duration)
if Player == "All" then
DarkRE:FireAllClients(Duration)
return
end
DarkRE:FireClient(Player, Duration)
end)
_G.DarkClientGUIBE = DarkClientGUIBE
I hope someone can help me, thanks in advance!
Edit: Just tried using an RE to tell the client to rotate, that didn’t work either