ZerØ Network

Instruction Manual & User Guide — ZerØ Rent

Version: 1.0.1 | Author: ZerØ Network | Frameworks: QBCore, Qbox, ESX Legacy, Standalone
Performance: 0.00 ms (Idle & Driving CPU Resmon) | Persistence: Dual-JSON WAL (Zero SQL Dependencies)


Table of Contents

  1. General Overview
  2. System Requirements
  3. Step-by-Step Installation
  4. Administrative Permissions Setup
  5. Administrator Guide (/zerorent)
  6. 3D Ghost Placement Mode Controls
  7. Player (Customer) Guide
  8. Frequently Asked Questions (FAQ)

1. General Overview

ZerØ Rent is a standalone, modular, high-performance vehicle rental system for FiveM. Unlike conventional rental scripts, zero_rent:

  • Requires zero SQL database setups: Uses an atomic dual-file JSON ledger with Write-Ahead Logging (WAL) to prevent data corruption or lost balances across unexpected restarts.
  • Adaptive performance: Streaming uses a 1500 ms default interval, while per-frame input checks only run beside an NPC or inside the editor. The idle performance target is 0.00 ms.
  • Visual 3D Ghost Editor: Allows admins to fly a free scripted camera to position NPCs and parking bays with ground raycasting, working reliably in open fields and inside complex MLO interiors (garages, hangars).
  • Sequential Spawn Allocation: Checks each individual parking bay strictly (1.40m radius for cars, 1.0m for bikes, 3.5m for boats, 7.5m for aircraft) eliminating false-positive blockage warnings.
  • Universal Garage Blocker: Automatically prevents rental vehicles from being deposited or stored into player garages.

2. System Requirements

  • Server Artifacts: FXServer 3500+ (7290+ recommended).
  • OneSync: OneSync must be enabled (set onesync on or set onesync_enableInfinity 1).
  • Supported Frameworks:
    • QBCore (Auto-detected).
    • Qbox (Auto-detected).
    • ESX Legacy (Auto-detected).
    • Standalone (Uses GTA V native systems).
  • Supported Keys & Notification Resources: Built-in modular adapters for zero_notify, ox_lib, okokNotify, mythic_notify, wasabi_carlock, qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, or open custom bridge hooks.

3. Step-by-Step Installation

  1. Extract Resource:
    Copy the zero_rent folder into your server resources directory (e.g., resources/[zero]/zero_rent or resources/zero_rent).
  2. Add to server.cfg:
    Open your server.cfg and add the resource execution line after your framework:
    ensure zero_rent
    
  3. Ensure OneSync is enabled:
    Confirm in server.cfg:
    set onesync on
    
  4. Boot Server:
    Start or restart your server. You will see the ZerØ Network startup banner in the console:
    =========================================================
                   Z E R Ø   N E T W O R K
      zero_rent  |  Framework: qbcore  |  Version: v1.0.1  |  Idle resmon target: 0.00ms
    =========================================================
    [ZERØ NETWORK] zero_rent is up to date with the latest release (v1.0.1).
    

4. Administrative Permissions Setup

The in-game administration panel is accessed via the /zerorent chat or F8 console command. To configure access:

Add the following to your server.cfg:

# Allow admin group to execute the command:
add_ace group.admin command.zerorent allow

# Link your player identifier (license, steam, or discord):
add_principal identifier.license:YOUR_HEX_LICENSE_HERE group.admin

Option B: Framework Groups

zero_rent automatically detects admin groups defined under Config.Admin.Groups in shared/config.lua:

  • QBCore: 'god', 'admin'
  • Qbox: 'admin', 'god'
  • ESX: 'superadmin', 'admin'

5. Administrator Guide (/zerorent)

Executing /zerorent with proper administrator permissions opens the NUI management studio:

+-----------------------------------------------------------------------+
|  [Points]  [Placement]  [Spawns]  [Catalogue]  [Settings]  [Journal]  |
+-----------------------------------------------------------------------+

Creating Rental Points

  1. On the left sidebar, click "+ New point".
  2. Enter a unique point ID and provide bilingual labels for Spanish and English (e.g., "Legion Square Rentals").

Positioning the NPC

  1. Navigate to the "Placement" tab.
  2. Enter the desired ped model name (e.g., a_m_m_business_01).
  3. Click "Place NPC in 3D ghost mode".
  4. The panel will minimize and activate the 3D placement camera.
  5. Move the camera to your desired location, rotate using Q and E.
  6. Press Left Click to place the NPC. Coordinates and heading are automatically stored.

Placing Vehicle Spawn Bays

  1. Open the "Spawn Points" tab.
  2. Specify a reference vehicle model (e.g., blista, faggio, dinghy).
  3. Click "Add spawn point".
  4. In the 3D ghost placement mode:
    • Your active vehicle model projects directly to the ground.
    • All other existing spawn points for this rental shop will appear as translucent static ghosts, allowing you to preview layout spacing in real time and prevent vehicles from overlapping.
    • The HUD displays the distance from the NPC: all spawn points must be within 50 meters of the NPC. Exceeding 50m aborts placement and returns you safely to the panel.
  5. Press Left Click to confirm placement.

Interactive Editing of Existing Spawns (Pencil Button)

To adjust the position or orientation of an existing spawn point:

  1. In the list of spawn cards, click the pencil icon button (pencil) next to the delete button.
  2. The 3D camera will initialize 5 meters behind the selected spawn point, focused on its exact position and heading.
  3. Reposition or rotate the vehicle as desired.
  4. Press Left Click to save the updated coordinates directly into the form.

Vehicle Catalogue Management

  1. Switch to the "Catalogue" tab.
  2. In the bottom form, enter:
    • Model: Spawn name of the vanilla or addon vehicle (e.g., blista, comet6, havok).
    • Label: Display name shown to customers.
    • Category: car, motorcycle, bicycle, boat, or aircraft.
    • Price per minute: Base rental rate.
  3. Click "Add vehicle". The panel will automatically assign appropriate UI badges and icons (car, zap, bike, ship, plane, or helicopter).

Rental Point Options and Blips

In the "Settings" tab, you can:

  • Auto-repair: Toggle vehicle repair and cleaning upon contract renewal.
  • Radar Blip: Customize the blip sprite, color, and scale on the map and minimap.

Publishing & Saving

  1. In the "General" tab, turn on the "Point Published" toggle.
  2. In the bottom right corner, click the highlighted "Save Changes" button.
  3. The rental point becomes live immediately without restarting the server.

Resolving Pending Transactions (WAL Journal)

If the server crashed during a financial debit/credit operation, the "Journal" tab lists unresolved entries. Admins can click "Apply" to finalize the transaction or "Discard" to roll back and refund the player's account.


6. 3D Ghost Placement Mode Controls

Key / Control Function
W / A / S / D Fly camera horizontally (Forward, Left, Backward, Right).
Space Elevate camera straight up.
Left Ctrl Lower camera straight down.
Shift (Hold) Fast camera flight speed multiplier (3x).
Mouse Move Free-look camera angle rotation.
Q / E (or R) Rotate the ghost entity on its vertical axis.
Mouse Wheel Adjust height offset relative to the floor.
Shift + Wheel Adjust projection distance from the camera.
Left Click Confirm placement: Saves coordinates and reopens panel.
Right Click / Esc Cancel placement: Aborts and reopens panel.

[!NOTE] During 3D placement mode, the player's character is frozen and all combat, crouch, and stealth animations are disabled to prevent unintended movement.


7. Player (Customer) Guide

Interaction & Rental Menu

  • Walk up to any rental NPC marked on the radar.
  • Press E (or use target interact if configured for ox_target / qb-target).

Category & Vehicle Selection

  • Use the category bar to switch between:
    • 🚗 Cars: Compacts, sedans, sports, and SUVs.
    • ⚡ Motorcycles: Street and off-road bikes.
    • 🚲 Bicycles: BMX, city, and racing bicycles.
    • ⛵ Boats: Speedboats, dinghies, and jet skis.
    • ✈️ Aircraft: Planes and helicopters.
  • Cards show vehicle photos, names, rate per minute, and pricing calculation.

Interactive Color Palette Picker

  • Choose your vehicle's paint color before ordering:
    • White, Black, Red, Blue, Yellow, Green, Orange, Purple, Pink, or Grey.
  • Both primary and secondary vehicle colors are applied automatically.

Rental Durations & Payments

  • Select your lease duration: 15 min, 30 min, 60 min, or 120 min.
  • The cost is deducted directly from your bank account.
  • The vehicle spawns in the first available bay, and you are warped inside with the engine running.

Floating HUD Lease Cards

  • A sleek floating HUD card appears on the top-right screen:
    • Vehicle model name and license plate.
    • Real-time countdown timer (MM:SS).
    • Status indicator (Blue = Active; Yellow = Under 5 minutes; Red = Expired).
    • "Shared" badge if keys were shared to you by a friend.

Expiry Countdown Alerts

  • Notification alerts trigger when 5, 4, 3, 2, and 1 minute remain.
  • When the timer hits 0:00, the engine turns off and the vehicle locks.

Renewing Rentals

  • To extend your rental time:
    1. Open the rental menu at any shop.
    2. Go to "My Rentals".
    3. Click "Renew" and select additional minutes.
    4. If the shop has auto-repair enabled, your vehicle is fully fixed and washed.

Sharing Keys with Other Players

  • Grant vehicle driving access to friends without transferring ownership:
    1. In the "My Rentals" tab, enter the friend's server ID (e.g., 12).
    2. Click "Share Keys" (or use /zerorent share 12).
    3. Your friend can now drive the vehicle and sees the countdown timer.
    4. Access can be revoked anytime with a single click.

Vehicle Return & Early Refund

  • If you finish using the vehicle early:
    1. Park near any rental shop.
    2. In the menu, click "Return Vehicle".
    3. You receive an immediate 20% refund of the total rental fee into your bank account.

Vehicle Destruction Penalty

  • If the vehicle is destroyed or submerged (health <= 0), the lease ends and a 30% destruction penalty is charged against your account ledger.

8. Frequently Asked Questions (FAQ)

Why does it say "No available spawn bay for this vehicle"?

  • All parking bays at that point are currently occupied by vehicles, peds, or players. Move obstructing vehicles away from the bays.
  • If more capacity is needed, an administrator can add extra bays via /zerorent.

How do I use a custom vehicle keys or notification system?

  • Open shared/config.lua and set Config.Keys.System = 'custom' or Config.Notify.System = 'custom'.
  • Insert your export calls in bridge/server.lua or bridge/client.lua (see Technical Documentation).

Can players save rental vehicles in garages?

  • No. zero_rent features client and server-side garage blockers to prevent rental vehicles from ever being saved in player garages.

What is the server Resmon CPU cost?

  • Idle target: 0.00 ms. Streaming uses SleepFarMs (1500 ms by default), proximity progressively lowers its delay, and per-frame input checks only run inside interaction range. Verify the final value with resmon 1, because artifacts and installed integrations also affect measurements.