Stuyk

Talent - Skillcheck Handler and Database

Recommended Posts

sdXARr5.png

What?

It's a pen and paper style skill check handler for your server. Think D&D.

EcymSM1.png

Why?

If you're looking to try a different flavor for the server you're developing this may interest you. This will allow you to run skill checks for four attributes across players on your server. The attributes are Endurance, Strength, Intelligence, and Charisma. What these attributes allow you to do is deeply dependent on your server.

Where would I use this in my Scripts?

A good example I've found is lock picking. Let's start with saying that the number we need to beat is 15. Generally speaking people who lock pick might have some Intelligence. Essentially if you have a low talent score on your intelligence such as '5' you will only be getting '+1' to your Intelligence check roll with a '5' divisibility setting for this plugin. Which means we take our talent score and divide it by our divisibility and add a d20 or 20 sided dice roll to our talent score. 

That generally looks like: d20 + (talent score int / divisibility) = final score.

If our final score is greater than the check required to pick the lock it will succeed.

Skillcheck.CheckIntelligence(Client client, int scoreToBeat);

or

Skillcheck.CheckIntelligence(client, 15);

What about saving the sheets?

The script mostly handles it for you with LiteDB. There's even a settings.json that sets itself up. You can use the following to create / load your sheets.

// This will setup a new sheet.
CharacterGen.SetupNewSheet(Client client, int strength, int intelligence, int endurance, int charisma, bool randomize, bool save);

// This will return a integer modifier for a talent score.
CharacterGen.GenerateModifier();

// This will load a talent sheet based on the client connected.
CharacterGen.LoadTalentSheet(Client client);

How can I play with this?

I've included a few commands with the plugin that can be disabled or should be disabled on actual usage.

/checksheet, /loadsheet, /savesheet, /newsheet

Where to grab it?

https://github.com/Stuyk/Talent/releases/

How do I install it?

Create a folder in 'bridge/resources' and call it 'talent'.

Add 'talent' to your settings.xml in the bridge folder.

<resource src="talent" />

Create a meta.xml file inside of 'bridges/resources/talent'.

Include the following text:

<meta>
<info name="talent" type="script" />
<script src=".\Talent.dll" />
</meta>

 

If any of your scripts use Talent add the following to their meta.xml

<include resource="talent" />

 

Edited by Stuyk
  • Like 1

Share this post


Link to post
Share on other sites

Updated:

- Added Debuff Modifiers
- /checkdebuffs
- Debuffs lower your ability score.
- All SkillChecks now ask what to do to the user if they fail. + or - depending on what you want to do.

https://github.com/Stuyk/Talent/releases/tag/0.0.2

 

Example Plugin for Talent:

// Load the character talent sheet if it doesn't exist. Probably set this up for Server login methods.
if (!client.HasData("TalentScoresheet"))
  CharacterGen.LoadTalentSheet(client);

// Find a vehicle near the player.
Vehicle vehicle = NAPI.Pools.GetAllVehicles().Find(v => v.Position.DistanceTo(client.Position) <= 5);

// Vehicle doesn't exist? Don't go any further with the script.
if (vehicle == null)
  return;

// Run the skill check and subtract 1 from the player's modifiers if they fuck up.
bool skillCheck = Skillcheck.CheckIntelligence(client, 15, -1);

// If they succeed on their skill check unlock the vehicle.
if (skillCheck)
{
  vehicle.Locked = false;
  client.SendChatMessage("~g~Vehicle successfully unlocked.");
  return;
}

// Let the player know they fucked up.
client.SendChatMessage("~r~Vehicle unlock failed. You have taken a -1 to your intelligence modifier due to frustation.");

Example of Plugin in Action for Talent:

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.