{"id":25826401,"url":"https://github.com/blnstudio/bln_loot_hunter","last_synced_at":"2025-06-15T17:09:17.942Z","repository":{"id":279693125,"uuid":"939643735","full_name":"blnStudio/bln_loot_hunter","owner":"blnStudio","description":"A comprehensive looting system for RedM, allowing players to search containers, loot bodies, and skin animals with a chance-based reward system. Fully compatible with all major RedM frameworks including VORP, RedEM, RedEM2023, QBR, RSG, and QR.","archived":false,"fork":false,"pushed_at":"2025-06-04T19:19:51.000Z","size":1070,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T23:57:17.351Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/blnStudio/bln_loot_hunter","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blnStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-26T21:44:55.000Z","updated_at":"2025-06-04T19:19:54.000Z","dependencies_parsed_at":"2025-02-26T22:29:47.839Z","dependency_job_id":"0fb27611-7471-4422-bf87-7b03c7a791ef","html_url":"https://github.com/blnStudio/bln_loot_hunter","commit_stats":null,"previous_names":["blnstudio/bln_loot_hunter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/blnStudio/bln_loot_hunter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blnStudio%2Fbln_loot_hunter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blnStudio%2Fbln_loot_hunter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blnStudio%2Fbln_loot_hunter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blnStudio%2Fbln_loot_hunter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blnStudio","download_url":"https://codeload.github.com/blnStudio/bln_loot_hunter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blnStudio%2Fbln_loot_hunter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260016034,"owners_count":22946319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-28T15:06:29.772Z","updated_at":"2025-06-15T17:09:17.936Z","avatar_url":"https://github.com/blnStudio.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔍 BLN Loot Hunter\n\n\u003cimg src=\"./.github/assets/banner.png\" alt=\"Looting System\" width=\"100%\" /\u003e\n\n## 📋 Overview\n\nA comprehensive looting system for RedM, allowing players to search containers, loot bodies, and skin animals with a chance-based reward system. Fully compatible with all major RedM frameworks including VORP, RedEM, RedEM2023, QBR, RSG, and QR.\n\n[![](https://img.shields.io/badge/YouTube-FF0000?style=flat\u0026logo=youtube\u0026logoColor=white)](https://youtu.be/GITDMO3yD9k)\n[![Discord](https://img.shields.io/badge/Discord-1111?style=flat\u0026logo=discord\u0026logoColor=white\u0026color=7289da)](https://discord.bln-studio.com/)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/blnStudio/bln_loot_hunter)\n![License](https://img.shields.io/github/license/blnStudio/bln_loot_hunter)\n\n\n## ✨ Features\n\n- 🧰 **Loot Containers** - Search chests, drawers, cabinets, and more\n- 💀 **Loot Bodies** - Search dead NPCs for valuable items\n- 🦌 **Skin Animals** - Harvest materials from hunted animals\n- 🎲 **Chance-based Rewards** - Configurable chances for different items\n- 💲 **Money Rewards** - Find cash in containers and on bodies\n- 📱 **Clean Notifications** - Visual feedback with item icons\n- 🔄 **Location-based Cooldowns** - Prevents exploit farming\n- 🛡️ **Server-side Validation** - Secure design to prevent cheating\n- 🧩 **Multi-framework Support** - Works with all major RedM frameworks\n\n## 💻 Framework compatibility\n**✅ VORP ✅ REDEMRP(old/2023) ✅ RSG ✅QBR**.\n\n## ⚙️ Dependencies\n- [BLN Lib](https://bln-studio.com/package/6520120)\n- [BLN Notify](https://github.com/blnStudio/bln_notify)\n\n## 📥 Installation\n\n1. Download the resource\n2. Extract to your resources folder\n3. Add `ensure bln_loot_hunter` to your server.cfg\n4. Configure to your liking\n5. Restart your server\n\n## ⚙️ Configuration\n\nThe looting system is highly configurable through the `config.lua` file:\n\n### Core Settings\n```lua\nConfig = {}\n\nConfig.Debug = false  -- Enable for debugging information\n\nConfig.Cooldown = 600000  -- Global cooldown for containers and peds (10 minutes)\n\nConfig.inventoryURL = \"nui://vorp_inventory/html/img/items/\"  -- Path to inventory icons\n```\n\n### Container Configuration\n\nDefine which containers can be looted and what rewards they might contain:\n\n```lua\nConfig.Containers = {\n    [`p_chest02x`] = {\n        label = \"Chest\",\n        rewards = {\n            money = {\n                enabled = true,\n                min = 5.0,\n                max = 25.0,\n                chance = 60  -- 60% chance\n            },\n            items = {\n                enabled = true,\n                list = {\n                    { name = \"goldbar\",     min = 1,  max = 3,  chance = 60 },\n                    { name = \"goldwatch\",   min = 1,  max = 2,  chance = 50 },\n                    { name = \"diamond\",     min = 1,  max = 1,  chance = 60 },\n                    { name = \"pistol_ammo\", min = 10, max = 20, chance = 70 }\n                }\n            }\n        }\n    },\n    -- Add more containers as needed\n}\n```\n\n### Ped Loot Configuration\n\nConfigure what items can be found when looting dead NPCs:\n\n```lua\nConfig.Peds = {\n    blacklist = {\n        [`A_M_M_SDUpperClass_01`] = true,  -- Blacklisted peds that can't be looted\n        [`A_F_M_ARMTOWNFOLK_01`] = true\n    },\n    rewards = {\n        money = {\n            enabled = true,\n            min = 0.25,\n            max = 3.0,\n            chance = 40\n        },\n        items = {\n            enabled = true,\n            list = {\n                { name = \"medicine_poor\", min = 1, max = 1, chance = 20 },\n                { name = \"cigarettepack\", min = 1, max = 2, chance = 35 },\n                { name = \"whiskey\",       min = 1, max = 1, chance = 15 },\n                { name = \"bread\",         min = 1, max = 1, chance = 25 },\n                { name = \"pistol_ammo\",   min = 2, max = 5, chance = 10 }\n            }\n        }\n    }\n}\n```\n\n### Animal Skinning Configuration\n\nDefine what materials can be harvested from different animal types:\n\n```lua\nConfig.Animals = {\n    [`a_c_hawk_01`] = {\n        label = \"Hawk\",\n        rewards = {\n            items = {\n                enabled = true,\n                list = {\n                    { name = \"hawkf\",                        min = 3, max = 6 },\n                    { name = \"provision_trinket_hawk_talon\", min = 1, max = 1 }\n                }\n            }\n        }\n    },\n    -- Add more animals as needed\n}\n```\n\n### Notification Settings\n\nCustomize the feedback messages shown to players:\n\n```lua\nConfig.Notifications = {\n    -- Empty message (when nothing is found)\n    Empty = {\n        enabled = true,\n        messages = {\n            { title = \"Empty\",        message = \"Nothing useful found\",              type = \"ERROR\" },\n            { title = \"No Loot\",      message = \"This container is empty\",           type = \"ERROR\" },\n            { title = \"Nothing Here\", message = \"You didn't find anything of value\", type = \"ERROR\" }\n        }\n    },\n    -- Cooldown messages\n    Cooldown = {\n        enabled = true,\n        messages = {\n            { title = \"Already Searched\", message = \"This has been searched recently\",      type = \"ERROR\" },\n            { title = \"Nothing Left\",     message = \"There's nothing more to find here\",    type = \"ERROR\" },\n            { title = \"Empty Container\",  message = \"Someone has already taken everything\", type = \"ERROR\" }\n        }\n    }\n}\n```\n\n## 💡 How It Works\n\n1. **Container Interaction:**\n   - When a player opens a container in the world, the system detects this action\n   - If the container is in the configuration, a loot check is triggered\n   - Based on chance settings, rewards are generated and given to the player\n   - Location-based cooldown prevents the same container from being looted again immediately\n\n2. **Ped Looting:**\n   - When a player loots a dead NPC, the system checks if it's a valid, non-blacklisted ped\n   - Rewards are rolled based on configured chances\n   - The corpse gets a cooldown to prevent multiple players from looting it\n\n3. **Animal Skinning:**\n   - When a player skins an animal, specific animal-type rewards are generated\n   - Animals always provide materials based on their type and configuration\n\n4. **Reward Notification:**\n   - Players receive visual feedback showing exactly what they found\n   - Money and items are displayed with appropriate icons\n   - Clean, unobtrusive UI keeps the immersion intact\n\n## 📚 Examples\n\n### Adding a New Container Type\n\n```lua\n-- Add a new container type to the configuration\nConfig.Containers[`p_chest_fancy_01x`] = {\n    label = \"Fancy Chest\",\n    rewards = {\n        money = {\n            enabled = true,\n            min = 10.0,\n            max = 50.0,\n            chance = 75\n        },\n        items = {\n            enabled = true,\n            list = {\n                { name = \"goldbar\",    min = 2, max = 4, chance = 40 },\n                { name = \"goldwatch\",  min = 1, max = 3, chance = 60 },\n                { name = \"diamond\",    min = 1, max = 2, chance = 25 },\n                { name = \"goldnugget\", min = 5, max = 10, chance = 80 }\n            }\n        }\n    }\n}\n```\n\n### Adding a New Animal Type\n\n```lua\n-- Add a new animal type to the configuration\nConfig.Animals[`a_c_wolf`] = {\n    label = \"Wolf\",\n    rewards = {\n        items = {\n            enabled = true,\n            list = {\n                { name = \"wolfmeat\",    min = 2, max = 4, chance = 100 },\n                { name = \"wolfpelt\",    min = 1, max = 1, chance = 100 },\n                { name = \"wolftooth\",   min = 1, max = 3, chance = 80 },\n                { name = \"wolfheart\",   min = 1, max = 1, chance = 30 }\n            }\n        }\n    }\n}\n```\n\n## 🌟 Performance Optimizations\n\nThis looting system was built with performance in mind:\n- Efficient event handling to minimize resource usage\n- Location-based cooldowns to reduce unnecessary server calls\n- Single notification system to prevent UI clutter\n- Native RedM event integration for seamless gameplay\n\n## 💬 Support\n\nNeed help? Have questions? Join our Discord server for support and updates!\n- 💬 Discord: [Join Here](https://discord.bln-studio.com)\n- 🎮 Live support and community help\n- 🔄 Regular updates and improvements\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblnstudio%2Fbln_loot_hunter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblnstudio%2Fbln_loot_hunter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblnstudio%2Fbln_loot_hunter/lists"}