Skill Tree

$29.99

Sold by: imthenewguy

This plugin adds a character progression system to your server in the form of leveling and skill tree system.

Players gain xp by cutting trees, mining rocks, killing NPCs etc, and are rewarded with skill points when they level up, which can be used to empower their characters!

These points can be used to unlock perks and buffs across a number of different skill trees.

Categories: , ,

Description

OOEU9yx.png

 

odiMsyN.png

 

This plugin adds a character progression system to your server in the form of a leveling and skill tree system.

Players gain xp by cutting trees, mining rocks, killing NPCs etc, and are rewarded with skill points when they level up.

These points can be used to unlock perks and buffs across a number of different skill trees.

The plugin is extremely customizable and server owners can change, move, scale or disable any perk to tailor the setup to their server.

It features:

  • 116 unique buff types across 130 skill nodes.
  • 13 unique skill trees.
  • 67+ sources of xp, along with custom xp settings for BotRespawn and NpcSpawn.
  • An extremely large amount of xp options to really tweak the plugin for your server.
  • A functional tree system that prevents unlocking/upgrading of nodes if the player has not invested enough skill points into a tree.
  • Fun & unique ultimate abilities across most trees.
  • Global yield settings for servers that want to run 2x/3x etc.
  • Ability to create custom skill trees and nodes using permissions from other plugins.
  • Considerable amount of options for persistent data through server wipes.

SkillTree allows users to focus on multiple skill trees and unlock nodes in each tree as they level, to make their characters more powerful and unique.

 

Plugins that work well with Skill Tree

  • RaidableBases – SkillTree integrates with RaidableBases by rewarding raiders with xp (either handled via SkillTree directly or via RaidableBases directly). The raiding tree can also exclusively work with RaidableBases if servers don’t allow raiding.
  • Economics & ServerRewards – integrated as a way to pay for the respec cost.
  • SurvivalArena – Rewards the winner of the event with xp.
  • Cooking – adds new skills to the Cooking tree as well as xp rewards when successfully cooking meals.
  • BotRespawn – Adds additional xp sources for each NPC profile.
  • NpcSpawn – Adds additional xp sources for each NPC profile.
  • UINotify – Shows notifications relevant to leveling etc.
  • ZombieHorde – Provides xp for killing zombies generated by this plugin.
  • LootDefender – Provides the ability for shared xp when killing BradleyAPC. Configured through LootDefender.
  • EpicLoot – Adds a skill to the scavenging tree
  • FishingHotspots – Allows for modified XP gain while fishing in a hotspot.
  • ZoneManager – Allows you to disable buffs while in a zone.

 

 

 

3GJGGpx.png

skilltree.chat 	- required to use the chat commands to access the skill tree menu.
skilltree.xp 	- required to obtain xp from xp sources.
skilltree.tree 	- required to access and use the skill tree.
skilltree.admin - required to use the admin commands.
skilltree.all - allows user access to all trees.
skilltree.Mining - allows the user to access the mining tree.
skilltree.Woodcutting - allows the user to access the woodcutting tree.
skilltree.Skinning - allows the user to access the skinning tree.
skilltree.Harvesting - allows the user to access the harvesting tree.
skilltree.Combat - allows the user to access the combat tree.
skilltree.Medical - allows the user to access the medical tree.
skilltree.Build_Craft - allows the user to access the build craft tree.
skilltree.Scavenging - allows the user to access the scavenging tree.
skilltree.Vehicles - allows the user to access the vehicles tree.
skilltree.Cooking - allows the user to access the cooking tree.
skilltree.bag.keepondeath - prevents the ExtraPockets bag from dropping on death.
skilltree.notitles - Removes the level title from the player (Requires BetterChat)
skilltree.noxploss - Prevents xp loss.
skilltree.roguelike - If enabled via the config, will be required to participate in the Roguelike system.
skilltree.teabonus - Ignores the config option preventing the yield increases from working with mining and woodcutting teas.
skilltree.noscoreboard - Prevents players with this permission from being added to the scoreboard.
skilltree.respec.bypass - removes the cost for respeccing
skilltree.togglebc - required to toggle BetterChat titles on/off

//Custom permission settings

"Modified max skill points based on permissions [must be higher than default]": {
    "vip": 120
},

"Cost per point to respec based on permissions [must be lower than default]": {
    "vip": 10.0
},

"Maximum amount of xp a player can lose when they die based on permissions [must be less than default]": {
    "vip": 500.0
},

"Permissions to adjust xp gain modifiers (skilltree.<perm>) [1.0 is default modifier]": {
    "vip": 1.2
},
    
The permission for "vip" would be skilltree.vip
Assigning this perm to players would override the default values for the respective settings (max skill points, respec cost, xp gain and xp loss).

 

BWj9ScD.png

Command: st
Description: Opens the skill tree menu. Requires skilltree.chat permissions.

Command: updatexptable
Description: Recalculates the xp table based on the config values. Requires 

Command: togglexpdrops
Description: Toggles the xp popup when obtaining xp.

Command: togglexphud
Description: Toggles the xp hud on the players screen.

Command: givexp
Parameters: <name> <amount> <optional: Ignore modifiers true/false>
Description: Gives the player matching the name parameter, xp equal to the amount parameter. Ignore modifiers will ignore all forms of xp boosts such as rested xp.

Command: givesp
Parameters: <name> <amount>
Description: Gives the player matching the name parameter, skill points equal to the amount parameter.

Command: resetdata
Parameters: <name>
Description: Resets the target players data.

Command: turbo
Description: Toggles the turbo on the boat if the player has the relevant perk.

Command: togglebc
Description: Toggles the BetterChat title on/off for the user.

Command: movebar
Description: brings up a ui that can be used to relocate the xp bar on the players screen.

Command: stresetalldata
Description: Resets all players data.

Command: sb or score or scoreboard
Description: Chat and console command that brings up the scoreboard, showing who has the most xp.

Command: sttogglenotifications
Description: Toggle notifications from buff triggers.

Command: stgiveitem
Parameters: <id> <shortname> <quantity> <skin ID> <optional: displayName>
Description: gives an item to the target ID that matches the parameters.

Console Command: strespecallplayers
Description: Resets skills for all online and offline players.

Console Command: strespecplayer 
Parameters: <target name/userID>
Description: Resets the target online/offline players skills.

Console Command: givexptoall
Parameters: <amount> <online only: true/false>
Description: Will give the amount of xp to all players. If online only is true, it will only give it to those that are online.

Console Command: givesptoall
Parameters: <amount> <online only: true/false>
Description: Will give the amount of skill points to all players. If online only is true, it will only give it to those that are online.


Console Command: stremoveplayerdata
Parameters: <userid>
Description: Will remove the player data file for the specified userid.

Console Command: sttogglebuffs
Parameters: <true/false>
Description: Disables/enableds buffs globally for all players.

 

lgYAffa.png

Experience can be gained from a number of different sources. The value for each source can be adjusted via the config.

NodeHit - Hitting a stone, metal or sulfur mining node.
NodeHitFinal - Finishing a stone, metal or sulfur mining node.
TreeHit - Hitting a tree.
TreeHitFinal - Knocking down a tree.
SkinHit - Hitting an animal with a skinning tool.
SkinHitFinal - Finishing off an animal with a skinning tool.
CollectWildPlant - Collecting any map generated collectible, such as hemp, corn, pumpkin, stone, sulfur or metal.
CollectGrownPlant - Collecting any player grown produce.
BuildingBlockDeployed - Placing down a twig building block.
FishCaught - Catching a fish.
Crafting - Whenever a craft is successfully completed. XP is calculated based on the duration of the craft.
ScientistNormal - Killing a blue scientist.
ScientistHeavy - Killing a heavy scientists.
SmallAnimal - Killing a small animal such as a chicken.
MediumAnimal - Killing a medium animal such as a boar, wolf or stag.
LargeAnimal - Killing a large animal such as a horse, shark or bear.
Barrel - Destroying barrels.
RoadSign - Destroying road signs.
Scarecrow - Killing scarecrows or a zombie in ZombieHorde.
Mission - Completing a mission in rust.
BradleyAPC - Getting the last hit on Bradley.
LootHackedCrate - First player to loot a locked crate.
LootHeliCrate - First player to loot a heli crate.
LootBradleyCrate - First player to loot a bradley crate.
CookingMealXP - (Requires cooking plugin) XP is calculated per ingredient used. Example 2 tomatos and 8 bear meat would yield 100xp.
RaidableBaseCompletion - Awards raiders of a RaidableBase xp upon the completion of the raid.
Win_HungerGames - Awards xp to the winner of the Hunger Games arena.
Win_ScubaArena - Awards xp to the winner of the Scuba arena.
Win_Skirmish - Awards xp to the winner of the Skirmish arena.
Gut_Fish - Awards xp when gutting a fish.
default_botrespawn - default amount xp given when killing a bot made using botrespawn. Overriding values can be added to the config based on the bot group.
crate_basic - when opening crates
crate_elite - when opening crates
crate_mine - when opening crates
crate_normal - when opening crates
carte_normal_2 - when opening crates
crate_normal_2_food - when opening crates
crate_normal_2_medical - when opening crates
crate_tools - when opening crates
crate_underwater_advanced - when opening crates
crate_underwater_basic - when opening crates
crate_ammunition - when opening crates
crate_food_1 - when opening crates
crate_food_2 - when opening crates
crate_fuel - when opening crates
crate_medical - when opening crates
Harbor_Event_Winner - Winner of the Harbor event plugin
Junkyard_Event_Winner - winner of the Junkyard event plugin
PowerPlant_Event_Winner - winner of the Power plant event plugin
Satellite_Event_Winner - winner of the Satellite event plugin
Water_Event_Winner - winner of the Water event plugin
Air_Event_Winner - winner of the Air event plugin.
Armored_Train_Winner - winner of the Armored train plugin
Convoy_Winner - winner of the Convoy event plugin.
Supply_drop - first player that opens a supply drop.
SurvivalArena_Winner - winning the SurvivalArena event.
swipe_card_level_1 - using a green swipe card reader
swipe_card_level_2 - using a blue swipe card reader
swipe_card_level_3 - using a red swipe card reader
boss_monster - killing an NPC from boss monster
Zombie - Killing a ZombieHorde zombie
UnderwaterDweller NPCs - NPCs in underwater labs
JetPilot - JetPilot plugin
ArcticBaseEvent_Winner - winner of the Arctic Base Event
GasStationEvent_Winner - winner of the Gas Station Event
SputnikEvent_Winner - winner of the Sputnik Event
detect_diggable - triggered when a metal detector site is dig up.
ShipWreckEvent_Winner - winner of the Ship Wreck Event
pvp - when a player kills another player (default: off).
Triangulation_Winner - winner of the triangulation event
Caravan_Winner - winner of the Caravan event
SupermarketEvent_Winner -  winner of the Supermarket event

 

9sW0oI9.png

Name: Mining Yield
Description: Increases the amount of resources gained while mining.

Name: Instant Mine
Description: Gives the user a chance to instantly mine out a stone, sulfur or metal node.

Name: Smelt On Mine
Description: Gives the user a chance to smelt some of the ore as its mined from sulfur and metal nodes.

Name: Mining Luck
Description: Gives the user a chance to obtain items from the Mining luck loot table when they finish mining a node.

Name: Mining Tool Durability
Description: Decreses the durability loss of mining tools.

Name: Woodcutting Yield
Description: Increases the amount of resources gained while woodcutting.

Name: Instant Chop
Description: Gives the user a chance to instantly chop down a tree.

Name: Woodcutting Coal
Description: Gives the user a chance to obtain some charcoal while woodcutting.

Name: Woodcutting Luck
Description: Gives the user a chance to obtain items from the Woodcutting luck loot table when they finish cutting down a tree.

Name: Woodcutting Tool Durability
Description: Decreses the durability loss of woodcutting tools.

Name: Skinning Yield
Description: Increases the amount of resources gained while skinning.

Name: Instant Skin
Description: Gives the user a chance to instantly cut up an animal.

Name: Skinning Tool Durability
Description: Decreases the durability loss of skinning tools.

Name: Skinning Cook
Description: Gives the user a chance to received cooked meat, instead of raw meat, while skinning an animal.

Name: Harvest Wild Yield
Description: Increases the yield when harvesting map generated collectibles, such as berries, hemp, stone, sulfur and mushrooms.

Name: Harvest Grown Yield
Description: Increases the yield when harvesting player grown produce.

Name: Extra Fish
Description: Gives the user a chance of receiving an extra fish while fishing.

Name: Double Bandage Heal
Description: Doubles the healing power of cloth bandages.

Name: Radiation Reduction
Description: Reduces the amount of radiation damage taken by the player.

Name: Extra Food
Description: Increases the amount of calories the player receives when consuming food.

Name: Fire Damage Reduction
Description: Reduces the amount of fire damage received.

Name: Fall Damage Reduction
Description: Reduces the amount of fall damage received.

Name: No Cold Damage
Description: Removes all cold damage from the player.

Name: Wounded Resist
Description: Gives the player a chance to get straight back on their feet after entering the wounded state.

Name: Animal Damage Resist
Description: Reduces the damage taken by animals.

Name: Riding Speed
Description: Increases the speed of a horse while riding it.

Name: Free Bullet Chance
Description: Gives the player a chance to not expend a bullet when firing a gun.

Name: Primitive Expert
Description: Removes durability loss for primitive weapons.

Name: Upgrade Refund
Description: Gives the player a chance to receive their resources back when upgrading a building block.

Name: Craft Speed
Description: Increases the crafting speed of a player.

Name: Research Refund
Description: Gives the player a chance to receive their scrap back when researching an item on the research bench.

Name: Craft Refund
Description: Gives the player a chance to receive their crafting materials back when crafting an item.

Name: Extra Scrap Barrel
Description: Gives the player a chance to receive additional scrap when destroying a barrel.

Name: Barrel Smasher
Description: Allows the player to instantly smash a barrel with any weapon.

Name: Extra Scrap Crate
Description: Gives the player a chance to obtain extra scrap when looting a crate for the first time.

Name: Component Chest
Description: Gives the player a chance to obtain additional components when looting a crate for the first time.

Name: Electronic Chest
Description: Gives the player a chance to obtain additional electronics when looting a crate for the first time.

Name: Component Barrel
Description: Gives the player a chance to obtain additional components when smashing a barrel.

Name: Electronic Barrel
Description: Gives the player a chance to obtain additional electronics when smashing a barrel.

Name: Melee Resist
Description: Reduces the damage taken by melee weapons.

Name: Iron Stomach
Description: Allows the player to eat spoiled and raw food without being poisoned.

Name: Boat Speed
Description: Allows the user to activate a turbo boost while on a boat, increasing the boats speed.

Name: Recycler Speed
Description: Increases the speed of recycling for the player.

Name: Smelt_Speed
Description: Adds a chance for ore to smelt whenever wood is consumed, in addition to the standard smelt rate.

Name: Heli_Fuel_Rate
Description: Reduces the fuel consumption for your helicopters.

Name: Boat_Fuel_Rate
Description: Reduces the fuel consumption for your boats.

Name: Vehicle_Mechanic
Description: Allows the user to repair a vehicle at no cost.

Name: Reviver
Description: Brings a wounded player up with additional health if the reviving player has the buff.

Name: Rationer
Description: Provides the consumer a chance to receive their food/tea back once consumed.

Name: PVP_Critical
Description: Gives the attacker a chance to critically damage the target in PVP.

Name: PVP_Damage
Description: Increases the damage of all PVP attacks.

Name: PVP_Shield
Description: Reduces the damage of all incoming PVP attacks.

Name: Metabolism_boost
Description: Increases your calories and hydration above the maximum.

Name: LootPickup
Description: Chance to have the loot from destroyed barrels given moved directly to their inventory.

Name: Node_Spawn_Chance
Description: Chance to spawn a new node when a new one is mined out.

Name: HealthRegen
Description: Passively regenerates x health per second

Name: AnimalTracker
Description: Allows the user to use the /track command to find the direction of the closest animal.

Name: ExtraPockets
Description: Creates a backpack style storage system, providing players the ability to access the storage using a chat command (/pouch). Slots are given based on points spent.

Name: Human_NPC_Damage
Description: Increases damages against scientists.

Name: Animal_NPC_Damage
Description: Increases damages against animals.

Name: Human_NPC_Defence
Description: Decrease damage from scientist.

Name: Craft_Duplicate
Description: Chance to duplicate an item while crafting.

Name: WaterBreathing
Description: Breath underwater.

Name: SharkResistance
Description: Reduce damage taken from sharks.

Name: SharkSkinner
Description: Chance to receive random items while skinning sharks.

Name: DeepSeaLooter
Description: Chance to receive additional items while looting sunken crates.

Name: InstantUntie
Description: Instantly untie sunken crates.

Name: UnderwaterDamageBonus
Description: Increase damage to all living things while underwater (including underwater labs).

Name: Permission
Description: Used for permission based skills.

Name: MaxRepair
Description: Resets the max condition for any items that are repaired.

Name: Durability
Description: Reduces condition loss for all items that the player is using.

Name: Regrowth
Description: Provides a chance for a tree to respawn when cut down.

Name: Skinning_Luck
Description: Provides a chance to receive an item when skinning an animal.

Name: Fishing_Luck
Description: Provides a chance to receive an item when catching a fish.

Name: Trap_Damage_Reduction
Description: Reduces the damage received from traps.

Name: Trap_Damage_Increase
Description: Increases the damage done to traps.

Name: Personal_Explosive_Reduction
Description: Reduces the damage received from your own explosives.

Name: Double_Explosion_Chance
Description: Provides a chance for your explosives to trigger twice.

Name: Lock_Picker
Description: Provides a chance to open a locked entity that you do not have access to.

Name: Explosion_Radius
Description: Increases the explosion radius of your explosives.

Name: Dudless_Explosive
Description: Reduces the chance of your satchels and beancans being duds.

Name: Woodcutting_Hotspot
Description: Treats each hit on a tree as though you hit the hotspot.

Name: Mining_Hotspot
Description: Treats each hit on a node as though you hit the hotspot.

Name: Extended_Tea_Duration
Description: Increases the duration of tea buffs by x% per level.

Name: Extended_Mag
Description: Increases the magazine capacity of weapons by x% per level.

Name: Tea_Looter
Description: Provides you with a x% chance per level to find tea in certain containers.

Name: Bite_Speed
Description: Decreases the time it takes to hook a fish by x% per level.

Name: Heli_Speed
Description: Increases the max thrust speed of the heli by x% per level.

Name: Sonar
Description: Allows the user to run a command to find all nearby submerged objects (dive sites, sharks, scientists etc).

Name: Comfort
Description: Provides the player and all nearby team mates with a % of comfort per level.

Name:Heal_Share
Description: Provides surrounding team mates with a % of health received per level.

Name:XP_Share
Description: Provides surrounding team mates with a % of the xp you gain per level.

Name: Tea_Share
Description: Provides surrounding team mates with a % of tea buffs when you consume tea per level.

Name: Metabolism_Share
Description: Provides surrounding team mates with a % of hydration and calories received per level.

Name: Human_Workbench
Description: Creates a workbench aura on the player. The player and nearby team mates can use them as a workbench (the level of which is based on the skill level).

Name: Recycler_Efficiency
Description: Increases the recycler efficiency by x%.

Name: Metal_Detector_Luck
Description: Provides the player with a chance per level to obtain an additional item when they excavate metal detection sites.

Name: Efficient_Digger
Description: Provides the player with a chance per level to automatically dig up metal detection sites when they are flagged.

Name: Magnetic_Digger
Description: Provides the player with a chance per level to automatically collect dug up items.

Name: RadiationBaseValue
Description: Provides you with a base radiation resistance of % per level, even when naked.

Name: RadiationResistModifier
Description: Increases the effectiveness of your clothings radiation resistance by % per level.

Name: BikeEnginePower
Description: Increases the engine power of all bikes (peddal and motor) by x % per level.

Name: DriverCollisionResistance
Description: Decreases the damage taken from collisions while driving a vehicle by x% per level.

Name: Harvesting_Luck
Description: Provides a drop table when a player collects harvesting materials. Grown and wild collectibles have their own loot tables.

Name: Awareness
Description: This skill will show the nearby location of (configurable): npcs, animals, dropped items, droppted item containers, corpses within x meters.

Name: Woodcutting_Ultimate
Description: Harvests the surrounding trees when cutting down a tree.

Name: Mining_Ultimate
Description: Provides access to a chat command to see all surrounding node locations.

Name: Combat_Ultimate
Description: Heals the player for a percentage of the damage that they deal to all sources.

Name: Vehicle_Ultimate
Description: Reduces damage dealt to the players mounted vehicle (default 100% deduction).

Name: Harvester_Ultimate
Description: Allows the player to set the genetic composition of plants.

Name: Medical_Ultimate
Description: Gives the player a chance to resurrect at their point of death if they choose to.

Name: Skinning_Ultimate
Description: Killing an animal with this buff active will provide the player with an enhanced ability for a period of time, depending on the animal killed.
- Chicken: No fall damage.
- Boar: Chance to find components while harvesting mushrooms and berries.
- Wolf: Increased healing while near team mates.
- Stag: Notification when a neutral player is nearby, and their last known location (configurable).
- Bear: Scientists will not attack the player unless attacked.
- Polarbear: Overshield.

Name: Build_Craft_Ultimate
Description: Use any coloured swipe cards in any reader.

Name: Scavengers_Ultimate
Description: Will automatically recycle components from barrels when they are broken.

 

pGE5klo.png

The xp table uses a common equation to calculate its levels and xp requirements. You can read more about the method here: https://blog.jakelee.co.uk/converting-levels-into-xp-vice-versa/

There is also a spreadsheet you can make a copy of and adjust the x value at the top of. Increasing the number minimizes the xp between levels. Find a good value, then put it in the “x” value under the “Leveling information” section in the config.
It is recommended that you leave the y value at 2 or 3, and adjust the x value only.

Rule of thumb:

– 0.07: default
– 0.04: grindy.

 

API

object STCanGainXP(BasePlayer player, BaseEntity source, double value, string source_string)
object STCanGainXP(BasePlayer player, string plugin, double value)

Returning a non-null value will cancel the xp gain. Source can return null so be sure to check that.

string[] ST_GetPlayerLevel(BasePlayer player)

// Example
  
[ChatCommand("testapi")]
void TestAPI(BasePlayer player)
{
	var data = (string[])SkillTree.Call("ST_GetPlayerLevel", player);
	Puts($"Level: {data.First()}. XP: {data.Last()}");
}

Returns the players level [0] and xp [1] values as a string[]

object STCanReceiveYield(BasePlayer player, BaseEntity entity)

Returning a non-null value will cancel the yield gain.

object STOnLoseXP(BasePlayer player)

Returning a non null value prevents the xp loss.

double GetExcessXP(BasePlayer player)

Gets the excess xp over the players current level as a double.

RemoveXP(BasePlayer player, double value)

Removes xp from the player equal to the value. Will not reduce the value below the start of their current level.

void STOnPlayerLevel(BasePlayer player, int oldLevel, int newLevel);

Triggers when a player levels up. No return value.

void STOnPouchOpened(BasePlayer player, StorageContainer pouch)

Triggers when a player opens the ExtraPockets storage.

object STCanModifyHorse(BasePlayer player, RidableHorse horse, float modifier)

Returning a non-null value will prevent the horse from being modified by the Riding_Speed buff.

public void AddNode(string tree, string node, bool enabled, int max_Level, int tier, float value_Per_Buff, string _buff, string _buffType, string icon_url, object[] _perms = null)
  
object[] perms { string perms_description, Dictionary<int, List<string>> tiers_and_perms }
        void AddCookingNodeToSkillTree()
        {
            if (SkillTree != null && SkillTree.IsLoaded)
            {
                Dictionary<int, Dictionary<string, string>> _perms = new Dictionary<int, Dictionary<string, string>>()
                {
                    [1] = new Dictionary<string, string>() { ["cooking.instant"] = "Instant Cook" }
                };
                string Description = "Cooking food with the Cooking plugin will be instant.";

                object[] perms = new object[]
                {
                    Description,
                    _perms
                };

                string Tree = "Cooking";
                string Node = "Instant Chef";
                bool StartOn = true;
                int Max_Level = 1;
                int Tier = 2;
                float Value_per_Level = 1;
                string Buff = "Permission";
                string BuffType = "Permission";
                string URL = "https://i.imgur.com/3TMqFKG.png";

                SkillTree.Call("AddNode", Tree, Node, StartOn, Max_Level, Tier, Value_per_Level, Buff, BuffType, URL, perms);
            }
        }

Allows plugins to add custom nodes to trees.

        [HookMethod("IsExtraPocketsContainer")]
        public object IsExtraPocketsContainer(uint uid)
        {
            if (containers.ContainsKey(uid)) return True;            
            return False;
        }

        [HookMethod("GetExtraPocketsContainerProvider")]
        public Func<uint, bool> GetExtraPocketsContainerProvider()
        {
            return new Func<uint, bool>(uid =>
            {
                if (containers.ContainsKey(uid)) return true;               
                return false;
            });
        }

        [HookMethod("GetExtraPocketsOwnerIdProvider")]
        public Func<uint, string> GetExtraPocketsOwnerIdProvider()
        {
            return new Func<uint, string>(uid =>
            {
                Containers data;
                if (containers.TryGetValue(uid, out data)) return data.userIDString;
                return null;
            });
        }

API for extra pockets.

 

object STCanReceiveBonusLootFromContainer(BasePlayer player, LootContainer container)

Prevents buffs from adding loot to containers if returning a non-null value.

 

object STOnItemRepairWithMaxRepair(Item item)

Returning non-null prevents the item bring repaired to max.

object[] GetXPStats(ulong id)

Returns object[]: int level, double xp, double current level start xp, double next level start xp.

float GetBuffValue(BasePlayer player, string skill)

Returns the current modifier for the specified buff.

void AwardXP(ulong userid, double value, string plugin, bool noMod = false)

Provides the player with the specified amount of xp

public void DisableBuffs(ulong id)

Disables buffs for a player

public void EnableBuffs(ulong id)

Enables buffs for a player

 

18 reviews for Skill Tree

  1. 5 out of 5

    Stefan (verified owner)

    looks very high quality and is easy to adjust

  2. 5 out of 5

    marcopetersen (verified owner)

    Nice Plugin.

  3. 5 out of 5

    klockwurk (verified owner)

    This plugin is amazing! If you don’t have it already, get it! The players on my server absolutely love it.

  4. 5 out of 5

    Grumbles (verified owner)

    I am very happy with this buy.
    Great UI, extensive skills, continued development, and quick responses from the developer.

  5. 5 out of 5

    Wrecks (verified owner)

    Excellent plugin, great work as always.

  6. 5 out of 5

    nashslash (verified owner)

    Excellent plugin the players really enjoy, the perks/reward system gives all players something to aim for. Recommended for PVE or vanilla type servers.

  7. 5 out of 5

    Creed (verified owner)

    LOVE this mod. With our PVE server, this is a great addition to keep things interesting. The UI is awesome – high quality and easy to use. It is easy to install and get going.

  8. 5 out of 5

    New B (verified owner)

    An other must have for PVE server ! Gives player longterm goal if you don’t wipe their skilltree !

  9. 5 out of 5

    Stefan (verified owner)

    i tried a lot of xp plugins and this was by far the best around!

    now with the 1.2.0 upate all other devs can delete her xp plugins because this is a masterpiece…
    btw imthenewguy is also imthehelpfullguy ;)

  10. 5 out of 5

    Duncan Clonts (verified owner)

    amazing plugin so much fun

  11. 5 out of 5

    thurken42 (verified owner)

    We have the dev’s Cooking Plugin and we loved it. So we were aware of his works, and when we found SkillTree, we immediately dumped our old skill system plugin and went to it. SkillTree’s graphical interface makes the other system look antiquated and over-complicated. SkillTree shows you all you need to know — what each skill does, what each rank does, and it keeps a running tally of all your results from your skills, all on one page (for each skill tree). And you can add your own skill trees! We’ve had experience with two other skill systems — SkillTree is on a whole different and far superior level. It’s brilliant, and I am happy to support the developer. We’re aiming at his other plugin, EpicLoot, next!

  12. 5 out of 5

    Grimm530 (verified owner)

    Great plugin and the Dev gives fast support in his discord if you get any issues Highly Recommend this plugin!

  13. 5 out of 5

    zodiark14020 (verified owner)

    one of my fave plugins i own. no one has said anything bad. so much fun

  14. 5 out of 5

    T-Bird (verified owner)

    One of the best plugins I have ever had the pleasure of working with. Responsive dev that shows his passion for adding new features and fixing any bugs discovered. Worth every penny

  15. 5 out of 5

    jncwinner1 (verified owner)

    WOW, Just WOW, If there was ever an RPG mod to get for PVE servers, this one right here. It is well made, looks great, easy to add and configure new and existing trees, it comes with a great preset to build off of. all and all great plugin!

  16. 5 out of 5

    NeoJoJo (verified owner)

    I just spent the past month purchasing and rotating several different skill tree plugins from all parts of the web. From free to premium, none of them come remotely close to this system. The sheer amount and scaling of skills puts any other system I have tried to shame, and the inclusion of ultimates has changed the game entirely for my players. The ease of customization to your liking makes this an amazing plugin that any server needs and will influence how players interact with the game.

  17. 5 out of 5

    daniel drake (verified owner)

    Easy to use the Web site. Very user friendly

  18. 5 out of 5

    Tango4Bravo (verified owner)

    Great Plugin! Gives more to do on a server and the abilities it gives you when you level up are unmatched.


Only logged in customers who have purchased this product may leave a review.

Version 1.6.4 | Updated April 3, 2025
  • Fixed Fixed an issue with starting skill points not allocating properly when starting point permissions were assigned.
  • Removed Removed debug.
  • Updated Added redundancies to unload method.
  • Updated Optimized some timer methods.
  • Fixed Fixed an issue with recycler efficiencies not resetting.
  • Updated Updated the plugin to dismount players who disable vehicle based buffs while mounted.
  • Updated Moved Rationer perk to a different hook to prevent throwing pies from triggering it.
  • Fixed Fixed an issue with the heli_speed perk not applying to Scrap transport helis.
  • Updated Updated the xp loss settings to add more control over loss types [PercentageOfCurrentLevel, PercentageOfTotalXp, XpValue]
  • Updated Updated the way resources are collected for better compatibility with other yield increasing plugins.
  • Updated Updated support for Instant gathering skills between EpicLoot and ItemPerks.
  • Added Added yield modifier support for wheat
  • Fixed Fixed tea durations for craftingtea_quality
  • Added Added a config option to handle how prestige xp mod stacks with the other xp mods.
Version 1.6.3 | Updated March 6, 2025
  • Fixed Fixed rounding in xp loss message.
  • Added Added support for ShoppyStock.
  • Updated Split fishing xp source up into different catch types.
  • Fixed Fixed an issue if skill points go negative, that allowed unlimited nodes to be unlocked.
  • Updated Updated STGetHorseStats to return float for speed mod.
  • Fixed Fixed horse speed buff.
  • Fixed Fixed an issue where a player could switch to another preset after leveling up prestige, giving them negative skill points.
Version 1.6.2 | Updated February 11, 2025
  • Fixed Fixed an issue with the prestige button showing a black screen.
  • Fixed Fixed an issue with preset overrides not registering.
Version 1.6.1 | Updated February 7, 2025
  • Added Added hookmethod int STGetMaxLevel(); Returns the current max level.
  • Fixed Fixed an issue with creating presets in oxide.
  • Added Added blacklist for SharkSkinner buff.
  • Fixed Fixed the prestige buff info scroll bar alignment.
  • Added Added minicrossbow to extended mag by default to prevent clients being kicked.
Version 1.6.0 | Updated February 2, 2025
  • Updated Changed the scoreboard setup to a coroutine to assist with processing large amounts of information.
  • Added Added scoreboard settings to control update interval, xp rounding and Update iteration.
  • Updated Updated wipe handling to allow prestige and xp/level/buff wipe handling to be handled separtely.
  • Fixed Fixed a byte overflow issue caused by sending a CUI that was too large.
  • Updated Restructured the way buffs are handled to optimize performance.
  • Added Added buff settings menu so players can toggle any buffs that they have unlocked.
  • Added Added config option to control how respecing works. Disabled, All & Tree. This will allow respecing of individual trees, rather than wiping the whole tree.
  • Updated Updated starting point permissions so that starting points are added to player when permission is granted.
  • Added Added skill tree presets menu (disabled by default)
  • Added Added message settings option to config to allow ui related message to be shown in the UI.
  • Added Added an item blacklist to awareness buff settings.
  • Added Updated the GetXPStats hookmethod to return xp_debt (double) and prestige level (int). New return - object[] { int current_level, double current_xp, double level_xp_target, double next_level_xp_start, double xp_debt, int prestige_level }
  • Added Added hook for when a player levels up their prestige rank: void STOnPlayerPrestigeLevelled(BasePlayer player, int newPrestigeLevel)
  • Updated Moved buff information formatting to lang.
  • Added Added 41 demo videos (play button can be disabled in config).
Version 1.5.11 | Updated December 31, 2024
  • Fixed Fixed an issue where excess skill points didn't carry over when unlocking prestige.
  • Updated Updated the GetSkillTreeData hookmethod to include xp debt.
  • Added Added config option for xp loss to differentiate between xp loss and xp debt settings.
  • Added Added missing permission skilltree.togglebc.
  • Fixed Fixed a null reference issue with GiveItem.
  • Fixed Fixed a null reference issue when unloading SkillTree.
  • Added Added new skill: Awareness - this skill will show the nearby location of (configurable): npcs, animals, dropped items, droppted item containers, corpses within x meters.
  • Updated Reworked the Score ui. Now shows prestige icons.
Version 1.5.10 | Updated December 9, 2024
  • Fixed Fixed an issue with Harmony Unpatch all in Carbon by using AutoPatch.
Version 1.5.9 | Updated December 5, 2024
  • Updated Moved Regrowth to next tick so it doesn't cause an infinite loop with Deforest from ItemPerks.
  • Updated Updated for Decembers forced wipe.
Version 1.5.8 | Updated November 25, 2024
  • Added Added new permission: skilltree.respec.bypass - removes the cost for respeccing.
  • Fixed Fixed an issue with OnWeaponModChange throwing an exception.
  • Added Added check for virtual recycler.
  • Added Added command: sttogglebuffs - False: Disables buffs globally for all players.
  • Added Added scroll element to prestige description.
  • Fixed Fixed an issue with NextTick and GiveItem exceptions.
  • Added Added permission requirement for toggling better chat: skilltree.togglebc
  • Added Added config options for givexp and givesp commands to give xp/sp to offline players when run in console (default false).
  • Added Added a config option to prestige settings to allow excess accumulated points to persist when ranking up (default false).
  • Added Added support for wolf2.
  • Added Added a config option to adjust the spawn position of a new node with Node_Spawn_Chance.
  • Fixed Fixed the resurrection ability to prevent button spamming causing more rolls than intended.
  • Fixed Fixed an exception from GiveItem.
Version 1.5.7 | Updated October 4, 2024
  • Fixed Fixed an issue with scientists damage being scaled the opposite direction.
  • Fixed Fixed a random exception for OnPlayerDeath.
Version 1.5.6 | Updated October 3, 2024
  • Added Added skill exclusions. This allows the unlocking of 1 skill to lock another.
  • Fixed Fixed an issue where the first node permission did not appear in the buff ui list.
  • Added Added config option to scale damage dealt to Boss Monsters from the MLRS ultimate.
  • Fixed Fixed an issue with the max pending xp value being set to 0.
  • Added Added hookmethod: void DisableXP(ulong id)
  • Added Added hookmethod: void EnableXP(ulong id)
  • Added Added hookmethod: bool IsXPDisabled(ulong id)
  • Fixed Patched for October update.
Version 1.5.5 | Updated September 11, 2024
  • Added Added new buff: Harvesting_Luck - Provides a drop table when a player collects harvesting materials. Grown and wild collectibles have their own loot tables.
  • Added Added config option to override Electronics and component luck with custom lists. Use the addelectricaloverride and addcomponentoverride console commands to add examples to the config.
  • Fixed Fixed a lang issue with the Skinning ultimate.
  • Added Added a config option to set a cap for respec costs.
  • Added Added an option to prestige settings to set xp modifiers. This allows servers to reduce the xp gained if the player achieves a prestige level.
  • Fixed Attempted to fix a null reference error in OnEntityKill
  • Added Added an option for setting node requirements to unlock other nodes. This allows servers to set unlocks of certain nodes behind other nodes.
  • Fixed Fixed an issue with the Vehicle ultimate not scaling down damage for all vehicle modules.
  • Fixed Fixed a missing lang entry: CooldownNotify.
  • Removed Removed old data conversion.
  • Updated Updated Pooling.
  • Added Added a check for PVP xp to prevent team mates from gaining xp.
  • Added Added HookMethod: GetSkillTreeData - reads all data files and returns a list of player data (name, xp, prestige level, current level).
Version 1.5.4 | Updated August 2, 2024
  • Added Added new buff: BikeEnginePower - Increases the engine power of all bikes (peddal and motor) by x % per level.
  • Added Added new buff: DriverCollisionResistance - Decreases the damage taken from collisions while driving a vehicle by x% per level.
  • Updated Updated the respec button to dismount a player before the respec happens. This is to ensure any modifications to a vehicle from the player's buffs are removed.
  • Fixed Fixed an issue with heli speed buff
  • Fixed Fixed an issue with the comfort aura applying 100% when 1 point was put into it.
  • Fixed Fixed an issue with the economical captain perk not working with the Rhib boat.
  • Fixed Wrapped GetRestoreItem in try/catch to provide more info when an error is generating.
  • Updated Added failsafe to prevent items with amount = 0 from being stored.
  • Updated Updated text anchoring for XP debt title on xp bar.
  • Added Added hookmethod: GetPrestigeLevel(ulong id). Returns an int with the players current prestige level.
  • Added Added Buff Information formatting to lang.
  • Added Added meat to base yield increase.
  • Updated Updated scoreboard to prioritize prestige ranks.
  • Added Added prestige icons to score board.
  • Added Added XP sources for: Triangulation winner (plugin), Caravan winner (plugin), supermarket event winner (plugin).
Version 1.5.3 | Updated July 7, 2024
  • Added Added hook: object STOnRationTrigger(BasePlayer player, Item item) - Returning non-null prevents the Ration perk from triggering.
  • Updated Updated some of the logic for mobile workbench to prevent null exception.
  • Updated Updated plugin for July's surprise patch.
Version 1.5.2 | Updated July 4, 2024
  • Added Added blacklist field to Harvest ultimate.
  • Added Added new skill: RadiationResistModifier
  • Added Added new skill: RadiationBaseValue
  • Added Added Prestige UI text to language.
  • Fixed Fixed an issue with Fishing_Luck skill not working if no one as using the rod tension bonus skill.
  • Fixed Fixed an issue with Instant mining and Instant chop not working with teas.
  • Fixed Fixed an issue with Ultimate nodes that are locked behind prestige levels not displaying the overlay.
  • Added Added a try/catch wrap to GiveRewards to stop it from preventing the levelling process.
  • Fixed Fixed an issue with max skill point limits not applying.
  • Added Added rank up icons to the prestige rank up menu.
  • Updated Patched for July update.
Version 1.5.1 | Updated June 3, 2024
  • Fixed Fixed an issue with the no scoreboard perm not applying.
  • Fixed Fixed an issue with BetterChat titles throwing an error when set to null.
  • Updated Updated recycler speed buff to scale based on safezone & monument speed.
  • Added Added new skill: Recycler_Efficiency - Increases the recycler efficiency by x%.
  • Added Added failsafe when reset commands are null.
  • Fixed Fixed the patching method for Harmony.
  • Added Added config options and lang for Tea share and metabolism share procs. Will not show if the player's notifications are disabled.
  • Added Added config option for points per level permission overrides.
  • Added Added HookMethods: DisableBuffs and EnableBuffs to allow 3rd party plugins to disable skill tree buffs.
  • Fixed Fixed the roadsign option for barrel smasher.
  • Fixed Fixed the prestige requirement panel so it appears when nodes are locked behind a prestige level.
  • Updated Updated BotRespawn to be considered NPCs when handling buffs.
  • Updated Updated Extra Pockets icon to bring it more into alignment with native ui.
  • Added Added XP source: detect_diggable (metal detector)
  • Added Added new skill: Metal_Detector_Luck - Provides the player with a chance per level to obtain an additional item when they excavate metal detection sites.
  • Added Added new skill: Efficient_Digger - Provides the player with a chance per level to automatically dig up metal detection sites when they are flagged.
  • Added Added config option to set workbench spawn position.
  • Added Added XP source: pvp (default off).
  • Added Added config option to cap pending xp.
  • Added Added ZoneManager support for no xp loss, and disabling skills.
  • Updated Updated the data directory to find the correct oxide installation path.
  • Added Added a config option to allow pass/fail for raidable bases checks when the plugin is unloaded.
  • Added Added scoll bar to buff information panel
  • Added Added lang to change the text in the gain prestige button when the player has the required level.
  • Added Added HQM as yield source.
  • Added Added new skill: Magnetic_Digger - Provides the player with a chance per level to automatically collect dug up items.
  • Updated Updated RespecPlayer method into a HookMethod.
  • Updated Updated givexptoall command to allow for a third argument: givexptoall
  • Fixed Fixed an issue where pcdData would be null when read from data.
  • Fixed Fixed an OverflowException for OnCollectiblePickup.
Version 1.5.0 | Updated May 2, 2024
  • Updated Fixed errors with the givexptoall and givesptoall commands.
  • Added Added a very large amount of things, but this website keeps throwing errors when I try to update these bloody patch notes...
Version 1.4.13 | Updated February 15, 2024
  • Added Added support for the foragers and sonar buffs to show distance.
  • Fixed Fixed a message issue when using MLRS on the same position.
  • Added Added API: GetXPStats(ulong id). Returns object[]: int level, double xp, double current level start xp, double next level start xp.
  • Added Added optional argument for the console command: givexp . This will allow raw xp to be given without permission or rested modifiers.
  • Added Added command: givexptoall
  • Added Added command: givesptoall
  • Added Added config option to require a permission be active for a player to participate in the Roguelike feature if enabled (skilltree.roguelike).
Version 1.4.12 | Updated December 27, 2023
  • Fixed Fixed an issue with boat speeds slowing down once the turbo perk was disabled.
  • Added Added lang support for custom skills.
  • Updated Updated the implementation of buff descriptions. This will allow buffs with more involved descriptions to display their descriptions if used as an ultimate.
  • Updated Updated SkillTreeXPEvent integration so it will only call on the plugin if an event is running (Requires SkillTreeXPEvent 1.0.1+).
  • Updated Updated an error with the AnimalBuffFinishedMsg lang entry.
  • Added Added support for Gingerbread NPCs.
  • Added Added support for a Roguelike mode in the config. This will reset players data on death (defalt: disabled).
  • Fixed Fixed an issue where the Track command would locate deployed animals from DeployableNature.
Version 1.4.11 | Updated December 12, 2023
  • Updated Passed source_string through STCanGainXP hook.
  • Added Added support for SkillTreeXPEvent.
  • Fixed Prevented clones from working with the Harvesting Ultimate.
  • Added Added new skill: Sonar. This skill allows the user to run the configured command (default: sonar) to show all submerged objects (configurable) on their HUD.
Version 1.4.10 | Updated November 21, 2023
  • Fixed Fixed an issue with the cooking ultimate adding the raiding ultimate cooldown when displaying the on cool down message.
  • Added Added config option to prevent skin IDs from force updating when set to 0.
  • Added Added the locate nodes command to UI
  • Added Added a config option to control xp based on crafting time.
  • Added Added support for events: Arctic Base Event, Gas Station Event, Sputnik event and Shipwreck Event.
  • Added Added localization for a number of different messages.
Version 1.4.9 | Updated October 26, 2023
  • Fixed Fixed an issue with the strike command throwing an exception.
Version 1.4.8 | Updated October 25, 2023
  • Fixed Fixed an issue with instant skinner not triggering final hit xp.
  • Fixed Fixed an issue with custom node permissions not registering.
  • Added Added a large number of missing language options for UI and chat messages.
Version 1.4.7 | Updated October 6, 2023
  • Fixed Fixed an issue with starting point permission overrides not working.
  • Fixed Fixed an issue with the Barrel Smasher perk not functioning correctly.
  • Updated Wrapped all foreach loops on Unload with Try/Catch to prevent errors from existing Unload method.
Version 1.4.6 | Updated October 5, 2023
  • Updated Updated the barrel smasher perk to only work with barrels.
  • Added Added console command: globalresetmlrs. This will reset the MLRS cooldown for all players.
  • Fixed Fixed an issue that was making the Extended_Tea_Duration buff global.
  • Fixed Fixed an issue with OnPlayerInput being subscribed even when the config is set to false.
  • Fixed Fixed an issue with the ExtraPockets button appearing when logging in, despite it being disabled.
  • Fixed Fixed a rare issue causing HV rockets not working with Blast Suit.
Version 1.4.5 | Updated September 21, 2023
  • Fixed Fixed an issue with Harmony patching being messed up by EpicLoot.
Version 1.4.4 | Updated September 17, 2023
  • Updated Updated the Heli_Fuel_Rate and Heli_Speed buffs to work with the new Attack heli.
  • Added Added config option to allow Pick lock to unlock the lock entity, rather than simply provide access (default: false).
  • Fixed Fixed compile error for Carbon.
  • Added Added new skill: Spawn_Health. Sets the players health to 100x the modifier (default 1.0) when they respawn.
  • Updated Updated the data initialization to remove and refund trees that the player does not have access to.
  • Updated Updated the tree based permissions to update when a player moves to/from a group.
Version 1.4.3 | Updated September 8, 2023
  • Fixed Patched the OnResearchCostDetermine exception.
Version 1..4.2 | Updated September 7, 2023
  • Added Fixed a compile issue with Harmony
Version 1.4.1 | Updated September 7, 2023
  • Added Added null check when dismounting boat.
  • Updated Updated the Extra Pockets skill to work with PocketDimensions
  • Updated Updated for September forced wipe.
  • Updated Patched compile error that was being experienced with Carbon.
Version 1.4.0 | Updated August 31, 2023
  • Added Added Minimum points requirement field for trees. This requires the players to have spent x points in order to unlock the tree.
  • Added Added permission based overrides for min level and min point requirements for trees. These can be added to the config using addleveloverride and
  • Updated Change the tiering of skills to be adjustable at the tree level, rather than a global level.
  • Added Added UI to show how many points the player has left to spend to unlock the next row.
  • Added Added option for Mining_Hotspot and Woodcutting_Hotspot to take a Percentage buff type. This will roll a chance based on the players modifier to treat the hit as a hotspot.
  • Added Added permission option for individual nodes. Players without the correct permission will not see the node in the tree.
  • Added Added ultimate for cooking: Burst of Energy. This will allow the user to use a command to apply a number of different tea buffs to themselves.
  • Added Added option to disable BotRespawn support for profile tracking and xp handling.
  • Added Added new skill: Trap_Spotter - Provides the chance to paint nearby trap locations.
  • Added Added new skill: Rod_Tension_Bonus - Provides a bonus to rod tension while fishing.
  • Added Added new skill: Forager - Will display the location of nearby collectables on the players screen.
  • Added Added config option to allow UnderwaterDamageBonus to to work in PVP.
  • Added Added check for safe zone when attempting to drop Extra Pockets bag.
  • Added Added option to disable the pump bar.
  • Added Added config option to prevent the raiding ultimate from triggering for a specified period of time after wipe.
  • Added Added xp support for NPCRaiders
  • Added Added xp support for JetEvent
  • Updated Updated Extra_Fish perk to guarantee additional fish over 100%, and roll for extra fish using the remainder.
  • Updated Updated the UpdateInstancedData method to refund skill points for disabled skills, or skills that the player does not have permissions for where applicable.
  • Updated Prevented the resetting of level rewards when we are not wiping the player's data.
  • Updated Moved 2 skills over to Harmony Patching.
  • Updated Updated the STCanGainXP hooks: - STCanGainXP(BasePlayer player, BaseEntity source, double value) - STCanGainXP(BasePlayer player, string plugin, double value) - You can now return a double value to override the xp value, or another non-null value to prevent xp gain.
  • Fixed Fixed an issue where stroke of luck wouldn't respawn nodes.
  • Fixed Fixed an issue with BotRespawn NPCs preventing xp being given in some instances.
  • Fixed Fixed an issue with extra scrap not working.
  • Fixed Fixed an issue where the metal ore triggered the final xp twice.
  • Fixed Fixed a bug with the vehicle ultimate causing entities deployed on a tugboat to detatch visually.
Version 1.3.9 | Updated August 3, 2023
  • Updated Updated for August forced wipe.
  • Fixed Fixed a null reference exception that is caused by instant crafting plugins not sending ItemCrafter class when calling the hook.
Version 1.3.8 | Updated August 3, 2023
  • Updated Updated for August forced wipe.
Version 1.3.7 | Updated July 26, 2023
  • Added Added support for UnderwaterDweller NPCs
  • Added Added optional parameter for the AddNode method to allow for it to overwrite existing node data, so external plugins can control their respective skill details.
  • Added Added option for raiding ultimate to require MLRS ammo in order to be used.
  • Added Added new buff: Extended_Tea_Duration. This buff will increase the duration of tea's by x% per level.
  • Added Added new buff: Extended_Mag. This buff increases the magazine capacity of most weapons by x% per level.
  • Added Added new buff: Tea_Looter. This buff provides a chance for the player to find random teas in food crates.
  • Added Added new buff: Bite_Speed. This decreases the time it takes to hook a fish after casting your rod.
  • Added Added new buff: Heli_Speed. This increases the max thrust of helicopters.
  • Added Added anchor points for the Stag danger UI and the bear overshield UI.
  • Added Added sound effects for lock pick success/fail
  • Added Added option to damage player on failed lock pick attempt
  • Updated Updated the ChatID default Steam64ID to 76561199514393612.
  • Added Added a minimum level option for trees so players cannot unlock nodes if they do not have the required level.
  • Added Added timer huds for pick lock and mlrs strike.
  • Added Added hook object OnGainXPFromSwipeCard(BasePlayer player, int cardLevel, ulong cardReaderID). Return non-null value to prevent.
  • Added Added hook object OnSwipeAccessLevelBypass(BasePlayer player, CardReader cardReader, Keycard card). Return non-null value to prevent.
  • Added Updated the logic for Boat_speed.
  • Added Added a config option to enable the boatspeed turbo when a player mounts.
  • Updated Updated the command to include the {id} and {name} parameters for level rewards.
  • Removed Removed console spam when players level up a node
Version 1.3.6 | Updated July 11, 2023
  • Added Added checks to prevent resource re-spawning abilities double triggering with other plugins.
  • Added Added the option for Harvest Grown Yield buff to work with clones.
  • Added Added lang for lock pick messages.
  • Added Added permission based starting skill points
  • Added Added new skill: Efficient Lumberjack - always hits the hotspot when cutting a tree.
  • Added Added new skill: Efficient Miner - always hits the hotspot when mining ore (credit Nivex).
  • Added Added config option to prevent MLRS spam in a location [Options: radius, time]
  • Added Added support for SurvivalArena and Paintball to disable the skinning ultimate when joining the events.
  • Updated Updated the track command to be configurable.
  • Added Added support for tugboats
Version 1.3.5 | Updated May 29, 2023
  • Fixed Fixed a bug where the rationer perk would refund fish after gutting them.
  • Added Added a navigation bar to the menu to allow quick selection of trees.
  • Added Added colour options to the mining ultimate, and allowed for the option to show distance.
  • Fixed Fixed an issue with the researcher perk not refunding scrap.
  • Added Added API for force dropping bag: public void ForceDropPouch(BasePlayer player, bool bypassPerm)
  • Updated Removed chat spam when cooking meals.
  • Removed Removed seeds, fish and clones from the rationing perk.
  • Updated Updated the anchoring of the text for the pump bar so it can display larger numbers.
  • Fixed Fixed the tools whitelist check so it checks final hits on mining and skinning.
  • Added Added berries and seeds to the yield options.
  • Fixed Fixed an issue where RaidableBasesOnly perks would throw an error when RaidableBases was not loaded.
  • Updated Updated the durability perk to work with weapon attachments.
  • Added Added hook: STOnLockpickAttempt(BasePlayer player, BaseLock baseLock). Returning non-null value prevents it from working.
Version 1.3.4 | Updated May 4, 2023
  • Updated Updated for the May Rust patch.
  • Fixed Fixed an issue with bleeding or fall damage not triggering the resurrection.
  • Added Added support for discord message support when a player levels up.
Version 1.3.3 | Updated April 29, 2023
  • Updated Updated Human_NPC_Defence buff to work with all NPCs.
  • Fixed Fixed the resizing of Extra pockets to resize the image and button.
  • Updated Rounded off rested xp message.
  • Updated Updated the RaidableBases check to return false if RaidableBases is not loaded, preventing restricted usage of the Raiding tree skills.
  • Added Added whitelist and blacklist for craft xp.
  • Added Added swipe card xp cooldown config option.
  • Added Added config option to allow suicide to trigger the medical ultimate (resurrection).
  • Fixed Fixed an issue with some forms of death not triggering the resurrection button to appear.
  • Fixed Prevented the double explosives bonus from working with supply signals.
Version 1.3.2 | Updated March 10, 2023
  • Fixed Fixed the stresetalldata command so it targets each player rather than the command user.
  • Fixed Fixed an issue with the skinning luck buff not triggering
  • Fixed Fixed an issue where the multiplier was not multiplying wood.
  • Added Added config option for xp logging to log all xp that each player gains. Will store it once every 60 seconds.
  • Added Added the option for the MLRS ultimate to only work in RaidableBases zones.
Version 1.3.1 | Updated March 2, 2023
  • Updated Wrapped code under OnServerSave() in try/catch and added additional null check.
  • Added Added a config option to prevent MLRS strike being reset on respec
  • Added Added command: getplayerinfo . Prints out the players information from data.
  • Updated Updated for forced wipe.
Version 1.3.0 | Updated February 21, 2023
  • Updated Special thanks to Zombie Land [www.ZombieLand.io] for all of their amazing support and assistance with this update! *
  • Added Added a Raiding skill tree, most of which are configurable to only work with raidable bases.
  • Added New buff: Trap_Damage_Reduction - Reduces the damage taken from traps.
  • Added New buff: Personal_Explosive_Reduction - Reduces the damage taken from your own explosives.
  • Added New buff: Trap_Damage_Increase - Increases the damage done to traps.
  • Added New buff: Building_Damage_Increase - Increases the damage done to building blocks.
  • Added New buff: Double_Explosion_chance - Provides a chance for your explosives to detonate twice.
  • Added New buff: Lock_Picker - Provides a chance for players to open a locked entity (door, crate etc) when the ability is activated.
  • Added New buff: Explosion_Radius - Increases the explosion radius of most explosives (not explosive 5.56).
  • Added New buff: Dudless_Explosive - Provides a chance for an explosive to not be a dud.
  • Added New buff: Ultimate: MLRS Strike - Allows the user to call in an MLRS Strike at a target location.
  • Added Added additional description info under some buffs that are relevant to settings in the config.
  • Added Added config option for the Underwater breathing buff icon position.
  • Added Added a blacklist for Durability and set the keycards to it by default.
  • Fixed Fixed a bug with blacksmith so it requires materials in order to repair the item.
  • Added Added a respec multiplier to make subsequent respecs more expensive.
  • Updated Split the power tool modifier options up into xp, yield and luck for skinning, mining and woodcutting.
  • Added Added hook STOnItemRepairWithMaxRepair(Item item). Fired when the player has the MaxRepair buff and is attempting to repair an item. Returning a non null value prevents the repair.
  • Added Added Hookmethod variant: AwardXP(BasePlayer player, double xp, string pluginName). returning non-null value will prevent xp.
  • Added Added skilltree.noxploss permission: prevents players from losing xp.
  • Added Added detection text for the stag buff to lang.
  • Added Added UseLootDefender support for BradleyAPC, so it can be used to handle the XP division instead of SkillTree.
  • Added Added 2 additional format options for formatting the pump bar xp.
  • Added Added formatting for numbers.
  • Updated Updated the method that is use to destroy components to make it more reliable.
  • Updated Updated the underwater breathing to make it more reliable and accurate.
  • Updated Updated the config so the buffs and buff types display as strings, rather than integers.
  • Added Added an XP debt system when players would lose more xp than they have available.
  • Added Added an option for SkillTree to handle the default server multiplier for resource yield (ie 2x, 3x etc). If allowed, it will base the modifiers off of the multipled values instead of the vanilla amounts.
  • Added Added black list for combat ultimate
  • Added Added option to prevent fire damage for combat ultimate
Version 1.2.9 | Updated February 3, 2023
  • Updated Changed the xp loss on death options an added suicide option.
  • Added Added support for EventHelper to prevent xp loss on death.
  • Added Added whitespace trimming to permission checks.
  • Added Added additional null checks to CanLootEntity.
  • Fixed Fixed the locatenode command for the mining ultimate.
Version 1.2.8 | Updated February 2, 2023
  • Fixed Fixed an issue with the godmode xp setting.
  • Removed Removed BetterNPC as a static xp source and added a dictionary option to allow for xp to be assigned based off of npc display names.
  • Fixed Fixed support for ZombieHorde
  • Added Added new perk: Skinning_luck
  • Added Added new perk: Fishing_luck
  • Updated Optimized the fuck out of OnCardSwipe - Thanks Dingus
  • Fixed Fixed heavy scientist xp issue
  • Updated Changed BetterNPC support to NpcSpawn by KpucTaji
  • Added Added anchor point config option for xp bar.
  • Added Added parameter to AwardXP method, allowing the prevention of modified xp when calling it (special rates, night time bonuses etc).
  • Added Added option to blacklist collectibles from yield gain
  • Added Added permission config option to gain additional rested xp while offline.
  • Added Added config option for respec cost multiplier.
Version 1.2.7 | Updated January 2, 2023
  • Updated Adjusted the code so that the players max level cannot exceed the max level set in the config.
  • Added Added XP source for betterNPC
  • Added Added compatibility with the Vehicles plugin so the fuel systems don't conflict.
  • Added Added option to disable xp while in native godmode.
  • Added Added option to disable trees via the config.
  • Added Added command: resetxpbar - resets the users xp bar settings to the default (config values).
  • Added Added command: resetxpbars - resets all users xp bar settings to the default (config values - requires admin).
  • Added Added permission that prevents players from appearing in the scoreboard.
  • Added Added config option for xp rounding in the UI.
Version 1.2.6 | Updated November 13, 2022
  • Added Added support for BossMonsters as an xp reward
  • Fixed Fixed swipe card xp exploit. Cards must lose durability before they award xp.
  • Fixed Fixed a NRE when using resetdata with no parameters via console.
  • Added Added support for Notify
  • Added Added failsafe to OnEntityTakeDamage so the scale can not be negative.
  • Added Added support for plugins that effect the minicopter fuel systems.
  • Fixed Fixed an issue with MaxCondition buff.
Version 1.2.5 | Updated October 22, 2022
  • Added Added failsafe from extra pockets item quantity being <= 0.
  • Added Added swipe cards as an XP source.
  • Fixed Fixed crafting xp scaling issues with workbenches.
  • Added Added support for halloween event scarecrows.
Version 1.2.4 | Updated October 12, 2022
  • Fixed Fixed an issue where the reset commands weren't firing off on a new server save.
  • Updated Changed RunResetCommands to use userIDString rather than BasePlayer class.
  • Fixed Fixed compatibility issue with scrap tea.
  • Added Added config option to change between skinIDs and URLs for caching images.
  • Fixed Fixed zombie xp
  • Fixed Fixed occasional exception error in OnItemCraftFinished.
  • Added Added new buff: Regrowth - chance to respawn a tree when chopped down.
  • Updated Changed the host of the files to Dropbox and added a check to update old URLs in the config when the plugin is initializing.
  • Updated Optimized ImageLibrary so it is not loading new images each time the plugin reloads.
  • Removed Removed chat command for stresetskills
  • Updated Changed console command: stresetskills to strespecallplayers
  • Added Added console command: strespecplayer
Version 1.2.3 | Updated October 5, 2022
  • Updated Adjusted the logic for GetXPModifier, so that permissions with modifiers < 1.0 are considered.
  • Added Added support for QuickSortExcluded exclusions
  • Added Added more filter options for skins and item names for the shredder ultimate.
  • Fixed Attempted to fix a rare issue where the node does not spawn with the stroke of luck perk.
  • Updated Updated Loot pickup perk to trigger OnEntityDeath rather than OnEntityTakeDamage to that added items from plugins (such as EpicLoot) can populate the container before loot is pulled.
  • Added Added support for SurvivalArena.
  • Added Added new ability: MaxRepair. Sets the items condition to max upon repair.
  • Added Added new ability: Durability. Reduces condition loss by x%.
  • Added Added hook: object STCanReceiveBonusLootFromContainer(BasePlayer player, LootContainer container). Returning non null prevents loot from being added to the container such as components, electronics and scrap.
Version | Updated September 20, 2022
  • Updated Adjusted InstancedData setup in an attempt to fix a rare skill point doubling bug.
  • Fixed Attempted to patch OnLootEntityEnd exception.
  • Fixed Fixed an issue with the permission for xp-loss override not being registered.
  • Fixed Fixed TrackAnimal exception error.
  • Added Added console command: stgiveitem for use with level rewards.
  • Updated Reworked LevelRewards to allow for servers to add commands that run based for specific level milestones. Example: https://pastebin.com/raw/aTV7TrxL
  • Fixed Fixed backpanel for score board.
  • Updated Made the pump bar clickable to open the skill tree menu.
  • Added Added colour to the xp drop when it has been modified by night time or rested xp modifiers.
Version 1.2.1 | Updated September 1, 2022
  • Fixed Added some additional null checks to OnCollectiblePickup to fix a rare NRE.
  • Updated Added rounding to xp pump bar.
  • Fixed Fixed an invincibility bug caused by SharkResistance.
  • Updated Added the next/back buttons on the main tree to lang.
  • Fixed Fixed a FormatException with custom currency.
  • Updated Added RemoveAnimalBuff to OnPlayerDisconnected.
  • Added Added Supply_Drop to the list of xp sources.
  • Fixed Fixed an issue with perms not resetting using the chat/console commands.
  • Fixed Fixed an issue with resetting data. Players should now get bonus skill points that were awarded outside of level points.
Version 1.2.0 | Updated August 22, 2022
  • Added Added lang to allow the respect cost currency text to be changed.
  • Added Added new perk: Craft_Duplicate. Gives the user a chance to craft an additional item.
  • Added Added support for xp for Harbor Event, Junkyard Event, Power Plant event, Satellite dish event, water event, air event, Armored trains and Convoy.
  • Added Added new tree (Underwater) with 6 new buff types: SharkResistance, WaterBreathing, SharkSkinner, DeepSeaLooter, InstantUntie, UnderwaterDamageBonus
  • Added Added ultimates for a majority of the trees.
  • Added Added fix for ExtraPockets button to appear more reliably
  • Added Added ability to have more than 3 nodes per row.
  • Added Added the ability to create your own skills using permissions.
  • Added Added API for permissions: void AddNode(string tree, string node_name, bool enabled, int max_level, int tier, float value_per_level, string buff, string buffType, string URL, object[] { string description, Dictionary> perms });
  • Added Added black list and white list for Extra Pockets.
  • Added Added API to tell if a container is an ExtraPockets container bool IsExtraPocketsContainer(uint uid)
  • Added Added API call - Func GetExtraPocketsOwnerIdProvider()
  • Added Added API call - Func GetExtraPocketsContainerProvider()
  • Added Added Night time gathering options for xp and yield increases.
  • Added Added option to limit rested xp pool amount.
  • Added Added more options for xp pump bar settings.
  • Added Added pump bar text to lang.
  • Fixed Fixed a conflict with SkillTree and EpicLoot
  • Fixed Fixed the white flicker that you get when you change panels too quickly.
  • Updated Updated the ExtraPockets buff to use recursion. Should work better with items that have containers.
  • Updated Reworked the config into categories.
  • Updated Changed woodcutting and mining item lists to allow custom items.
  • Updated Updated OnCollectiblePickup hook.
  • Removed Removed the xp command because it was not required.
Version 1.1.26 | Updated June 27, 2022
  • Added Added player setting to toggle off notifications for buffs. Can also be access via sttogglenotifications chat command.
  • Added Added option for health regen to be delayed after taking damage.
  • Fixed Fixed conflict with plugins that use bots to gather.
  • Updated Added final missing lang for the UI.
  • Fixed Adjusted the drop logic for the Extra Pockets bag so it drops on death.
  • Added Added a skin list that will not trigger the Rationer perk.
  • Fixed Fixed an issue where the player would double their stats on connection when they had been killed while offline.
  • Updated Changed the way the double bandage health buff works so it won't accidentally work with other healing methods.
Version 1.1.25 | Updated June 12, 2022
  • Added Added a few missing items to the lang file for the UI.
  • Removed Patched out trash-pile-1 as it was unintended to work with the scavenger tree.
  • Added Added null/loaded check for Cooking to prevent the NRE popping up in OnItemUse.
Version 1.1.24 | Updated June 7, 2022
  • Added Added API to prevent horses from being buffed while already buffed by Cooking or EpicLoot.
  • Updated Rearranged condition loss to fix prim buff.
  • Fixed Fixed the logic for Loot magnet so configured ranges are taken into account.
  • Added Added support for 4 new crate types
  • Added Added permission skilltree.notitles. Giving this perm removes the Betterchat titles from the player.
  • Added Added some null checks to a few BasePlayer vars.
  • Updated Special thanks to T-Bird and Zombie Land for the assist
  • Fixed Fixed a potential issue for meal duplication when using fruggal rationer with cooldown recipes in cooking.
  • Fixed Fixed an issue with items not being added to existing stacks when being collected.
  • Added Added lang support for the rest of the UI
Version 1.1.23 | Updated May 25, 2022
  • Added Add a black list option for cooking recipes, as recipes such as the bag were giving a lot of xp.
  • Fixed Fixed an issue with refined materials being given to the player in addition to unrefined materials with the smelter perk.
  • Added Added leveling reward in the form of econ/srp/scrap or custom currency.
  • Updated Changed the XP loss system to be percentage based, rather than a static value (default 50%).
  • Added Added Scoreboard into plugin, which can be accessed via a chat or console command (default "scoreboard" or "score").
Version 1.1.22 | Updated May 3, 2022
  • Updated Updated the hook for Raidable bases.
  • Fixed Fixed an issue with the ExtraPockets pouch not closing before reopening if requested.
Version 1.1.21 | Updated April 30, 2022
  • Updated Changed the ExtraPockets button so it appears over the hud.
  • Fixed Fixed an issue where rested xp values were announced even when disabled.
  • Added Added xp rewards for raidable bases based on tiers.
  • Updated Adjusted BarrelSmasher perk to exclude roadsigns.
  • Added Added config option to prevent ingredient crafting in cooking from awarding xp.
  • Updated Changed the y value for xp calculation to int. Requires value of 2 or 3 to prevent miscalculation.
  • Updated Updated Radiation_Reduction to remove radiation if set to 100% damage reduction.
  • Added Added permission that will keep ExtraPockets bag on death "skilltree.bag.keepondeath"
  • Added Added option to set starting skill point values when setting up a new player.
  • Added Added scoreboard - default commands: "sb", "score", "scoreboard".
Version 1.1.20 | Updated April 14, 2022
  • Fixed Fixed a spelling mistake for crate_normal_2
  • Updated Updated the image caching process to be more reliable.
  • Added Added hook: object STOnPouchOpen(BasePlayer player). Returning non-null value prevents the bag from being opened.
  • Added Added button for ExtraPockets buff. Can configure location in config. Can be toggled on/off via PlayerMenu.
Version 1.1.19 | Updated April 9, 2022
  • Fixed * Patched a NRE error from OnEntityTakeDamage from 1.1.18
Version 1.1.18 | Updated April 9, 2022
  • Added Added config option to wipe the ExtraPockets storage on wipe (default true).
  • Added Added console command for "pouch".
  • Updated Simplified OnGrowableGathered && OnCollectiblePickup to make it cleaner and more reliable.
  • Fixed Patched Instant gather skills for woodcutting, mining and skinning so they award the correct amounts if the player has a yield bonus.
  • Added Added hook object STOnPouchDrop(BasePlayer player). Returning non null value prevents it dropping.
  • Fixed Fixed a conflict between loot magnet and scrap tea.
  • Added Added Rested xp system.
  • Added Added xp sources for an additional 15 crate types.
  • Added Added new skill: Human_NPC_Damage - increased damage to scientists.
  • Added Added new skill: Animal_NPC_Damage - increased damage to animals.
  • Added Added new skill: Human_NPC_Defence - decreased damage taken from scientists.
  • Added Added a config option on sync skill points with the correct amounts.
Version 1.1.17 | Updated April 7, 2022
  • Updated Changed OnDispenserGathered triggers to have the appropriate chance to trigger, rather than an additional chance.
  • Added Added a config option (default: false) that requires players to have the appropriate perms in order to use certain trees.
  • Fixed Fixed an issue with the mouse curser being put into the center of the screen when leveling up or changing between screens.
  • Updated Changed the Easily Satisfied perk to include food and water, instead of just food. Also increased its value from 10% per level to 20% per level by default.
  • Added Added new Player settings menu into main UI
  • Updated Changed the Tree structure from enum to string, so you can now add your own custom trees.
  • Updated Changed the Tree structure from enum to string, so you can now add your own custom trees.
  • Added Added new buff: HealthRegen - regenerates x health per second.
  • Added Added new buff: TrackAnimal - allows the user to use the /track command in order to find the closest animal to them.
  • Added Added new buff: ExtraPockets - gives the user access to a storage pouch which is accessed via /pouch.
  • Fixed Fixed a null reference exception error that was being generated strangely in different places, if perms weren't allocated correctly.
  • Added Added API for when a player levels up - void STOnPlayerLevel(BasePlayer player, int oldLevel, int newLevel);
  • Added Added API for when a player opens up their pouch: void STOnPouchOpened(BasePlayer player, StorageContainer pouch).
  • Added Added support to the config for killing BotReSpawn NPCs (pending BotReSpawn update)
  • Added Added xp modifier option based on permissions (increase xp gain for vips etc).
  • Updated Changed interface type from Overlay to Hud for the pump bar, so it sits behind the inventory interface when opened.
  • Fixed Fixed a potential issue with the component chest buff not adding the item to the container correctly.
Version 1.1.16 | Updated March 17, 2022
  • Fixed Fixed an error around the xp hub drops, used the wrong attribute.
Version 1.1.15 | Updated March 16, 2022
  • Fixed Removed console spam caused by a debug line.
  • Added Added config option to toggle the xp drops globally by default (default is enabled)
  • Added Added a requirement for skill trees to be seen when permissions are had only.
  • Added Added perm skilltree.all to see all trees.
  • Added Added perms for each type: IE skilltree.mining allows the user to see the mining tree.
  • Added Added gutting fish as an xp source.
  • Updated Will update the players tree info when permission is granted/revoked.
Version 1.1.14 | Updated March 15, 2022
  • Added Added custom permission override for xp loss on death. Can set custom loss values based on permission.
  • Added Added custom permission override for respec cost. Can set custom respec values based on permission.
  • Added Added custom permission override for max skill points. Can set custom max skill point values based on permission.
  • Added Added config option for distance check on lootPickup buff.
  • Added Added config option to prevent the crates from working with LootPickup buff.
  • Fixed Patched an issue with Node_Spawn_Chance spawning more than the intended amount.
Version 1.1.13 | Updated March 5, 2022
  • Updated Changed the table to update on server initialized to display the correct xp values.
  • Added Added LootPickup buff. Gives the user a chance to pick up loot when destroying a barrel. Config option also available to restrict to melee weapons only.
  • Added Added Node_Spawn_Chance buff. Gives the user a chance to spawn a new node of the type they mined out.
  • Added Added option to use custom currency for respecing
Version 1.1.12 | Updated February 25, 2022
  • Updated Changed the logic around skill points being assigned to the character. Will no longer prevent leveling if the player has exceeded the maximum skill points.
  • Fixed Fixed an issue with the attacker not getting crits or extra damage.
  • Fixed Added a null check to heldEntity in OnEntityTakeDamage which was causing a null reference exception.
  • Fixed Added a failsafe in to ensure respeccing doesn't force the players points to be less than what the minimum is for their level.
  • Added Added polarbear to the default config for animal protection
  • Fixed Fixed a null references exception error in OnDispenserGather.
  • Updated Prevented xp bar from being shown if the user does not have skilltree.xp perms.
  • Updated Optimized OnEntityTakeDamage for loot barrels
  • Fixed Fixed lang issue for electronics salvager.
Version 1.1.1 | Updated February 11, 2022
  • Added Fixed console spam
  • Added Added polar bear as an xp source under Large Animal
  • Added Added option to give the player with the most xp at the end of the wipe bonus skill points the following wipe.
  • Added Added console commands for a number of chat commands.
Version 1.1.0 | Updated February 4, 2022
  • Added Added a whitelist for loot crate types to trigger the electronics, component and scrap buffs.
  • Fixed Players will no longer earn skill points if their level exceeds the cap value or max level value.
  • Fixed Fixed the CraftRefund issue.
  • Added Created 2 new trees: Vehicles and Cooking.
  • Updated Moved Easily satisfied and Iron stomach into cooking.
  • Updated Moved Amateur Rider, Expert Rider and Yactman into Vehicles.
  • Added Added xp rewards for HungerGames, ScubaArena and Skirmish arena games.
  • Added Added Sound effects for leveling, unlocking a new node and leveling an unlocked node.
  • Added Added a global black list to remove exploitative items from being used, such as bone club.
  • Updated Optimized the plugin by unsubscribing from a hook if no player possesses a skill that requires the hook to be used. Subscriptions are checked on connection, disconnection, respec, manual data reset and node unlocks.
  • Added Added option to prevent non-ripe growables from providing xp to players.
  • Added Added command: stresetalldata. This resets all player data.
  • Added Added command: stresetskills. This refunds all player skill points.
  • Added Added config option to refund skill points on wipe.
  • Updated Adjusted the level display in config to cut off at the maximum player level, unless it is set to 0, where it will default to 100.
  • Updated Updated OnDispenserGather to include a null check for heldEnttiy to prevent potential errors.
  • Updated Adjusted the xp display to round to 2 decimal places.
  • Updated Updated the power tool config options to allow for a floating value to be used instead of a bool. This is so server owners can allow for a reduced xp/yield for power tools rather than on/off.
  • Added Added config option for horse speed adjustments so server owners can specify which horse attributes are buffed when mounted.
  • Added Added API: GetExcessXP(BasePlayer player). returns a double value of the players xp above their current level.
  • Added Added API: RemoveXP(BasePlayer player, double value). Removes the desired xp from the player. Can not be reduced under the players current level.
  • Added Added a HookMethod for AwardXP method. AwardXP(BasePlayer player, double xp, BaseEntity source = null);
  • Fixed Fixed a rounding error when calculating level and xp.
  • Added Added a black list for thrifty tinkerer so specified items won't be refunded.
  • Added Added 10 new node/buff types. See buffs for more information.
Version 1.0.6 | Updated January 13, 2022
  • Added Added Hook when a player is going to lose xp from a death - object STOnLoseXP(BasePlayer player). Returning a non-null value cancels the xp loss.
  • Added Added support for EventManager to prevent xp loss from a death while at an event (configurable).
  • Added Added powertool exclusion for woodcutting, skinning and mining perks. Will still award xp if they are on the whitelist and the whitelist is being used.
  • Added Added null checks to OnDispenserBonus.
  • Updated Changed the xp to not be awarded if the powertool exclusion is set to false for a hook, and the tool is not on the whitelist.
  • Updated Added rounding for the ui display of xp.
  • Updated Changed the ST_GetPlayerLevel API to return a string[] instead. The first value will be the player level (returns the configured max level if the players level exceeds the max), and the second value will be the xp.
  • Updated Changed the player level displayed with BetterChat and on the pump xp bar to display the max config level if the player exceeds that level (if max level is > 0).
  • Fixed Fixed a bug that caused players' buffs to double in value upon reconnecting to a server that had not restarted between play sessions.
Version 1.0.5 | Updated January 9, 2022
  • Added Added Recycler Speed perk to the Scavenging skill tree.
  • Added Added check when adding a new entry to the taskMonitor Dictionary to prevent a duplication error.
  • Added Added new hook KeyValuePair ST_GetPlayerLevel(BasePlayer player). This returns the players level (int) and their current xp (double).
  • Added Added xp source for raidable base completion.
  • Added Fixed a bug that would consume any item as cost to pay the respec instead of scrap specifically.
Version 1.0.4 | Updated January 7, 2022
  • Added Added xp reward source for completing Rust Missions.
  • Added Added xp reward source for destroying Bradley, looting Bradley crates, looting Heli crates and looting locked crates.
  • Fixed Fixed a message issue with the givexp command.
  • Added Added support for receiving xp when creating a meal using the cooking plugin. XP is calculated per ingredient used (requires cooking 1.2.6 or later).
  • Added Added Hook to prevent xp gain: STCanGainXP(BasePlayer player, BaseEntity source). Returning a non-null value prevents the xp gain.
  • Added Added command to give a player skill points: /givesp .
  • Added Added config option for default xp bar placement.
Version 1.0.3 | Updated January 3, 2022
  • Added Added command: /togglebc to toggle BetterChat titles on/off for each player.
  • Updated Optimized OnEntityDismounted.
  • Updated Combined OnEntityDeath hooks that targeted BaseCombatEntity's.
  • Fixed Fixed a bug where the looted containers perks could be rolled multiple times.
  • Added Added support for ZombieHorde. Will not receive xp when killing zombies (change the Scarecrow value in the config to adjust the amount).
  • Added Added a command /movebar which allows players to relocate the xp bar.
Version 1.0.2 | Updated January 2, 2022
  • Fixed Fixed a bug with the leveling system rounding up the players current level.
  • Added Added a pumping XP bar to the current xp bar.
  • Added Added a max level colour for BetterChat.
  • Added Added a chat command to reset player data (resetdata )
  • Added Added check for players levels based on their xp/config values when the plugin loads. Will adjust player levels to match the config values based on the accumulated xp.
Version 1.0.1 | Updated January 1, 2022
  • Fixed Fixed a number of possible null reference issues.
  • Added Added extra checks to confirm the entity is a real player in a number of hooks.
  • Added Added a fail safe to the xp_sources config so it won't error if the user makes a mistake.
  • Added Added new xp sources: barrels and roadsigns.
  • Added Added support for BetterChat to display the players level in their title.
  • Updated Made it so the xp bar will display when the user connects to the server, if they have it toggled on.
  • Added Added Respec button and description to the lang file.
  • Added Added a minimum and and maximum value for component, electronic and scrap drops.
  • Fixed Fixed a rare NRE from the OnEntityMounted hook.
  • Removed Removed some test outputs that were spamming console.
  • Updated Changed the boat speed perk to use a chat command and/or mouse 3 input, depending on the config. This is due to the performance hit that OnPlayerInput can have on higher pop servers.
  • Updated Few other random optimizations.

25 thoughts on "Skill Tree"

Leave a Reply to Im the new guy go easy D
Product author
Cancel reply

Your email address will not be published. Required fields are marked *

    • Hey mate!
      The debt is a configurable setting that puts the player into “xp debt” when they die.
      This is designed to work with the lose xp on death setting, which would reduce the players xp by the specified percentage on death.
      XP debt happens when the player does not have enough xp left to cover the loss, and is instead put into debt. As the player gains xp, they reduce the debt, until they clear it and can continue to gain xp.

  1. For some reason, after the last wipe I keep getting the data wiped even if the config is set not to wipe data on server wipe. When loading the plugin, it says that oxide/data/SkillTree.json isn’t found, even if it is right there in the folder. It then wipes the contents of that file (which it obviously found somehow anyway) and starts from scratch.

    • Update to this: I found the file. It seems that the new SkillTree places the data file in an incorrect folder.

      My command line is:
      RustDedicated.exe -batchmode +server.port 28015 +server.seed 2146434659 +server.worldsize 4500 +server.maxplayers 10 +server.hostname “Tripserver” +server.description “Tripserver” +server.identity “server1” +rcon.port 28016 +rcon.password letmein +rcon.web 1 +oxide.directory “server/{server.identity}/oxide/”

      Folder structure:

      D:\rustserver\server\server1
      D:\rustserver\server\server2
      etc..

      (I have different servers for testing different maps)

      Before the latest update, SkillTree would place the data file in the correct folder (D:\rustserver\server\server1\oxide\data). But now it is placed way back in the root folder (D:\rustserver\oxide\data).

      The funny thing is that it reads the config file from the correct folder (D:\rustserver\server\server1\oxide\config) so I’m guessing this isn’t intended.

  2. Good afternoon.

    Tell me how to make a WIPE SkillTree, otherwise I delete the file, and the levels are not reset

  3. Since last forced wipe, after server re-starts, I have to re-load Skill Tree or else it tells players they don’t have permission when using commands such as /st

  4. anyone else that have error on skilltree?
    server console:
    Unable to load SkillTree. ‘IFuelSystem’ does not contain a definition for ‘nextFuelCheckTime’ and no accessible extension method ‘nextFuelCheckTime’ accepting a first argument of type ‘IFuelSystem’ could be found (are you missing a using directive or an assembly reference?) | Line: 6816, Pos: 58
    No previous version to rollback plugin: SkillTree

  5. Question, how can we lower the radius on the Deforestation skill ? i try and its still 10M i want it to be 5

  6. i have a bug in the skill tree
    Error while compiling SkillTree: ‘PlayerInventory’ does not contain a definition for ‘AllItems’ and no accessible extension method ‘AllItems’ accepting a first argument of type ‘PlayerInventory’ could be found (are you missing a using directive or an assembly reference?) | Line: 10865, Pos: 59

  7. Have a glitch going on. It spawns a million workbenches with the message: SkillTree: Spawned: workbench#.deployed over and over again.
    Thankfully, ti’s only happening on our test server, not our live server.
    But it’s swamping the server. I unloaded it and it got rid of all of them. But it stays unloaded until I can figure out why it’s doing that.

    • It only spawns a workbench when the ones in the center of the map are removed.
      Either someone is manually killing them, or something on your server is force killing them (another plugin), which would cause issues.
      These benches are required for the workbench team skill to function. You can set that skill to false to prevent the benches from spawning.

  8. Why do I have to reload the plugin after purchasing VIP to get my starting skill points? Player buys VIP, is added to group that has starting points permission, but they don’t get their points until the plugin is reloaded.

  9. I got asked a question by a player and tried to find the answer but wasnt sure-
    When using the building upgrade perk to return some of your mats, does this apply to upgrading wood walls to stone walls (I presumed not but couldnt find a definitive answer) thanks! :)

  10. all prestige levels got wiped out on wipe. causing major issues. people are getting UI overlay stuck on when they click prestige button.

  11. Every time I try to use the command /st or try /skilltree I get a notification “you do not have permission to the Skill Tree. I’ve set permissions through Admin Menu for chat and given permissions to All and XP. The XP is listed when hitting a tree or killing animals and the display shows my level. I’m at a loss. I’ve tried removing permissions from everyone else on the server just to make sure that wasn’t a conflict. I’m at a bit of a loss.

  12. if i want to change the xp bar offset to left bottom corner instead of to the right, what values should i use ? Where can I read about exactly where the text will come in-game ?

    Default xp bar offset – this is for any new player connecting to the server”: {
    “min_x”: -365.713,
    “min_y”: 10.0,
    “max_x”: -212.0,
    “max_y”: 30.0
    },

  13. Good day. Will there be a lang file? I would like to translate the plugin into my native language.

Plugin FAQ – How do I use this .zip/.7z file I just purchased on my server?

• First, you want to unzip the file. You can do so by just double-clicking it to open, then drag the contents to the desired location (you may need to install an external unzipping software if you don’t already have one such as 7zip or winrar)
• Next you will find either a structure of folders or just the .cs file itself (it’s the actual plugin file itself).
• After that just install the .cs (plugin file) into your …/oxide/plugins/ folder where you will install plugins you ever need to.

Additionally, here’s a great video that easily covers adding a plugin to your server if you need! https://youtu.be/yWC_p97FhQA

• Installation is not included with any products on the site, however, if needed we may assist if you reach out to our support.

Currently all products on Lone.Design will be contained within a zipped file which is the .7z or .zip that you see. I believe windows 10 and up can unzip on its own without 3rd party tools, but in that case, if you’re unfamiliar with zipped files here are 2 programs I recommend to easily unzip zipped files.

Video On How to Zip and Unzip: https://youtu.be/Ep-L3PjBPCk (TechInsider Youtube Channel)

Zipping/Unzipping Tools
Winrar https://www.rarlab.com (I used to use for years, but works great!)
7zip https://www.7-zip.org/a/7z2107-x64.exe (the one I use currently)

Product Enquiry

Please Login to make enquiry about this product