The code I have so far doesn't work, I am thinking that it does not update fast enough. Here is the code:
local player = game:GetService("Players").LocalPlayer
local mouse = player:GetMouse()
local grass = script.Blocks.GrassBlock
local grassClone = grass:Clone()
grassClone.Parent = game.Workspace
local grid = 2
local finalPos = CFrame.new()
mouse.Move:Connect(function()
grassClone.PrimaryPart = grassClone.Hitbox
local floorX = math.floor(mouse.Hit.X / grid + 0.5) * grid
local floorZ = math.floor(mouse.Hit.Z / grid + 0.5) * grid
finalPos = CFrame.new(floorX, 3, floorZ)
local checkCollision = grassClone.PrimaryPart:GetTouchingParts()
for _, p in next, checkCollision do
print(p.Name)
if p.Name == "Box" then
grassClone.PrimaryPart.BrickColor = BrickColor.Red()
grassClone.PrimaryPart.Transparency = 0.5
else
grassClone.PrimaryPart.BrickColor = BrickColor.Green()
grassClone.PrimaryPart.Transparency = 0.9
end
end
grassClone:SetPrimaryPartCFrame(finalPos)
end)
mouse.Button1Down:Connect(function()
local grassClone = grass:Clone()
grassClone.Parent = game.Workspace
local checkCollision = grassClone.PrimaryPart:GetTouchingParts()
grassClone:SetPrimaryPartCFrame(finalPos)
grassClone.PrimaryPart.Name = "Box"
end)
Thanks for the Help!
