# MTL-Advanced-Pickups - Tebex Store Description
## 🎯 Overview
**MTL-Advanced-Pickups** is a revolutionary weapon pickup system that brings realistic weapon looting to your FiveM server. When NPCs are killed, they drop their weapons and ammo, creating dynamic combat scenarios and rewarding players for their victories. This script is fully optimized, highly configurable, and compatible with all major frameworks.
---
## ✨ Key Features
### 🔫 Dynamic Weapon Drops
- NPCs automatically drop weapons and ammo when killed
- Only configured weapons will drop (fully customizable)
- Weapons spawn as realistic gun case props
- Ammo spawns as ammo box props
- Each weapon drop includes both weapon and ammo
### 🎮 Multi-Framework Support
- **QBCore** - Full compatibility with citizenid and inventory system
- **QBox** - Complete support for QBox framework
- **ESX** - Full integration with ESX inventory
- **Auto-Detection** - Automatically detects your framework
- **Manual Override** - Choose your framework manually if needed
### 🎨 Customizable Display Systems
- **DrawText Options**:
- Native GTA V DrawText
- jg-textui
- ox_lib
- QBCore DrawText3D
- Auto-detection with fallback
- **Notification Options**:
- MTL-Notify
- okokNotify
- ox_lib
- mythic_notify
- t-notify
- QBCore Notify
- ESX ShowNotification
- Auto-detection with fallback
### 🎭 Enhanced User Experience
- **Weapon Labels**: Customizable weapon names (e.g., "Pistol" instead of "weapon_pistol")
- **Pickup Animation**: Smooth animation when picking up weapons
- **3D Text Display**: Shows weapon name and ammo count when near drops
- **Distance-Based Display**: Configurable interaction distance
- **Smart Text Hiding**: Text disappears when moving out of range
### ⚙️ Advanced Configuration
- Configure which weapons can drop
- Set custom weapon labels
- Customize ammo amounts per weapon
- Adjust pickup key (default: E)
- Enable/disable pickup animation
- Customize animation dictionary and name
- Adjust text appearance (scale, font, color, distance)
### 🔧 Technical Excellence
- **Optimized Performance**: Efficient NPC enumeration and distance checking
- **Thread-Safe**: Proper cleanup and object management
- **Version Checking**: Automatic update notifications via GitHub
- **System Information**: Displays detected systems on resource start
- **Escrow Support**: Shared config file is escrow-ignored for easy customization
---
## 📋 Requirements
### Framework (Choose One)
- QBCore
- QBox
- ESX
### Optional Dependencies
- **DrawText Systems**: jg-textui, ox_lib (optional)
- **Notification Systems**: MTL-Notify, okokNotify, ox_lib, mythic_notify, t-notify (optional)
---
## 🚀 Installation
1. Download and extract the resource
2. Place it in your `resources` folder
3. Add `ensure MTL-Advanced-Pickups` to your `server.cfg`
4. Configure `shared/config.lua` to your preferences
5. Restart your server
**That's it!** The script will automatically detect your framework and start working immediately.
---
## ⚡ Quick Configuration
```lua
-- Choose your framework
Config.Framework = "auto" -- "auto", "qb-core", "qbox", or "esx"
-- Choose your DrawText system
Config.DrawTextSystem = "auto" -- "auto", "native", "jg-textui", "ox_lib", or "qbcore"
-- Choose your notification system
Config.NotifySystem = "auto" -- "auto", "MTL-Notify", "okokNotify", etc.
-- Configure allowed weapons
Config.AllowedWeapons = {
["weapon_pistol"] = {
ammoCount = 12,
ammoItem = "pistol_ammo",
label = "Pistol"
},
-- Add more weapons...
}
```
---
## 🎯 Use Cases
- **Roleplay Servers**: Realistic weapon looting from NPCs
- **Combat Servers**: Reward players for defeating enemies
- **Survival Servers**: Scavenge weapons from defeated NPCs
- **Custom Scenarios**: Create unique weapon acquisition methods
---
## 📊 Features Breakdown
### ✅ What's Included
- ✅ Automatic weapon drops from NPCs
- ✅ Configurable weapon list
- ✅ Custom weapon labels
- ✅ Pickup animations
- ✅ 3D text display
- ✅ Multi-framework support
- ✅ Multiple DrawText systems
- ✅ Multiple notification systems
- ✅ Version checking
- ✅ System information display
- ✅ Escrow support
- ✅ Full documentation
### 🔒 What's Protected
- Core script files are encrypted (escrow)
- Shared config file is editable
- Easy customization for server owners
---
## 💡 Why Choose MTL-Advanced-Pickups?
1. **Fully Optimized**: Efficient code that won't impact server performance
2. **Highly Configurable**: Customize every aspect to fit your server
3. **Multi-Framework**: Works with QBCore, QBox, and ESX
4. **Professional Support**: Regular updates and bug fixes
5. **Easy Installation**: Set up in minutes, not hours
6. **Clean Code**: Well-structured and documented codebase
7. **Active Development**: Continuous improvements and new features
---
## 📝 Notes
- Only NPCs (not players) drop weapons
- Only configured weapons in `Config.AllowedWeapons` will drop
- Weapons spawn as `prop_gun_case_01` objects
- Ammo spawns as `prop_box_ammo07a` objects
- Each weapon drop includes both weapon and ammo
- Script automatically detects your framework and systems
---
## 🆘 Support
Need help? Join our Discord for support, updates, and community discussions.
**Discord**: [Your Discord Link]
---
## 📄 License
This resource is protected by escrow. The shared configuration file (`shared/config.lua`) is editable, but core script files are encrypted for protection.
---
## 🔄 Updates
This script includes automatic version checking. You'll be notified when updates are available. Simply download the latest version from your Tebex purchase page.
---
**Ready to enhance your server with realistic weapon pickups? Get MTL-Advanced-Pickups today!**