Guest User

Untitled

a guest
Aug 9th, 2018
589
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.52 KB | None | 0 0
  1. local PhysicsService = game:GetService("PhysicsService")
  2. local Players = game:GetService("Players")
  3.  
  4. local playerCollisionGroupName = "Players"
  5. PhysicsService:CreateCollisionGroup(playerCollisionGroupName)
  6. PhysicsService:CollisionGroupSetCollidable(playerCollisionGroupName, playerCollisionGroupName, false)
  7.  
  8. local previousCollisionGroups = {}
  9.  
  10. local function setCollisionGroup(object)
  11.     if object:IsA("BasePart") then
  12.         previousCollisionGroups[object] = object.CollisionGroupId
  13.         PhysicsService:SetPartCollisionGroup(object, playerCollisionGroupName)
  14.     end
  15. end
  16.  
  17. local function setCollisionGroupRecursive(object)
  18.     setCollisionGroup(object)
  19.  
  20.     for _, child in ipairs(object:GetChildren()) do
  21.         setCollisionGroupRecursive(child)
  22.     end
  23. end
  24.  
  25. local function resetCollisionGroup(object)
  26.     local previousCollisionGroupId = previousCollisionGroups[object]
  27.     if not previousCollisionGroupId then return end
  28.  
  29.     local previousCollisionGroupName = PhysicsService:GetCollisionGroupName(previousCollisionGroupId)
  30.     if not previousCollisionGroupName then return end
  31.  
  32.     PhysicsService:SetPartCollisionGroup(object, previousCollisionGroupName)
  33.     previousCollisionGroups[object] = nil
  34. end
  35.  
  36. local function onCharacterAdded(character)
  37.     setCollisionGroupRecursive(character)
  38.  
  39.     character.DescendantAdded:Connect(setCollisionGroup)
  40.     character.DescendantRemoving:Connect(resetCollisionGroup)
  41. end
  42.  
  43. local function onPlayerAdded(player)
  44.     player.CharacterAdded:Connect(onCharacterAdded)
  45. end
  46.  
  47. Players.PlayerAdded:Connect(onPlayerAdded)
Advertisement
Add Comment
Please, Sign In to add comment