Advertisement
EmeraldLimes

Attributez (SOURCE CODE)

Jun 25th, 2020
638
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.18 KB | None | 0 0
  1. --[[
  2.  
  3.     Made by EmeraldLimes on June 22th, 2020
  4.     updated June 26th, 2020
  5.     v.0.5
  6.     devforum post: https://devforum.roblox.com/t/attributez-for-all-your-instance-value-storing-needs/638372
  7.     Enjoy!
  8.  
  9.     CHANGELOG:
  10.     - Fixed instance leaking
  11.     - Optimized script
  12. ]]
  13.  
  14. local Attributez = {}
  15.  
  16. local localAttributez = {}
  17.  
  18. local function onRemove(instance)
  19.     instanceRemovedConnection = instance.AncestryChanged:Connect(function()
  20.         if (not instance:IsDescendantOf(game)) then
  21.             localAttributez[instance] = nil
  22.             instanceRemovedConnection:Disconnect()
  23.         end
  24.     end)
  25. end
  26.  
  27. function Attributez:SetAttribute(instance,attribute,value)
  28.     if (localAttributez[instance] == nil) then localAttributez[instance] = {} onRemove(instance) end
  29.    
  30.     localAttributez[instance][attribute] = value
  31. end
  32.  
  33. function Attributez:GetAttribute(instance,attribute)
  34.     if (localAttributez[instance] == nil) then localAttributez[instance] = {} end
  35.    
  36.     local Attribute = localAttributez[instance][attribute] ~= nil and localAttributez[instance][attribute] or nil
  37.     return Attribute
  38. end
  39.  
  40. function Attributez:GetAttributes(instance)
  41.     local Attributez = localAttributez[instance]
  42.     return Attributez
  43. end
  44. return Attributez
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement