This script provides a sophisticated weapon progression system that rewards player skill and creates meaningful progression through customizable damage, accuracy, and recoil scaling.
Features
Skill-Based Progression
Weapon stats scale dynamically based on player skill levels, creating meaningful progression from novice to expert.
Customizable Curves
Support for linear, exponential, and custom progression curves to match your server’s progression style.
Per-Weapon Modifiers
Individual weapon damage and recoil multipliers for fine-tuned balance across different weapon types.
Realistic Reload Mechanics
Skill-based reload failure system with configurable failure rates and speed modifiers.
Accuracy & Recoil Control
Dynamic accuracy improvement and recoil reduction based on player skill progression.
Framework Integration
Compatible with VORP Core and RSG Core frameworks with modular framework bridge support.
Installation
1
Download
Get the latest release from our Tebex Store and download it from your Keymaster
2
Extract
Extract the script folder to your server’s
resources
directory3
Configure
Add
ensure spooni_weaponController
to your server.cfg
4
Customize
Configure the
config.lua
file to match your server’s progression systemConfiguration
The script is highly configurable through theconfig.lua
file. Here are the main configuration sections:
Basic Settings
Progression Curve Configuration
Define how weapon stats evolve from minimum to maximum skill level:Weapon Statistics
Configure base and target values for each weapon stat:The
reloadSpeedFactor
controls the time for disabling firing after reload, not the animation delay.Damage Modifiers
Configure per-weapon damage multipliers:Recoil Configuration
Set global and per-weapon recoil settings:Notification Settings
Progression Types
The script supports three different progression curve types:Linear Progression
Linear progression provides consistent improvement across all skill levels, suitable for balanced progression systems.
Exponential Progression
Exponential progression creates more dramatic improvements at higher skill levels, rewarding dedicated players.
Custom Progression
Custom progression requires defining values for each level you want to override. Levels not specified will use linear interpolation.
Language Configuration
Customize notification messages inlanguage.lua
:
Advanced Configuration
Helper Functions
The script includes built-in helper functions for developers:Getting Perk Values
Access perk values programmatically:Usage Examples
Balanced Linear Progression
Exponential Progression for Hardcore Servers
Custom Weapon Balance
Performance Considerations
The script is optimized for performance with several key features:
- Pre-computed Values: All perk values are calculated once at startup
- Efficient Lookups: Direct table access for perk values
- Configurable Checks: Debug mode can be disabled in production
- Minimal Overhead: Lightweight calculations during gameplay
Performance Tips
- Debug Mode: Disable
Config.debug
in production - Custom Values: Limit custom value overrides to essential levels
- Weapon Lists: Keep damage and recoil modifier lists focused on commonly used weapons
- Progression Range: Use reasonable min/max level ranges (0-1000 recommended)
Troubleshooting
Progression not working
Progression not working
Verify the progression curve is properly configured, check that skill levels are being awarded correctly, and ensure the script is properly started in your server.cfg.
Weapon modifiers not applying
Weapon modifiers not applying
Confirm weapon hash names are correct, check that damage and recoil modifiers are properly formatted, and verify the weapon exists in your server.
Reload mechanics not working
Reload mechanics not working
Check that
reloadFailDisabled
is set to false, verify reload failure chance values are between 0.0 and 1.0, and ensure the notification system is properly configured.Performance issues
Performance issues
Disable debug mode, reduce the number of custom value overrides, and ensure progression ranges are reasonable for your server population.
Custom progression errors
Custom progression errors
Verify custom value syntax is correct, ensure all required stats are defined for each level, and check that level numbers are within the min/max range.
Framework Integration
The script includes built-in support for multiple frameworks:Limitations
Be aware of the following limitations when configuring the script:
- Weapon Compatibility: Only works with weapons that support the configured stats
- Progression Range: Values outside min/max level range are clamped
- Custom Values: Must define all required stats for each custom level
- Reload Mechanics: Reload speed factor affects firing delay, not animation speed