ZonePlus .itemEntered not working

  1. I’m trying to make upgrade zones for my game where if a model enters a zone it’s price is increases

  2. The zone.itemEntered is not firing when anything enters the zone. partEntered works but it wont detect the model unless I set the models primarypart.Anchored to false.

  3. I’ve tried checking the devforum to see if others had the same problem, but I cant find anything that works

-- SERVICES --
local ReplicatedStorage = game:GetService("ReplicatedStorage")
--

-- VARIABLES --
local global = require(script.Parent.Parent.Parent.Global)
local items = global.Items
local zone = global.Zone
local conveyor = {}
local meta = {}
--

-- TYPES --
--

-- PRIVATE --

--

-- PUBLIC --
function conveyor.new(owner, class, model : Model) : global.ConveyorModule
	local self = setmetatable(table.clone(class) or table.clone(items.Conveyors[1]), meta)
	self.Model = model
	if class.Process then
		print(model:FindFirstChild("Upgrader"))
		local conveyorZone = zone.new(model:FindFirstChild("Upgrader"))
		self.Zone = conveyorZone
		conveyorZone.itemEntered:Connect(function()
			print("hi")
		end)
		print(conveyorZone.partEntered)
	end
	return self
end

function meta:Destroy()
	warn("destroying")
	self.Model:Destroy()
	self.Zone:Destroy()
	table.clear(self)
	self = nil
end
--

return conveyor

The zone(green part):

2 Likes

Pretty sure you need to make the zone “Track” the part by running

zone:trackItem(PARTINSTANCEHERE)

ZonePlus is old, outdated and slow, it was a good zone creator module for a while but now i suggest changing it, as it does not support modern roblox features.

I personally use SimpleZone which is a new and ondate module which does the same things as ZonePlus but is faster and easier to use (in my opinion).

1 Like

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