Yes, the answer was “ZonePlus depends of a specific part of the character to run the function”. I simply added a part to the custom character and named it Head, thanks to that now the script detects it as a player.
the zones currently dont fire their events after the players death (in a localscript), would there be any workaround to this apart from moving everything to a serverscript.
Thanks
Hello! I’ve run into a small issue with the autocomplete. I bet a lot of other people are having this issue. Requiring the module has the return type of any
, which is inconvenient. The problematic code is as follows:
local referenceLocation = (game:GetService("RunService"):IsClient() and "Client") or "Server"
local referencePresent = referenceObject and referenceObject:FindFirstChild(referenceLocation)
if referencePresent then
return require(referenceObject.Value)
end
The module returns something else before the last line, which confuses the type checker. They are going to be the same value, but it won’t have the correct type. Here’s how I fixed it:
local referenceLocation = (game:GetService("RunService"):IsClient() and "Client") or "Server"
local referencePresent = referenceObject and referenceObject:FindFirstChild(referenceLocation)
local Zone = {}
Zone.__index = Zone
if not referencePresent then
ZonePlusReference.addToReplicatedStorage()
else
return require(referenceObject.Value) :: typeof(Zone)
end
Just thought I would share this in case you wanted to merge this fix!
I always knew about ZonePlus, but I never needed it until now. Thanks for making great stuff!
having trouble detecting item enter/exit. No errors during :trackitem, but itemEntered and itemExited are not firing
local parts = attackZone:getParts()
local characters = HitboxHandler.FilterCharacters(parts)
print(characters)
for _, character in characters do
print('tracking ' .. character.Name)
attackZone:trackItem(character)
end
table.insert(
connections,
attackZone.itemEntered:Connect(function(item)
print(item.Name .. " entered")
end)
)
table.insert(
connections,
attackZone.itemExited:Connect(function(item)
print(item.Name .. " exited")
end)
)```
a really great module, i used it a lot of times & it helped greatly!
It will be really hard to move away from it in the future. I suggest reading this post before you use it.
If zone plus is really so unperformant, why is it not reflecting in studio? I have been using it to create many zones with no issues with performance. Would I not see something as detrimental as this in the dev console?
Is anyone else having any issues with .itemEntered and .playerEntered? Neither of them are working for me right now in a new game I just started, and :getRandomPoint() causes an error and a timeout.
You still working on it man? It’s been some time and im curious.
Occasionally. Its useable. The release of SimpleZone quelled a lot of the motivation to make it feature complete however.
Sometimes zones do not work, but there’s no error in console. I’m using it in ServerScript like that:
local replicatedStorage = game:GetService("ReplicatedStorage")
local Zone = require(replicatedStorage.Zone)
local container = Zone.new(mainPart)
local eventConnect
eventConnect = container.playerEntered:Connect(function(player)
eventConnect:Disconnect()
--- (main code)
end)
This only works half the time. I’m using custom character with meshParts.
UPDATE: it seems like if your character has only MeshParts, ZonePlus not always working, you need to add at least one BasePart