Easelt BuilderDocs
Feedback
Open Builder →
Shipping

Exporting to MTA

Turn your design into a ready-to-run MTA:SA resource.

When your design is ready, Easelt Builder packages it into a complete MTA:SA resource you can drop straight into your server. This page covers exactly what gets exported, what every file inside the .zip is for, and the one thing your host resource must do so your buttons and sliders actually respond to clicks.

How to export

There are two ways to trigger a resource export, and both produce the same .zip bundle. Pick whichever fits your flow.

  1. Use the Export button
    Click the Export button in the top toolbar to generate and download your MTA resource .zip in one click.
  2. Or use the File menu
    Open File → Export MTA resource… to produce the exact same .zip. Use this if you prefer working from the menus.
ℹ️

Only the single Export MTA resource (.zip) flow is offered — it bundles everything for one design into one archive. There are no partial or per-file export options to configure.

What's inside the .zip

The exported archive is a ready-to-run MTA resource. It contains four things: two Lua scripts, a manifest, and an assets folder. Here's what each one does.

File / folderWhat it's for
gui.luaYour interface. Holds every dxDraw call plus the compiled Blueprint logic — clicks, conditions, opening and closing windows, and text or colour changes.
lib.luaA drawing-helpers library that gui.lua relies on. It is auto-loaded before gui.lua so the helper functions exist by the time your interface runs.
meta.xmlThe resource manifest. It lists the scripts as client-side and declares any asset files so MTA loads them correctly.
assets/Every image and font you imported, plus the background image if your design uses one.

gui.lua

This is the heart of your export. It contains all of your dxDraw calls — the actual pixels of your interface — together with the compiled logic from your Blueprint: what happens on a click, which conditions gate behaviour, when windows open and close, and how text and colours change at runtime.

lib.lua

lib.lua is a shared library of drawing helpers used by your interface. Because it is auto-loaded before gui.lua, you don't need to require or wire it up yourself — the helper functions are ready the moment gui.lua starts drawing.

meta.xml

The manifest that MTA reads to understand your resource. It registers lib.lua and gui.lua as client-side scripts and lists any files in assets/ so the engine knows to download and stream them to players.

assets/

Everything you imported ships here — images and fonts — alongside the background image if your design uses one. These are the files referenced by meta.xml and loaded by your interface.

ℹ️

Every exported file carries the Easelt Builder copyright header (© Easelt · C4).

Make your interface interactive

For buttons, sliders, and other controls to receive clicks, the mouse cursor has to be visible in-game. Easelt Builder draws your interface, but showing the cursor is the host resource's job.

⚠️

Your host resource must call showCursor(true) so buttons and sliders receive clicks. Without it, your interface will draw but won't respond to the mouse.

Export a flat picture instead

Sometimes you just want an image of your design — for a mockup, a forum post, or a design review. Use File → Export design as PNG… to save a flat picture of your layout. This is separate from the resource export and produces a single .png rather than a runnable resource.

Export MTA resource (.zip)
The full, runnable resource — gui.lua, lib.lua, meta.xml, and assets/. Use this to ship your interface to a server.
Export design as PNG…
A flat picture of your design. Use this for previews, mockups, and sharing — not for running in-game.

Next steps

You now have a complete MTA resource .zip. Head to the Installing page next to learn how to drop it into your server's resources folder, add it to mtaserver.conf, and start it in-game.

Got feedback or an idea?Share it →