GangstaPichu's Wishlist
-
War Mode PVP/PVE
Allows both PVE and PVP players to exist on a server at the same time. PVE players will have certain configurable protections and restrictions. You can have players use a command to flag themselves as PVP/PVE or you can assign it to them when they first spawn. If you have ZoneManager you can also designate specific zones to force player's to be PVE or PVP. Plugin is also compatible with SimpleStatus.
Note: Video is outdated, see documentation for a full list of new features!
Documentation:
A full readme including permissions, commands, and config options is available in this google doc link.
Disclaimer:
Like all of my plugins - this plugin is sold as is. I will be happy to take feature requests into consideration but make no guarantees about which ones get implemented. Please refer to the feature list before you make your purchase!
Developer API:
API Methods
// Returns the mode of the given entity. Also takes into account if the entity is in a forced mode zone. string GetEntityMode(BaseEntity entity); // Returns the group name for the given mode. For example if given 'pve' will return 'warmodepve' string GetModeGroup(string modeId); // Returns the target type for a given entity. Target types are the category that an entity falls into. // For example, if given a BasePlayer entity, it will return 'players'. If given a horse entity is will // return 'horses'. string GetEntityTargetType(BaseEntity entity); Hooks - place these in your plugin and WarMode will call them.
// Called when a player's mode has been updated or config changes have ocurred that may affect the mode. private void WarMode_PlayerModeUpdated(string userid, string modeId) // Used to override WarMode logic for taking damage. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityTakeDamage(BaseCombatEntity target, HitInfo info) // Used to override WarMode logic for targeting. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityBeTargeted(BasePlayer target, BaseEntity attacker, bool skipVendingCheck) // Used to override WarMode logic for triggering a trap. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityTrapTrigger(BaseTrap trap, BasePlayer basePlayer) // Used to override WarMode logic for looting an entity. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityLoot(BasePlayer looter, BaseEntity target, bool skipVendingCheck)
FREE Extension Plugins:
War Mode Admin Panel
Use the /warmode.config or /wmc command to open a panel that allows admins to update mode rules in game without having to reload the pluign. Requires the warmode.admin permission to use.
I HIGHLY recommend you use this extension!
WarModeAdminPanel.cs
War Mode Spawn UI
Provides a UI that is shown to players when they first spawn that prompts them to choose whether they want to be PVP or PVE. Also supports custom modes. Localization and config options available. This can also be configured to appear when players use the /flag command.
WarModeSpawnUI.cs
War Mode Rules UI
Using the /rules command (which is configurable) players can see a list of what restrictions they have for their current mode. These ruling will update dynamically based on your config settings.
WarModeRulesUI.cs
War Mode Badges
Customizable UI elements that will appear on the player's HUD to indicate what their current mode is.
WarModeBadges.cs
-
DropBags
By Whispers88 in Plugins
Drop Bags tracks items dropped into the rust world. When there are high-volume drops, they are combined into a single "drop bag.” This method enhances performance by streamlining the handling of item drops and reducing item physics.
Stop server stalls and freezing from item spam Works on craft spam, dropped item spam, gutted shark spam and horse dung! Light weight and easy to use Easy config
DropBags uses one light weight hook to track dropped items. Dependent on how many items are dropped in a given radius those items get placed into a drop bag. This stops mass item spam effecting your server performance.
{ "Area Size - How far away items can be moved into a container": 7, "Max drops before moving items to container": 36, "Time to wait before moving items": 5.0, "Vischeck - checks items are visable before moving to container": true, "Calculate despawntime from drop bag items": true, "Reset dropbag despawn time on loot": false, "Override drop bag despawn time (seconds), 0 = false": 0.0 }
- #dropbags
- #drop bags
- (and 26 more)
-
Movement Speed
By imthenewguy in Plugins
Movement speed is a plugin that allows servers to create permission based speed increases for running and swimming.
Server owners can create as many custom permission levels as they desire, and permissions are split between swimming and running, allowing for a lot of flexibility.
The plugin allows for multiple speed boost permissions to be applied, and will select the highest speed modifier where applicable.
This plugin will work great with:
Skill Tree: This plugin can be used to create a new permission based skill inside of the Skill Tree, and supports leveling up. Cooking: A new recipe can be created that will give the player a temporary skill buff when consumed. Epic Loot: Add the speed value as part of a set bonus to provide players with faster swimming or running when wearing a set of equipment.
Permission:
movementspeed.admin - allows user of commands.
Commands
msdisablerun <steam id> - forces the players run speed to be disabled. msdisableswim <steam id> - forces the players swim speed to be disabled. msenablerun <steam id> - re-enables the run speed. msenableswim <steam id> - re-enables the swim speed. togglerun - Turns run speed on/off for the command user. toggleswim - Turns swim speed on/off for the command user.
Config integration examples
Cooking
"energy drink": { "enabled": true, "shortname": "fish.cooked", "skin": 3348991998, "description": "Pretty sure I can hear colors and taste time right now... anyone else vibrating?", "duration": 120, "buffs": { "Permission": 1.0 }, "Commands to run when the player consumes the food [key = command, value = description]": { "o.grant user {id} MovementSpeed.run.5": "Increases your movement speed by 100%." }, "Commands to run when the food buff expires": [ "o.revoke user {id} MovementSpeed.run.5" ], "persistThroughDeath": false, "cookTime": 15.0, "useCooldown": 0.0, "permissionToCook": null, "dropWeight": 100, "allowDefaultEffects": false, "Effect settings": { "Effect to run when the player consumes the meal": "assets/prefabs/clothes/halloween.scarecrow/effects/soul_release_effect.prefab", "Should the effect run server side?": true, "Max distance heard [0 = no limit]": 20.0 }, "Ingredients for meal": { "sugar": 5, "pineapple": 1, "red berry": 2, "blue berry": 2 } },
Skill Tree - Swim speed
"Olympic Swimmer": { "Permission required to show this node": null, "Minimum prestige required to unlock this node": 0, "Skill required to unlock node [Requires max level]": null, "Skill that if unlocked, will prevent this node from unlocking": null, "enabled": true, "max_level": 5, "tier": 3, "value_per_buff": 1.0, "buff_info": { "Key": "Permission", "Value": "Permission" }, "icon_url": "https://www.dropbox.com/s/6blc3eiarm07rku/cooking%20tree%20example.v1.png?dl=1", "skin": 3349007497, "permissions": { "description": "This node provides you with <color=#42f105>20%</color> faster swim speed per level.", "perms": { "1": { "perms_list": { "MovementSpeed.swim.2": "Swim speed - <color=#61e500>+20%</color>" } }, "2": { "perms_list": { "MovementSpeed.swim.3": "Swim speed - <color=#61e500>+40%</color>" } }, "3": { "perms_list": { "MovementSpeed.swim.4": "Swim speed - <color=#61e500>+60%</color>" } }, "4": { "perms_list": { "MovementSpeed.swim.5": "Swim speed - <color=#61e500>+80%</color>" } }, "5": { "perms_list": { "MovementSpeed.swim.6": "Swim speed - <color=#61e500>+100%</color>" } } } } },
Skill Tree - Run Speed
"Athletic": { "Permission required to show this node": null, "Minimum prestige required to unlock this node": 0, "Skill required to unlock node [Requires max level]": null, "Skill that if unlocked, will prevent this node from unlocking": null, "enabled": true, "max_level": 4, "tier": 2, "value_per_buff": 1.0, "buff_info": { "Key": "Permission", "Value": "Permission" }, "icon_url": "https://www.dropbox.com/s/6blc3eiarm07rku/cooking%20tree%20example.v1.png?dl=1", "skin": 3349007405, "permissions": { "description": "This node provides you with <color=#42f105>20%</color> faster run speed per level.", "perms": { "1": { "perms_list": { "MovementSpeed.run.2": "Run speed - <color=#61e500>+20%</color>" } }, "2": { "perms_list": { "MovementSpeed.run.3": "Run speed - <color=#61e500>+40%</color>" } }, "3": { "perms_list": { "MovementSpeed.run.4": "Run speed - <color=#61e500>+60%</color>" } }, "4": { "perms_list": { "MovementSpeed.run.5": "Run speed - <color=#61e500>+80%</color>" } } } } },
API
AddRunSpeedBoost(BasePlayer player, string plugin, float modifier, float duration, bool forceOverwrite) AddSwimSpeedBoost(BasePlayer player, string plugin, float modifier, float duration, bool forceOverwrite) RemoveRunSpeed(BasePlayer player, string plugin) RemoveSwimSpeed(BasePlayer player, string plugin)
-
Better Tin Can Alarm
This plugin will add 5 new types of traps to your server based on Tin Can Alarm. Make the players be careful about the clinking sticks with cans. There are also some parameters in the config that you can adjust, and most importantly, you can set the rules for whom the trap should work and who should not.
Trap Types
Tin Can Alarm Boom - This trap is complemented by a regular grenade, which falls at the moment when the player passes through it. Tin Can Alarm Flame - This trap is complemented by the usual Molotov cocktail, which falls at the moment when the player passes through it. Tin Can Alarm Tesla - This trap is based on a Tesla coil that shocks players. Tin Can Alarm Electrical - This trap is based on a flasher that can sell N amounts of energy to other electrical appliances that the player will connect Tin Can Alarm Broadcaster - this trap will send a signal to the pager or Rf Receiver when someone passes through it.
Video
Console Command (RCON only)
givetincan <type trap> {amount} {SteamID64} - give a custom trap to a given player.
Example: givetincan Boom 1 76561198334533025
Types:
Boom (SkinID: 3299661003)
Flame (SkinID: 3299661403)
Tesla (SkinID: 3299661633)
Electrical (SkinID: 3299661847)
Broadcaster (SkinID: 3299662188)
Plugin Config
config
Check out more of my work here JTedal's library.
Come see our whole teams work Mad Mapper Library.
Come by the Mad Mapper Discord for support, feedback, or suggestions!
- #jtedal
- #mad mappers
-
(and 10 more)
Tagged with:
-
Bounty Hunter
Unlock a new lane of economic gameplay in Rust with the Bounty Hunter plugin: purchase a license, hunt NPC scientists, cash out rewards, and profit, with full customization and Discord integration.
The Bounties are not Players, They are Scientists That you set up in config & Spawn in Randomly At FP Monuments.
Works with Kits. Requires Economics or Server Rewards to handle cashout. With "Bounty Hunter” you open a new lane of Economic gameplay for your server. Set a License fee in order to be able to "Legally" Cashout Bounty Tokens (License is optional) to sell for monetary gain. Outfit your Bounties, You are able to set whatever outfit or clothing you like, as well as skin, weapon and skin id for that Bounty Tier. Once the bounty is taken down players can cashout tokens with Economics or Server Rewards. Spawn in the Bounty Hunter NPC, With Marker Manager Enabled, the cashout location will be displayed on the map. Output all Sales to Discord to track your Economy and make Adjustments as needed to The Bounty Hunter NPCS "Bonus Buy” & "Discount Buy” as needed to suit your taste.
Commands
*OPTIONS HAVE BEEN ADDED TO SPAWN THE NPC DYNAMICALLY ACROSS MAPS AT BANDIT CAMP, THIS WILL OVVERIDE THE COMMAND SPAWNED NPC
/spawnbountyhunter – Requires Admin Permission – Will spawn a Bounty Hunter NPC in your Position.
/removebountyhunter – Requires Admin Permission – Will remove the Bounty Hunter NPC you are looking at.
/BuyBL – With Sufficient funds, the player can purchase a Bounty Hunter License (Configurable to be disabled and bypassed)
/ab - Will Setup a custom spawn point in data for bounties to spawn at
BuyBL is configurable, target your players id and sell them the license via shop.
Usage "BuyBL playerid
Quick Demo
HOOKS
OnBountyActive
OnBountyInactive
Config
{ "Discord Webhook URL": "INSERT_WEBHOOK_URL", "Enable Skill Tree Xp Gain?": false, "Require License for Xp Gain?": true, "Enable Monument Spawns?": true, "Enable Custom Spawns?": false, "Clear Custom Spawns File On Wipe?": false, "Chat Icon": 0, "Maximum Active Bounties": 3, "Drop Bounty Tokens In Pouch?": true, "Base Item for the Bounty Tokens?": "blood", "Tokens Marketable to the Bounty NPC?": true, "Console Command to Purchase a Bounty License? (For GUI Shops)": "buybl", "Require a Bounty License To Cash In Tokens to the Bounty NPC?": true, "Price to Purchase a Bounty License?": 10000, "Lose Bounty License on Death?": true, "Clear Licenses on Wipe?": false, "Dynamic (Bandit Camp) Spawn Of The NPC Enabled?": true, "Economy Plugin - 1 Economics - 2 Server Rewards": 1, "Maximum Amount of Like Tokens Sold at a Time": 3, "NPC Interaction Cooldown In Seconds": 3, "NPC Kit Enabled?": false, "NPC Kit Name?": "", "Amount of Time In Seconds Between Bounty Spawns": 600, "Amount of Time In Seconds for a Bounty to Despawn": 1200, "Enable Spawn SFX?": true, "Enable Despawn SFX?": true, "Announce to Chat When Bounty is Active?": true, "Announce to Chat When Bounty is Claimed?": true, "Enable Marker Manager from UMOD, To Mark Bounties?": true, "Bounty Tiers": [ { "Tier Name": "Tier 1 Bounty Target", "Skill Tree Xp Value": 100, "Bounty Clothing Options": [ { "Shortname": "hazmatsuittwitch", "Skin": 0 } ], "Bounty Total Health": 150, "Bounty Damage Scaling": 1, "Aim Cone Scale": 2, "Weapon to Equip?": "rifle.ak", "Weapon Skin ID": 3140321604, "Bounty Token Name": "Tier 1 Bounty Token", "Bounty Token Skin": 3155517347, "Is the Token Marketable to the Bounty NPC?": true, "Sale Price?": 1000, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -10, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 5, "Bounty Optional Drops": [ { "Shortname": "stones", "Skin": 0, "Custom Name": "", "Amount Min": 3, "Amount Max": 10, "Chance to Drop": 20 }, { "Shortname": "scrap", "Skin": 0, "Custom Name": "", "Amount Min": 5, "Amount Max": 30, "Chance to Drop": 30 }, { "Shortname": "paper", "Skin": 3048132587, "Custom Name": "Cash", "Amount Min": 1, "Amount Max": 3, "Chance to Drop": 40 } ] }, { "Tier Name": "Tier 2 Bounty Target", "Skill Tree Xp Value": 200, "Bounty Clothing Options": [ { "Shortname": "hazmatsuit.arcticsuit", "Skin": 0 } ], "Bounty Total Health": 225, "Bounty Damage Scaling": 1.5, "Aim Cone Scale": 2.5, "Weapon to Equip?": "rifle.lr300", "Weapon Skin ID": 2715918380, "Bounty Token Name": "Tier 2 Bounty Token", "Bounty Token Skin": 3155517539, "Is the Token Marketable to the Bounty NPC?": true, "Sale Price?": 2000, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -5, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 15, "Bounty Optional Drops": [ { "Shortname": "metal.fragments", "Skin": 0, "Custom Name": "", "Amount Min": 200, "Amount Max": 500, "Chance to Drop": 30 }, { "Shortname": "scrap", "Skin": 0, "Custom Name": "", "Amount Min": 240, "Amount Max": 300, "Chance to Drop": 30 }, { "Shortname": "paper", "Skin": 3048132587, "Custom Name": "Cash", "Amount Min": 10, "Amount Max": 15, "Chance to Drop": 40 } ] }, { "Tier Name": "Tier 3 Bounty Target", "Skill Tree Xp Value": 300, "Bounty Clothing Options": [ { "Shortname": "scientistsuit_heavy", "Skin": 0 } ], "Bounty Total Health": 325, "Bounty Damage Scaling": 2, "Aim Cone Scale": 3, "Weapon to Equip?": "rifle.ak.ice", "Weapon Skin ID": 0, "Bounty Token Name": "Tier 3 Bounty Token", "Bounty Token Skin": 3155517732, "Is the Token Marketable to the Bounty NPC?": true, "Sale Price?": 3200, "Max Discount Buy Variation in %? (Negative Values) (To Simulate Supply & Demand)": -3, "Maximum Bonus Variation in %? (Positive Values) (To Simulate Supply & Demand)": 20, "Bounty Optional Drops": [ { "Shortname": "metal.refined", "Skin": 0, "Custom Name": "", "Amount Min": 200, "Amount Max": 500, "Chance to Drop": 30 }, { "Shortname": "scrap", "Skin": 0, "Custom Name": "", "Amount Min": 440, "Amount Max": 600, "Chance to Drop": 30 }, { "Shortname": "paper", "Skin": 3048132587, "Custom Name": "Cash", "Amount Min": 20, "Amount Max": 35, "Chance to Drop": 40 } ] } ], "NPC Clothing Options": [ { "Shortname": "burlap.trousers", "Skin": 1760352876 }, { "Shortname": "burlap.shirt", "Skin": 1760350097 }, { "Shortname": "shoes.boots", "Skin": 547978997 }, { "Shortname": "hat.boonie", "Skin": 3077061771 }, { "Shortname": "burlap.gloves", "Skin": 1338273501 } ] }
LANG
{ "NoPerms": "[<color=#b5a642>Bounty Hunter</color>] You do not have permission to run this <color=#b54251>Command</color>!", "NoTokens": "[<color=#b5a642>Bounty Hunter</color>] :coffeecan: You have no <color=#b5a642>Bounty Tokens</color> on you that I can cash out. \nBe on the look out, see you soon!\n\n:exclamation:", "BountyHunterCooldownMessage": "[<color=#b5a642>Bounty Hunter</color>] :angry: Wait <color=#a642b5>{0}</color> second(s)!, I think I spotted a [<color=#b5a642>Bounty</color>...", "EconomicsMessage": "[<color=#b5a642>Bounty Hunter</color>] :eyes: \n\n I can net you <color=#85bb65>$</color><color=#42b5a6>{0}</color> for your <color=#42b5a6>{1}x</color> <color=#a642b5>{2}</color>(s).", "SrMessage": "[<color=#b5a642>Bounty Hunter</color>] :eyes: \n\n I can net you <color=#42b5a6>{0}</color> <color=#cd5c5c>RP</color> for your <color=#42b5a6>{1}x</color> <color=#a642b5>{2}</color>(s).", "SaleDisabled": "[<color=#b5a642>Bounty Hunter</color>] <color=#42b5a6>Sales</color> are Disabled in the Config, Enable and Try again.", "NoBountyHunterLicense": "[<color=#b5a642>Bounty Hunter</color>] :eyebrow: Are you out there targeting Bounties without a <color=#42b5a6>License</color>? \nUse <color=#42b5a6>/BuyBL</color> to purchase one.", "AlreadyHasLicense": "[<color=#b5a642>Bounty Hunter</color>] You already have a <color=#b54251>Bounty Hunter License</color>.", "BuyBountyHunterLicenseSuccess": "[<color=#b5a642>Bounty Hunter</color>] <color=#b54251>Bounty Hunter License</color> Obtained. \nYou were charged {0}<color=#3e9c35>{1}</color>, Stay Vigilant, <color=#8bb542>{2}</color>!", "InsufficientFunds": "[<color=#b5a642>Bounty Hunter</color>] You don't have enough funds to purchase a <color=#b5a642>Bounty Hunter License</color>. \nIt costs <color=#42b5a6>{0}</color><color=#a642b5>{1}</color>.", "Despawn": "[<color=#b5a642>Bounty Hunter</color>] The <color=#42b5a6>{0}</color> has <color=#b54251>Fled</color> the Island.", "BountySpotted": "[<color=#b5a642>Bounty Hunter</color>] A <color=#42b5a6>{0}</color> has been spotted.", "BountyEliminated": "[<color=#b5a642>Bounty Hunter</color>] The <color=#42b5a6>{0}</color> was <color=#b5a642>Eliminated</color> by <color=#8bb542>{1}</color>!", "BountyDrop": "[<color=#b5a642>Bounty Hunter</color>] The <color=#42b5a6>Bounty</color> dropped a pouch! Open it and deliver the <color=#42b5a6>Bounty Token</color> to the Bounty Hunter for your Reward!", "Revoked":"[<color=#b5a642>Bounty Hunter</color>] Your <color=#42b5a6>Bounty License</color> has been <color=#42b5a6>Revoked</color> be wary of Death next time!" }