DeutscherRitterPlatz's Wishlist
-
Techtree
This plugin lets you create a customizable techtree. It's not designed to replace the default Rust techtree, but it does allow you to recreate it to 98%, unlocks plans and can be used to distribute rewards or unlock features in other plugins.
⚠️ If you use Oxide, Carbon Aliases if required ! Else ignore this.
Feature
TechTree customizable TechTree by Workbenchlevel Multiple rewards (ChatCommand / ConsoleCommand / Economics) Item custom support Unlock blueprints Reward if tree is all unlocked Adaptable size with scrolling No command to open Press the Use key R on the Workbench to open the Tech Tree
Permissions
techtree.use techtree.unlock.free techtree.unlock.instant
Information
Default data files are created on plugin load Helper Grid files are created on plugin load
General Settings
{ "Settings": { "Wipe Player Data at Wipe": true, "Time For Unlock Node": 1.0, "Selected Theme": "Default", "Use Permissions ?": false, "Use Economics ?": false, "Unlock Blueprint If Item ?": true, "Grid Settings": { "height": 20, "width": 30 }, "Level Of Zoom": 1.5 } }
Techtree Data
ID: ID of the node. Parent: Parent node required to unlock this node. Image URL or Item: Image used, via URL or in-game item (ID/Skin). Type: Type of Image (URL or Item). Value: Url (string) if URL or ItemID and SkinID if Item. Grid Position: Node position on the grid (x, y). Ingame Name: In-game name for this node. Short Description: Short description of the node. Additionnal Description: List of descriptions. Price: Cost to unlock this node. Curency: Resource needed to pay the price (ID/Skin). Rewards: List of rewards obtained after unlocking. Type: Type of reward (ChatCommand, ConsoleCommand or Economics). Value: Value or command associated with the reward (string).
"TechTree": [ { "ID": "A2", "Parent": "A1", "Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, "Grid Position": { "x": 1.0, "y": 8.0 }, "Player Info": { "Ingame Name": "Name A2", "Short Description": "A short description", "Additionnal Description": [ "<color=#32CD32><b>First info</b></color>", "<color=#FFD700>additionnal info</color>", "Warning: <color=#DC143C>a other additionnal info</color>" ] }, "Price": 300, "Curency": { "Item ID": -804769727, "Skin ID": 2816495176 }, "Rewards": [ { "Type": "ChatCommand", "Value": "say Congratulations on unlocking A2!" }, { "Type": "ConsoleCommand", "Value": "c.grant user playerID perm.use" }, { "Type": "Economics", "Value": "6500" } ] }, ], "Extra": { "Reward On All Node Unlocked": [ { "Type": "ChatCommand", "Value": "say Congratulations, you all unlocked!" }, { "Type": "Economics", "Value": "20000" } ] }
Image configuration exemple
With URL :
"Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, With ITEM :
"Image URL or Item": { "Type": "Item", "Value": { "Item ID": -1966748496, "Skin ID": 0 } },
Lang
{ "CLOSE": "CLOSE", "UNLOCKED": "UNLOCKED", "UNLOCK": "UNLOCK", "CANT AFFORD": "CAN'T AFFORD", "OPEN": "[R] OPEN", "NO PERM": "You don't have permission." }
Api
(bool) IsNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) // Return if node is unlocked (Dictionary<string, bool>) GetUnlockState(BasePlayer player, Workbench workbench) // Return unlock dictionary (nodeID/bool) for player in Workbench (void) SetUnlockState(BasePlayer player, Workbench workbench, string nodeID, bool unlocked) // Set the unlocked/locked state (true/false) for a Workbench node (void) ResetUnlockState(BasePlayer player, Workbench workbench) // Resets all unlocks state on a Workbench.
Hook
private void OnNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) { Puts($"Node {nodeID} as been unlocked on workbench {workbench.Workbenchlevel} by {player.UserIDString}"); }
Api and Hook exemple
using Oxide.Core.Plugins; using System; using System.Collections.Generic; using UnityEngine; namespace Carbon.Plugins { [Info("TechTreeApi", "Gd.kenni", "1.0.0")] public class TechTreeApi : CarbonPlugin { [PluginReference] Plugin TechTree; private void OnNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) { Puts($"Node {nodeID} as been unlocked on workbench {workbench.Workbenchlevel} by {player.UserIDString}"); } [ConsoleCommand("IsNodeUnlocked")] private void IsNodeUnlockedCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); try { var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; var statu = TechTree?.Call<bool>("IsNodeUnlocked", player, bench, "Longsleeve T-Shirt"); Puts($"{statu}"); } catch (Exception ex) { PrintError($"Error on command: {ex.Message}"); } } [ConsoleCommand("GetPlayerUnlockState")] private void GetPlayerUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; var playerStatus = TechTree?.Call<Dictionary<string, bool>>("GetPlayerUnlockState", player, bench); foreach (var kv in playerStatus) Puts($"{kv.Key} {kv.Value}"); } [ConsoleCommand("SetNodeUnlockState")] private void SetNodeUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; TechTree?.Call("SetNodeUnlockState", player, bench, "Tank Top", true); } [ConsoleCommand("ResetUnlockState")] private void ResetUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; TechTree?.Call("ResetUnlockState", player, bench); } } }
-
Fish Weight Contest
The Fish Weight Contest plugin is designed to enhance your gaming experience by adding an exciting and competitive fishing event to your server. With a variety of customizable features, this plugin allows you to create engaging tournaments that keep players hooked!
Features:
1. Customizable Units:
- Choose between kilograms and pounds for measuring fish weight, catering to your server's preferred measurement system.
2. Tournament Duration:
- Set the duration of each tournament. Once a tournament ends, a new one will automatically begin, ensuring continuous fun and competition.
3. Rewards System:
- Award RP Points to the overall winner of the tournament.
- Grant additional RP Points to the angler who catches the **largest fish**, adding an extra layer of competition.
4. Discord Notifications:
- Keep your community informed with Discord notifications. Players will receive updates about tournament start times, winners, and other important events.
5. Unique Fishing Methods:
- Spice up the fishing experience by allowing players to catch fish using spear throwing or bow shooting. This adds a unique twist to traditional fishing mechanics.
Commands:
/fishcontest - will show you top 5 fishermen and how much time left
Discord message example
Example of plugin config
My Discord Profile
-
XWipeCalendar
XWipeCalendar - beautiful calendar for your server.
- Optimization of the interface for different monitor resolutions.
- There is a lang ru/en/uk/es.
- Automatic calendar generation.
- Display for one day several events.
- Possibility to create N events.
- Possibility to set the calendar for the whole year.
- Ability to view customized months.
Permissions
xwipecalendar.use - permission to view the calendar. Commands
/wipe, /calendar - open calendar. Config
{ "General settings": { "Close the calendar by tapping anywhere on the screen": false, "Timezone - UTC+0:00": 0, "Use local computer/hosting time. [ Requests to an external time service and time zone will be disabled ]": true }, "Settings GUI": { "Background color_1": "0.517 0.521 0.509 0.95", "Background color_2": "0.217 0.221 0.209 0.95", "The color of the numbers of the current month": "1 1 1 0.75", "The color of the numbers of the next month": "1 1 1 0.1", "Block color": "0.417 0.421 0.409 0.95" }, "List of events. Description of events - oxide/lang/(ru/en/uk/es)": { "1": [ ... ], "2": [ ... ] }, "Time": "2024-00-00T00:00:00.00" } -
Item Insurance
Allow players can insure lost items to be retrieved for a price. This is a feature that is present in many extraction and survival multiplayer games like Escape from Tarkov, Dark and Darker and now you can bring it to your Rust server as well! If an item is insured and you drop it (from death or otherwise) then as long as no one else loots it - you can request to have it "retrieved" by your insurer and returned to you. A UI that matches seamlessly with vanilla rust is included and many configuration options are available to balance and fine-tune this plugin for your server. Please refer to the documentation section as that will likely answer most of your questions!
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!
-
Food Editor
By tacman1981 in Plugins
This plugin is simple, the config file self populates with all food items, and includes a range of metabolism effects that players can gain. When the config first creates, it includes default values for every food type. does not include liquids yet.
The config allows various changes to the metabolism effects related to food. Includes random chance for bad effect when eating pickles. It also includes a no cooldown on eat, if set to true in config, for everyone.
Below is what the config looks like on initial load, any changes made will require a reload of the plugin to take effect when eating the food type. Set to negative to reduce the effect instead of increase.
Config:
{ "Toggle for food spoiling (this toggles ConVar server.foodspoiling)": false, "Eating cooldown": 1.0, "Remove eating cooldown (players can spam eat the following food with this setting)": true, "Food Items and their metabolism effects": { "apple": { "calories": 30.0, "hydration": 15.0, "health": 2.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "apple.spoiled": { "calories": 15.0, "hydration": 2.0, "health": 2.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "black.raspberries": { "calories": 25.0, "hydration": 12.0, "health": 10.0, "poison": -5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "blueberries": { "calories": 50.0, "hydration": 25.0, "health": 5.0, "poison": -5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "grub": { "calories": 3.0, "hydration": -15.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "worm": { "calories": 1.0, "hydration": -10.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "cactusflesh": { "calories": 5.0, "hydration": 20.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 3.0 }, "can.beans": { "calories": 100.0, "hydration": 25.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 4.0 }, "can.tuna": { "calories": 50.0, "hydration": 15.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "chocolate": { "calories": 100.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "fish.cooked": { "calories": 60.0, "hydration": 15.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "fish.raw": { "calories": 5.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "fish.minnows": { "calories": 10.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 1.0 }, "granolabar": { "calories": 60.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "chicken.burned": { "calories": 10.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "chicken.cooked": { "calories": 40.0, "hydration": 3.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 10.0 }, "chicken.raw": { "calories": 20.0, "hydration": 0.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "chicken.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "deermeat.burned": { "calories": 10.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "deermeat.cooked": { "calories": 40.0, "hydration": 3.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 10.0 }, "deermeat.raw": { "calories": 20.0, "hydration": 0.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "horsemeat.burned": { "calories": 10.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "horsemeat.cooked": { "calories": 45.0, "hydration": 3.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 8.0 }, "horsemeat.raw": { "calories": 20.0, "hydration": 0.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "humanmeat.burned": { "calories": 6.0, "hydration": -30.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "humanmeat.cooked": { "calories": 30.0, "hydration": -30.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "humanmeat.raw": { "calories": 5.0, "hydration": -3.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "humanmeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "bearmeat.burned": { "calories": 25.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 1.0 }, "bearmeat.cooked": { "calories": 100.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "bearmeat": { "calories": 10.0, "hydration": 3.0, "health": 0.0, "poison": 5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "wolfmeat.burned": { "calories": 15.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 1.0 }, "wolfmeat.cooked": { "calories": 60.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "wolfmeat.raw": { "calories": 20.0, "hydration": 0.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "wolfmeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "meat.pork.burned": { "calories": 15.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 1.0 }, "meat.pork.cooked": { "calories": 60.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "meat.boar": { "calories": 60.0, "hydration": 0.0, "health": 0.0, "poison": 5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "mushroom": { "calories": 15.0, "hydration": 5.0, "health": 3.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "jar.pickle": { "calories": 50.0, "hydration": 20.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "halloween.candy": { "calories": 25.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 1.0 }, "candycaneclub": { "calories": 300.0, "hydration": 100.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 16.0 }, "black.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "blue.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "green.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "red.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "white.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "yellow.berry": { "calories": 5.0, "hydration": 2.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "corn": { "calories": 75.0, "hydration": 10.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 6.0 }, "potato": { "calories": 125.0, "hydration": 5.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 6.0 }, "pumpkin": { "calories": 100.0, "hydration": 30.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 10.0 }, "cakefiveyear": { "calories": 100.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 10.0 }, "bread.loaf": { "calories": 150.0, "hydration": 10.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 8.0 }, "egg": { "calories": 40.0, "hydration": 15.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 2.0 }, "honey": { "calories": 50.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": -15.0, "pending_health": 3.0 }, "bearmeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "bigcatmeat.cooked": { "calories": 120.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 7.0 }, "bigcatmeat": { "calories": 10.0, "hydration": 3.0, "health": 0.0, "poison": 5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "bigcatmeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "crocodilemeat.cooked": { "calories": 100.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "crocodilemeat": { "calories": 10.0, "hydration": 3.0, "health": 0.0, "poison": 5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "crocodilemeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "deermeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "fish.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "horsemeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "porkmeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "snakemeat.cooked": { "calories": 100.0, "hydration": 1.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 5.0 }, "snakemeat": { "calories": 10.0, "hydration": 3.0, "health": 0.0, "poison": 5.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "snakemeat.spoiled": { "calories": 10.0, "hydration": 2.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "spoiled.produce": { "calories": -50.0, "hydration": -50.0, "health": 0.0, "poison": 10.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 }, "wheat": { "calories": 75.0, "hydration": 10.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 6.0 }, "honeycomb": { "calories": 5.0, "hydration": 0.0, "health": 0.0, "poison": 0.0, "bleeding": 0.0, "radiation_poison": 0.0, "pending_health": 0.0 } } }