-
What do you want to achieve? Keep it simple and clear!
Im Helping My Friend On A Game And Im Trying To Add Aiming To The Gun -
What is the issue?
-
What solutions have you tried so far?
I’ve Been Trying To Change Values
script.Parent.Equipped:Connect(function()
script.Parent.LocalScript.Disabled = false
xOffSet = script.Parent.Parent.Torso["Right Shoulder"].C0.X
yOffSet = script.Parent.Parent.Torso["Right Shoulder"].C0.Y
zOffSet = script.Parent.Parent.Torso["Right Shoulder"].C0.Z
torso = script.Parent.Parent.Torso["Right Shoulder"]
end)
script.Parent.Unequipped:Connect(function()
script.Parent.LocalScript.Disabled = true
torso.C0 = CFrame.new(xOffSet,yOffSet, zOffSet)* CFrame.Angles(0, 90, 0)
end)
script.Parent.Aim.OnServerEvent:Connect(function(player,x,y,z)
local part = Instance.new("Part")
part.CanTouch = false
part.CanCollide = false
part.Anchored = true
part.Size = Vector3.new(0.25,0.25,0.25)
part.Transparency = 1
part.Position = Vector3.new(x,y,z)
part.Parent = game.Workspace
local dir = (part.Position - script.Parent.Parent.HumanoidRootPart.Position).Unit
local dist = (part.Position - script.Parent.Parent.HumanoidRootPart.Position).Magnitude
local vecA = Vector2.new(script.Parent.Parent.HumanoidRootPart.CFrame.LookVector.X, script.Parent.Parent.HumanoidRootPart.CFrame.LookVector.Z)
local vecB = Vector2.new(dir.X, dir.Z)
local dotValue = vecA:Dot(vecB)
local crossValue = vecA:Cross(vecB)
local ht = script.Parent.Parent.HumanoidRootPart.Position.Y - part.Position.Y
local upAngle = math.atan(ht/dist)
local angle = math.atan2(crossValue, dotValue)
part:Destroy()
script.Parent.Parent.Torso["Right Shoulder"].C0 = CFrame.new(xOffSet,yOffSet, zOffSet)* CFrame.Angles(0, -angle+90, -upAngle)
end)