Home/Documentation/Vitality Breathalyzer Prop
Custom props / 1.0.1

Vitality Breathalyzer Prop

Install the standalone handheld model, change offsets, test the prop, and integrate it from your own scripts.

What is included

This product is a custom handheld prop, not a full policing/BAC system. The released resource is named vitality-breathalyzer-prop (v1.0.1). Use this exact name for startup and integration exports.

The prop's model is vrp_breathalyzer. For item integrations, open install/inventory/, copy the matching inventory definition (ox, QB, PS, QS, CodeM, Core, Origen, TGIANN, JPR or One), and copy install/images/breathalyzer.png to your inventory image directory. Enabling an inventory item does not automatically create breath-test gameplay.

Installation

  1. Unpack the purchased resource with the fxmanifest.lua at its folder root.
  2. Keep the included stream model files together.
  3. Ensure the resource in server.cfg.
  4. Join FiveM and use the test commands to verify the model streams and attaches correctly.
cfg
ensure vitality-breathalyzer-prop

These commands match the standalone v1.0.1 purchase package, not the internal vrp-props development resource.

Test commands

in-game commands
/breathalyzerprop
/breathalyzerpropdrop

The first command toggles the prop in the character's right hand. The second spawns/removes an upright world preview. Both test commands can be changed or disabled in config.lua.

Integration API

Other client resources can toggle the breathalyzer without rebuilding its model:

client.lua
exports['vitality-breathalyzer-prop']:SetVisible(true)
exports['vitality-breathalyzer-prop']:SetVisible(false)

local visible = exports['vitality-breathalyzer-prop']:IsVisible()
exports['vitality-breathalyzer-prop']:Toggle()

TriggerEvent('vitality-breathalyzer:client:setVisible', true)

These exports and client event are verified against the v1.0.1 packaged resource. BAC measurement or police interaction gameplay must be provided by a separate script.

Configure attachment

Edit the customer-readable config.lua: Config.Model, Config.Bone, Config.Position, Config.Rotation, and Config.WorldZOffset. The default right-hand bone is 57005. Change or disable test commands through Config.HoldCommand and Config.WorldPreviewCommand.

If the prop is invisible, verify the stream files and resource name. If it clips the hand, adjust the position/rotation values in small increments and restart the resource.

Still need assistance?

Include your resource version and any relevant console errors when asking for help.

Get support ↗All documentation