rbx-export is a small and helpful tool written in Javascript, and intended for use in Nodejs. It allows you to easily convert a Roblox model to a file/folder structure, which is ideal to upload to Github or other code sharing services.
it's intended to make sharing code easier. If people want it, I may also add the ability to convert output files back.
It's a one file package, and uses xml2js to read in the files.
First, install node.js if you haven't already.
To install the package, run the following command to get it from NPM:
# Run this to install rbx-export locally to your repository.
$ npm install rbx-export --save
# Run this instead to install rbx-export globally so you can use it anywhere.
$ npm install rbx-export -g
In order to use this, you must first export the model you'd like to convert.
If you've already got your model file, skip this step.
- Open Roblox studio
- Navigate to the model you want to export
- Right click on it, and click "Save to file"
- When the dialogue pops up, select an appropriate save location and Change "Save as" to
Roblox XML Model Files (*.rbxmx)
If you don't do Step 4, it will not work!
This module exports a single function, which takes two parameters:
rbx-export(location, output)
- location:
String
- Path to the file you want to convert - output:
String
- What the output should be called. Defaults to "Output"
const exporter = require("rbx-export");
exporter("inputModel.rbmx");
It takes your file, and searches through the items, then turns them into files.
How scripts are saved:
- Script -
scriptName.server.lua
- ModuleScript -
scriptName.lua
- LocalScript -
scriptName.client.lua
However, if it is something else, such as a part, it will be saved as Item name.Class name
, and the content will be a dump of it's properties.
If an item has children, they will be saved within a folder under the same name, minus an extension.
This format is an adaptable standard. Expect it to change extensively.
Got questions? Feel free to open an issue, or email me: [email protected]
. Alternatively, you can find me in the Roblox API server.
This module won't be updated - there are many more useful (though more heavy-duty) converters available that can both ways..