๐ก๏ธ BLN Shield โ

๐บ Preview โ
๐ฝ Get it Now โ
A powerful and immersive body shield system for RedM. Players can equip shields via inventory items (with bln_lib) or a standalone command โ no framework required. Shields absorb incoming damage, feature stunning visual effects, and break when depleted. Fully configurable with multiple shield tiers and visual types.
โจ Features โ
๐ฏ Core Features โ
- ๐ Dual Equip Modes - Inventory items via
bln_lib, or a standalone command with no dependencies - ๐ก๏ธ Damage Absorption - Shields absorb incoming damage based on configurable drain rates
- โก Multiple Shield Types - Electric (prop + particle FX) and Normal (clothing overlay)
- ๐ Tiered Shields - Create light, medium, and heavy shields with different power levels
- ๐ฅ Visual Feedback - Particle effects on damage and healing
- ๐ Auto Break - Shield automatically unequips and notifies when depleted
- ๐งน Auto Cleanup - Full cleanup on resource stop or player ped change
๐จ Visual Types โ
| Type | Visuals |
|---|---|
| Electric | Attached prop + electric crackle on damage + tesla coil heal FX |
| Normal | Armor & mask clothing overlay on the player ped |
๐ฆ Dependencies โ
- bln_lib - (Optional) Framework compatibility and item registration
- bln_notify - (Optional) Notification system
- bln_hud - v3.0.2+ (Optional) For visual hud to see the shield.
๐ ๏ธ Configuration โ
Equip Mode โ
Choose how players equip shields in config/main.cfg.lua:
-- Inventory mode (default): use items via bln_lib
Config.EquipCommand = false
-- Standalone command mode: no bln_lib needed
Config.EquipCommand = 'equip_shield'
-- Examples:
-- /equip_shield shield_normal
-- /equip_shield shield_md
-- /equip_shield shield_heavyShield Items โ
Define your shield items in config/main.cfg.lua:
Config.Items = {
['shield_normal'] = {
power = 40, -- Max power (0-100)
drainPerDamage = 0.45, -- Power drained per damage point
type = 'normal',
segments = 1, -- UI segments (for HUD display)
},
['shield_md'] = {
power = 70,
drainPerDamage = 0.30,
type = 'electric',
segments = 4,
},
['shield_heavy'] = {
power = 100,
drainPerDamage = 0.18,
type = 'normal',
segments = 7,
},
}Shield Types โ
Define visual configurations in config/types.cfg.lua:
Config.Types = {
['electric'] = {
prop = {
model = 'w_electricfielddetector01',
bone = 'skel_l_upperarm',
x = 0.043, y = -0.109, z = 0.059,
rx = -131.427, ry = 10.513, rz = 85.431,
},
healFx = {
dict = 'scr_crackpot',
name = 'scr_crackpot_tesla_coil',
bone = 'SKEL_Head',
scale = 0.4,
durationMs = 1200,
},
damageFx = {
dict = 'core',
name = 'ent_amb_elec_crackle',
scale = 1.2,
durationMs = 600,
},
},
['normal'] = {
clothing = {
armor = 989985828,
mask = 1724663810,
},
},
}Notification โ
Customize player feedback in config/main.cfg.lua:
function _Notify(title)
exports.bln_notify:tip(title, 4000, "middle-right")
endSwap this for your own notification system if you are not using bln_notify.
Commands โ
Config.EquipCommand = false -- false = inventory | 'equip_shield' = command mode
Config.UnEquipCommand = 'unshield' -- /unshield to remove the shield| Command | When active | Usage |
|---|---|---|
Config.EquipCommand | Set to a string (e.g. 'equip_shield') | /equip_shield shield_normal |
Config.UnEquipCommand | Always | /unshield |
๐ Configuration Options โ
| Option | Description |
|---|---|
power | Maximum shield capacity (0โ100) |
drainPerDamage | Multiplier for how fast the shield drains per damage |
type | Which visual type to use (electric, normal) |
segments | Number of UI segments for HUD integration |
๐ Exports (Client) โ
GetShieldInfo โ
Returns the current shield state.
local itemId, item, percent = exports.bln_shield:GetShieldInfo()
-- itemId: string or nil
-- item: item config table or nil
-- percent: 0-100IsShieldEquipped โ
Check if a shield is currently active.
local equipped = exports.bln_shield:IsShieldEquipped()SetShield โ
Set the shield power to a specific value.
exports.bln_shield:SetShield(50) -- Set power to 50AddShield โ
Add or subtract power from the current shield.
exports.bln_shield:AddShield(20) -- Heal 20 power
exports.bln_shield:AddShield(-10) -- Drain 10 powerUnequipShield โ
Force unequip the current shield.
exports.bln_shield:UnequipShield()๐ค Support โ
Need help? Have questions? Join our Discord server for support and updates!
- ๐ฌ Discord: Join Our Community
- ๐ฎ Live support and community help
- ๐ Regular updates and improvements
- ๐ก Feature requests and suggestions
Built with โค๏ธ by BLN Studio
