What about forking ZonePlus to make the zones use a different CollisionGroup?
i used fastcast and zoneplus too. this seems correct to me.
have you tried testing without having the bullet and vfx? i doubt the bullet/vfx may have collision/query that might mess up the raycasts.
Bullet has none of the settings set to true.
CanCollide - False
CanQuery - False
CanTouch - False
But I can definitely try to just use a visualizer!
if the zones are static and not changing or moving, then you may try Zone:relocate()
it moves the zones out of workspace so fastcast cant see them
but players should still be able to enter/exit zones
Some of the Zone Objects do move unfortunately. Such as obstacles.
I’ve also tried only using Visualizer without the Bullet, and the issue stays the same.
It doesn’t change anything, I tried to set even the Default one to false, it’s the same.
just curious, if the “direction” is wrong, then it is nothing to do with fastcast/projectile in the first place, isnt it?
your filter is applied to the projectile trajectory for it to determine if it hits something or not.
BUT the initial shoot direction, how did you do it? does it use raycast ? if it does, have you applied the same filter?
This code is in Loop? it is important
This, there is likely something wring with the aiming protocols. It is probably aiming at the part of the zone object you are aiming at, not aiming behind it. You likely need to adjust the raycast parameters for translating the mouse position into a target.
It uses the simple Direction math.
NetClient_PlayAbility:Connect(function(Player, Data)
--// Define
local MousePosition = unpack(Data)
local Element = Player:GetAttribute("Element")
local Character = Player.Character
local Root = Character.HumanoidRootPart
local Origin = Root.Position
local Direction = (MousePosition - Origin).Unit
Maybe I could use the Mouse.TargetFilter and set the Zone to be that?
No, it happens on every Player Click Input.
If i understand true you need to which zone you selected fired by (SFX bomb whatever). Can’t enter zone and expode its interface?
TargetFilter only accept one instance (and all its descendants)
if you at least want to ignore all zones, you can try putting all zones into a Folder, and set TargetFilter to the zone folder
because a “mouse position” is a raycast from camera position to the point in the focal plane. in other words, it is still a raycast, you may want to make your own raycast so you can have more control such as the exact filter list
I wonder if it is possible to set can query to false only on the client, assuming the zone enter/zone exit events are only needed on the server? I wonder if this would make the mouse ignore the part.
i think yes if zone enter/exit is purely server sided.
Well I managed to fix it by using Mouse.TargetFilter and I set it on the Client. Apparently I can’t send the Mouse to the server by using Network Utility BridgeNet2 which accepts Instances.
I’ve placed the Zones in the Zones Folder and set the Mouse.TargetFilter to it.
Mouse.TargetFilter = Workspace:FindFirstChild("ZoneFolder")
–// Client Code
Oh that’s great hoping it will never cause a problem.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.