Why is it not printing ontouched

local Mod = require(script.Parent)

for _, v in pairs(workspace.Spawns:GetDescendants()) do
	if v:IsA("BasePart") and not v:FindFirstChild("Occupied") then
		Mod.Init(v)
		v:WaitForChild("Occupied")
	end
	Mod.onTouched(v)
end
1 Like
local Main = {}

function Main.Spawn()
	local orbs = game:GetService('ReplicatedStorage'):WaitForChild("Orbs"):GetChildren()

	local Positions = workspace.Spawns:GetChildren()

	for _, v in pairs(Positions) do
		if v:IsA("BasePart") and not v:FindFirstChild("Occupied") then
			local randomOrb = math.random(1, #orbs)
			local selectedOrb = orbs[randomOrb]:Clone()

			if not selectedOrb.PrimaryPart then
				selectedOrb.PrimaryPart = selectedOrb:FindFirstChildOfClass("BasePart")
			end

			selectedOrb:SetPrimaryPartCFrame(v.CFrame)
			selectedOrb.Parent = v

			local occupiedMarker = Instance.new("BoolValue")
			occupiedMarker.Name = "Occupied"
			occupiedMarker.Parent = v
			
			Main.onTouched(selectedOrb)
		end
	end
end

function Main.onTouched(orb)
	local amount = orb:GetAttribute('Amount')
	orb.Hitbox.Touched:Connect(function(hit)
		local player = game:GetService('Players'):GetPlayerFromCharacter(hit)
		
		if player then
			orb:Destroy()
			print("ontouched")
		end
		
	end)
end

function Main.Init()
	Main.Spawn()
end

return Main

1 Like

Use hit.Parent, not just hit

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.