ARobinhood's Wishlist
-
Train Homes
Live in one place? It's not interesting. Live in a camping car module? Too small. Have a full-fledged mobile home? That's what you need!
Video
How does it work?
You cannot build a base on a wagon while the wagon is on the rails. In order to place something on the wagon, you need to move it to your base, which has at least 7x3 foundations. Everything is shown in more detail in this video.:
With this plugin, your players will be able to build their own small base on the wagon and wander around the server with it. Or you can even assemble a whole train of such wagons.
Chat Command (For admins)
/showfreewagons - Writes the number of available wagons to the console, and also shows their location on the server. (Permission is required for use)
/givewagon <amount> <SteamID or Name> - gives the specified player an item for the spawn of the wagon in the amount that you specify (Permission is required for use)
Chat Command (For Player)
/thinstruction - instructions on some features of the plugin
/removewagon - take a hammer in your hands, write a command and hit the wagon
Console Command (RCON only)
clearallwagons - clears the server of all custom wagons. Be careful! The action is irreversible and players will lose all their items and resources. It should be used only before you want to turn off the plugin from the server, because after unloading, custom wagons can be created on the server.
givewagon <amount> <SteamID or Name> - gives the specified player an item for the spawn of the wagon in the amount that you specify
Plugin Config
https://pastebin.com/jbsateCv Permissions
trainhomes.givewagon - gives permission to use the chat command /givewagon
trainhomes.showfreewagons - gives permission to view the location of free wagons
Hooks
private bool OnWagonSpawn(BasePlayer player) API
private bool IsEntityFromBaseWagon(ulong netIdValue) Returns true if the netId of the object belongs to the wagon
private bool IsBaseWagon(ulong netIdValue) Returns true if the netId belongs to a wagon on the base
private bool IsTrainHomes(ulong netIdValue) Returns true if the netId belongs to a wagon on the track
private bool IsFreeWagon(ulong netIdValue) Returns true if the netId belongs to a free wagon on the track
Check out more of my work here JTedal's library.
Come see our whole teams work Mad Mapper Library.
- #jtedal
- #mad mappers
- (and 10 more)
-
CustomMedical
🧪 CustomMedical Take control of how medical items work on your server! CustomMedical lets you turn syringes, bandages, largemedkit item into fully customized healing kits — with configurable boosts, usage limits, permissions, timed effects, commands, and even loot drops. Perfect for RPG-style servers, PvE heal systems, and VIP reward kits.
✨ Features Unlimited customization: Rename syringes/bandages/largemedkit, give them custom skins, and show [Uses:X] right on the item. Usage limits: Configure how many times each item can be used before it’s consumed. Boost system: Add health, hydration, calories, comfort, or radiation effects — with optional timers and automatic reset. Status UI integration: Show a live “Medical Time” bar via SimpleStatus (optional dependency). Timed permissions: Grant temporary permissions or groups on use with TemporaryPermissions (optional dependency). Commands on use: Run one or multiple chat/console commands when the item is used. Loot integration: Configure loot crates, heli crates, and Bradley crates to spawn your custom items at custom rates. Anti-stack protection: Prevents players from stacking custom medical items (no “dupe” exploits). Prefix & color customization: Fully configurable chat prefix with color tags.
🎥 Showcase Video
💬 Commands /givesyringe <id|name> [amount] → Give yourself a configured medical item. /givesyringe <player> <id|name> [amount] → Give a configured item to another player. (Also available as console command givesyringe.)
📁 Example Configuration
🔑 Permissions custommedical.admin → Allows use of /givesyringe and console give commands. You can define per-item permissions in the config (e.g., custommedical.vipheal), then grant them with oxide.grant user <name> custommedical.vipheal.
🎯 Why Choose CustomMedical? Because sometimes vanilla healing just isn’t enough. This plugin gives you full control — from simple rebalanced syringes to complex RPG-style healing kits with timed buffs, effects, and rewards. -
Arc Launch Site Event
By Iftebinjan in Plugins
The Arc Launch Site Event brings action and intensity to the Launch Site monument. An Arc Drone seizes control of the area, and your objective is simple: take down the boss drone and its goons while surviving their relentless attacks. This event transforms the Launch Site into a highly engaging and challenging combat zone.
Arc Drone Behavior:
The Arc Drone spawns directly inside the Launch Site monument and begins patrolling the area. Once it detects a player, it immediately engages. The drone features multiple health phases,
and each phase unlocks:
More aggressive attack patterns Stronger and faster projectiles Increased movement speed Evasive maneuvers to avoid your shots Three stages of attacks on the Arc Drone's different health levels, each becoming progressively stronger. As of 1.0.2, Attacks are (Burst fire close range, Burst Bradley Projectile, Heli Naplam Projectile, Smoke Screen, Fire spread, Homing Seeker Missiles) Additional Threats:
Armed Scientists also spawn throughout the monument, making entry into the area a difficult and chaotic task. You’ll need to fight your way in while keeping an eye on the drone above.
How to Fight It:
You can whittle down the drone’s massive HP using regular weapons, or deal heavy burst damage using an HV Rocket Launcher for a faster takedown.
Rewards:
Once the drone is destroyed, it drops multiple loot crates containing some of the best possible rewards, making the battle well worth the effort.
🎬 Video Showcase
📌 Commands
⚙️ Configuration
🚀 API & Hooks
💬 Support
-
Hide And Seek
Spawn a Hidden NPC somewhere in the world and challenge your players to get moving and find it.
Whoever discovers the NPC gets rewarded with a loot bag filled with random items from your custom loot table. Features include: Customizable NPC Outfit. Dynamic NPC spawning across monuments and world locations. Customizable Loot, Put exclusive loot here to get your players moving. Optional delayed respawn of the NPC after being found, if false, it will respawn next load. Top Seekers leaderboard to showcase the best seekers. Discord logging to announce the Seeker find. The NPC can emit a sound chosen from random from an effect pool on interval, and a message notifying players that the NPC is still waiting to be found.
Commands
All Require HideAndSeek.Admin
Cheat - Teleports the user to the NPCS Pos. SeekBag - Gives the user a Mystery Bag useful for testing the loot table. TopSeekers - Announces Top Seekers to chat. WipeHideAndSeekStats - Wipes all Hide And Seek Data. Config
{ "Wipe Top Seekers On Wipe?": false, "Log Top Seekers to Discord?": false, "How Often To Announce Top in Minutes": 180, "Announce Still Hiding Message?": false, "How Often To Announce Still Hiding in Minutes": 30, "Send a Sound Effect at NPC Position?": true, "How Often To Send An Effect in Minutes": 1, "Effect Pool": [ "assets/bundled/prefabs/fx/player/howl.prefab", "assets/prefabs/clothes/diving.tank/effects/scuba_inhale.prefab" ], "Respawn NPC After Find?": true, "Respawn Delay in Minutes": 1, "Discord Webhook": "", "Loot Bag Name": "Mystery Bag", "Loot Bag SkinID": 3603950776, "How many bags to give the Seeker": 1, "Min Item Selections": 1, "Max Item Selections": 2, "OpenEffect": "assets/bundled/prefabs/fx/item_unlock.prefab", "Loot Table": [ { "Item ShortName": "supply.signal", "Item Custom Name": "Hide And Seek Signal", "Item SkinSkinID": 0, "Min Amount": 1, "Max Amount": 3, "Pull Probability": 50 }, { "Item ShortName": "rifle.ak", "Item Custom Name": "Hide And Seek AK", "Item SkinSkinID": 0, "Min Amount": 1, "Max Amount": 1, "Pull Probability": 50 } ], "NPC Clothing Options": [ { "Shortname": "hat.boonie", "Skin": 3603597669 }, { "Shortname": "tshirt", "Skin": 3603594060 }, { "Shortname": "pants", "Skin": 3603595648 }, { "Shortname": "jacket", "Skin": 3603594891 }, { "Shortname": "shoes.boots", "Skin": 3603596326 } ] } Lang
{ "StillHiding": "The <color=yellow>Hidden NPC</color> is still somewhere out there...", "FoundNPCBroadcast": "[<color=yellow>HIDDEN NPC</color>] <color=#ffe135>{0}</color> found the Hidden NPC!", "CheatMessage": "You cheater :/", "TopBanner": "<color=#ff8000>Top Hide & Seek Players</color>", "RankEntry": "\n<color=#ffe135>Rank <color=#b8ff35>{0}</color> - <color=#ffe135>{1}</color> - <color=#ffe135>Finds: <color=#b8ff35>{2}</color></color></color>" }
-
The Dealer
Introduce a new way for players to earn Economics or SR Points selling illicit goods when you let your players become The Dealer.
RELIES ON - Economics, ServerRewards, ImageLibrary
OPTIONAL PLUGINS - Kits, MarkerManager
The plugin autodetects any FP monument on your map, even the mini ones, and randomly finds a pos for the NPC to wait.
Players use a Burner Phone (configurable), To call up a buyer to sell your configured items.
When a Buyer is called, (MarkerManager if installed) will show a point on the map as well as a $ ping on Compass.
You can set Min Max Bonus, and it will randomly discount or increase the amount the player earns.
Sales can be logged to Discord.
Majority of Messages are sent via Toast.
If a player doesn't make it in time, the Buyer sends the player a message via Toast.
If a player makes some sales, the Buyer thanks the player via Toast.
Buyers are Locked to the caller, and will deny via message other players, that they are waiting for the original caller.
Outfit your Buyer as you Like.
If you have Law Enforcement on your server, They can be notified as well randomly based on your config settings.
BURNER PHONE
WHEN ADDING THE BURNER PHONE TO YOUR LOOT TABLE, MAKE SURE THE SKIN MATCHES, THE ITEM WORKS WELL WITH A SMALL HALLOWEEN LOOT BAG AS ITS SHORTNAME.
Using a Burner Requires the Use Permission.
IN DEMAND ITEM SYSTEM
This is an optional section that provides strategy and can make lower value items, higher with a random chance.
On load the plugin will roll this plugin and the drugs plugin if the integration is enabled.
When an item is in demand, the min max random variation modifier is ignored and this percentage booster kicks in.
This can use a float value if using Economics or Server Rewards, or use ints when using custom currency, ex. 1,2,3,4,5 as you cannot give fractional items.
REPUTATION SYSTEM
The Reputation System Grants a boost to Base Sale Price via %, Be aware of your Variations if using this.
On Reputation Level Up, This will log to discord, and also send a toast to the player.
Upon Reputation Level Up, Amount Sold Difference will carry over to the next levels progress.
Level Calculation is handled with the amount of items that were sold to the buyer after they leave the Island.
0.01 = 1% Boost
COMMANDS
/WHERE - TELLS THE PLAYER WHERE THE BUYER IS HEADED TO, OR TO USE A BURNER PHONE IF THERE IS NO PAIRED BUYER
/GIVEBURNER - ADMIN COMMAND - DEPOSITS BURNER PHONES TO YOUR INVENTORY FOR TESTING
/GIVEDEALERLOOT - ADMIN COMMAND - DEPOSITS MARKETABLE ITEMS TO YOUR INVENTORY FOR TESTING
/CHECKREP- SHOWS THE PLAYERS CURRENT REP AND BOOST
/TOPDEALERS - SHOWS THE CURRENT STANDINGS
/INDEMAND - SHOWS WHAT ITEMS ARE IN DEMAND TO EXECUTOR
CONSOLE COMMAND
WIPEREP - Will Wipe all Reputation Data - Requires Admin.
Demonstration Video
CONFIG
{ "In Demand Item Setup": { "Max In Demand Items": 5, "Min In Demand Multiplier (USE INTS FOR CUSTOM CURRENCY ITEMS 1,2,3 ETC.)": 0.1, "Max In Demand Multiplier (USE INTS FOR CUSTOM CURRENCY ITEMS 1,2,3 ETC.)": 0.5, "In Demand Item Cycle Time In Minutes": 120 }, "Enable Reputation Levels?": false, "Wipe Reputation Levels On Wipe?": false, "Wipe Sale Data Leaderboard On Wipe?": false, "Announce Top Ranks To Discord?": false, "Announce Top Ranks To Chat?": false, "Enable Kingpin Overtakes?": false, "Minimum Amount of Items Traded to Be earn Kingpin?": 10000, "Kingpin Group Name?": "Kingpin", "Announcement Interval In Seconds? 0 = Disabled": 0, "Discord Webhook URL For Top Ranks": "INSERT_WEBHOOK_URL", "Reputation Levels 0.01 = 1% Boost To Sales (Increases Base Sale Price, Keep in Mind Variation Settings)": { "1": { "Items To Be Sold To Advance Current Rep Level": 200, "Bonus Percentage For This Rep Level": 0.01 }, "2": { "Items To Be Sold To Advance Current Rep Level": 300, "Bonus Percentage For This Rep Level": 0.02 }, "3": { "Items To Be Sold To Advance Current Rep Level": 400, "Bonus Percentage For This Rep Level": 0.03 }, "4": { "Items To Be Sold To Advance Current Rep Level": 500, "Bonus Percentage For This Rep Level": 0.04 }, "5": { "Items To Be Sold To Advance Current Rep Level": 550, "Bonus Percentage For This Rep Level": 0.05 }, "6": { "Items To Be Sold To Advance Current Rep Level": 600, "Bonus Percentage For This Rep Level": 0.06 }, "7": { "Items To Be Sold To Advance Current Rep Level": 750, "Bonus Percentage For This Rep Level": 0.07 }, "8": { "Items To Be Sold To Advance Current Rep Level": 800, "Bonus Percentage For This Rep Level": 0.08 }, "9": { "Items To Be Sold To Advance Current Rep Level": 950, "Bonus Percentage For This Rep Level": 0.09 }, "10": { "Items To Be Sold To Advance Current Rep Level": 1000, "Bonus Percentage For This Rep Level": 0.1 } }, "Log Burner Phone uses to Discord?": false, "Prefab path of the Container to spawn a Burner Phone in": "assets/bundled/prefabs/radtown/crate_normal.prefab", "Min amount of Burners to spawn": 1, "Max amount of Burners to spawn": 2, "Chance to spawn a Burner Phone in a container (0 = 0%, 100 = 100%)": 20, "Burner Skin": 3273293561, "Chance To Notify Police?": 80, "Mini Toast Image": "https://www.dropbox.com/scl/fi/hjfifjdd5esv01i5xxylf/miniGlow.png?rlkey=iz8gher6qynaro9oj3r8niamp&st=ei6x54qf&dl=1", "How long before Dealer Despawns in Seconds": 60, "Use Permission Name": "TheDealer.Use", "Discord Webhook URL": "INSERT_WEBHOOK_URL", "Chat Icon": 0, "NPC Kit Enabled?": false, "NPC Kit Name?": "", "Map Markers Enabled via Marker Manager Plugin?": false, "Maximum Amount of Items Sold at a Time": 3, "NPC Interaction Cooldown In Seconds": 3, "Economy Plugin - 1 Economics - 2 Server Rewards": 1, "Enable Custom Currency? (OVERRIDES ECONOMY PLUGIN)": false, "Custom Currency": { "Shortname": "paper", "Skin": 3347697156, "Custom Name": "Dirty Cash" }, "Tradeable Items": [ { "Item ShortName": "blood", "Item CustomName": "", "Skin ID": 0, "Is Marketable?": true, "Dealer Score (Leaderboard)": 1, "Sale Price?": 40, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -10, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 5 }, { "Item ShortName": "sticks", "Item CustomName": "", "Skin ID": 0, "Is Marketable?": true, "Dealer Score (Leaderboard)": 1, "Sale Price?": 100, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -10, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 5 }, { "Item ShortName": "glue", "Item CustomName": "", "Skin ID": 0, "Is Marketable?": true, "Dealer Score (Leaderboard)": 1, "Sale Price?": 250, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -10, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 5 }, { "Item ShortName": "bleach", "Item CustomName": "", "Skin ID": 0, "Is Marketable?": true, "Dealer Score (Leaderboard)": 1, "Sale Price?": 20, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -10, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 5 } ], "NPC Clothing Options": [ { "Shortname": "pants", "Skin": 838673197 }, { "Shortname": "hoodie", "Skin": 792923214 }, { "Shortname": "shoes.boots", "Skin": 2956831315 }, { "Shortname": "hat.cap", "Skin": 1492905789 } ] }
LANG
{ "NoPerms": "[<color=#ef6500>The Dealer</color>] We shouldn't even be Talking...", "NoWares": "[<color=#ef6500>The Dealer</color>] :mask: You have no <color=green>Items</color> on you worth Buying. \nDid you Call me up for nothing?!", "TraderCooldownMessage": "[<color=#ef6500>The Dealer</color>] :mask: Hold up, <color=green>{0}</color> second(s), I think you were tailed here...", "EconomicsMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n I can give you <color=#85bb65>$</color><color=yellow>{0}</color> for your <color=orange>{1}x</color> <color=green>{2}</color>(s).", "SrMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n I can give you <color=orange>{0}</color> <color=#cd5c5c>RP</color> for your <color=yellow>{1}x</color> <color=green>{2}</color>(s).", "CustomCurrencyMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n I can give you <color=orange>{0}</color> <color=#cd5c5c>{1}</color> for your <color=yellow>{2}x</color> <color=green>{3}</color>(s).", "HydraMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n I can give you <color=orange>{0}</color> <color=#cd5c5c>BTC</color> for your <color=yellow>{1}x</color> <color=green>{2}</color>(s).", "DrugsCustomCurrencyMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n <color=green>Whoa!</color>, I can give you <color=orange>{0}</color> <color=#cd5c5c>{1}</color> for your <color=yellow>{2}x</color> <color=green>{3}</color>(s).", "DrugsEconomicsMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n <color=green>Whoa!</color>, I can give you <color=#85bb65>$</color><color=yellow>{0}</color> for your <color=orange>{1}x</color> <color=green>{2}</color>(s).", "DrugsSrMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n <color=green>Whoa!</color>, I can give you <color=orange>{0}</color> <color=#cd5c5c>RP</color> for your <color=yellow>{1}x</color> <color=green>{2}</color>(s).", "DrugsHydraMessage": "[<color=#ef6500>The Dealer</color>] :mask: \n\n <color=green>Whoa!</color>, I can give you <color=orange>{0}</color> <color=#cd5c5c>BTC</color> for your <color=yellow>{1}x</color> <color=green>{2}</color>(s).", "WhoAreYou": "[<color=#ef6500>The Dealer</color>] Hold up, You aren't <color=green>{0}</color>, Are you a <color=yellow>Cop</color>? \n :mask:", "InRoute": "[<color=#ef6500>The Dealer</color>] The <color=red>Buyer</color> is already on the way\n to <color=#ef6500>{0}</color> near <color=#ef6500>{1}</color>.", "NoRoute": "[<color=#ef6500>The Dealer</color>] Use a <color=red>Burner Phone</color>\n to meet up with a <color=red>Buyer</color>.", "MeetupMessage": "{0}, near {1}, be there.\nHave the work Packaged", "BusinessMessage": "{0}!\n Nice doing Business.", "WasteTimeMessage": "{0}!\nDon't waste my time!", "NotifyCops": "[<color=#ef6500>The Dealer</color>] An Anonymous Tip says a Deal is going down, The Marked Location can be found on your Map.", "RepUp": "Your Reputation has increased to <color=green>{0}</color>\nYou will now receive a bonus of <color=green>{1}</color> on Sales.", "RepCheck": "Your Rep is <color=green>{0}</color>\nThis gives a bonus of <color=green>{1}</color> on Sales.", "RepCheckMax": "Your Rep is now Max of <color=green>{0}</color>!\nThis gives a bonus of <color=green>{1}</color> on Sales.", "KingpinLost": "[<color=#ef6500>The Dealer</color>] Your <color=red>Kingpin Rank</color> has been <color=red>Lost</color>.", "KingpinGained": "[<color=#ef6500>The Dealer</color>] The new <color=red>Kingpin</color> is <color=green>{0}</color>.", "InDemand": "[<color=#ef6500>The Dealer</color>] <color=green>{0}</color> is in Demand Right Now!" }
ATTRIBUTION
https://www.vecteezy.com/free-videos/money-on-fire
