Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local varc = {}
- function round(num, places)
- local x = num * (10*places)
- local r = math.floor(x)
- local z = r / (10*places)
- return z
- end
- function varc.decode(var)
- local vartype = typeof(var):lower()
- local result = {
- type=vartype,
- value=var
- }
- if (vartype==("vector2"):lower()) then
- result.value = {
- X=var.X,
- Y=var.Y,
- }
- elseif (vartype==("vector3"):lower()) then
- result.value = {
- X=var.X,
- Y=var.Y,
- Z=var.Z,
- }
- if result.value["X"]==nil then
- result.value["X"]=0
- end
- if result.value["Y"]==nil then
- result.value["Y"]=0
- end
- if result.value["Z"]==nil then
- result.value["Z"]=0
- end
- elseif (vartype==("cframe"):lower()) then
- local x,y,z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = var:GetComponents()
- result.value = {
- x=x,
- y=y,
- z=z,
- R00=R00,
- R01=R01,
- R02=R02,
- R10=R10,
- R11=R11,
- R12=R12,
- R20=R20,
- R21=R21,
- R22=R22,
- }
- elseif (vartype==("enumitem"):lower()) then
- result.value = var.Name
- elseif (vartype==("instance"):lower()) then
- print("ADD OBJECT TO STACK")
- elseif (vartype==("faces"):lower()) then
- result.value={
- top=var.Top,
- bottom=var.Bottom,
- left=var.Left,
- right=var.Right,
- front=var.Front,
- back=var.Back
- }
- elseif (vartype==("color3"):lower()) then
- result.value={
- r=var.r,
- g=var.g,
- b=var.b
- }
- elseif (vartype==("brickcolor"):lower()) then
- result.value = {
- r=var.r,
- g=var.g,
- b=var.b
- }
- elseif (vartype==("UDim2"):lower()) then
- result.value = {
- X={
- offset=var.X.Offset,
- scale=var.X.Scale,
- },
- Y={
- offset=var.Y.Offset,
- scale=var.Y.Scale
- },
- }
- end
- return result
- end
- --//------------------------//--
- function varc.encode(what)
- local vartype = what.type:lower()
- local result = what.value
- if (vartype=="string" or vartype=="number" or vartype=="boolean") then
- -- Nothing needs done
- elseif (vartype=="vector2") then
- result = Vector2.new(result.X, result.Y)
- elseif (vartype=="vector3") then
- result=Vector3.new(result.X,result.Y,result.Z)
- elseif (vartype=="cframe") then
- result=CFrame.new(result.x,result.y,result.z,result.R00,result.R01,result.R02,result.R10,result.R11,result.R12,result.R20,result.R21,result.R22)
- elseif (vartype=="enumitem") then
- --// Do I do anything?
- elseif (vartype=="instance") then
- result = nil --// for now
- elseif (vartype=="faces") then
- result = Faces.new(result.top, result.bottom, result.left, result.right, result.front, result.back)
- elseif (vartype=="color3") then
- result = Color3.new(result.r, result.g, result.b)
- elseif vartype=="brickcolor" then
- result=BrickColor.new(Color3.fromRGB(result.r, result.g, result.b))
- elseif vartype=="udim2" then
- result=UDim2.new(result.X.scale, result.X.offset, result.Y.scale, result.Y.offset)
- end
- return result
- end
- function attrib(obj, attribs, name)
- attribs[name]=nil
- pcall(function()
- attribs[name] = varc(obj[name])
- end)
- end
- local props={}
- props[""]=function(object,attribs)
- attrib(object, attribs, "")
- end
- props["all"] = function(object, attribs)
- attrib(object, attribs, "Name")
- attrib(object, attribs, "ClassName")
- attrib(object, attribs, "Archivable")
- attribs["type"]="Instance"
- attribs["doBuild"]=true
- end
- props["Part"]=function(object, attribs)
- local function SI(name)
- attrib(object, attribs, name .. "ParamA")
- attrib(object, attribs, name .. "ParamB")
- attrib(object, attribs, name .. "SurfaceInput")
- end
- attrib(object, attribs, "Size")
- --attrib(object, attribs, "BrickColor")
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Material")
- attrib(object, attribs, "Reflectance")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Orientation")
- --attrib(object, attribs, "Position")
- attrib(object, attribs, "CFrame")
- attrib(object, attribs, "RotVelocity")
- attrib(object, attribs, "Velocity")
- attrib(object, attribs, "Anchored")
- attrib(object, attribs, "CanCollide")
- attrib(object, attribs, "CollisionGroupId")
- attrib(object, attribs, "Locked")
- --attrib(object, attribs, "ResizeableFaces")
- --attrib(object, attribs, "ResizeIncrement")
- attrib(object, attribs, "CustomPhysicalProperties")
- if (object["CustomPhysicalProperties"]) then
- attribs["CustomPhysicalProperties"]["Density"] = object["CustomPhysicalProperties"]["Density"]
- attribs["CustomPhysicalProperties"]["Friction"] = object["CustomPhysicalProperties"]["Friction"]
- attribs["CustomPhysicalProperties"]["Elasticity"] = object["CustomPhysicalProperties"]["Elasticity"]
- attribs["CustomPhysicalProperties"]["FrictionWeight"] = object["CustomPhysicalProperties"]["FrictionWeight"]
- attribs["CustomPhysicalProperties"]["ElasticityWeight"] = object["CustomPhysicalProperties"]["ElasticityWeight"]
- end
- if (object.ClassName ~= "VehicleSeat" and object.ClassName ~= "Seat" and object.ClassName ~= "MeshPart" and object.ClassName ~= "WedgePart") then
- attrib(object, attribs, "Shape")
- end
- SI("Back")
- SI("Bottom")
- SI("Front")
- SI("Left")
- SI("Right")
- SI("Top")
- attrib(object, attribs, "BackSurface")
- attrib(object, attribs, "BottomSurface")
- attrib(object, attribs, "FrontSurface")
- attrib(object, attribs, "LeftSurface")
- attrib(object, attribs, "RightSurface")
- attrib(object, attribs, "TopSurface")
- --script.Parent.Todo.Part.CustomPhysicalProperties.Density
- end
- props["WedgePart"]=function(object,attribs)
- props.Part(object, attribs)
- end
- props["Truss"]=function(object,attribs)
- props.Part(object, attribs)
- attrib(object, attribs, "Style")
- end
- props["CornerWedge"]=function(object,attribs)
- props.Part(object, attribs)
- attrib(object, attribs, "")
- end
- props["Camera"]=function(object, attribs)
- attrib(object, attribs, "FieldOfView")
- attrib(object, attribs, "HeadLocked")
- attrib(object, attribs, "HeadScale")
- --attrib(object, attribs, "NearPlaneZ")
- --attrib(object, attribs, "ViewportSize")
- attrib(object, attribs, "CameraSubject")
- attrib(object, attribs, "CameraSubject")
- attrib(object, attribs, "CameraType")
- end
- props["Sound"]=function(object,attribs)
- attrib(object, attribs, "EmitterSize")
- attrib(object, attribs, "IsLoaded")
- attrib(object, attribs, "IsPaused")
- attrib(object, attribs, "IsPlaying")
- attrib(object, attribs, "Looped")
- attrib(object, attribs, "MaxDistance")
- attrib(object, attribs, "PlaybackLoudness")
- attrib(object, attribs, "PlaybackSpeed")
- attrib(object, attribs, "RollOffMode")
- end
- props["BodyColors"]=function(object,attribs)
- local function of(name)
- attrib(object, attribs, (name .. "Color"))
- attrib(object, attribs, (name .. "Color3"))
- end
- of("Head")
- of("LeftArm")
- of("LeftLeg")
- of("RightArm")
- of("RightLeg")
- of("Torso")
- end
- props["Shirt"]=function(object,attribs)
- attrib(object, attribs, "ShirtTemplate")
- end
- props["Pants"]=function(object,attribs)
- attrib(object, attribs, "PantsTemplate")
- end
- props["MeshPart"]=function(object,attribs)
- props.Part(object, attribs)
- attrib(object, attribs, "MeshId")
- end
- props["ShirtGraphic"]=function(object,attribs)
- attrib(object, attribs, "Graphic")
- end
- props["Accessory"]=function(object,attribs)
- attrib(object, attribs, "AttachmentForward")
- attrib(object, attribs, "AttachmentPos")
- attrib(object, attribs, "AttachmentRight")
- attrib(object, attribs, "AttachmentUp")
- end
- props["AlignOrientation"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "MaxAngularVelocity")
- attrib(object, attribs, "MaxTorque")
- attrib(object, attribs, "Responsiveness")
- attrib(object, attribs, "PrimaryAxisOnly")
- attrib(object, attribs, "ReactionTorqueEnabled")
- attrib(object, attribs, "RigidityEnabled")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["AlignPosition"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "MaxForce")
- attrib(object, attribs, "MaxVelocity")
- attrib(object, attribs, "Responsiveness")
- attrib(object, attribs, "ApplyAtCenterOfMass")
- attrib(object, attribs, "ReactionForceEnabled")
- attrib(object, attribs, "RigidityEnabled")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["BallSocketConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Radius")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "LimitsEnabled")
- if (object.LimitsEnabled) then
- attrib(object, attribs, "Restitution")
- attrib(object, attribs, "TwistLimitsEnabled")
- if (object.TwistLimitsEnabled) then
- attrib(object, attribs, "TwistLowerAngle")
- attrib(object, attribs, "TwistUpperAngle")
- end
- attrib(object, attribs, "UpperAngle")
- end
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["Beam"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "LightEmission")
- attrib(object, attribs, "LightInfluence")
- attrib(object, attribs, "Texture")
- attrib(object, attribs, "TextureLength")
- attrib(object, attribs, "TextureMode")
- attrib(object, attribs, "TextureSpeed")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "ZOffset")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- attrib(object, attribs, "CurveSize0")
- attrib(object, attribs, "CurveSize1")
- attrib(object, attribs, "FaceCamera")
- attrib(object, attribs, "Segments")
- attrib(object, attribs, "Width0")
- attrib(object, attribs, "Width1")
- end
- props["BoolValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["BrickColorValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["CFrameValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["ClickDetector"]=function(object,attribs)
- attrib(object, attribs, "MaxActivationDistance")
- attrib(object, attribs, "CursorIcon")
- end
- props["Color3Value"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["CylindricalConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "RotationAxisVisible")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "AngularActuatorType")
- attrib(object, attribs, "AngularLimitsEnabled")
- attrib(object, attribs, "InclinationAngle")
- attrib(object, attribs, "ActuatorType")
- attrib(object, attribs, "LimitsEnabled")
- if (object.LimitsEnabled) then
- attrib(object, attribs, "LowerLimit")
- attrib(object, attribs, "Restitution")
- attrib(object, attribs, "UpperLimit")
- end
- attrib(object, attribs, "AngularLimitsEnabled")
- if (object.LimitsEnabled) then
- attrib(object, attribs, "LowerAngle")
- attrib(object, attribs, "AngularRestitution")
- attrib(object, attribs, "UpperAngle")
- end
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["Explosion"]=function(object,attribs)
- attrib(object, attribs, "BlastPressure")
- attrib(object, attribs, "BlastRadius")
- attrib(object, attribs, "DestroyJointRadiusPercent")
- attrib(object, attribs, "ExplosionType")
- attrib(object, attribs, "Position")
- attrib(object, attribs, "Visible")
- end
- props["CharacterMesh"]=function(object,attribs)
- attrib(object, attribs, "BaseTextureId")
- attrib(object, attribs, "BodyPart")
- attrib(object, attribs, "MeshId")
- attrib(object, attribs, "OverlayTextureId")
- end
- props["Animation"]=function(object,attribs)
- attrib(object, attribs, "AnimationId")
- end
- props["Selection"]=function(object,attribs)
- attrib(object, attribs, "Color3")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Adornee")
- attrib(object, attribs, "Visible")
- end
- props["SelectionSphere"]=function(object,attribs)
- props.Selection(object,attribs)
- attrib(object, attribs, "SurfaceColor3")
- attrib(object, attribs, "SurfaceTransparency")
- end
- props["SelectionBox"]=function(object,attribs)
- props.SelectionSphere(object,attribs)
- attrib(object, attribs, "LineThickness")
- end
- props["SurfaceSelection"]=function(object,attribs)
- props.Selection(object,attribs)
- attrib(object, attribs, "TargetSurface")
- end
- props["Weld"]=function(object,attribs)
- attrib(object, attribs, "Part0")
- attrib(object, attribs, "Part1")
- end
- props["Snap"]=function(object,attribs)
- props.Weld(object,attribs)
- end
- props["ArcHandles"]=function(object,attribs)
- attrib(object, attribs, "Color3")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Adornee")
- attrib(object, attribs, "Axes")
- attrib(object, attribs, "Visible")
- end
- props["GUIObject"]=function(object,attribs)
- attrib(object, attribs, "Active")
- attrib(object, attribs, "AnchorPoint")
- attrib(object, attribs, "BackgroundColor3")
- attrib(object, attribs, "BackgroundTransparency")
- attrib(object, attribs, "BorderColor3")
- attrib(object, attribs, "BorderSizePixel")
- attrib(object, attribs, "LayoutOrder")
- attrib(object, attribs, "Position")
- attrib(object, attribs, "Rotation")
- attrib(object, attribs, "Selectable")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "SizeConstraint")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "ZIndex")
- attrib(object, attribs, "ClipsDescendants")
- attrib(object, attribs, "NextSelectionDown")
- attrib(object, attribs, "NextSelectionLeft")
- attrib(object, attribs, "NextSelectionRight")
- attrib(object, attribs, "NextSelectionUp")
- attrib(object, attribs, "AutoLocalize")
- attrib(object, attribs, "RootLocalizationTable")
- end
- props["TextContainerUI"]=function(object,attribs)
- props.GUIObject(object, attribs)
- attrib(object, attribs, "Font")
- attrib(object, attribs, "Text")
- attrib(object, attribs, "TextColor3")
- attrib(object, attribs, "TextScaled")
- attrib(object, attribs, "TextSize")
- attrib(object, attribs, "TextStrokeColor3")
- attrib(object, attribs, "TextStrokeTransparency")
- attrib(object, attribs, "TextTransparency")
- attrib(object, attribs, "TextTruncate")
- attrib(object, attribs, "TextWrapped")
- attrib(object, attribs, "TextXAlignment")
- attrib(object, attribs, "TextYAlignment")
- end
- props["ImageContainerUI"]=function(object,attribs)
- props.GUIObject(object, attribs)
- attrib(object, attribs, "Image")
- attrib(object, attribs, "ImageColor3")
- attrib(object, attribs, "ImageRectOffset")
- attrib(object, attribs, "ImageRectSize")
- attrib(object, attribs, "ImageTransparency")
- attrib(object, attribs, "ScaleType")
- end
- props["TextLabel"]=function(object,attribs)
- props.TextContainerUI(object, attribs)
- end
- props["ImageLabel"]=function(object,attribs)
- props.ImageContainerUI(object,attribs)
- end
- props["TextButton"]=function(object,attribs)
- props.TextContainerUI(object, attribs)
- attrib(object, attribs, "Modal")
- end
- props["TextBox"]=function(object,attribs)
- props.TextContainerUI(object, attribs)
- attrib(object, attribs, "MultiLine")
- attrib(object, attribs, "ClearTextOnFocus")
- attrib(object, attribs, "ShowNativeInput")
- attrib(object, attribs, "SelectionImageObject")
- end
- props["ImageButton"]=function(object,attribs)
- props.ImageContainerUI(object,attribs)
- attrib(object, attribs, "SelectionImageObject")
- attrib(object, attribs, "Modal")
- attrib(object, attribs, "PressedImage")
- attrib(object, attribs, "SliceCenter")
- attrib(object, attribs, "TileSize")
- end
- props["ScrollingFrame"]=function(object,attribs)
- props.GUIObject(object, attribs)
- attrib(object, attribs, "BottomImage")
- attrib(object, attribs, "CanvasPosition")
- attrib(object, attribs, "ElasticBehavior")
- attrib(object, attribs, "HorizontalScrollBarInset")
- attrib(object, attribs, "MidImage")
- attrib(object, attribs, "ScrollBarImageColor3")
- attrib(object, attribs, "ScrollBarImageTransparency")
- attrib(object, attribs, "ScrollBarThickness")
- attrib(object, attribs, "ScrollingDirection")
- attrib(object, attribs, "ScrollingEnabled")
- attrib(object, attribs, "TopImage")
- attrib(object, attribs, "VerticalScrollBarInset")
- attrib(object, attribs, "VerticalScrollBarPosition")
- end
- props["Frame"]=function(object,attribs)
- props.GUIObject(object, attribs)
- end
- props["SurfaceGui"]=function(object,attribs)
- attrib(object, attribs, "ZOffset")
- attrib(object, attribs, "Active")
- attrib(object, attribs, "Adornee")
- attrib(object, attribs, "AlwaysOnTop")
- attrib(object, attribs, "CanvasSize")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Face")
- attrib(object, attribs, "LightInfluence")
- attrib(object, attribs, "ResetOnSpawn")
- attrib(object, attribs, "ToolPunchThroughDistance")
- attrib(object, attribs, "ZIndexBehavior")
- attrib(object, attribs, "ClipsDescendants")
- end
- props["ScreenGui"]=function(object,attribs)
- attrib(object, attribs, "DisplayOrder")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "IgnoreGuiInset")
- attrib(object, attribs, "ResetOnSpawn")
- attrib(object, attribs, "ZIndexBehavior")
- end
- props["BillboardGui"]=function(object,attribs)
- attrib(object, attribs, "Active")
- attrib(object, attribs, "Adornee")
- attrib(object, attribs, "AlwaysOnTop")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "ExtentsOffset")
- attrib(object, attribs, "ExtentsOffsetWorldSpace")
- attrib(object, attribs, "LightInfluence")
- attrib(object, attribs, "MaxDistance")
- attrib(object, attribs, "PlayerToHideFrom")
- attrib(object, attribs, "ResetOnSpawn")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "SizeOffset")
- attrib(object, attribs, "StudsOffset")
- attrib(object, attribs, "StudsOffsetWorldSpace")
- attrib(object, attribs, "ZIndexBehavior")
- attrib(object, attribs, "ClipsDescendants")
- end
- props["Handles"]=function(object,attribs)
- attrib(object, attribs, "Color3")
- attrib(object, attribs, "Style")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Adornee")
- attrib(object, attribs, "Faces")
- attrib(object, attribs, "Visible")
- end
- props["Model"]=function(object,attribs)
- attrib(object, attribs, "PrimaryPart")
- end
- props["Script"]=function(object,attribs)
- attrib(object, attribs, "LinkedSource")
- attrib(object, attribs, "Source")
- --attribs["Source"]=varDecode("no")
- attrib(object, attribs, "Disabled")
- end
- props["ModuleScript"]=function(object,attribs)
- attrib(object, attribs, "LinkedSource")
- attrib(object, attribs, "Source")
- --attribs["Source"]=varDecode("no")
- end
- props["LocalScript"]=function(object,attribs)
- props.Script(object,attribs)
- end
- props["Texture"]=function(object,attribs)
- attrib(object, attribs, "Color3")
- attrib(object, attribs, "StudsPerTileU")
- attrib(object, attribs, "StudsPerTileV")
- attrib(object, attribs, "Texture")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Face")
- end
- props["RenderingTest"]=function(object,attribs)
- attrib(object, attribs, "ComparisonDiffThreshold")
- attrib(object, attribs, "ComparisonMethod")
- attrib(object, attribs, "ComparisonPsnrThreshold")
- attrib(object, attribs, "Description")
- attrib(object, attribs, "FieldOfView")
- attrib(object, attribs, "Orientation")
- attrib(object, attribs, "Position")
- attrib(object, attribs, "QualityLevel")
- attrib(object, attribs, "ShouldSkip")
- attrib(object, attribs, "Ticket")
- end
- props["Decal"]=function(object,attribs)
- attrib(object, attribs, "Color3")
- attrib(object, attribs, "Texture")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Face")
- end
- props["WeldConstraint"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Part0")
- attrib(object, attribs, "Part1")
- end
- props["VehicleSeat"]=function(object,attribs)
- props.Part(object,attribs)
- attrib(object, attribs, "Disabled")
- attrib(object, attribs, "HeadsUpDisplay")
- attrib(object, attribs, "MaxSpeed")
- attrib(object, attribs, "Steer")
- attrib(object, attribs, "SteerFloat")
- attrib(object, attribs, "Throttle")
- attrib(object, attribs, "ThrottleFloat")
- attrib(object, attribs, "Torque")
- attrib(object, attribs, "TurnSpeed")
- end
- props["VectorForce"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "ApplyAtCenterOfMass")
- attrib(object, attribs, "Force")
- attrib(object, attribs, "RelativeTo")
- attrib(object, attribs, "Attachment0")
- end
- props["Vector3Value"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["Trails"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "FaceCamera")
- attrib(object, attribs, "LightEmission")
- attrib(object, attribs, "LightInfluence")
- attrib(object, attribs, "Texture")
- attrib(object, attribs, "TextureLength")
- attrib(object, attribs, "TextureMode")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Lifetime")
- attrib(object, attribs, "MaxLength")
- attrib(object, attribs, "MinLength")
- attrib(object, attribs, "WidthScale")
- end
- props["Torque"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "RelativeTo")
- attrib(object, attribs, "Torque")
- attrib(object, attribs, "Attachment0")
- end
- props["Tool"]=function(object,attribs)
- attrib(object, attribs, "GripForward")
- attrib(object, attribs, "GripPos")
- attrib(object, attribs, "GripRight")
- attrib(object, attribs, "GripUp")
- attrib(object, attribs, "ToolTip")
- attrib(object, attribs, "TextureId")
- attrib(object, attribs, "CanBeDropped")
- attrib(object, attribs, "ManualActivationOnly")
- attrib(object, attribs, "RequiresHandle")
- attrib(object, attribs, "Enabled")
- end
- props["StringValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["SpringConstraint"]=function(object,attribs)
- attrib(object, attribs, "Coils")
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Radius")
- attrib(object, attribs, "Thickness")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Damping")
- attrib(object, attribs, "FreeLength")
- attrib(object, attribs, "LimitsEnabled")
- attrib(object, attribs, "MaxForce")
- attrib(object, attribs, "Stiffness")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["SpawnLocation"]=function(object,attribs)
- props.Part(object,attribs)
- attrib(object, attribs, "AllowTeamChangeOnTouch")
- attrib(object, attribs, "Neutral")
- attrib(object, attribs, "TeamColor")
- attrib(object, attribs, "Duration")
- end
- props["Seat"]=function(object,attribs)
- props.Part(object,attribs)
- attrib(object, attribs, "Disabled")
- end
- props["RopeConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Thickness")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Length")
- attrib(object, attribs, "Restitution")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["RodConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Thickness")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Length")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["RayValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["PrismaticConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "ActuatorType")
- attrib(object, attribs, "MotorMaxAcceleration")
- attrib(object, attribs, "MotorMaxForce")
- attrib(object, attribs, "Velocity")
- attrib(object, attribs, "LowerLimit")
- attrib(object, attribs, "Restitution")
- attrib(object, attribs, "UpperLimit")
- attrib(object, attribs, "LimitsEnabled")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["ObjectValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["Numbervalue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["LocalizationTable"]=function(object,attribs)
- attrib(object, attribs, "SourceLocaleId")
- end
- props["LineForce"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "ApplyAtCenterOfMass")
- attrib(object, attribs, "InverseSquareLaw")
- attrib(object, attribs, "Magnitude")
- attrib(object, attribs, "ReactionForceEnabled")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["IntValue"]=function(object,attribs)
- attrib(object, attribs, "Value")
- end
- props["Humanoid"]=function(object,attribs)
- attrib(object, attribs, "CameraOffset")
- attrib(object, attribs, "DisplayDistanceType")
- attrib(object, attribs, "HealthDisplayDistance")
- attrib(object, attribs, "NameDisplayDistance")
- attrib(object, attribs, "NameOcclusion")
- attrib(object, attribs, "RigType")
- attrib(object, attribs, "RootPart")
- attrib(object, attribs, "AutoJumpEnabled")
- attrib(object, attribs, "AutoRotate")
- attrib(object, attribs, "Jump")
- attrib(object, attribs, "PlatformStand")
- attrib(object, attribs, "Sit")
- attrib(object, attribs, "TargetPoint")
- attrib(object, attribs, "WalkToPart")
- attrib(object, attribs, "WalkToPoint")
- attrib(object, attribs, "AutomaticScalingEnabled")
- attrib(object, attribs, "Health")
- attrib(object, attribs, "HipHeight")
- attrib(object, attribs, "JumpPower")
- attrib(object, attribs, "MaxHealth")
- attrib(object, attribs, "MaxSlopeAngle")
- attrib(object, attribs, "WalkSpeed")
- end
- props["HingeConstraint"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Radius")
- attrib(object, attribs, "Visible")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "ActuatorType")
- attrib(object, attribs, "AngularVelocity")
- attrib(object, attribs, "MotorMaxAcceleration")
- attrib(object, attribs, "MotorMaxTorque")
- attrib(object, attribs, "LimitsEnabled")
- attrib(object, attribs, "LowerAngle")
- attrib(object, attribs, "Restitution")
- attrib(object, attribs, "UpperAngle")
- attrib(object, attribs, "Attachment0")
- attrib(object, attribs, "Attachment1")
- end
- props["Sky"]=function(object,attribs)
- attrib(object, attribs, "CelestialBodiesShown")
- attrib(object, attribs, "MoonAngularSize")
- attrib(object, attribs, "MoonTextureId")
- attrib(object, attribs, "SkyboxBk")
- attrib(object, attribs, "SkyboxDn")
- attrib(object, attribs, "SkyboxFt")
- attrib(object, attribs, "SkyboxLf")
- attrib(object, attribs, "SkyboxRt")
- attrib(object, attribs, "SkyboxUp")
- attrib(object, attribs, "StarCount")
- attrib(object, attribs, "SunAngularSize")
- attrib(object, attribs, "SunTextureId")
- end
- props["Team"]=function(object,attribs)
- attrib(object, attribs, "AutoAssignable")
- attrib(object, attribs, "TeamColor")
- end
- props["BloomEffect"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Intensity")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "Threshold")
- end
- props["BlurEffect"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Size")
- end
- props["ColorCorrection"]=function(object,attribs)
- attrib(object, attribs, "Brightness")
- attrib(object, attribs, "Contrast")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Saturation")
- attrib(object, attribs, "TintColor")
- end
- props["SunRays"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Intensity")
- attrib(object, attribs, "Spread")
- end
- props["ChrousSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Depth")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Mix")
- attrib(object, attribs, "Priority")
- attrib(object, attribs, "Rate")
- end
- props["CompressorSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Attack")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "GainMakeup")
- attrib(object, attribs, "Priority")
- attrib(object, attribs, "Ratio")
- attrib(object, attribs, "Release")
- attrib(object, attribs, "SideChain")
- attrib(object, attribs, "Threshold")
- end
- props["DistortionSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Level")
- attrib(object, attribs, "Priority")
- end
- props["EchoSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Delay")
- attrib(object, attribs, "DryLevel")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Feedback")
- attrib(object, attribs, "Priority")
- attrib(object, attribs, "WetLevel")
- end
- props["EqualizerSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "HighGain")
- attrib(object, attribs, "LowGain")
- attrib(object, attribs, "MidGain")
- attrib(object, attribs, "Priority")
- end
- props["FlangeSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Depth")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Mix")
- attrib(object, attribs, "Priority")
- attrib(object, attribs, "Rate")
- end
- props["PitchShiftSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Octave")
- attrib(object, attribs, "Priority")
- end
- props["ReverbSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "DecayTime")
- attrib(object, attribs, "Density")
- attrib(object, attribs, "Diffusion")
- attrib(object, attribs, "DryLevel")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Priority")
- attrib(object, attribs, "WetLevel")
- end
- props["SoundGroup"]=function(object,attribs)
- attrib(object, attribs, "Volume")
- end
- props["TremoloSoundEffect"]=function(object,attribs)
- attrib(object, attribs, "Depth")
- attrib(object, attribs, "Duty")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Frequency")
- attrib(object, attribs, "Priority")
- end
- props["Fire"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Heat")
- attrib(object, attribs, "SecondaryColor")
- attrib(object, attribs, "Size")
- end
- props["ParticleEmitter"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "LightEmission")
- attrib(object, attribs, "LightInfluence")
- attrib(object, attribs, "Size")
- attrib(object, attribs, "Texture")
- attrib(object, attribs, "Transparency")
- attrib(object, attribs, "ZOffset")
- attrib(object, attribs, "Acceleration")
- attrib(object, attribs, "Drag")
- attrib(object, attribs, "LockedToPart")
- attrib(object, attribs, "VelocityInheritance")
- attrib(object, attribs, "EmissionDirection")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Lifetime")
- attrib(object, attribs, "Rate")
- attrib(object, attribs, "Rotation")
- attrib(object, attribs, "RotSpeed")
- attrib(object, attribs, "Speed")
- attrib(object, attribs, "SpreadAngle")
- end
- props["PointLight"]=function(object,attribs)
- attrib(object, attribs, "Brightness")
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Range")
- attrib(object, attribs, "Shadows")
- end
- props["Smoke"]=function(object,attribs)
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Opacity")
- attrib(object, attribs, "RiseVelocity")
- attrib(object, attribs, "Size")
- end
- props["Sparkles"]=function(object,attribs)
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "SparkleColor")
- end
- props["SpotLight"]=function(object,attribs)
- attrib(object, attribs, "Angle")
- attrib(object, attribs, "Brightness")
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Face")
- attrib(object, attribs, "Range")
- attrib(object, attribs, "Shadows")
- end
- props["SurfaceLight"]=function(object,attribs)
- attrib(object, attribs, "Angle")
- attrib(object, attribs, "Brightness")
- attrib(object, attribs, "Color")
- attrib(object, attribs, "Enabled")
- attrib(object, attribs, "Face")
- attrib(object, attribs, "Range")
- attrib(object, attribs, "Shadows")
- end
- props["BodyAngularVelocity"]=function(object,attribs)
- attrib(object, attribs, "AngularVelocity")
- attrib(object, attribs, "MaxTorque")
- attrib(object, attribs, "P")
- end
- props["BodyForce"]=function(object,attribs)
- attrib(object, attribs, "Force")
- end
- props["BodyGyro"]=function(object,attribs)
- attrib(object, attribs, "D")
- attrib(object, attribs, "MaxTorque")
- attrib(object, attribs, "P")
- end
- props["BodyPosition"]=function(object,attribs)
- attrib(object, attribs, "D")
- attrib(object, attribs, "MaxForce")
- attrib(object, attribs, "P")
- attrib(object, attribs, "Position")
- end
- props["BodyThrust"]=function(object,attribs)
- attrib(object, attribs, "Force")
- attrib(object, attribs, "Location")
- end
- props["BodyVelocity"]=function(object,attribs)
- attrib(object, attribs, "MaxForce")
- attrib(object, attribs, "P")
- attrib(object, attribs, "Velocity")
- end
- props["RocketPropulsion"]=function(object,attribs)
- attrib(object, attribs, "CartoonFactor")
- attrib(object, attribs, "Target")
- attrib(object, attribs, "TargetOffset")
- attrib(object, attribs, "TargetRadius")
- attrib(object, attribs, "MaxSpeed")
- attrib(object, attribs, "MaxThrust")
- attrib(object, attribs, "ThrustD")
- attrib(object, attribs, "ThrustP")
- attrib(object, attribs, "MaxTorque")
- attrib(object, attribs, "TurnD")
- attrib(object, attribs, "TurnP")
- end
- props["Dialog"]=function(object,attribs)
- attrib(object, attribs, "BehaviorType")
- attrib(object, attribs, "ConversationDistance")
- attrib(object, attribs, "GoodbyeChoiceActive")
- attrib(object, attribs, "GoodbyeDialog")
- attrib(object, attribs, "InitialPrompt")
- attrib(object, attribs, "InUse")
- attrib(object, attribs, "Purpose")
- attrib(object, attribs, "Tone")
- attrib(object, attribs, "TriggerDistance")
- attrib(object, attribs, "TriggerOffset")
- end
- props["DialogChoice"]=function(object,attribs)
- attrib(object, attribs, "GoodbyeChoiceActive")
- attrib(object, attribs, "GoodbyeDialog")
- attrib(object, attribs, "ResponseDialog")
- attrib(object, attribs, "UserDialog")
- end
- props["Folder"]=function(object,attribs)
- attrib(object, attribs, "Name")
- end
- props["Model"]=function(object,attribs)
- attrib(object, attribs, "Name")
- end
- -- TEMPLATE
- props[""]=function(object,attribs)
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- attrib(object, attribs, "")
- end
- local HttpService = game:GetService("HttpService")
- function JSONEncode(list)
- return HttpService:JSONEncode(list)
- end
- function JSONDecode(str)
- return HttpService:JSONDecode(str)
- end
- local OD = {}
- function OD.deconstruct(what, inclusive, recrusive, deleteAfterIndexing)
- local result = {}
- local function burrow(target)
- local children = {}
- local set = target:GetChildren()
- for _,v in pairs(set) do
- local attribs = {}
- pcall(function()
- props.all(v, attribs)
- if (props[v.ClassName]~=nil) then
- props[v.ClassName](v, attribs)
- elseif (props[v.ClassName:lower()]~=nil) then
- props[v.ClassName:lower()](v, attribs)
- end
- end)
- pcall(function()
- attribs["children"]=burrow(v)
- end)
- table.insert(children, attribs)
- if (deleteAfterIndexing) then
- pcall(function()
- v:Destroy()
- end)
- end
- wait()
- end
- return children
- end
- local attribs = {}
- if (inclusive) then
- pcall(function()
- props.all(what, attribs)
- end)
- if (props[what.ClassName]~=nil) then
- pcall(function()
- props[what.ClassName](what, attribs)
- end)
- end
- if (recrusive) then
- pcall(function()
- attribs.children = burrow(what)
- end)
- else
- attribs.children={}
- end
- else
- if (recrusive) then
- pcall(function()
- attribs=burrow(what)
- end)
- else
- error("Invalid setup")
- end
- end
- table.insert(result, attribs)
- local enr = JSONEncode(result)
- return enr
- end
- function OD.constructJSON(input, parent)
- local list = JSONDecode(input)
- local function make(what, parent)
- local obj
- if (what.ClassName.value == "TouchTransmitter") then
- obj = Instance.new("Folder")
- else
- obj = Instance.new(what.ClassName.value, parent)
- end
- pcall(function() obj.Anchored=true end)
- if (obj==nil) then
- obj = Instance.new("Model", parent)
- end
- for name,value in pairs(what) do
- if (typeof(value)=="table") then
- print(name .. " --> " .. JSONEncode(value))
- else
- print(name .. " --> " .. tostring(value))
- end
- if (name=="ClassName" or name=="doBuild" or name=="type" or name=="children") then
- else
- obj[name]=varc.encode(value)
- end
- end
- if (what["children"]~=nil) then
- for i,v in pairs(what["children"]) do
- make(v, obj)
- end
- end
- wait()
- end
- for i,v in pairs(list) do
- make(v, parent)
- end
- end
- return OD
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement