BLN Outlaw Territories [Standalone]

A dynamic territory system for RedM that creates dangerous zones with mounted NPC bandits who patrol and defend their territory.

:scroll: Description

Dangerous Zones adds a dynamic territory system to your RedM server, creating hostile areas patrolled by aggressive mounted NPCs. When players enter these zones, they’ll be confronted by bandits who will pursue and attack them. The system features smart NPC behavior, territory management, and configurable danger zones.

:sparkles: Features

  • Dynamic Territory System

    • Define custom dangerous zones and districts
    • Visual map indicators for dangerous territories
    • Configurable zone coloring and boundaries
  • Intelligent NPC System

    • Smart mounted bandits that patrol territories
    • Dynamic spawn and pursuit mechanics
    • Realistic horse-mounted combat
    • Configurable NPC behavior and attributes
  • Advanced Combat Features

    • Strategic NPC positioning and tactics
    • Customizable weapons and difficulty
    • Dynamic pursuit and engagement ranges
    • Smart repositioning during combat
  • Performance Optimized

    • Efficient resource management
    • Smart cleanup systems
    • Configurable spawn limits and distances
    • Minimal performance impact

:video_game: Usage

Once installed and configured:

  • Players will see marked dangerous territories on their map
  • Entering these zones triggers a warning notification
  • After a brief delay, mounted bandits will appear and engage
  • Players must either fight or escape the territory
  • Leaving the zone will cause NPCs to become passive

:wrench: Configuration

The script is highly configurable through the config.lua file:

Config = {}

-- Enable/disable debug messages in console
Config.debug = false

Config.NPCAttack = {
    -- Distance from player at which NPCs will spawn (in game units)
    spawnDistance = 50.0,

    -- Maximum distance NPCs will chase player before repositioning
    followDistance = 100.0,

    -- Distance at which NPCs will return to their original position when player leaves danger zone
    returnDistance = 150.0,

    -- Distance at which NPCs will be completely removed from the world after player leaves danger zone
    cleanupDistance = 100.0,

    -- Time in milliseconds to wait before cleaning up NPCs after player leaves danger zone
    cleanupDelay = 10000,

    -- Time in milliseconds before NPCs start attacking after entering danger zone
    timeBeforeAttack = 2000,

    -- Time in milliseconds to wait before spawning a replacement for dead NPCs
    respawnDelay = 1000,

    -- Maximum number of NPCs that can be active at once
    maxActiveNPCs = 10,

    onDeath = function ()
        -- Custom code here, will be excuted when player die durig the fight in zone.
    end,

    -- List of weapons that NPCs can spawn with
    -- These must be valid weapon hash names from the game
    weapons = {
        "WEAPON_REPEATER_CARBINE",   
        "WEAPON_REVOLVER_CATTLEMAN", 
        "WEAPON_RIFLE_BOLT"         
    },

    -- NPC and horse model configurations
    models = {
        -- Ped models that will be used for the attackers
        peds = {
            "G_M_M_UniBanditos_01",      
            "G_M_M_UNIGRAYS_01",        
            "G_M_M_UNIMOUNTAINMEN_01"   
        },

        -- Horse models that the NPCs will ride
        horses = {
            "a_c_horse_appaloosa_blacksnowflake",
            "a_c_horse_kentuckysaddle_grey",      
            "A_C_Horse_Morgan_Bay",              
            'a_c_horse_morgan_bayroan',          
        }
    }
}

Config.T = {
    enterZoneTitle = "~red~Warning!",
    enterZoneDescription = "You have entered a dangerous territory. Leave now or face the consequences!",
    enterAgainTitle = "~red~Danger!",
    enterAgainDescription = "The bandits have spotted you again!",
    leftZoneTitle = "~#ffcc00~Escaped!",
    leftZoneDscription = "You have left the dangerous area. The bandits have stopped pursuing you.",
}

Config.Colors = {
    -- Color/style used for marking dangerous zones on the map
    -- Must be a valid blip style hash from the game
    ZONE = 'BLIP_STYLE_WANTED_REGION'
}

-- ZoneTypes used in `Config.DangerousZones`
Config.ZoneTypes = {
    DISTRICT = 10,  -- You can add other types like STATE = 0, TOWN = 1, etc.
}

-- Configuration for dangerous zones on the map
Config.DangerousZones = {
    {
        type = Config.ZoneTypes.DISTRICT,
        name = "Cholla Springs",
        zoneHash = -108848014,     -- zone detection hash (depends on the zone type)
        mapZoneHash = 0x99B6A1E6   -- zone hash that is gonna be colored on the map
    },
   ...
   ...
}


-- For adding more zone
------------------------
-- zoneHash & ZoneType     : https://github.com/femga/rdr3_discoveries/blob/master/zones/README.md
-- mapZoneHash             : https://github.com/femga/rdr3_discoveries/tree/master/graphics/minimap/wanted_regions

:clipboard: Dependencies


:tv: Preview

Video Preview

:moneybag: Buy Now

Get it Now

:star: Get More from BLN Studio

BLN Elections System
BLN Outlaw Territories
BLN Sweeper Job
BLN Ghost Train
BLN Server Restarter
BLN Music
BLN Announce

and many other FREE releases here

Code is accessible No
Subscription-based No
Lines (approximately) 700+
Requirements bln_notify
Support Yes

New Update v1.1.0 Available Now

Changelog

Fixed

  • On death handler issue and enhancements.
  • Not all configured locations works.

Changed

  • Now configuring danger zones is more flexible than old way.
  • Added Cleanup NPCs delay in config.
  • Rewrite most of the client code, enhancements, and cleaning code.

Updated Files
• c/main.c.lua (modified)
• config.lua (modified)
• fxmanifest.lua (modified)

Need help or ask something? more resources ? Join our Discord