Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

How to detect touched events from Humanoid when player collision is disabled?

Asked by 5 years ago
Edited 5 years ago

--Trying to detect touch events when player collision is disabled my code:

enter code herelocal PhysicsService = game:GetService("PhysicsService") Players = game:GetService("Players")

local playerCollisionGroupName = "Players" PhysicsService:CreateCollisionGroup(playerCollisionGroupName) PhysicsService:CollisionGroupSetCollidable(playerCollisionGroupName, playerCollisionGroupName, false)

local previousCollisionGroups = {}

local function setCollisionGroup(object) if object:IsA("BasePart") then previousCollisionGroups[object] = object.CollisionGroupId PhysicsService:SetPartCollisionGroup(object, playerCollisionGroupName) end end

local function setCollisionGroupRecursive(object) setCollisionGroup(object)

for _, child in ipairs(object:GetChildren()) do setCollisionGroupRecursive(child) end end

local function resetCollisionGroup(object) local previousCollisionGroupId = previousCollisionGroups[object] if not previousCollisionGroupId then return end

local previousCollisionGroupName = PhysicsService:GetCollisionGroupName(previousCollisionGroupId) if not previousCollisionGroupName then return end

PhysicsService:SetPartCollisionGroup(object, previousCollisionGroupName) previousCollisionGroups[object] = nil end

local function onCharacterAdded(character) setCollisionGroupRecursive(character)

character.DescendantAdded:Connect(setCollisionGroup) character.DescendantRemoving:Connect(resetCollisionGroup) end

local function onPlayerAdded(player) player:LoadCharacter() player.CharacterAdded:Connect(onCharacterAdded) end

Players.PlayerAdded:Connect(onPlayerAdded)

for i,v in pairs(Players:GetPlayers()) do v.Character.Humanoid.Touched:Connect(function() print(v.Character) --Does not print end) end`

0
you'll have to use region3/distance then hellmatic 1523 — 5y

1 answer

Log in to vote
1
Answered by
Alphexus 498 Moderation Voter
5 years ago

Touched events should still work even if player collision is disabled(It did for me). If it does not then you can use Region3 and make a function that checks if a player is within in the region.

Ad

Answer this question