🖨️NOXEN PRINTERS

Noxen Printer

A complete illegal money printer system with generators and remote control panels for FiveM

📖 Introduction

Noxen Printers is a sophisticated money printer system designed to add immersive illegal activities to your FiveM server. With a modern UI, strategic gameplay mechanics, and extensive customization options, you can create a unique criminal enterprise experience for your players.

✨ Features

💰 Money Generation System

  • Fully automated money production with configurable intervals

  • Component-based operation (paper, ink, cooling fluid)

  • Random or fixed gain amounts per cycle

  • Multiple account types support (cash, bank, black money)

⚡ Generator System

  • Power multiple printers within a configurable radius

  • Visual link display to show connected printers

  • Strategic placement for optimal printer coverage

🎛️ Control Panel System

  • Remotely monitor and manage multiple printers

  • Distance-based printer detection

  • View printer status and distance from control panel

  • Collect gains without physical access to printers

🎨 Modern UI Interface

  • Beautiful and intuitive user interface

  • Real-time printer status display

  • Component management system

  • Visual feedback for all actions

🔧 Advanced Placement System

  • Visual placement mode with real-time preview

  • Full rotation control

  • Position validation to prevent overlap

  • Smooth and intuitive controls

🛠️ Highly Customizable

  • Complete configuration file access

  • Adjustable timers and gain amounts

  • Customizable component requirements

  • Flexible locale system

  • Server-side export for advanced integration

📦 Installation

  1. Download the resource

  2. Ensure required dependencies are installed (see below)

  3. Place the noxen_printers folder in your resources directory

  4. Add ensure noxen_printers to your server.cfg

  5. Configure items in your inventory system (see Item Configuration)

  6. Customize config.lua to your preferences

  7. Restart your server

🔗 Dependencies

Dependency
Required
Description

oxmysql

✅ Yes

Database operations

noxen_lib

✅ Yes

Core Noxen framework library

ox_inventory or qb-inventory

✅ Yes

Item system integration

⚙️ Configuration

The config.lua file allows you to customize the entire system behavior:

🎯 Props Configuration

Config.Props = {
    ["printer"] = "prop_printer_02",
    ["generator"] = "prop_elecbox_12",
    ["panel"] = "m23_1_prop_m31_c_panel_off_01a",
}
Option
Type
Default
Description

printer

string

"prop_printer_02"

Game model for printer prop

generator

string

"prop_elecbox_12"

Game model for generator prop

panel

string

"m23_1_prop_m31_c_panel_off_01a"

Game model for control panel prop

💡 Tip: You can use any valid GTA V prop model name

📏 Placement Configuration

Config.PlacementRadius = {
    ["printer"] = 1.0,
    ["generator"] = 2.0,
    ["panel"] = 0.5,
}

Config.SpawnDistance = 25.0
Config.InteractDistance = 2.0
Option
Type
Default
Description

PlacementRadius

table

See above

Minimum distance between props of same type

SpawnDistance

number

25.0

Maximum distance for prop rendering

InteractDistance

number

2.0

Maximum distance for player interaction

💰 Money Generation Configuration

Config.PrinterCheckInterval = 30
Config.PrinterGainInterval = 120
Config.PrinterGainAmount = math.random(500, 700)
Config.PrinterGainAccount = "black_money"
Option
Type
Default
Description

PrinterCheckInterval

number

30

Check interval in seconds

PrinterGainInterval

number

120

Time between money generation in seconds

PrinterGainAmount

number/function

math.random(500, 700)

Amount generated per cycle

PrinterGainAccount

string

"black_money"

Account type for gains

Account Type Options:

  • "money" - Cash

  • "bank" - Bank account

  • "black_money" - Dirty money

  • Any custom account from your framework

💡 Tip: Change math.random(500, 700) to a fixed value like 500 for consistent gains

🔧 Component Configuration

Config.PrinterNeededComponents = {
    ["paper"] = 5,
    ["ink"] = 1,
    ["cooling_fluid"] = 1
}

Config.PrinterMaxComponents = {
    ["paper"] = 500,
    ["ink"] = 500,
    ["cooling_fluid"] = 100
}
Component
Consumed per Cycle
Max Capacity

Paper

5

500

Ink

1

500

Cooling Fluid

1

100

⚠️ Important: Printers will stop producing money when any component runs out

⚡ Generator & Panel Configuration

Config.GeneratorRadius = 10.0
Config.PanelRadius = 25.0
Config.PanelLinkColor = { r = 255, g = 165, b = 0, a = 200 }
Option
Type
Default
Description

GeneratorRadius

number

10.0

Radius in which generators power printers

PanelRadius

number

25.0

Radius in which panels detect printers

PanelLinkColor

table

Orange

RGBA color for visual links

🌐 Locales Configuration

Config.Locales = {
    OpenHelpText = "Press ~INPUT_CONTEXT~ to open the printer",
    PanelHelpText = "Press ~INPUT_CONTEXT~ to open the control panel",
    GeneratorHelpText = "Press ~INPUT_CONTEXT~ to manage the generator",
    -- ... 30+ more customizable strings
}

💡 Tip: All UI text can be customized to match your server's language and style

📦 Item Configuration

Add the following items to your inventory system (ox_inventory or qb-inventory):

Main Items

["printer"] = {
    label = "Money Printer",
    weight = 5000,
    stack = false,
    close = true,
    description = "An illegal money printer"
},

["generator"] = {
    label = "Generator",
    weight = 8000,
    stack = false,
    close = true,
    description = "Powers printers within range"
},

["panel"] = {
    label = "Control Panel",
    weight = 2000,
    stack = false,
    close = true,
    description = "Remotely manage your printers"
},

Component Items

["paper"] = {
    label = "Printer Paper",
    weight = 50,
    stack = true,
    close = true,
    description = "Paper for the printer"
},

["ink"] = {
    label = "Printer Ink",
    weight = 100,
    stack = true,
    close = true,
    description = "Ink cartridge for the printer"
},

["cooling_fluid"] = {
    label = "Cooling Fluid",
    weight = 200,
    stack = true,
    close = true,
    description = "Keeps the printer from overheating"
}

⚠️ Important: These items must be configured in your inventory system for the script to work properly

💻 How It Works

🎮 Placing Props

  1. Use a printer, generator, or panel item from your inventory

  2. Visual placement mode activates with prop preview

  3. Controls:

    • Move with mouse to position

    • Rotate with arrow keys

    • Confirm placement with E

    • Cancel with ESC

  4. System validates position (checks for overlaps)

  5. Prop is placed and saved to database

🖨️ Printer Operation Flow

Step 1: Setup

Place Printer → Place Generator (within 10m) → Add Components

Step 2: Production Cycle

Wait 120s → Check Generator → Check Components → Consume Items → Generate Money

Step 3: Collection

Open Printer UI → Click Collect → Receive Money

Component Consumption

Component
Per Cycle
Max Storage

Paper

5 units

500 units

Ink

1 unit

500 units

Cooling Fluid

1 unit

100 units

💡 Example: With full components, a printer can run ~100 cycles before needing paper refill

⚡ Generator System

  • Powers all printers within configurable radius (default: 10m)

  • Can power multiple printers simultaneously

  • Visual link display shows connected printers

  • Required for printer operation

Strategic Placement Tips:

  • Position generators centrally for maximum coverage

  • One generator can service 3-5 printers

  • Use control panels for remote management

🎛️ Control Panel System

  • Manage multiple printers remotely (default range: 25m)

  • View real-time status and distance

  • Collect gains without physical access

  • Toggle visual links to connected printers

🔧 Advanced Usage

Server-Side Export

The server/modifiable.lua file provides a powerful export for programmatic printer creation:

CreatePrinter Export

exports['noxen_printers']:CreatePrinter(identifier, printerType, position, gains, components)

Parameters:

Parameter
Type
Required
Description

identifier

string

✅ Yes

Owner's license identifier

printerType

string

✅ Yes

'printer', 'generator', or 'panel'

position

vector4

✅ Yes

Position and heading (x, y, z, heading)

gains

number

✅ Yes

Initial money stored in printer

components

table

❌ No

Array of { name: string, count: number }

Returns: Printer object or nil if creation failed

Usage Examples

Create a basic printer:

local printer = exports['noxen_printers']:CreatePrinter(
    'license:abc123',
    'printer',
    vector4(100.0, 200.0, 30.0, 90.0),
    0,
    nil
)

Create a printer with components:

local printer = exports['noxen_printers']:CreatePrinter(
    'license:abc123',
    'printer',
    vector4(100.0, 200.0, 30.0, 90.0),
    0,
    {
        { name = 'paper', count = 100 },
        { name = 'ink', count = 50 },
        { name = 'cooling_fluid', count = 25 }
    }
)

Create a generator:

local generator = exports['noxen_printers']:CreatePrinter(
    'license:abc123',
    'generator',
    vector4(105.0, 205.0, 30.0, 90.0),
    0,
    nil
)

Framework Integration

The script automatically detects and integrates with:

Framework
Integration Method

ox_inventory

ox_inventory:usedItem event

qb-core

CreateUseableItem function

💡 Note: Item usage automatically triggers the placement mode

Printer Object Structure

{
    id = 1,                          -- Database ID
    type = 'printer',                -- 'printer', 'generator', or 'panel'
    model = 'prop_printer_02',       -- Game model name
    position = vector4(x, y, z, h),  -- Position and heading
    ownerLicense = 'license:abc123', -- Owner identifier
    gains = 1500,                    -- Accumulated money
    lastGainAt = timestamp,          -- Last production timestamp
    components = {
        paper = { id = 1, name = 'paper', count = 250 },
        ink = { id = 2, name = 'ink', count = 100 },
        cooling_fluid = { id = 3, name = 'cooling_fluid', count = 50 }
    },
    currentGenerator = Printer       -- Connected generator (if any)
}

🎯 Use Cases

Basic Setup

-- Player places printer
-- Player places generator nearby
-- Player adds components
-- Printer starts generating money every 2 minutes
-- Player collects money periodically

Advanced Setup with Control Panel

-- Player establishes a printer farm (5-10 printers)
-- Player places generators strategically for coverage
-- Player places control panel at safe location
-- Player manages entire operation remotely
-- Player collects from all printers via panel

Integration with Other Scripts

-- Reward players with printer items from missions
-- Require specific jobs to access printers
-- Add police raids that destroy printers
-- Create supply runs for components

❓ Troubleshooting

Printers Not Generating Money

Issue
Solution

No generator nearby

Place generator within 10m of printer

Components empty

Refill paper, ink, and cooling fluid

Not enough time passed

Wait for PrinterGainInterval (default: 120s)

Printer not in database

Try picking up and replacing

Props Not Spawning

Issue
Solution

Too far away

Move within SpawnDistance (default: 25m)

Script not started

Check ensure noxen_printers in server.cfg

Database error

Check oxmysql connection

Cache issue

Restart resource with /restart noxen_printers

Items Not Working

Issue
Solution

Item names incorrect

Verify exact names (case-sensitive)

Not configured

Add items to inventory system

Framework detection

Check if ox_inventory or qb-core is running

Events not triggering

Check for resource conflicts

Issue
Solution

Links disabled

Toggle links ON in UI

Out of range

Move closer to generator/panel

Graphics settings

Check marker visibility settings

UI not loaded

Restart UI with F8 → cl_ui

⚡ Performance Optimization

Setting
Recommendation
Impact

SpawnDistance

25.0 - 50.0

Lower = better FPS

PrinterCheckInterval

30 - 60

Higher = less server load

PrinterGainInterval

120 - 300

Higher = more balanced economy

Component capacity

Increase max

Reduces refill frequency

Tips:

  • Limit printers per player (implement in server/modifiable.lua)

  • Use larger component requirements for longer operation

  • Increase intervals for better server performance

  • Adjust gain amounts based on your economy

🛠️ Support & Community

Need help? Join our Discord community!

Discord

📝 License

This project is created by Noxen Scripts.

Unauthorized distribution or modification of protected files is prohibited.

🔄 Changelog

Version 1.0.0

  • ✅ Money printer system with component requirements

  • ✅ Generator system with configurable radius

  • ✅ Control panel for remote management

  • ✅ Modern UI interface

  • ✅ Visual placement system

  • ✅ ox_inventory and qb-core support

  • ✅ Customizable configuration

  • ✅ Server-side export for advanced integration


Noxen Printers - Build your criminal empire, one printer at a time.

Last updated