OrvixScripts
Pulse / Docs

Pulse docs

Setup guides, every config option, fixes for common problems, and how to reach us.

Getting started

Pulse is one resource, orvix_pulse, with 25 apps. It runs on ESX Legacy or QBCore and sets up its own database tables.

Installation

  1. Start your framework (es_extended or qb-core), oxmysql, ox_lib and pma-voice. Add screenshot-basic for the camera.
  2. Copy orvix_pulse into resources and add ensure orvix_pulse after the resources above.
  3. Turn off any other phone resource, then start the server.
TipThe full walkthrough with copy-ready lines is on the Install page.

ESX & QBCore

With Config.Framework = 'auto', Pulse checks which framework is running and prints it in the console on start. Everything framework-specific goes through one bridge:

FeatureESX LegacyQBCore
Character ididentifiercitizenid
Moneybank accountmoney.bank
Billsesx_billingphone_invoices
Society moneyesx_addonaccountqb-banking / qb-management
Vehiclesowned_vehiclesplayer_vehicles
AdminsESX groupQBCore permission (superadmin = god)

Camera & voice memos

Photos, Blink snaps and voice memos are uploaded by the server to the place you choose in Config.Media.Upload: FiveManage (default), your own Discord channel, or any upload site ('custom'). For FiveManage, create a token in your dashboard and add it to server.cfg:

server.cfg
set pulse_fivemanage_token "your-token"

For Discord, set Config.Media.Upload = 'discord' and add a channel webhook. Discord's file links expire after a day; Pulse refreshes them by itself, so old photos keep working.

server.cfg
set pulse_discord_webhook "https://discord.com/api/webhooks/..."
# optional: voice memos in another channel
set pulse_discord_audio_webhook "https://discord.com/api/webhooks/..."

Type pulsemedia in the server console to send a test picture and check your setup.

Use setNever setr. That sends the token to every player's game.

Department logs

Requests from the Services app (and 911 / 912) can post to each department's Discord channel with the caller, street and message, plus who responds. Use the job name from Config.Services:

server.cfg
set pulse_webhook_police "https://discord.com/api/webhooks/..."
set pulse_webhook_ambulance "https://discord.com/api/webhooks/..."

Phone item & key

Players need a phone or iphone item by default. Change the names in Config.PhoneItems or set Config.RequireItem = false. The phone opens with F1; players can pick their own key in GTA Settings › Key Bindings › FiveM.

Configuration

Everything lives in config.lua. The options most servers change:

OptionDefaultWhat it does
Config.Framework'auto''auto' detects qb-core or es_extended. Force one with 'esx' or 'qb'
Config.PhoneName'Pulse 1'Name on the lock screen and in Settings
Config.OpenKey'F1'Default key. Players can rebind it in Key Bindings › FiveM
Config.RequireItemtrueNeed a phone item to use the phone. false = everyone has one
Config.PhoneItems{ 'phone', 'iphone' }Item names that count as a phone
Config.NumberFormat'XXX-XXXX'Phone number format. Every X becomes a digit
Config.RingTimeout30Seconds before an unanswered call is missed
Config.CallChannelOffset5000Where pma-voice call channels start (avoids radio)
Config.PhotostableFolder, format, quality, cooldown, gallery limit
Config.SocialtableChirp/Lens limits and which admin groups can delete posts
Config.BanktableBank name ('Fleeca'), max transfer, cooldown
Config.ServicestableJobs players can call. Names must match your jobs
Config.BlinktableSnap view time (10 s), max recipients, how long unopened snaps last
Config.DatingtableKindred daily likes (8) and the list of prompts
Config.RydetableDriver job (false = anyone), base fare, per-km price, app cut, pickup range
Config.GrubGotableCourier job, delivery fee, restaurants with menus, coordinates and society
Config.CruisetableReport lifetime, alert distance, map icons, popular places list
Config.MarkettableAd categories, days before ads expire, ads per player

Ryde & GrubGo

Customers pay from their bank when they request a ride or place an order. The money is refunded automatically if they cancel, nobody accepts in time, or the worker disconnects.

  • Who can work: Config.Ryde.DriverJob and Config.GrubGo.CourierJob. false lets anyone go online, or set a job like 'taxi'.
  • Ryde fares: base fare plus a per-km price from pickup to the rider's map waypoint, with a minimum fare. ServiceCut is the share the app keeps.
  • GrubGo restaurants: each has a name, emoji, coordinates, menu and an optional society that receives the food money. Set GiveItems = true and an item per menu entry to hand out real food items.
config.lua
{ name = 'Burger Shot', emoji = '🍔', coords = vector3(-1183.3, -884.2, 13.8), society = 'burgershot',
  menu = {
    { name = 'Heart Stopper', price = 18, item = 'burger' },
    { name = 'Fries', price = 6, item = 'fries' },
  } },

Cruise

Cruise sets the GTA map waypoint, so the normal minimap route shows the way. With drive mode on, an overlay shows the street, speed, route distance and ETA, and warns about reports ahead within Config.Cruise.AlertDistance.

Reports (police, crash, hazard, traffic, closed) are placed where the reporter is, confirmed by others, and removed after ReportMinutes or when drivers say they're gone. Add your city's landmarks to Config.Cruise.Places.

Dating & Blink

Spark is swipe-based and needs a profile photo. Kindred uses up to three prompts from Config.Dating.Prompts, likes with a note, and a daily like limit. Profiles are 18+ in character and never show phone numbers.

Blink snaps can be opened once and show for Config.Blink.ViewSeconds. Stories last 24 hours and are visible to the poster's contacts.

Services & 911

Each entry in Config.Services needs a job name that matches your job exactly. Dialing 911 or 912 opens a Police or EMS request; on-duty players get a dispatch list with GPS.

Updating

Copy the new files over the old ones, then run refresh and restart orvix_pulse. Player data stays; new tables are added automatically.

Troubleshooting

Console says "framework: none"

Pulse started before your framework. Put ensure orvix_pulse after es_extended or qb-core, or set Config.Framework to 'esx' or 'qb'.

The phone won't open with F1

Check the player has a phone item (or set Config.RequireItem = false), that they didn't rebind the key, and that no other phone resource is running.

Photos, snaps or voice memos don't upload

Make sure screenshot-basic is started and your upload method is set up (FiveManage token or Discord webhook). Type pulsemedia in the server console: it tells you what's wrong. Restart after adding it and check the console for a FiveManage error.

Calls connect with no voice

Start pma-voice before Pulse and make sure no radio uses the channels from Config.CallChannelOffset (5000).

Nobody gets Ryde or GrubGo jobs

Drivers and couriers must tap "Go online" in the app. If you set a job in config, they also need that job.

Restaurant pickups say "not close enough"

Check the restaurant's coords in Config.GrubGo.Restaurants match your map, or raise PickupRange.

FAQ

Does Pulse work with QBCore?

Yes. Pulse supports ESX Legacy and QBCore and detects which one you run.

Do I need to import an SQL file?

No. Pulse creates and updates its own tables when it starts.

Can players remove apps they don't want?

Yes, from the App Store app. Their data is kept if they add the app back.

Can I add my own restaurants and places?

Yes. GrubGo restaurants and Cruise popular places are plain lists in config.lua.

Where do I buy Pulse?

Right here on orvixscripts.com, checkout through Tebex. It's in final testing now.

Contact

Our support Discord opens with the Pulse launch. When you ask for help, include your console error and your server.cfg resource order.