Page cover image

🎭mad-perform

A dynamic street performance system that brings urban spaces to life! Players can play guitar, sing, or dance to draw responsive crowds while earning rewards based on their performance quality.

Link

Tebex Package

Introduction

Bring your server to life with mad-perform, a unique FiveM resource that lets players take the stage as street performers. Whether it’s playing an instrument, dancing, or singing, they can captivate crowds and earn rewards along the way.

Why add mad-perform? It’s an interactive and fun way for players to roleplay, show off their creativity, and engage with the world around them. With dynamic audience reactions and different performance styles, every session is exciting and different.

Give your community something fresh to enjoy - grab mad-perform today and let them experience the thrill of performing!

Features

🎭 Perform and Entertain

  • Players can set down a "busking box" to start performing.

  • Choose your act: play the guitar, start singing, or bust out some impressive dance moves (each requires a different item).

🏟️ Dynamic Audience Interaction

  • Nearby NPCs will gather to form an audience, reacting dynamically to the player's performance.

  • Positive performances bring praise and a larger audience, while poor performances elicit jeers and fewer audience members.

  • Successful performances attract larger crowds over time, enhancing the player's experience.

  • Failures decrease the audience size, but provide opportunities for recovery and improvement.

🎲 Skill-Based Minigame

  • Engage in a fun and interactive minigame that varies with each performance type.

  • Each performance type offers a unique experience, with different sounds and interactions:

    • Guitar: Play melodic tunes by matching falling notes.

    • Singing: Hit the right notes to create harmonious vocals.

    • Dancing: Perform impressive dance moves in sync with the rhythm.

πŸ’° Rewarding Gameplay

  • Successfully completing the minigame will earn you audience approval, adoration, and rewards.

    • The audience size will increase for the next performance.

  • Failing the minigame will result in your audience being dissapointed, jeers, and no tips.

    • The audience size will decrease for the next performance.

πŸ” Repeat and Improve

  • Continue performing to build larger crowds and earn greater rewards.

Preview


Supports

The following resources are automatically detected and integrated into the resource. No manual setup is required. If you need any custom logic, you can easily set that up in the "custom" section in the bridge, for each supported type. If you have any issues, please feel free to open a ticket in our Discord server ☺️

πŸ’» Supported frameworks

  • qb-core

  • esx_core

  • qbx_core

  • ox_core

  • custom

πŸŽ’ Supported inventories

  • qb-inventory

  • ox_inventory

  • qs-inventory

  • custom

πŸ‘οΈβ€πŸ—¨οΈ Supported targets (third-eyes)

  • qb-target

  • ox_target

πŸ’¬ Supported notifications

  • ox_lib

  • qb-core

  • custom

πŸ“Ά Supported progress-bars

  • ox_lib progressBar

  • qb-core progressbar

πŸ—£οΈ Supported Languages

  • English (en)

  • Spanish (es)

  • French (fr)

  • German (de)

  • Italian (it)

  • Russian (ru)

  • Chinese (zh)

Additional languages can be added in the locales folder.


Installation

STEP 1:

  • Download the resource and place it in your FiveM server's resources folder.

  • Add start mad-perform to your server.cfg file.

STEP 2:

Ensure you have all the required dependencies below:

  • A supported framework: qb-core, es_extended, qbx_core, ox_core or custom.

  • A supported inventory: ox_inventory, qb-inventory, qs-inventory or custom.

  • An emote system - supports rpemotes-reborn by default, or configure your own in the bridge.

STEP 3:

Add these items to your inventory resource, as well as the images in the INSTALL folder.

ox_inventory: (Click to expand)
    -- mad-perform
    ['performing_box'] = {
		label = 'Busking Box',
		weight = 100,
		stack = false,
        description = "A box for collecting tips.",
		client = {
			export = 'mad-perform.spawnBuskingBox',
			image = 'performing_box.png',
		}
	},
    ['performing_guitar'] = {
		label = 'Guitar',
		weight = 2000,
		stack = false,
        description = "An acoustic guitar.",
		client = {
			image = 'performing_guitar.png',
		}
	},
    ['performing_microphone'] = {
		label = 'Microphone',
		weight = 500,
		stack = false,
        description = "A portable microphone.",
		client = {
			image = 'performing_microphone.png',
		}
	},
    ['performing_musicplayer'] = {
		label = 'Music Player',
		weight = 300,
		stack = false,
        description = "A small speaker.",
		client = {
			image = 'performing_musicplayer.png',
		}
	},
qb-inventory: (Click to expand)
    -- mad-perform
    performing_box               = { name = 'performing_box', label = 'Busking Box', weight = 100, type = 'item', image = 'performing_box.png', unique = true, useable = true, shouldClose = true, description = 'A box for collecting tips.' },
    performing_guitar            = { name = 'performing_guitar', label = 'Guitar', weight = 2000, type = 'item', image = 'performing_guitar.png', unique = true, useable = false, shouldClose = false, description = 'An acoustic guitar.' },
    performing_microphone        = { name = 'performing_microphone', label = 'Microphone', weight = 500, type = 'item', image = 'performing_microphone.png', unique = true, useable = false, shouldClose = false, description = 'A portable microphone.' },
    performing_musicplayer       = { name = 'performing_musicplayer', label = 'Music Player', weight = 300, type = 'item', image = 'performing_musicplayer.png', unique = true, useable = false, shouldClose = false, description = 'A small speaker.' },

STEP 5:

Configure the resource to your preferences in client/config.lua and server/config.lua.

STEP 6:

Give your players a way to get the items (add them to a shop, or something else!)

STEP 7: Optional

Add this to your backitems resource.

Snippet for backitems resource: (Click to expand)
-- mad-perform
    ["performing_guitar"] = {
        model="prop_acc_guitar_01",
        back_bone = 24818,
        x = 0.067172131860843,
        y = -0.19924080541363,
        z = 0.05913960749627,
        x_rotation = 0.0,
        y_rotation = 42.0,
        z_rotation = 0.0,
    },

Configuration

Debug prints are handled via ox_lib prints.

Client configuration
Server configuration

Escrow Protection

This resource is protected by FiveM's escrow system to safeguard against unauthorised distribution. The core functionality is secured while maintaining full customisability through the extensive configuration system and bridge architecture.

Despite the security measures:

  • All configuration options remain fully editable.

  • The comprehensive bridge system allows integration with custom frameworks and resources.

  • Server owners retain complete control over gameplay settings, rewards, and event probabilities.

  • No functionality is limited by the protection system.

This approach ensures you receive a premium, leak-protected resource while maintaining the freedom to customise it for your server's unique needs.

Last updated