not sure what i’m doing wrong. i’m creating a placement system but its not updating the CFrame for the object in my renderstepped function.
module:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local IsServer = RunService:IsServer()
local Assets = require(ReplicatedStorage.Scripts.AssetsModule)
local Placement = {}
Placement.__index = Placement
function Placement.new(plot)
local self = setmetatable({}, Placement)
self.Object = nil
self.GridUnit = 1
self.Surface = Enum.NormalId.Top
if IsServer then
print("Server")
self.PlotObjects = Instance.new("Folder")
self.PlotObjects.Name = "PlotObjects"
self.PlotObjects.Parent = plot
else
print("Client")
end
return self
end
function Placement:CreateClientRender()
self.Object = Assets.Blocks.BlockTemplate
local Object = self.Object:Clone()
Object.Parent = workspace
self.Object.Transparency = 0.5
self.Object.CanCollide = false
self.Object.CanQuery = false
end
return Placement
client:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Scripts = ReplicatedStorage:WaitForChild("Scripts")
local Placement = require(Scripts.Placement)
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
Placement:CreateClientRender()
RunService.RenderStepped:Connect(function()
local MouseCFrame = mouse.Hit
if Placement.Object then
Placement.Object.CFrame = MouseCFrame
end
end)
