Jump to content
Message added by xNullPointer95,

If you like the plugin, I would be very happy about a ⭐⭐⭐⭐⭐ Rating  🙂

Thank you ❤️

c7b9cdb2545db330bfc0572256863151.png?size=64

⤤ Discord ⤣

8 Screenshots

  • 8.9k
  • 160
  • 173.16 kB

About Skill System

xSkillSystem

xSkillSystem adds an RPG-style leveling experience to your gameplay. Whether you're chopping wood, mining for ores, or battling wildlife, every action earns you XP and helps you level up specialized skills. XP Table was testet properly and it should be fine. There are gather rates impact which are configurable and also a passive HP regen for skill "Vitality" depending on its level which is also configurable. Comes with an external config editor!

 

c7b9cdb2545db330bfc0572256863151.png?siz 

» Discord «

 

⚠️ PLUG&PLAY PLUGIN, but configs are available to adjust it to your needs ⚠️

 

✅ Built in image caching/reading (ImageLibrary is NOT needed) => Automatic skill icons download and placement.

 

📜 Skills: Each player starts at Level 1 in every skill and levels up through regular gameplay. Here's what you can master:

  • Woodcutting – Chop trees. (Configurable Gather Rates depending on Level)
  • Mining – Dig deep and extract valuable resources like stone, metal, and sulfur. (Configurable Gather Rates depending on Level)
  • Gathering – Pick up natural items from the environment. (Configurable Gather Rates depending on Level)
  • Slayer – Hunt animals, kill NPCs and fight players.
  • Skinning – Skin downed animals for XP. (Configurable Gather Rates depending on Level)
  • Building - Gain XP by building, upgrading, deploying etc.
  • Crafting – Gain XP as you build tools, weapons, and other items.
  • Vitality - Gain XP by using medical syringes & bandages (Configurable passive HP regen depending on Level)
Spoiler

skillz.png

 

🏆 Custom Level Rewards

Spoiler

v1.1.6 UPDATE

This update introduces a more powerful and customizable reward system for skill level-up's.
Server owners now have full control over level rewards and can assign a specific command and a custom reward message to any level of any skill.

By default level rewards are disabled, you need to enable it "EnableLevelRewards": true

Check config file (You can add as many blocks/rewards as you want. You can also add new skill blocks for other skills this is just the default to get into it):

> PLAYERID = SteamID from Player

> PLAYERNAME = Ingame Displayname

If needed, define a "RevokeCommand" - RevokeCommands will get executed if "ResetDataOnWipe" is set to "true", so, before player saved data gets deleted, the RevokeCommands gets executed.

sc.png

 

ShowLevelRewardMessage looks ingame like this if enabled:

chat.png

 

🔥 Double XP Weekends

Spoiler

Level up twice as fast every Friday evening through Sunday!

> Friday 8p.m. - Sunday 12p.m. (UTC +2)

See the attached double-xp image (the green arrow up is indicating that the DXP event is running)

 

💡 Commands

Spoiler

Use /skills to view your current levels and progress.

Use /stats <playername> to view others' skills.

Use /lb to see the leaderboards and find out who's on top!

🔥 !! ChatCommands are configurable !! 🔥


📹 Plugin Preview (Old preview video, there is already much more):

Spoiler

 

 

📝 External Config Editor

Spoiler

Visit Website for the external config editor and load you xSkillSystem.json config file: https://xskillsystem.gg-projects.io/

Screenshot-2025-12-29-193351.png

 

ℹ️ Config

Spoiler

Config descriptions can be found HERE or in the extern config editor when doing a mousehover over the Screenshot-2025-12-29-192546.png icon beside the config text.

{
  "GlobalStats": false,
  "ResetDataOnWipe": false,
  "ShowSkillsIconAtLeftBottom": true,
  "EnableGatherRateBySkill": false,
  "GatherRateIncreasePerLevel_Woodcutting": 0.1,
  "GatherRateIncreasePerLevel_Mining": 0.1,
  "GatherRateIncreasePerLevel_Skinning": 0.1,
  "GatherRateIncreasePerLevel_Gathering": 0.1,
  "MaxGatherRate": 10.0,
  "PowerToolsXpPercent": 60.0,
  "UsePowerTools100PercentWithPermission": false,
  "ShowLevelUpPopup": true,
  "ShowXPPopup": true,
  "ShowXPPopupIcon": true,
  "XPPopupDurationSeconds": 1.5,
  "XPPopupColor": "#e89425",
  "LevelUpTextColor": "#e89425",
  "ShowGlobalLevelUpMessage": true,
  "GlobalMessageColorUsername": "#fcb74e",
  "GlobalMessageColorLevel": "#fcb74e",
  "GlobalMessageColorSkill": "#fcb74e",
  "GlobalMessageColorText": "#f08000",
  "DoubleXPTimesEnabled": true,
  "Commands": {
    "Skills": [
      "skills"
    ],
    "Stats": [
      "stats"
    ],
    "Leaderboard": [
      "lb"
    ]
  },
  "WoodcuttingXP": {
    "wood": 25
  },
  "MiningXP": {
    "stones": 75,
    "metal.ore": 150,
    "sulfur.ore": 175,
    "hq.metal.ore": 300
  },
  "SkinningXP": {
    "skinning": 90
  },
  "GatheringXP": {
    "collectible": 725,
    "selfgrown": 1250
  },
  "SlayerXP": {
    "chicken": 25,
    "boar": 75,
    "deer": 60,
    "wolf": 150,
    "stag": 70,
    "bear": 250,
    "default": 100,
    "crocodile": 850,
    "snake": 225,
    "panther": 650,
    "tiger": 650,
    "player_and_npcs": 1500
  },
  "CraftingXP": {
    "Build": 5,
    "Items": 2,
    "Resources": 1,
    "Clothing": 5,
    "Tool": 20,
    "Medical": 12,
    "Weapon": 18,
    "Ammo": 8,
    "Electrical": 6,
    "Component": 4,
    "Common": 2
  },
  "BuildingXP": {
    "block_place": 20,
    "upgrade_wood": 25,
    "upgrade_stone": 40,
    "upgrade_metal": 60,
    "upgrade_hqm": 100,
    "deployable": 15,
    "electrical": 20,
    "trap": 30,
    "turret": 60,
    "cupboard": 50,
    "door": 20
  },
  "VitalityXP": {
    "EnableXPPopup": true,
    "EnableHPRegen": false,
    "XPPerMedicalUse": 20.0,
    "HPRegenPerLevelPerSecond": 0.01,
    "MaxHPRegen": 5.0
  },
  "XPBaseTarget": 275,
  "XPTargetPerLevelIncrease": 85,
  "LevelRewards": {
    "EnableLevelRewards": false,
    "ShowLevelRewardMessage": true,
    "AutoClaimRewards": false,
    "LevelRewardCommands": {
      "Woodcutting": {
        "9": {
          "Command": "o.grant user PLAYERID xpermission.use",
          "RevokeCommand": "o.revoke user PLAYERID xpermission.use",
          "RewardMessage": "You received a permission to use '/xpermission' !"
        },
        "15": {
          "Command": "o.grant user PLAYERID xslowmodechat.vip",
          "RevokeCommand": "o.revoke user PLAYERID xslowmodechat.vip",
          "RewardMessage": "You unlocked slow-mode chat VIP!"
        },
        "34": {
          "Command": "supply.call",
          "RevokeCommand": "",
          "RewardMessage": "You triggered an airdrop event, it can take a while to land..."
        }
      },
      "Mining": {
        "5": {
          "Command": "inventory.giveto PLAYERID wood 1500",
          "RevokeCommand": "",
          "RewardMessage": "You received 1500 wood!"
        },
        "20": {
          "Command": "env.time 10",
          "RevokeCommand": "",
          "RewardMessage": "You set the server time to 10 o'clock!"
        },
        "26": {
          "Command": "o.grant user PLAYERID xnullpointer95.use",
          "RevokeCommand": "o.revoke user PLAYERID xnullpointer95.use",
          "RewardMessage": "You unlocked permission xNullPointer, great!"
        }
      }
    }
  },
  "DoubleXPTimes": [
    {
      "Day": "Friday",
      "StartHour": 20,
      "EndHour": 24
    },
    {
      "Day": "Saturday",
      "StartHour": 0,
      "EndHour": 24
    },
    {
      "Day": "Sunday",
      "StartHour": 0,
      "EndHour": 24
    }
  ]
}

 

🛡️ Permissions

Spoiler

xskillsystem.powertools100%

  • Purpose: Allows players to receive 100% XP from power tools (chainsaw, jackhammer and krieg chainsword).
  • Used only if UsePowerTools100PercentWithPermission = true in the config.
  • Without this permission, power tools give reduced XP based on PowerToolsXpPercent.

 

🌍 Language

Spoiler
{
  "Prefix": "<color=orange>[xSkillSystem]</color> ",
  "Cmd_Stats_Usage": "Usage: /stats <playername>",
  "Cmd_Stats_PlayerNotFound": "No player found matching '{0}'.",
  "Cmd_Stats_NoSkillData": "That player has no skill data yet.",
  "Rewards_NoneConfigured": "<color=red>No level-up rewards configured or level-up rewards disabled.</color>",
  "Rewards_NeedLevelToClaim": "<color=#f5ac02>You need level <color=#e3bb5f>{0}</color> in <color=#e3bb5f>{1}</color> to claim this reward.</color>",
  "Rewards_AlreadyClaimed": "<color=red>You already claimed the level {0} reward for {1}.</color>",
  "Rewards_AutoClaimed": "» <color=#f5ac02>Level reward automatically claimed!</color>\n» <color=#f5ac02>Skill: <color=#e3bb5f>{0}</color> | Level <color=#e3bb5f>{1}</color></color>\n» <color=#f5ac02>Reward: <color=#e3bb5f>{2}</color></color>",
  "Rewards_ClaimedManually": "» <color=#f5ac02>Level reward for achieving level <color=#e3bb5f>{0}</color> in <color=#e3bb5f>{1}</color></color>!\n» <color=#f5ac02>Reward: <color=#e3bb5f>{2}</color></color>",
  "UI_Rewards_Title_LevelRewards": "» Lᴇᴠᴇʟ Rᴇᴡᴀʀᴅs «",
  "UI_Rewards_Title_Rewards": "» Rᴇᴡᴀʀᴅs «",
  "UI_Rewards_Header_Skill": "Skill",
  "UI_Rewards_Header_Claim": "Claim",
  "UI_Rewards_Header_Level": "Level",
  "UI_Rewards_Header_Message": "Reward Message",
  "UI_Reward_ClaimButton": "CLAIM",
  "UI_Reward_ClaimedButton": "CLAIMED",
  "UI_Leaderboard_Header_Name": "Name",
  "UI_Leaderboard_Header_Rank": "Rank",
  "UI_Leaderboard_Header_Level": "Level",
  "UI_Skills_Title": "Sᴋɪʟʟs",
  "UI_Skills_Woodcutting": "» Wᴏᴏᴅᴄᴜᴛᴛɪɴɢ «",
  "UI_Skills_Mining": "» Mɪɴɪɴɢ «",
  "UI_Skills_Gathering": "» Gᴀᴛʜᴇʀɪɴɢ «",
  "UI_Skills_Slayer": "» Sʟᴀʏᴇʀ «",
  "UI_Skills_Skinning": "» Sᴋɪɴɴɪɴɢ «",
  "UI_Skills_Building": "» Bᴜɪʟᴅɪɴɢ «",
  "UI_Skills_Crafting": "» Cʀᴀғᴛɪɴɢ «",
  "UI_Skills_Vitality": "» Vɪᴛᴀʟɪᴛʏ «",
  "UI_SkillLabel_GatherRate": "Gᴀᴛʜᴇʀ Rᴀᴛᴇ",
  "UI_SkillLabel_HPRegen": "HP Rᴇɢᴇɴ",
  "UI_Healing": "Hᴇᴀʟɪɴɢ...",
  "GlobalLevelUpMessage": "<color={0}>{1}</color> <color={2}>has reached</color> <color={3}>level {4}</color> <color={2}>in</color> <color={5}>{6}</color><color={2}>!</color>"
}

 

 

 👥 API

Spoiler
// Gives a player a specific amount of XP in a specific skill. Valid Skills: Woodcutting, Mining, Gathering, Slayer, Skinning, Crafting
public void GiveXP(BasePlayer player, string skillName, ulong amount)

// Returns a specific skill level of a player
public int GetSkillLevel(BasePlayer player, string skillName)

// Returns the current XP amount of a specific skill level for a player
public ulong GetSkillXP(BasePlayer player, string skillName)

// Sets a level for a specific skill of a player (Considers XP & XP_Target)
public void SetSkillLevel(BasePlayer player, string skillName, int level)

// Resets a specific skill level of a player
public bool ResetPlayerSkill(BasePlayer player, string skillName)
  
// Resets all skill levels of a player
public void ResetAllSkills(BasePlayer player)
  
// Returns if the double xp weekend is currently running (true or false)  
public bool IsDoubleXPWeekend()
  • Like 3
  • Love 1

xNullPointer95's Collection

User Feedback

2.2m

Downloads

Total number of downloads.

10.1k

Customers

Total customers served.

146.1k

Files Sold

Total number of files sold.

3.1m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.