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.
Click the blue script icon labelled “PropertyText 2”.
Select the item you want to convert to a script.
Click the buttons at the bottom to enable / disable properties.
Click “Finish”
Navigate over to ServerScriptService > PropertyText Export Folder > [Your file]
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:
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.
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
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…
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.
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.
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