✈️NOXEN A10
Noxen A10 - Complete Documentation
Table of Contents
Introduction
Features
Installation
Configuration
Usage
API Reference
Technical Details
Troubleshooting
Credits
Introduction
Noxen A10 is a sophisticated FiveM resource that brings realistic A-10 Warthog aircraft strafe runs to your server. This script provides an immersive tactical air support system with a cinematic targeting interface, realistic sound effects, and dynamic damage mechanics.
What is the A-10 Warthog?
The A-10 Thunderbolt II, commonly known as the "Warthog," is a single-seat, twin turbofan engine, straight wing jet aircraft designed for close air support (CAS) of ground forces. Its GAU-8/A Avenger 30mm rotary cannon is legendary for its distinctive "BRRRT" sound.
Escrow Protection
This is a premium protected resource. The core functionality is encrypted to protect the intellectual property. However, two key files are provided unencrypted for your customization needs:
config/client/cl_config.lua- Basic configuration optionsclient/api.lua- API integration layer for framework compatibility
This ensures you can fully integrate the resource into your server while maintaining code security.
Features
Core Features
Interactive Targeting System - Advanced orbital-style camera system for precise target selection
Realistic Flight Path - A-10 aircraft spawns dynamically and follows a realistic approach trajectory
Dynamic Sound System - Distance-based 3D audio with multiple sound variations including:
Flyover sounds
Flyby sounds (close proximity)
GAU-8 cannon fire
Impact sounds (close, mid, far)
Visual Effects
Tracer rounds animation
Particle effects for explosions and smoke
Camera shake based on proximity
Post-processing effects during targeting
Damage System
Progressive damage to vehicles within blast radius
Damage scaling based on distance from impact
Realistic vehicle deformation
Window smashing effects
Persistent smoke effects on damaged vehicles
Multiplayer Synchronization - All effects are synchronized across all players
Technical Features
Performance Optimized - Efficient entity pooling and cleanup
Distance-Based Rendering - Effects only apply within reasonable range (1000m)
Camera System - Fully integrated custom camera management
UI System - Modern, responsive targeting interface with HTML5/CSS3/jQuery
Installation
Requirements
A working FiveM server
Basic understanding of server resource management
Step-by-Step Installation
Download the Resource
cd resources git clone [repository-url] noxen_a10 # OR extract the downloaded ZIP fileAdd to Server Configuration
Open your
server.cfgfile and add:ensure noxen_a10Restart Your Server
restart noxen_a10 # OR refresh ensure noxen_a10Verify Installation
Check your server console for any errors. You should see the resource loaded successfully.
File Structure
noxen_a10/
├── client/
│ ├── main.lua # Core A-10 strike logic [ENCRYPTED]
│ ├── api.lua # Public API and events [✅ EDITABLE]
│ ├── cam.lua # Camera management system [ENCRYPTED]
│ ├── native_ui.lua # Native UI drawing utilities [ENCRYPTED]
│ ├── sound/
│ │ └── logic.lua # Sound playback system [ENCRYPTED]
│ └── web/
│ ├── index.html # Targeting UI interface [ENCRYPTED]
│ ├── jquery.js # jQuery library [ENCRYPTED]
│ ├── soundPlayer.js # NUI sound player [ENCRYPTED]
│ └── sounds/ # Sound files directory [ENCRYPTED]
├── config/
│ └── client/
│ └── cl_config.lua # Client configuration [✅ EDITABLE]
├── server/
│ └── main.lua # Server-side synchronization [ENCRYPTED]
├── stream/
│ └── noxen_a10.ytd # Texture dictionary [ENCRYPTED]
└── fxmanifest.lua # Resource manifest [ENCRYPTED]Legend:
✅ [EDITABLE] - Files you can modify for customization
🔒 [ENCRYPTED] - Protected files (cannot be modified)
Configuration
Important Note: Editable Files
This resource is escrow-protected. Only the following files are accessible and editable by the client:
✅
config/client/cl_config.lua- Configuration file✅
client/api.lua- API file for custom integrations
All other files are encrypted and cannot be modified.
Client Configuration
Edit config/client/cl_config.lua:
Config = {}
-- Enable or disable the /a10 command
-- Set to true to allow players to use the command directly
-- Set to false to control access via exports/events only
Config.EnableCommand = falseConfiguration Options
EnableCommand
boolean
false
Enables/disables the /a10 command for all players
Usage
For Players
Using the Command (if enabled)
If Config.EnableCommand is set to true:
Type
/a10in chatThe targeting system will activate
Move your mouse to the edges of the screen to pan the camera
Use mouse wheel to adjust height (50m - 600m)
Press E to confirm target and call the strike
Press ESC to cancel
Targeting System Controls
Mouse Movement (edge of screen)
Pan camera to select target area
Mouse Wheel Up
Increase camera height
Mouse Wheel Down
Decrease camera height
E Key
Confirm target and call strike
ESC Key
Cancel targeting
For Developers
Custom Integration with API.lua
The client/api.lua file is specifically designed for custom integrations. You can modify this file to integrate the A-10 system with your existing scripts.
Example: Adding Permission Checks
Edit client/api.lua:
API = {}
function API.Call()
-- Add your custom checks here
-- Example: Check if player has permission
if not PlayerHasPermission() then
print("You don't have permission to call A-10 strike!")
return
end
-- Call the A-10 system
A10.CallA10(false)
end
-- Custom permission check function
function PlayerHasPermission()
-- Add your permission logic here
-- Return true or false
return true
end
-- Event handler (already included)
AddEventHandler("noxen_a10:Call", function()
API.Call()
end)Using the Event System
You can trigger the A-10 strike from your own scripts:
-- Trigger the targeting system
TriggerEvent("noxen_a10:Call")Direct API Call
-- Call directly from another resource (if api.lua allows it)
exports['noxen_a10']:Call()Expected Behavior
Targeting Phase: Player enters an orbital camera view with a modern HUD overlay
Approach Phase (~8.5 seconds):
A-10 aircraft spawns 1050m away
Approaches target with engine sounds
Plane adjusts pitch dynamically toward target
Strike Phase:
GAU-8 cannon fires 30 rounds over ~1 second
Tracer rounds visible from plane to target
Multiple explosions at target area
Impact sounds based on player distance
Camera shake (if player nearby)
Exit Phase (~20.5 seconds):
Plane pulls up and exits the area
Damaged vehicles emit smoke
Aircraft is automatically cleaned up
API Reference
Available Integration Methods
Since this resource is escrow-protected, you can integrate it using the provided editable files.
Client-Side Integration
Method 1: Using Events (Recommended)
-- From any client-side script
TriggerEvent("noxen_a10:Call")This will trigger the targeting system for the local player.
Method 2: Using Exports
-- From any resource
exports['noxen_a10']:Call()Method 3: Modifying API.lua (Advanced)
You can edit client/api.lua to add custom logic:
-- Example: Integration with ESX
API = {}
function API.Call()
ESX = exports['es_extended']:getSharedObject()
local xPlayer = ESX.GetPlayerData()
-- Check if player has required job
if xPlayer.job.name ~= 'army' then
ESX.ShowNotification('You must be in the army to call A-10 strikes!')
return
end
-- Check if player has enough money
if xPlayer.money < 50000 then
ESX.ShowNotification('You need $50,000 to call an A-10 strike!')
return
end
-- Remove money and call strike
TriggerServerEvent('noxen_a10:removeMoney', 50000)
A10.CallA10(false)
end
AddEventHandler("noxen_a10:Call", function()
API.Call()
end)Client-Side Events
noxen_a10:Call
Triggers the A-10 targeting system.
Parameters: None
Usage:
TriggerEvent("noxen_a10:Call")Notes: This event is handled in client/api.lua which you can customize.
Configuration-Based Customization
Edit config/client/cl_config.lua:
Config = {}
-- Enable /a10 command for all players
Config.EnableCommand = false -- Set to true to enable command
-- You can add more config options here
-- These will be accessible from the encrypted filesIntegration Examples
Example 1: QBCore Integration
Add to client/api.lua:
local QBCore = exports['qb-core']:GetCoreObject()
function API.Call()
local PlayerData = QBCore.Functions.GetPlayerData()
if PlayerData.job.name == 'police' and PlayerData.job.grade.level >= 4 then
A10.CallA10(false)
else
QBCore.Functions.Notify('Insufficient permissions', 'error')
end
endExample 2: Item-Based Usage
Add to client/api.lua:
function API.Call()
-- Trigger server event to check if player has item
TriggerServerEvent('noxen_a10:checkItem')
end
RegisterNetEvent('noxen_a10:itemConfirmed', function()
A10.CallA10(false)
end)Then create a server-side script in your inventory system to handle the item check.
Technical Details
Strike Mechanics
Spawn Configuration
Model:
strikeforce(game vehicle)Spawn Distance: 1050m ahead, 200m above target
Speed Multiplier:
0.1 * TimeFrameLanding Gear: Retracted
Entity State: Frozen (not affected by physics)
Damage System
The damage system uses a radius-based calculation:
-- Damage radius: 10m
-- Damage calculation: 100 * max(0.1, (10 - distance) / 10)
-- Only affects entities within 10m of each explosion pointAffected Entities:
Vehicles (CVehicle)
Pedestrians/NPCs (CPed)
Vehicle Damage Effects:
Broken rudder
All doors broken
Multiple damage points across vehicle body
All windows smashed
Smoke particle effects
Audio System
The resource uses a custom NUI-based audio system for realistic 3D positional audio:
Sound Categories:
Flyover Sounds (2 variations)
Played during approach
Volume: Distance-based (750m max range)
Flyby Sounds (4 variations)
Played when player within 60m of target
Volume: 0.35
Impact Sounds (Close/Mid/Far)
Close (<150m): 4 variations
Mid (150-450m): 4 variations
Far (>450m): 3 variations
Volume: Distance-based calculation
Cannon Fire (2 variations)
Played 1.85s after strike begins
Volume: Distance-based (650m max range)
Camera System
The targeting camera system provides:
Fixed FOV: 50.0
Height range: 50m - 600m
Auto-focus on target position
Post-processing effect:
MP_OrbitalCannonRadar disabled during targeting
Performance Considerations
Range Limit: 1000m from player position
Entity Pooling: Uses game pool for vehicles and peds
Cleanup: Automatic entity deletion after strike
Network Optimization: Only entity owners apply damage
Visual Effects
Tracer Animation
-- 30 rounds fired
-- Each round:
-- - Duration: 0.4 seconds
-- - Color: RGB(235, 195, 52) - Golden yellow
-- - Delay between rounds: 30msParticle Effects
Impact:
core/exp_grd_grenade_lod(scale: 0.6)Smoke:
core/exp_grd_grenade_smoke(scale: 0.4, duration: 5s)
Camera Shake
-- Shake type: "SMALL_EXPLOSION_SHAKE"
-- Range: 10m from target
-- Intensity: 0.2 * max(0.2, (50 - distance) / 50)Troubleshooting
Common Issues
Strike Not Working
Symptoms: Nothing happens when calling the strike
Solutions:
Check console for errors
Verify resource is started:
ensure noxen_a10Ensure you're within 1000m of the target location
Check that the model loads (wait for
strikeforceto load)
No Sound Playing
Symptoms: Visual effects work but no audio
Solutions:
Check browser console (F8 in-game, type
con_browserDevTools true)Verify sound files exist in
client/web/sounds/Check file formats (.ogg files)
Ensure NUI is not muted
Targeting Camera Not Opening
Symptoms: Command runs but camera doesn't change
Solutions:
Check for conflicting camera scripts
Verify
cam.luais loading properlyCheck console for Lua errors
Ensure native functions are available
Plane Spawns But Doesn't Move
Symptoms: Aircraft appears but stays stationary
Solutions:
This is actually intended - the plane is frozen and moved manually
If it's not moving at all, check for script errors
Verify
A10.TimeFrameis being updated (main thread running)
Vehicles Not Taking Damage
Symptoms: Strike completes but vehicles are unaffected
Solutions:
Verify you're the network owner of the vehicle
Check server permissions for damage natives
Ensure entities are networked properly
Check for godmode/invincibility scripts
Debug Mode
To enable additional logging, you can modify the code temporarily:
-- In client/main.lua, add print statements
print("Strike called at:", targetPosition)
print("Player distance:", distanceFromTarget)
print("Entity count:", #allEntity)Performance Issues
If experiencing FPS drops during strikes:
Reduce particle count: Modify the loop in
A10.PlayHitSounds(line 159) from 30 to 15Increase delay between rounds: Change
Wait(30)toWait(50)(line 273)Reduce damage points: Reduce the
damagePointsarray size (lines 205-242)
Credits
Development
Developer: Noxen
Resource Name: noxen_a10
Version: 1.0.0
Libraries & Assets
jQuery - JavaScript library for NUI
Pizzicato.js - Audio library for sound effects
GTA V Natives - Rockstar Games
Sound Design
All A-10 and GAU-8 sounds are carefully selected to provide realistic audio feedback based on real-world recordings.
Support
For support, bug reports, or feature requests:
Check this documentation first
Search existing issues
Provide detailed information:
FiveM version
Server artifact version
Error messages (console and client)
Steps to reproduce
License
This resource is provided as-is. Please check with the original author for licensing terms and conditions.
Changelog
Version 1.0.0
Initial release
Interactive targeting system
Realistic A-10 strike mechanics
Distance-based audio system
Dynamic damage system
Multi-player synchronization
Thank you for using Noxen A10! Enjoy the BRRRT! 🛩️
Last updated
