[Open Source] PropertyText

It’s finally here! The second edition of PropertyText!

WHAT IS PROPERTYTEXT?

PropertyText is a plugin that allows users to select an item and convert it over to a script like if they were going to create it in a script. This allows users to replicate items they already design into a script. Before this plugin I was doing this a lot so I decided to make a fix for it! Haven’t used PropertyText? That’s perfectly fine! It is a simple to use plugin that anyone can pick up and use!

CHANGES

In this edition, a UI has been implemented as a quality of life improvement. With the UI you can see what you exactly selecting what what class it has. Most importantly though, you can turn off what properties you don’t need to change to text.

Also in this addition, most classes have been added along with their cosponsoring properties. There are some newer classes that are not in the plugin yet. This is because I used this (thanks anaminus) which is an older API dump. This has been fixed in PropertyText 2.1

HOW DO I USE IT?

Both version of PropertyText are very similar with some differences.

PropertyText 1

I already had a video on my portfolio that demonstrates a use for property, but I will go in more in depth here.
  1. Install PropertyText 1
  2. Select the item you want to convert to a script
  3. Click the yellow script button labeled “PropertyText”.
  4. Navigate over to ServerScriptService > PropertyText Export Folder > [Your file]
  5. You can copy this code over to a script or run it into the command bar.

PropertyText 2

Since this is a release post I don’t have anything to reference yet, but I will in the future.

  1. Install PropertyText 2
  2. Click the blue script icon labelled “PropertyText 2”.
  3. Select the item you want to convert to a script.
  4. Click the buttons at the bottom to enable / disable properties.
  5. Click “Finish”
  6. Navigate over to ServerScriptService > PropertyText Export Folder > [Your file]
  7. You can copy this code over to a script or run it into the command bar.

WHICH ONE SHOULD I USE?

Well, since the new version was released, I would suggest PropertyText 2, but it all depends on the features you want to use. If you want a fast and quick way to convert your object's properties to a script, you should use PropertyText 1. If you want more than that and you want to control which properties are being used, you can use PropertyText 2.

I FOUND A BUG!

If you found a bug and you would like to let me know, you can fill out a google form here: https://docs.google.com/forms/d/e/1FAIpQLSd4-ETRtdcpK7teP1-FA4HtD1CBFSeilHZUcdEigfRVx8uCzw/viewform?usp=sf_link

HOW DID YOU MAKE THIS PLUGIN?

I have opensourced both plugins, and you can take the free models here:
  1. PropertyText 1
  2. PropertyText 2

Thanks for reading :heart:

39 Likes

AKA an object serializer. I wish I had this years back for a large project that I serialized by hand. >.<

Does the object properties list automatically update? If not, you can use the code from Quenty’s class converter. https://github.com/Quenty/ClassConverterPlugin

4 Likes

To improve on your current design, you may wanna check if the value is the same as the default value.
Not sure if that’s possible to find out from API dump, but if not, you can always check it like this:

local Object = ... -- The object you're serializing
local Property = ... -- Property you're currently serializing

if Instance.new(Object.ClassName)[Property] == Object[Property] then
  -- You don't need to serialize this property, as it's the default
else
  -- You need to serialize, it's not default
end

You can also improve this design by storing items you’ve already created for future use and then destroy them after serializing the whole thing.

I think that many people will find use for this, thanks for releasing.

7 Likes

I could make that happen but I think that would be useless if the API dump isn’t being updated anymore. Really its just another hunt for formatted API dump like the one I used.

Definitely an update for the future, but I really don’t want to have a static list of all the default values. If i really want to make this live, I’m gonna have to find the perfect API dump. Hahaha

Thanks for the constructive critisim! If you are still intrested you can DM me some suggestions or reply to this post, whatever floats your boat :slight_smile:

Umm… I just don’t know what it does. Does it just show me all the properties made by roblox?

It allows you to take those properties put them in a script as if you were going to write it all out yourself to create the object, if that makes any sense…

Don’t take my previous comment to heart, I’m new to programming, so I don’t understand (most)
advanced stuff yet

Does it show all possible values to change for the given properties?

It pretty much just copies all the properties of the item you select and puts them into a script.

Oh, well this may be helpful for me to practice scripting, thanks! :slight_smile:

Anaminus’ API dump updates automatically with every Roblox update.

What this does is gets the properties of a certain object and puts them inside a script

1 Like

This is certainly something I can help you with. All it would require is a script that periodically fetches the most recent API dump and uploads it to Roblox as a module. All you’d need to do is require that module.

I know some people use this for things like UIs, but could anyone give a practical example of needing this? The only thing I can think of is tools in games that generate parts (like guns, bows etc). What would the other use cases be - I personally think its pointless to do this with UIs, but feel free to prove me wrong. :slight_smile:

In some rare occasion you can only have a Script, not an Instance but pure programming text, in this case you can’t store anything anywhere your only option is it generate it using a Script.

Although I’m not entirely sure how practical this is for Roblox Games.

In that case you wouldn’t be able to make an instance to convert to script with this plugin

What occasion would that be? Like a special event/challenge or something else.

Exploit Guis come to mind I’ve seen many made for my game, also other things outside of Roblox, mainly when you can only send code somewhere to something and want to generate other things.

A more relatable example would be Saving and Loading players houses, they have to be sent to DataStore as a JSON string, but this Plugin can’t be used for that.

Serializing is done before hand, so you must be miss understanding something I’ve said

I know how I would do it, i just don"t have the resources to do it, let me know if you have a better api dump though :smile: