Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local PlayerHandlers = {}
- local Players = game:GetService("Players")
- local DSS = require(game:FindFirstChild("DSS",true))
- ---------------------------------------------------// Initial Setup
- local PlayerHandler = {}
- function PlayerHandler.SetUp(Player)
- if not PlayerHandlers[Player] then
- local instance = setmetatable({
- ["Player"] = Player,
- ["Connections"] = {},
- ["Character"] = Player.Character or Player.CharacterAdded:Wait(),
- },{
- __Index = PlayerHandler
- })
- PlayerHandlers[Player] = instance
- return instance
- end
- end
- function PlayerHandler:SetupConnection(Name: "String",Connection: "Event",Function: "Function")
- self["Connections"][Name] = Connection:Connect(Function)
- end
- ---------------------------------------------------// Initial Setup
- for _,v in pairs(Players) do
- PlayerHandler.SetUp(v)
- end
- ---------------------------------------------------// NewPlayer
- Players.PlayerAdded:Connect(function(Player)
- PlayerHandler.SetUp(Player)
- end)
- Players.PlayerRemoving:Connect(function(Player)
- for _,v in pairs(PlayerHandlers[Player]["Connections"]) do
- v:Disconnect()
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment