[PAID][ESX/QBCore] Gate Control System | Swing & Prop-Based Gates

Gate Control System

:lock: Advanced gate management with hacking, remote control, and full customization.
The Gate Control System adds immersive, interactive gate mechanics to your RP server. Manage traditional swing gates with controller stands or install brand-new prop-based gates directly in-game. Both types are remote controllable, hackable, and fully customizable, opening up endless roleplay possibilities for police, gangs, mechanics, and more.

:key: Key Features

Comprehensive Gate Management

  • Swing Gates: Supports traditional double-wing gates, which can be equipped with a gate controller stand for remote operation. These gates can be managed through a dedicated menu and can be hacked using specialized tools. The gate menu is only available for gate types with a gate control stand.
  • Prop-Based Gates: The new prop-based gates allow developers to place customized gate types within the game world. These gates are also remote-controllable and hackable. Prop-based gates can also function as barriers, such as for closing off store entrances.
    NEW Features : Prop-Based Gates can now be placed and managed fully in-game

Role-Based Installation and Management /Swing Gates/

  • Job Permissions: The installation of gate controller stands is permitted only for predefined roles (e.g., mechanics or developers), who can place the stands within 20 meters of the gate. During installation, the stand automatically detects nearby gates and calibrates them.
  • Owner Access: Role users can designate an owner, who will later be able to manage access permissions.
    • Owner Access Management: Once assigned, owners can:
      • Grant gate remote access to friends for gate entry.
      • Assign managers who can add/remove other players and vehicles.
      • Add and remove vehicle license plates for gate access.

Role-Based Installation and Management /Prop-Based Gates /

  • Job Permissions: Installation of prop gates is allowed only for predefined roles (e.g., mechanics or developers). Mechanics require the install_gate_tool item for installation. To modify an existing gate, mechanics need the edit_gate_tool item. Admins have access to the /gatemanager command.
  • During the installation process, users must follow all steps: use the E key to fix coordinates, assign the prop, optionally assign a job and set the gate’s initial state (closed/active or open).

New Use Cases /Prop-Based Gates/

  • Store Gate Locking: Prop-based gates can function as barriers to lock store entrances, preventing unauthorized access or controlling the flow of customers.
  • Obstacle and Alleyway Hacking: Hacking allows players to take control of gates and obstacles, temporarily closing off paths, such as in alleyways, to block pursuers.
  • Gang and Mafia Hideout Blockades: Prop-based gates allow gangs and mafias to block off their hideouts, protecting their territory or temporarily preventing intruders from advancing.

Hacking and Remote Control

  • Lockpicking and Hacking: Players can hack gates with necessary tools (e.g., lockpick + remote control). This can be done at a predefined location, such as an near gate ElectricBox or the gate controller stand. During the hack, players undergo skill checks or progress bars to gain access. After a successful hack, the player can temporarily control the gate with a remote control.
  • ElectricBox Hacking: The new system allows prop-based gates to be hacked at a hacking position located the ElectricBox. Electrical box props can be added for situations where adequate prop support is not available nearby.
  • Alarm System for Failed Hacks:
    If a player fails a skill check or a process circle during a hack, there is a configurable chance for triggering an alarm. By default, Config.AlarmChance is set to 50%.
    • Swing Gates: When an alarm is triggered, online players registered to the hacked Swing Gate and online police officers receive notifications and see a blinking blip on their map for 1 minute, marking the gate control stand.

    • Prop-Based Gates: For Prop-Based Gates, the system notifies online players with the job assigned to the gate prop in the config and see a blinking blip on their map for 1 minute (if no job is specified, no one is notified). Additionally, all alarm events, are logged in detail through the Discord webhook system, which will be discussed later.

    • You can also set the percentage chance that the hack item will break and remove in the case of a failed hack.

Remote Control Time and Notifications

  • Remote Control Time: Hacked gates can be controlled for a set amount of time, during which they appear as a blip on the player’s map. The duration can be configured in the config file (Config.ControlTime). When the control time expires, the player receives a notification, and the gate’s blip disappears from the map.
  • Notification Systems: The notification systems are flexible and configurable, with various notification solutions available (e.g., ox_lib, tnotify, okokNotify, print, etc.). The config file allows for easy expansion of notification systems.

Advanced Automation and Data Storage

  • Automatic License Plate Recognition: Gates with controller stands automatically recognize and open for vehicles whose license plates are registered with the gate, ensuring quick and easy access for authorized vehicles.
  • Persistent Data Storage: All gate data and access lists are saved in JSON files, ensuring that information persists even after server restarts.

Customization and Flexibility

  • Configurable Settings: Every aspect of the system is customizable, including gate models, positions, states, tools required for hacking, difficulty of skill checks, and remote control duration. The system offers flexible configuration options, allowing it to be easily adapted to any roleplaying server’s needs.
  • Interaction Type Configuration: The script supports multiple interaction methods, allowing you to choose your preferred one in the configuration file: ox_target, qb- target, or 3dText. Set your desired interaction type using Config.InteractionType.

Preset Gates

In the script, several gates are pre-configured for ease of use and implementation within the game world:

  • 14 Prop-Based Gates:
    • 2 gates are located at gang hideouts.
    • 1 gate is used for shop closures with a barrier.
    • 11 gates are placed in alleys and parking garages, specifically designed to be hacked and used as obstacles during car chases in escape scenarios.
  • 3 Swing Gates:
    • With gate control stand.

Additionally, map blips for these gates can be enabled or disabled in the config file. When Config.Blips = true is set, admins (or players in the admin group) will be able to see these gates as blips on the map. This feature is especially useful during development for easy tracking of gate locations.

Discord Webhook

  • The script features detailed Discord webhook logs for swing and prop-based gate alarms, as well as successful hacks. These logs include player details, gate IDs, and notified jobs and players, ensuring transparency and easy monitoring for administrators.

Compatibility and Integration

  • The system is fully compatible with both ESX and QBCore servers, making integration and maintenance straightforward. The configuration files provide detailed settings for developers.
  • The gate system in this script is fully synchronized across all players, ensuring a seamless multiplayer experience. Whenever a gate is hacked, opened, or moved, the changes are instantly updated for all players on the server. This means that every player sees the exact same state and movement of the gates in real-time, creating a consistent and immersive environment.

This system is the ideal solution for roleplaying servers that seek dynamic and interactive gate control options while providing advanced hacking and remote control functionalities for players.

Preview

Swing Gates PREVIEW:

Prop-Based Gates PREVIEW**:

Prop-Based Gates Install:

Install

  • Download the Keymaster.
  • Add the azakit_gatecontrolsystem to your resources folder.
  • Add ensure azakit_gatecontrolsystem to your server.cfg.

OX Inventory Items

['gate_remote'] = {
	label = 'gate remote',
	weight = 35,
	stack = false,
	close = true,
	description = nil,
	client =  {
		export = "azakit_gatecontrolsystem.useRemote",
	}
},

['gate_control_stand'] = {
	label = 'gate control stand',
	weight = 525,
	stack = false,
	close = true,
	description = nil,
	client =  {
		export = "azakit_gatecontrolsystem.useStand",
	}
},

['install_gate_tool'] = {
	label = 'install_gate_tool',
	weight = 525,
	stack = false,
	close = true,
	description = nil,
	client =  {
		export = "azakit_gatecontrolsystem.useInstallGate",
	}
},

['edit_gate_tool'] = {
	label = 'edit_gate_tool',
	weight = 250,
	stack = false,
	close = true,
	description = nil,
	client =  {
		export = "azakit_gatecontrolsystem.useEditGate",
	}
},

['lockpick'] = {
	label = 'lockpick',
	weight = 160,
	consume = 0,		
	stack = true,
	close = true,
	description = nil
},

:package: Requirements

  • ESX or QBCore
  • ox_lib

Tebex: Introductory price — limited time only.
https://azakit-development.tebex.io/package/6535766

Docs:
https://azakit-development.gitbook.io/docs

Help:
You need help, join my Discord server
https://discord.com/invite/DmsF6DbCJ9

Code is accessible No (only config.lua)
Subscription-based No
Lines (approximately) 4000+
Requirements ESX or QBCore, ox_lib
Support Yes

My other works:

[PAID][ESX/QBCore] Backpack System for ox_inventory – Wearable, Transferable, Fully Customizable
[PAID][ESX/QBCore] Clothing Store Robbery | Steal & Sell Clothes
[PAID][ESX/QBCore] Parachute System | Wear & Tear | Skill-Based Folding | NPC Shop | 8 Styles
[FREE] [STANDALONE] AutoMove
[FREE] [ESX & QBCore] Milking a cow
[FREE] [ESX] Vehicle key and lock
[FREE] [ESX & QBCore] Collecting eggs from hens
[FREE] [ESX & QBCore] Moneywash with tickets, licenses, tax levels, transport
[FREE] [ESX] Sell item with delivery
[FREE] [ESX] Scrap metal from old air conditioners
[FREE] [ESX] NPC for launching events

2 Likes