Skip to content

Professional FiveM multi-item resource with notebook, journal, business card, and photo functionality. Includes complete automation suite and CI/CD pipeline.

License

Notifications You must be signed in to change notification settings

Greigh/notebookitem-fivem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ““ Enhanced Notebook Item FiveM Resource

A focused FiveM resource for qbox/qbx_core servers that provides advanced notebook functionality for four specific item types. This resource offers rich metadata tracking, modern UI, and seamless integration with ox_inventory and ox_lib.

๐Ÿ““ Notebook Items Only

This resource is specifically designed for notebook-related items and strictly validates that only supported notebook items are processed:

  • ๐Ÿ“” notebook - Personal notes and thoughts
  • ๐Ÿ“– journal - Extended diary entries
  • ๐Ÿ’ผ businesscard - Professional contact information
  • ๐Ÿ“ท photo - Photo descriptions and memories

Note: Phone apps and other item types are handled in separate repositories for better modularity and focused functionality.-Item FiveM Resource

A comprehensive FiveM resource for qbox/qbx_core servers that provides advanced notebook functionality with support for multiple item types. This resource offers rich metadata tracking, modern UI, and seamless integration with ox_inventory and ox_lib.

๐Ÿ“ฑ Phone Apps Available Separately

๏ฟฝ Phone Apps Repository: FiveM-phone

The phone apps have been moved to a separate repository for better modularity:

  • ๐Ÿ“ฑ notebook_phone_app: Access and edit notebooks via phone
  • ๐Ÿ’ฐ invoice_phone_app: Professional invoice management system
  • ๐Ÿš€ unified_phone_app: Combined notebook + invoice interface

๐Ÿ““ Core Resource Features

Main Resource

  • ๐Ÿ““ notebook_item: Advanced notebook resource with 4 item types

๐Ÿ†• Key Features

Supported Notebook Items

  • ๐Ÿ“” notebook: Personal notes and quick thoughts (500 characters)
  • ๐Ÿ“– journal: Extended diary entries for detailed experiences (1000 characters)
  • ๐Ÿ’ผ businesscard: Professional contact information (300 characters)
  • ๐Ÿ“ท photo: Photo descriptions and memories (250 characters)

Advanced Functionality

  • Strict Validation: Only processes the 4 supported notebook item types
  • Smart UI: Each item type has custom icons and placeholders
  • Character Limits: Different limits per item type for appropriate usage
  • Metadata Tracking: Stores author, timestamp, and item type
  • Admin Tools: /checkitem [slot] command for administrators
  • Error Handling: Clear feedback for unsupported items

๐ŸŽฏ Use Cases

Roleplay Scenarios

  • Journalists can use journals for article drafts and notes
  • Business owners can create and exchange business cards
  • Photographers can catalog their work with photo descriptions
  • Students can take notes during classes using notebooks
  • Investigators can document evidence and observations
  • Citizens can maintain personal diaries and journals

Supported Items Only

This resource strictly processes only the four supported notebook item types. Any other item types will be rejected with clear error messages, ensuring focused functionality and preventing conflicts with other systems.

๐Ÿ“‹ Dependencies

๐Ÿš€ Installation

Automated Installation (Recommended)

  1. Download the Resource

    git clone https://github.com/yourusername/enhanced-notebook-item.git
    cd enhanced-notebook-item
  2. Run Installation Script

    chmod +x install.sh
    ./install.sh

Manual Installation

  1. Copy Resource to Server

    cp -r notebook_item /path/to/your/server/resources/
  2. Add to server.cfg

    ensure notebook_item
  3. Add Items to ox_inventory

    • Copy items from items.txt to your ox_inventory items.lua
    • Or use the automated script to add them

๐Ÿ“ Item Definitions

-- All four item types with different characteristics
['notebook'] = { /* 500 char limit, general notes */ },
['journal'] = { /* 1000 char limit, detailed entries */ },
['businesscard'] = { /* 300 char limit, contact info */ },
['photo'] = { /* 250 char limit, photo descriptions */ }

๐ŸŽฎ Usage Examples

For Players

  1. Taking Meeting Notes

    • Use notebook for quick bullet points
    • Use journal for detailed meeting summaries
  2. Business Networking

    • Create business cards with contact information
    • Share professional details with other players
  3. Photography Documentation

    • Add descriptions to memorable photos
    • Document special moments and locations

For Administrators

# Give items to players
/give [player_id] notebook 1
/give [player_id] journal 1
/give [player_id] businesscard 1
/give [player_id] photo 1

# Check item content (admin only)
/checkitem [slot_number]

โš™๏ธ Configuration

Item Limits (shared/config.lua)

config.items = {
    notebook = { maxLength = 500 },
    journal = { maxLength = 1000 },
    businesscard = { maxLength = 300 },
    photo = { maxLength = 250 }
}

Advanced Features (shared/advanced.lua)

  • Content sharing between players (future)
  • Password protection for sensitive items (future)
  • Content categorization system (future)
  • Job-based restrictions
  • Usage statistics tracking

๐Ÿ”ง Development Tools

Validation & Testing

./validate.sh          # Validate resource structure
./notebook.sh test      # Run comprehensive tests

Build & Deploy

./build.sh             # Create distribution packages
./deploy.sh            # Deploy to FiveM server

Master Control

./notebook.sh          # Interactive menu for all operations

๐Ÿ“Š Technical Features

Security

  • Server-side input validation
  • XSS protection through sanitization
  • Character limits per item type
  • Player verification before updates

Performance

  • Efficient metadata storage
  • Minimal network overhead
  • Optimized UI interactions
  • Smart caching of configurations

Compatibility

  • Notebook-focused: Designed specifically for the 4 supported notebook item types
  • QBox/QBX Integration: Full compatibility with qbox/qbx_core framework
  • ox_inventory: Seamless integration with ox_inventory system
  • Server Compatibility: Works with multiple FiveM server versions

๐Ÿ—๏ธ File Structure

notebook_item/
โ”œโ”€โ”€ fxmanifest.lua              # Resource manifest
โ”œโ”€โ”€ shared/
โ”‚   โ”œโ”€โ”€ config.lua              # Item configurations
โ”‚   โ””โ”€โ”€ advanced.lua            # Advanced feature settings
โ”œโ”€โ”€ client/
โ”‚   โ””โ”€โ”€ main.lua                # Client-side UI and interactions
โ””โ”€โ”€ server/
    โ””โ”€โ”€ main.lua                # Server-side validation and storage

๐Ÿ”„ Changelog

v1.1.0 - Notebook-Only Consolidation

  • โœ… Strict Validation: Only processes the 4 supported notebook item types
  • โœ… Enhanced Security: Rejects unsupported items with clear error messages
  • โœ… Focused Functionality: Removed all non-notebook logic for better performance
  • โœ… Improved Validation: Better error handling and user feedback
  • โœ… Code Cleanup: Consolidated codebase for notebook items only

v1.0.1 - Enhanced Multi-Item System

  • โœ… Added journal, business card, and photo items
  • โœ… Individual character limits per item type
  • โœ… Enhanced UI with custom icons and placeholders
  • โœ… Admin inspection tools
  • โœ… Improved metadata tracking
  • โœ… Advanced configuration options

v1.0.0 - Original Notebook System

  • โœ… Basic notebook functionality
  • โœ… Metadata storage
  • โœ… Server-side validation

๐Ÿงฉ Development Setup

Lua Diagnostics Configuration

This resource includes proper Lua Language Server configuration for VS Code to eliminate diagnostics warnings during development.

Key Features:

  • โœ… FiveM Globals: All common FiveM functions are recognized (TriggerEvent, RegisterNetEvent, etc.)
  • โœ… Framework Support: QBX, ESX, ox_lib globals are included
  • โœ… Server Functions: Server-side functions like GetPlayers, TriggerClientEvent are configured
  • โœ… Clean Development: No false positive errors for valid FiveM code

Setup Instructions:

  1. Install the Lua Language Server extension in VS Code (sumneko.lua)
  2. The .luarc.json file is already configured for FiveM development
  3. Restart the Lua Language Server: Cmd+Shift+P โ†’ Lua: Restart Server

Files Included:

  • .luarc.json - Main Lua configuration
  • .vscode/settings.json - VS Code workspace settings
  • LUA_DIAGNOSTICS_SETUP.md - Detailed setup documentation

For more details, see the Lua Diagnostics Setup Guide.

๐Ÿ“ž Support

  • Documentation: Check the project documentation for detailed guides
  • Issues: Report bugs via GitHub Issues
  • Validation: Use ./validate.sh to check your installation

๐Ÿ“„ License

MIT License - see LICENSE file for details

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run validation tests with ./validate.sh
  5. Submit a pull request

๐Ÿ““ Enhanced Notebook Item Resource - Focused on notebook functionality only

About

Professional FiveM multi-item resource with notebook, journal, business card, and photo functionality. Includes complete automation suite and CI/CD pipeline.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published