alright so i was trying to create myself a simple system to place a shack down and i got it to be able to place where the player is at but im wanting it to be relitively close to the player but in front of the player but what i am getting right now is the model placing on the player and keep in mind this game is going to be in first person so you can imagine how bad that is

anyways here is what i got for it so far Script:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
-- note to self make sure tool is not requires handle
local Tool = script.Parent
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Head = Character:WaitForChild("Head")
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local Mouse = Player:GetMouse()
local Shack = ReplicatedStorage:FindFirstChild("Shack")
local debounce = false
Tool.Equipped:Connect(function()
	--RunService.RenderStepped:Connect(function(step)
		local ShackClone = Shack:Clone()
		ShackClone.Parent = workspace
		ShackClone.Name = "ShackBluePrint"
--		while true do
--			if debounce == false then
--				debounce = true
				ShackClone:SetPrimaryPartCFrame(CFrame.new(HumanoidRootPart.Position),HumanoidRootPart.CFrame.lookVector * 100)
				ShackClone:SetPrimaryPartCFrame(ShackClone:GetPrimaryPartCFrame()*CFrame.fromEulerAnglesXYZ(0,0,Head.CFrame.lookVector.Y))
--				wait(2)
--				debounce = false
			--
			--end
		--end
	--end)
end)

Tool.Unequipped:Connect(function()
	workspace.ShackBluePrint:Destroy()
end)

Tool.Activated:Connect(function()
    local PositionClicked = Mouse.hit.p
    if Mouse.Target.Name == "Shack" then
    else
    local posX, posY, posZ = PositionClicked.X, PositionClicked.Y, PositionClicked.Z
    game.ReplicatedStorage.PlaceFabrication:FireServer(posX, posY, posZ)
    end
end)

all the comments were an attempt to get it to follow the player but always resulted in script timeouts no matter how many different ways i set it up

2 comments

0

Either use endered step or while loop not both. Make sure to have a wait().

0

Also add an offset