[PAID] Silly Loot – NPC Loot System for RedM 🧺

[PAID] Silly Loot – NPC Loot System for RedM :basket:


:pushpin: Description

Silly Loot is a lightweight NPC loot script for RedM. Specific NPC models give random items from a configurable loot pool when the player finishes looting them. Perfect for rare NPCs, event bosses, cultists, bandits, and more.

Built for VORP Core or RSGCore (auto-detected).


:sparkles: Features

  • :performing_arts: NPC-specific loot β€” define unique loot tables per NPC model
  • :game_die: Random item selection β€” one random item from the pool per loot
  • :backpack: VORP Inventory β€” items are given directly to the player’s inventory
  • :bell: VORP Notification β€” TipBottom notification on successful loot
  • :shield: Anti-spam cooldown β€” server-side cooldown prevents event spamming
  • :straight_ruler: Optional distance check β€” server verifies player proximity (when NetID available)
  • :high_voltage: Optimized client β€” uses hash cache instead of config scan per event
  • :broom: Memory cleanup β€” automatic removal of non-existent ped references
  • :puzzle_piece: Namespaced events (silly_loot:*) β€” avoids collisions with other resources
  • :locked: One loot per ped β€” client-side deduplication

:brain: How It Works

  1. Player loots an NPC normally (game’s built-in loot mechanic)
  2. Client detects EVENT_LOOT_COMPLETE
  3. Checks if the NPC’s model is in Config.NpcLoot
  4. Server picks a random item from the loot pool
  5. Item is added via VORP Inventory + notification is sent

:camera: Screenshots / Preview

Silly Loot Preview

:clapper_board: Watch Video Preview


:wrench: Installation

  1. Place Silly_Loot in your resources folder
  2. Ensure dataview_lua is installed
  3. Add to your server.cfg:
ensure dataview_lua
ensure Silly_Loot
  1. Configure NPC loot pools in config.lua

:gear: Configuration

Everything in config.lua:

Cooldown

Config.LootCooldownMs = 1500

Server-side cooldown in ms to prevent spam.

Distance Check

Config.MaxLootDistance = 4.0

Optional: server checks if player was in range (when NetID is available).

Loot Pools

Define loot per NPC model:

Config.NpcLoot = {
  ["cs_vampire"] = {
    { "pdiamond", 1, "Flawless Diamond" },
  },
  ["g_m_m_unibanditos_01"] = {
    { "Goldzahn", 1, "Gold Tooth" },
    { "SchmuckGeklaut", 1, "Stolen Jewelry" },
    { "AlterPenny", 1, "Old Penny" },
  },
}

Larger pool = lower chance per individual item.


:light_bulb: Use Cases

  • :gem_stone: Rare NPCs β€” guaranteed/rare drops
  • :tada: Event bosses β€” cultists, bandits, boss fights with loot
  • :balance_scale: Balancing β€” control item economy via pool size
  • :chart_increasing: RP/PvE progression β€” faction-specific material drops

:package: Dependencies

Dependency Required
VORP or RSGCore :white_check_mark: (auto-detected)
dataview_lua :white_check_mark:
oxmysql :white_check_mark: (for auto item setup)

:link: Download

:shopping_cart: Silly Scripts Tebex Store


Code is accessible Yes (config.lua), rest escrowed
Subscription-based No
Lines (approximately) ~292
Requirements VORP or RSGCore, dataview_lua, oxmysql
Support Yes
1 Like

:fire: 40% Launch Discount at Silly Scripts :fire:

Silly Scripts is officially live!
To celebrate our grand opening, we’re offering 40% off all scripts.

This is the perfect time to upgrade your server and grab the features you’ve been waiting for.

:hourglass_not_done: Limited time only
:laptop: Applies to all scripts
:rocket: Don’t miss out

1 Like

Bugfix

  • Bridge erkannte Framework asynchron β†’ Race Condition

Is this supported for RSG Core/Inventory ?

we have rsg support yeah
If you have a problem, join our Discord and we’ll fix it.