This is one of them, but when i copy and paste, this happens:
01 local ClassProperties do
02 -- ClassProperties is a Dictionary of sorted arrays of Properties of Classes
03 -- Pulls from anaminus.github.io
04 -- Ignores deprecated and RobloxPluginSecurity Properties
05 -- Make sure HttpService is Enabled (Roblox Studio -> Home Tab -> Game Settings -> Security -> Allow HTTP requests = "On")
06
07 ClassProperties = {}
08 local HttpService = game:GetService("HttpService")
09
10 local Data = HttpService:JSONDecode(HttpService:GetAsync("https://anaminus.github.io/rbx/json/api/latest.json"))
11
12 for i = 1, #Data do
13 local Table = Data[i]
14 local Type = Table.type
15
16 if Type == "Class" then
17 local ClassData = {}
18
19 local Superclass = ClassProperties[Table.Superclass]
20
21 if Superclass then
22 for j = 1, #Superclass do
23 ClassData[j] = Superclass[j]
24 end
25 end
26
27 ClassProperties[Table.Name] = ClassData
28 elseif Type == "Property" then
29 if not next(Table.tags) then
30 local Class = ClassProperties[Table.Class]
31 local Property = Table.Name
32 local Inserted
33
34 for j = 1, #Class do
35 if Property < Class[j] then -- Determine whether `Property` precedes `Class[j]` alphabetically
36 Inserted = true
37 table.insert(Class, j, Property)
38 break
39 end
40 end
41
42 if not Inserted then
43 table.insert(Class, Property)
44 end
45 end
46 elseif Type == "Function" then
47 elseif Type == "YieldFunction" then
48 elseif Type == "Event" then
49 elseif Type == "Callback" then
50 elseif Type == "Enum" then
51 elseif Type == "EnumItem" then
52 end
53 end
54 end
55
56 table.foreach(ClassProperties["Part"], print)
Aka it copies the numbers/lines too.
And this other one, i just can’t understand:
https://www.roblox.com/library/59938771/GetProperties-function
Derived = {
Instance = { "Name", "Parent", "Archivable", "ClassName", "RobloxLocked", "DataCost", Derived = {
Accoutrement = { "AttachmentForward", "AttachmentRight", "AttachmentPoint", "AttachmentPos", "AttachmentUp", "BackendAccoutrementState", Derived = {
Hat = { Derived = {} }
}},
Animation = { "AnimationId", Derived = { } },
AnimationTrack = { Derived = { } },
Backpack = { Derived = { } },
BaseScript = { "Disabled", "LinkedSource", Derived = {
CoreScript = { Derived = { } },
Script = { "Source", "Disabled", Derived = {
LocalScript = { Derived = { } }
}}
}},
BodyAngularVelocity = { "angularvelocity", "P", "maxTorque", Derived = { } },
BodyColors = { "BodyColor", Derived = { } },
BodyForce = { "force", Derived = { } },
BodyGyro = { "D", "P", "cframe", "maxTorque", Derived = { } },
BodyPosition = { "D", "P", "maxForce", "position", Derived = { } },
BodyThrust = { "force", "location", Derived = { } },
BodyVelocity = { "P", "maxForce", "Velocity", Derived = { } },
BoolValue = { "Value", Derived = { } },
BrickColorValue = { "Value", Derived = { } },
Camera = { "CameraSubject", "CameraType", "CoordinateFrame", "Focus", Derived = { } },
CFrameValue = { "Value", Derived = { } },
ClickDetector = { "MaxActivationDistance", Derived = { } },
Clothing = { Derived = {
Pants = { "PantsTemplate", Derived = { } },
Shirt = { "ShirtTemplate", Derived = { } }
}},
Color3Value = { "Value", Derived = { } },
Configuration = { Derived = { } },
Dialog = { "ConversationDistance", "InUse", "InitailPrompt", "Purpose", "Tone", Derived = { } },
DialogChoice = { "ResponseDialog", "UserDialog", Derived = { } },
Explosion = { "BlastPressure", "BlastRadius", "Position", Derived = { } },
Feature = { "FaceId", "InOut", "LeftRight", "TopBottom", Derived = {
Hole = { Derived = { } },
MotorFeature = { Derived = { } }
}},
Fire = { "Color", "Enabled", "Heat", "SecondaryColor", "Size", Derived = { } },
ForceField = { Derived = { } },
GuiBase = { "AbsolutePosition", "AbsoluteSize", Derived = {
ScreenGui = { Derived = { } },
GuiObject = { "Active", "BackgroundColor3", "BackgroundTransparency", "BorderColor3", "BorderSizePixel", "Position", "Size", "SizeConstraint", "Visible", "ZIndex", Derived = {
Frame = { Derived = { } },
GuiButton = { "AutoButtonColor", "Selected", "Style", Derived = {
ImageButton = { "Image", Derived = { } },
TextButton = { "Text", "TextBounds", "TextWrap", "TextColor3", "TextTransparency, TextXAlignment", "TextYAlignment", "FontSize", "Font", Derived = { } }
}},
GuiLabel = { Derived = {
ImageLabel = { "Image", Derived = { } },
TextLabel = { "Text", "TextBounds", "TextWrap", "TextColor3", "TextTransparency, TextXAlignment", "TextYAlignment", "FontSize", "Font", Derived = { } }
}},
TextBox = { "Text", "TextBounds", "TextWrap", "TextColor3", "TextTransparency, TextXAlignment", "TextYAlignment", "FontSize", "Font", Derived = { } }
}},
BillboardGui = { "Adornee", "Enabled", "ExtentsOffset", "SizeOffset", "StudsOffset", Derived = { } },
}},
GuiBase3d = { "Color", "Transparency", "Visible", Derived = {
PartAdornment = { "Adornee", Derived = {
SurfaceSelection = { "TargetSurface", Derived = { } },
}},
PVAdornment = { "Adornee", Derived = {
SelectionBox = { Derived = { } }
}},
SelectionLasso = { "Humanoid", Derived = {
SelectionPartLasso = { "Part", Derived = { } },
SelectionPointLasso = { "Point", Derived = { } },
}}
}},
Humanoid = { "Health", "Jump", "MaxHealth", "PlatformStand", "RightLeg", "Sit", "TargetPoint", "Torso", "WalkDirection", "WalkSpeed", "WalkToPart", "WalkToPoint", Derived = { } },
IntValue = { "Value", Derived = { } },
JointInstance = { "C0", "C1", "Part0", "Part1", Derived = {
DynamicRotate = { "BaseAngle", Derived = {
RotateP = { Derived = { } },
RotateV = { Derived = { } }
}},
Glue = { "F0", "F1", "F2", "F3", Derived = { } },
Motor = { "CurrentAngle", "DesiredAngle", "MaxVelocity", Derived = { } },
Rotate = { Derived = { } },
Snap = { Derived = { } },
VelocityMotor = { "CurrentAngle", "DesiredAngle", "Hole", "MaxVelocity", Derived = { } },
Weld = { Derived = { } }
}},
KeyFrame = { "Time", Derived = { } },
Message = { "Text", Derived = {
Hint = { Derived = { } },
}},
Mouse = { "Hit", "Icon", "Origin", "Target", "TargetFilter", "TargetSurface", "UnitRay", "ViewSizeX", "ViewSizeY", "X", "Y", Derived = { } },
NetworkReplicator = { "Port", Derived = { } },
NumberValue = { "Value", Derived = { } },
ObjectValue = { "Value", Derived = { } },
Player = { "AccountAge", "Character", "CharacterAppearance", "DataReady", "Neutral", "MembershipType", "TeamColor", "userId", Derived = { } },
Pose = { "CFrame", "MaskWeight", "Weight", Derived = { } },
PVInstance = { Derived = {
BasePart = { "Anchored", "BrickColor", "CFrame", "CanCollide", "Elasticity", "Friction", "Locked", "Material", "Position", "Reflectance", "RotVelocity", "Size", "Transparency", "Velocity", "TopParamA", "BottomParamA", "LeftParamA", "RightParamA", "FrontParamA", "BackParamA", "TopParamB", "BottomParamB", "LeftParamB", "RightParamB", "FrontParamB", "BackParamB", "TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface", "TopSurfaceInput", "BottomSurfaceInput", "LeftSurfaceInput", "RightSurfaceInput", "FrontSurfaceInput", "BackSurfaceInput", Derived = {
CornerWedgePart = { Derived = { } },
FormFactorPart = { "FormFactor", Derived = {
FlagStand = { "TeamColor", Derived = { } },
Part = { "Shape", Derived = {
Seat = { Derived = { } },
SpawnLocation = { "AllowTeamChangeOnTouch", "Duration", "Neutral", "TeamColor", Derived = { } }
}},
WedgePart = { Derived = { } },
}},
ParallelRampPart = { Derived = { } },
PrismPart = { "Sides", Derived = { } },
PyramidPart = { "Sides", Derived = { } },
RightAngleRampPart = { Derived = { } },
SkateboardPlatform = { "Controller", "ControllingHumanoid", "Steer", "StickyWheels", "Throttle", Derived = { } },
TrussPart = { "Style", Derived = { } },
VehicleSeat = { "AreHingesDetected", "HeadsUpDisplay", "MaxSpeed", "Steer", "Throttle", "Torque", "TurnSpeed", Derived = { } }
}},
Model = { "PrimaryPart", Derived = { } }
}},
RayValue = { "Value", Derived = { } },
RocketPropulsion = { "TurnP", "TurnD", "ThrustP", "ThrustD", "TargetRadius", "TargetOffset", "Target", "MaxTorque", "MaxThrust", "MaxSpeed", "CartoonFactor", Derived = { } },
ScriptContext = { "GarbageCollectionFrequency", "GarbageCollectionLimit", "ScriptsDisabled", Derived = { } },
ShirtGraphic = { "Graphic", Derived = { } },
Skin = { "SkinColor", Derived = { } },
Sky = { "CelestialBodiesShown", "SkyboxBk", "SkyboxDn", "SkyboxFt", "SkyboxRt", "SkyboxUp", "SkyboxCount", Derived = { } },
Smoke = { "Color", "Enabled", "Opacity", "RiseVelocity", "Size", Derived = { } },
Sound = { "IsPaused", "IsPlaying", "Looped", "Pitch", "PlayOnRemove", "SoundId", "Volume", Derived = { } },
Sparkles = { "Enabled", "SparkleColor", Derived = { } },
StarterGear = { Derived = { } },
StatsItem = { Derived = {
ProfilingItem = { Derived = { } },
},
StringValue = { "Value", Derived = { } },
Team = { "AutoAssignable", "AutoColorCharacters", "Score", "TeamColor", Derived = { } },
Teams = { Derived = { } },
TouchTransmitter = { "Target", Derived = { } },
Vector3Value = { "Value", Derived = { } }
}}}}
function AddToTable(a, b)
local r = { }
for i,v in next, a do
if type(v) == "string" then
r[#r+1] = v
end
end
for i,v in next, b do
if type(v) == "string" then
r[#r+1] = v
end
end
return r
end
function Properties(obj, fenv)
fenv = fenv or getfenv()
for i,v in next, fenv.Derived do
if obj:IsA(i) then
return AddToTable(v, Properties(obj, v) or { })
end
end
end
function GetProperties(obj)
local tab = Properties(obj)
for i,v in next, tab do
if type(v) == "table" then
table.remove(tab, i)
end
end
return tab
end
_G.GetProperties = GetProperties