i have an idea why does that happen and it’s the fact that I’m using Module Script. But I’m such a noobie in Module Scripts that I don’t even approximately know what’s the issue.
I have 3 scripts, Local Script (this script controls player’s camera) that sends an Event to a server script:
LoadData:FireServer(LocalPlayer)
Server sided script where I require data from the module script:
...
local DayofAct = require(game.ReplicatedStorage:WaitForChild("Acts"))
LoadData.OnServerEvent:Connect(function(LocalPlayer)
local Act = LocalPlayer.stats.Acts.Value
DayofAct.WhatAct(Act, LocalPlayer)
end)
And a Module Script itself that controls the position
...
local character = player.Character
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
if WhatVal == 0 then
print("Act 0, The Intro (New Game)")
game:GetService("Lighting").TimeOfDay = "14:00:00"
humanoidRootPart.Position = Vector3.new(game.Workspace.Start.Position)
So the issue is the fact that as you can see, im “teleoprting” a player to a needed position using Module Script, but it doesn’t update their CLIENT SIDED position which is very weird, so, my question is:
How can I fix that? Maybe some sort of Event I can fire, maybe change the way im doing that, or maybe pass some value from Module Script back to Server Script?