Ok so I have this tower defense game and I added a hover to see the health of the enemy but now for some reason I cant place towers, this is my script for the hover part (since I added this part I cant place towers and there is not errors in the output)
It’s a little hard to see the code since it’s not formatted. Can you paste it instead of screenshotting?
try turning the hover part’s CanCollide
property to false
, then changing CanQuery
to false too, that way the hover part won’t interfere with raycast
(i am assuming the system adds new Part
s)
the hover part’s are a rig(dummy)
RunService.RenderStepped:Connect(function()
local result, mousePos = MouseRaycast({towerToSpawn})
if result and result.Instance then
if towerToSpawn then
if result.Instance.Parent.Name == “GroundPlacement” then
canPlace = true
ColorPlaceholderTower(Color3.new(0, 1, 0))
else
canPlace = false
ColorPlaceholderTower(Color3.new(1, 0, 0))
end
local x = result.Position.X
local y = result.Position.Y
local z = result.Position.Z
local cframe = CFrame.new(x,y,z) * CFrame.Angles(0, math.rad(rotation), 0)
towerToSpawn:SetPrimaryPartCFrame(cframe)
else
hoveredInstance = result.Instance
mobsAlive = #workspace.Mobs:GetChildren()
if mobsAlive > 0 then
local result, mousePos = MouseRaycast()
if result and result.Instance and mousePos then
if result.Instance.Parent.Parent and result.Instance.Parent.Parent.Name == "Mobs" then
HoverOverMob(result, mousePos)
elseif result.Instance.Parent.Parent.Parent and result.Instance.Parent.Parent.Parent.Name == "Mobs" then
HoverOverMob(result, mousePos)
else
mobHoverGui.Visible = false
end
else
mobHoverGui.Visible = false
end
else
if mobHoverGui.Visible == true then
mobHoverGui.Visible = false
end
end
end
else
hoveredInstance = nil
end
end)
yea make every part inside the rig have CanQuery
and CanCollide
set to false
for _, v in ipairs(rig:GetChildren()) do
if not v:IsA("BasePart") then continue end
v.CanCollide = false
v.CanTouch = false -- lol
v.CanQuery = false -- with this, rayCast, region3 and the new region3 alternatives won't detect it
end
I just did it and its not working
Replace GetChildren
with GetDescendants
and it should function as intended.
Yeah I try doing it with only one tower and it is not working