Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Help on a player rotation script?

What I was trying to make was simply a script that rotated your player to face your mouse. This was the script I came up with (LocalScript)

local p = game.Players.LocalPlayer
repeat wait() until p.Character
local c = p.Character
local m = p:GetMouse()
local rs = game:GetService("RunService")
local tb = Instance.new("Part", Workspace.CurrentCamera)
local cc = Workspace.CurrentCamera
tb.CanCollide = false
tb.Transparency = 1
tb.Anchored = true
tb.FormFactor = "Custom"
tb.Size = Vector3.new(0.2,0.2,0.2)
tb.CFrame = c.Torso.CFrame *CFrame.new(0,15,5)
local tc = Instance.new("Part", Workspace.CurrentCamera)
tc.Transparency = 1
tc.CanCollide = false
tc.FormFactor = "Custom"
tc.Size = Vector3.new(0.2,0.2,0.2)
bpos = Instance.new("BodyPosition", tc)
bpos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
bpos.position = tb.Position

rs.RenderStepped:connect(
function()
	dist = (c.Torso.Position-m.Hit.p).magnitude
	if dist > 8 then
		c.Torso.CFrame = CFrame.new(c.Torso.Position, Vector3.new(m.Hit.p.x, c.Torso.Position.y, m.Hit.p.z))
	end
	cc.CoordinateFrame = CFrame.new(tc.Position, c.Torso.Position)
	tb.CFrame = c.Torso.CFrame *CFrame.new(0,10,20)
	bpos.position = tb.Position
end)

I found that when I used this, some controls were affected and the player went in strange directions rather than going in the direction that I would have liked. Is there anyway to get around this problem?

1 comment

0

Someone please help me on this ^~^

1 answer

Its simple. Simply do this:

part.CFrame = CFrame.new(part.Position,mouse.Hit.p)

part is the part you want to rotate towards mouse. In this case, since you want the player to rotate towards mouse, make that part Torso. You can make the head, arm, whatever, but since the Character object is welded together, it doesnt' matter which part your rotating it does it together.

So basically

player.Character.Torso.CFrame = CFrame.new(player.Character.Torso.Position,mouse.Hit.p)

Define player in your script, copy this, and your good to go.

Your welcome.

This discussion is preserved as it was. New answers, comments, and votes are closed.