Installation
Ten minutes, most of it spent pasting item definitions. The resource has no tables of its own and no companion resource: the vape models stream from its own stream/ folder.
Before you start
Section titled “Before you start”| You need | Why |
|---|---|
ESX (es_extended), QBCore (qb-core) or QBox (qbx_core), running | Detected on its own; there is no framework setting |
| Access to your inventory’s item list | The vapes are items |
| Access to your inventory’s image folder | So each vape has its icon |
1. Put the folder in place
Section titled “1. Put the folder in place”Drop mic_vape into your resources, for example inside resources/[mic]/. Keep the folder name: the progress bar talks to the resource by its own name.
The ten vape models and their def_props.ytyp are in stream/ and load from the manifest; you do not move them.
2. Start it after your framework
Section titled “2. Start it after your framework”In server.cfg, put ensure mic_vape below es_extended, qb-core or qbx_core, and below your inventory. QBox is found through its QBCore compatibility — qbx_core provides qb-core — so there is nothing to set.
This one matters more than usual: mic_vape looks for a started framework at the moment it starts. If it starts first, it finds nothing, registers no items, and says nothing about it.
It worked when mic_vape starts with no red lines under it.
3. The database
Section titled “3. The database”Nothing for the resource. On ESX with the default inventory, the vape items go in the items table — that is the next step.
4. Add the items
Section titled “4. Add the items”Every key in Config.Vapes (in config.lua) is an item name, and every one is registered as usable. The full list with what each does is on 🎒 Items. In short:
| Group | Items |
|---|---|
| Normal | vape |
| Power vapes | invisibility_vape, speed_vape, superjump_vape, teleport_vape, invincibility_vape, health_vape, armor_vape, carspeed_vape, random_vape |
| Flavours | vape_watermelon, vape_mango, vape_blueberry … forty in all, every one named vape_<flavour> |
Where the ready-made definitions are, in the inventory_items/ folder of the resource:
| File | For | What to do |
|---|---|---|
esx_sql_items.sql | ESX with its default inventory | Import it once into your database |
ox_inventory_items.md | ox_inventory | Paste its lines into ox_inventory/data/items.lua |
qb_items.md | QBCore | Paste its lines into qb-core/shared/items.lua |
Images: the icons are in inventory_images/, one PNG per item named after it. Copy them into your inventory’s image folder — ox_inventory/web/images/ or qb-inventory/html/images/. Three items from the lists above have no icon (transform_vape, freeze_vape, gravity_vape) and neither does vape_grape; give it one of your own if you use it.
It worked when you can give yourself vape_watermelon and it shows in your inventory with its picture.
5. First test
Section titled “5. First test”Give yourself vape and use it from the inventory.
It worked when a black vape appears in your character’s hand. Press E: your character raises it, and a moment later white smoke comes out. Use the item again, or type /vape, and it is put away.
Then try speed_vape: after a puff you sprint noticeably faster for fifteen seconds.
Before you open your city
Section titled “Before you open your city”mic_vapestarts after your framework inserver.cfg.- Stress:
Config.Stressis on, and out of the box it only prints a line to the server console on every puff. Either put your stress logic inbridge/server_bridge.luaor setConfig.Stress = false. See Customization. - Notifications are off by default (
Config.ShowNotifications = false). Turn them on if you want players to see “on cooldown”, “vape empty” and the power messages. - Decide on the power vapes. Invisibility, invincibility and teleport are strong. Give them a price, a shop or a job before they appear in anyone’s pockets.