I'm scripting from a youtube tutorial and I'm making a tower defense game and for some reason I have a error "Humanoid is not a valid member of model Workspace.Towers.Slinger? (also the error is on line 54)
(towers is my folder where I put my towers in and slinger is the towers name) does anyone know how to fix?
local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService")
local towers = ReplicatedStorage:WaitForChild("Towers")
local camera = workspace.CurrentCamera local gui = script.Parent
local towerToSpawn = nil local function MouseRaycast(blacklist) local mousePosition = UserInputService:GetMouseLocation() local mouseRay = camera:ViewportPointToRay(mousePosition.X, mousePosition.Y) local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist raycastParams.FilterDescendantsInstances = blacklist local raycastResult = workspace:Raycast(mouseRay.Origin, mouseRay.Direction * 1000, raycastParams) return raycastResult
end
local function AddPlaceholderTower(name)
local towerExists = towers:FindFirstChild(name) if towerExists then towerToSpawn = towerExists:Clone() towerToSpawn.Parent = workspace.Towers end
end
gui.Spawn.Activated:Connect(function() AddPlaceholderTower("Slinger") end)
UserInputService.InputBegan:Connect(function(input, processed) if processed then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 then end
end)
RunService.RenderStepped:Connect(function() if towerToSpawn then local result =MouseRaycast({towerToSpawn}) if result and result.Instance then local x = result.Position.X local y = result.Position.Y + towerToSpawn.Humanoid.HipHeight + (towerToSpawn.PrimaryPart.Size.Y / 2) local z = result.Position.Z
local cframe = CFrame.new(x,y,z) towerToSpawn:SetPrimaryPartCFrame(cframe) end end
end)