Hello,
I am currently working on a gun system similar to the game Guts and Blackpowder. To start off, I decided to make the character pivoting to the mouse. However, I have ran into a major issue. I am trying to replicate the character to mouse pivoting on the server side rather than the client so all players could see it, however, I have ran into an issue in the attached video; the rotation works, but the player is stuck in place and can’t move. Is it possible to replicate this movement to the server, or should I stick to the client? I looked at other posts and adapted the code to the server but it simply will not work.
Local Script inside a tool:
local rep = game:GetService("ReplicatedStorage")
local rs = game:GetService("RunService")
local tool = script.Parent
local plr = game.Players.LocalPlayer
local char = plr.Character
local mouse = plr:GetMouse()
local events = tool.Events
tool.Equipped:Connect(function()
mouse.Icon = rep.Assets.dot.Texture
rs:BindToRenderStep("turn", 1, function()
events.Turn:FireServer(mouse.Hit.Position)
end)
end)
tool.Unequipped:Connect(function()
mouse.Icon = ""
rs:UnbindFromRenderStep("turn")
end)
Server script in the tool:
local tool = script.Parent
local plr = script.Parent.Parent.Parent
local char = plr.Character
local root = char.HumanoidRootPart
local Mouse = plr:GetMouse()
local rs = game:GetService("RunService")
local ts = game:GetService("TweenService")
local events = tool.Events
events.Turn.OnServerEvent:Connect(function(plr , mouse)
local RootPos = root.Position
ts:Create(root, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {CFrame = CFrame.new(RootPos, Vector3.new(mouse.X, RootPos.Y, mouse.Z))}):Play()
end)
Thanks.