Gamingtutorials44

Untitled

Jul 10th, 2021
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. local properties; do
  2. local hash = game:HttpGet("http://setup.roblox.com/versionQTStudio")
  3. local data = game:HttpGet(string.format("http://setup.roblox.com/%s-API-Dump.json", hash))
  4. local filter = game:GetService('HttpService'):JSONDecode(data);
  5. properties = filter.Classes;
  6. end
  7.  
  8. local function find(tb, val)
  9. for i, v in next, tb do
  10. if v == val then
  11. return true
  12. end
  13. end
  14. return false
  15. end
  16.  
  17. local function GetProperties(obj)
  18. local props = {};
  19. for _, t in next, properties do
  20. local class = t.Name
  21. for i, v in next, t.Members do
  22. if obj:IsA(class) then
  23. if v.MemberType == 'Property' then
  24. local failed = false;
  25.  
  26. if v.Tags then
  27. if find(v.Tags, 'Deprecated') then failed = true end
  28. if find(v.Tags, 'Hidden') then failed = true end
  29. if find(v.Tags, 'NotScriptable') then failed = true end
  30. end
  31.  
  32. if class and obj:IsA(class) and (not failed) then
  33. table.insert(props, {
  34. Name = v.Name;
  35. Value = obj[v.Name];
  36. })
  37. end
  38. end
  39. end
  40. end
  41. end
  42. return props
  43. end
  44.  
  45. local mt = getrawmetatable(game)
  46. local old = mt.__index
  47.  
  48. if setreadonly then
  49. setreadonly(mt, false)
  50. elseif make_writeable then
  51. make_writeable(mt)
  52. end
  53.  
  54. local newcclosure = newcclosure or protect_function;
  55. local checkcaller = checkcaller or is_protosmasher_caller;
  56.  
  57. mt.__index = newcclosure(function(self, key)
  58. if checkcaller() then
  59. if key == 'GetProperties' then return GetProperties end
  60. end
  61. return old(self, key)
  62. end)
Advertisement
Add Comment
Please, Sign In to add comment