of     1   

McBlocker
#42583714Wednesday, February 16, 2011 12:19 AM GMT

Easy suggestion for the ROBLOX game-designers.
7rmb7
#42583874Wednesday, February 16, 2011 12:21 AM GMT

The point of this method being...
Samacado
#42583924Wednesday, February 16, 2011 12:22 AM GMT

I'd rather get data persistence, thanks.
7rmb7
#42584400Wednesday, February 16, 2011 12:28 AM GMT

@Sam Agreed x 100
ScripterJohn13
#42585908Wednesday, February 16, 2011 12:47 AM GMT

Agreed but this would be a good next feature.
blobbyblob
#42586147Wednesday, February 16, 2011 12:50 AM GMT

It would be nice for the sake of making code to "instance" objects, or turn them into a text format. However, it's not necessary, and I have better things in mind.
Samacado
#42586156Wednesday, February 16, 2011 12:50 AM GMT

It'd certainly be nice.
walter232
#42589812Wednesday, February 16, 2011 1:38 AM GMT

I use a giant list of all object's properties and pcall to see if it exists in that object.
ScripterJohn13
#42591851Wednesday, February 16, 2011 2:07 AM GMT

So something like.... Has to be ran in cmd line or source won't be recognized in scripts. :) local properties={"Name", "Value", "Parent" , "Size", "Source"}; function propertyExists(obj, value) x,y=pcall(function() return obj[value]~=nil; end) if(x)then return y; else return false; end end for i,v in pairs(workspace:getChildren())do for x,prop in pairs(properties)do exists=propertyExists(v, prop); if(exists)then print(prop.." is a property of "..v.Name); else print(prop.." isn't a property of "..v.Name); end end end
blocco
#42591913Wednesday, February 16, 2011 2:08 AM GMT

I would recommend looking through the EXE for properties. Not disassembling it though. Just looking.
ScripterJohn13
#42592024Wednesday, February 16, 2011 2:09 AM GMT

Ya I am just doing bunch of random stuff can't think of what to do.
walter232
#42592692Wednesday, February 16, 2011 2:19 AM GMT

Btw...how do ya view the 'source' of the exe?
walter232
#42593214Wednesday, February 16, 2011 2:26 AM GMT

Heres all the properties I have... local AvailableProperties={nil,"Parent","Name","archivable","className","AttachmentForward","AttachmentPos","AttachmentRight","AttachmentUp","AnimationId","Color","Transparency","Adornee","Axes","Visible","HeadColor","LeftArmColor","RightArmColor","TorsoColor","LeftLegColor","RightLegColor","Value","CameraSubject","CameraType","Focus","CoodinateFrame","BaseTextureId","BodyPart","MeshId","OverlayTextureId","MaxActivationDistance","Face","Texture","Specular","Shiny","GripForward","GripPos","GripRight","GripUp","TeamColor","Enabled","TextureId","BrickColor","Material","Reflectance","Position","RotVelocity","Velocity","Anchored","CanCollide","Locked","ResizeIncrement","ResizableFaces","Elasticity","Friction","Shape","Size","formFactor","BackSurface","BottomSurface","FrontSurface","LeftSurface","RightSurface","TopSurface","AbsolutePosition","AbsoluteSize","Active","BackgroundColor3","BackgroundTransparency","BorderColor3","BorderSizePixel","SizeConstraint","ZIndex","F0","F1","F2","F3","Part0","Part1","C0","C1","Style","Faces","FaceId","InOut","LeftRight","TopBottom","BinType","LeftLeg","RightLeg","Torso","Health","MaxHealth","WalkSpeed","Jump","PlatformStand","Sit","TargetPoint","WalkToPart","WalkToPoint","Image","Selected","AutoButtonColor","LinkedSource","Disabled","Text","PrimaryPart","CurrentAngle","DesiredAngle","MaxVelocity","PantsTemplate","BaseAngle","Humanoid","Part","Point","ShirtTemplate","Graphic","Controller","ControllingHumanoid","Steer","StickyWheels","Throttle","SkinColor","IsPaused","IsPlaying","Pitch","SoundId","Volume","Looped","PlayOnRemove","TargetSurface","StudsPerTileU","StudsPerTileV","Hole","D","P","maxForce","force","maxTorque","cframe","position","velocity","MaxItems","Ambient","Brightness","ColorShift_Top","ColorShift_Bottom","GeographicLatitude","ShadowColor","TimeOfDay","Port","Ticket","AmbientReverb","RolloffScale","DistanceFactor","DopplerScale","BubbleChat","ClassicChat","LocalPlayer","MaxPlayers","NumPlayers","BaseUrl","DistributedGameTime","CurrentCamera","Bevel","LODX","LODY","userId","DataReady","AccountAge","MembershipType","Score","AutoAssignable","AutoColorCharacters","PlayCount","ModelInPrimary","Scale","Offset","VertexColor","MeshType","MachineAddress","Source","GarbageCollectionFrequency","GarbageCollectionLimit","RobloxLocked"}
XlegoX
#42600361Wednesday, February 16, 2011 5:53 AM GMT

I for one think this is a terrible idea. The only ways in which this would actually be used are bad ones, save the sole example of making a GUI to view the properties of an object during online play. Even in that case all of the properties you'd actually be interested in using could easily be hard-coded. On top of that it would be a security nightmare to implement in a robust way, it's not as simple a feature as it would seem to add.
Samacado
#42600392Wednesday, February 16, 2011 5:57 AM GMT

I can think of a few instances in which it'd be useful within scripting. i.e, set up some metamethods to check the names of properties and what is and isn't a property within said methods. I could save, like, seventy whole milliseconds on writing out the word Transparency and make my code unreadable to anyone but myself for the next hour or so! What do you mean it's not useful?
XlegoX
#42600453Wednesday, February 16, 2011 6:04 AM GMT

Actually it would save no time. Using hard-coded tables of properties would be way faster than looking them up / checking for them from a getProperties() table.
Samacado
#42600470Wednesday, February 16, 2011 6:08 AM GMT

I recommend you take everything I say with a grain of salt. And by salt, I mean sarcasm. It doesn't have any useful purposes that couldn't be better done without a getproperties method, as you said, and while I didn't think of it, the security issue is there also. So yes, impractical.

    of     1