Jump to content
  • entries
    4
  • comments
    0
  • views
    22,956

S³(f) - Documentation - Getting started...


ag12

3,014 views

Skyrim Slavery System - framework

...will take you captive

 

Documentation

Getting started...

 

 

 

Overview

 

In this blog entry I will teach you the basics of working with the S³(f). It will cover the most basic things, such as getting the script properties right and some examples for easy tasks. I'm assuming that you are familiar with the CK and now the common sources of tutorials.

 

Script Properties

 

For any script to access to framework's functions, it will have to have the script properties set right. If you want all functions to be available in your script, add

Sx3fscrFunctions Property sx3functions AutoSx3fscrGlobal Property sx3functions AutoSx3fscrEconomy Property sx3eco AutoSx3fscrStats Property sx3stats Auto

Assign all these properties to the quest Sx3qGlobal.

 

Now some more details on what these scripts include.

 

Sx3fscrFunctions is the most important script. It offers a wide range of basic functions, such as .EnslaveNPC and .ClearSlave.

Sx3fscrGlobal is a conditional script, offering you the chance to e.g. check wether the player has selected a slave for further processing.

Sx3fscrEconomy keeps most functions that involve the trading of slaves, such as .SellSlave.

Sx3fscrStats is mostly just keeping track of the player's slavery skill and some other stats. The only really important function here is .GainSlaverXP.

 

As you can see, I have divided the function scripts into different parts. Be advised: I might put functions into different scripts at some point, but will announce that in the changelog. You will have to adjust your scripts then.

 

Example 1: Quest: Get my slave back!

 

So, let's assume that a slave has run away from his master and you are sent to retrieve said slave. Here is what you'd have to do!

 

Step 1: Create the Quest NPC and the runaway slave NPC. Put them in their places in the world and add the proper packages. You have to figure out how to do that by yourself; there are plenty of tutorials on that.

 

Step 2: Create the proper dialogue and quest stages that send you on your mission. S³(f) only comes into play once you reach the runaway slave.

 

Step 3 (optional): Create a custom method of enslavement for the runaway slave. You could, for example, create custom dialogue, a puzzle or whatever else comes to your mind. Use the function

sx3functions.enslaveNPC(Actor akSlave, Bool capture, bool stealthy)

and insert the appropriate values. akSlave should obviously be the runaway slave. Capture should be true and stealthy depends on your way of handling the enslavement progress.

 

Of course, you don't need to do this step, since you could just rely on S³(f)s normal way of enslaving the runaway: by means of paralyzing or bleed-out capture.

 

Step 4: Add the dialogue for finishing the quest. The conditions that you need to check are

GetVMQuestVariable Sx3qGlobal selected == 1

to check wether the player has selected a slave and

GetDistance runawaySlave < 512

to make sure that the player has brought the appropriate slave back. I will add a more comfortable variable later, but this should work just fine.

 

Here are some dialogue examples:

 

If selected equals 0: "You have not told me which slave you mean."

If selected equals 1 but the GetDistance fails: "This isn't the slave I'm looking for. Retrieve my slave!"

If everything is achieved: "Thanks a lot."

 

You get the point.

 

Step 5: Add rewards and do the clean up

 

You will probably want to add either a gold or an item reward; you know how to do that. Otherwise check the official tutorials.

As for the slaver XP: Use

sx3stats.GainSlaverXP(Int akAmount)

to reward the player with slaver XP. Don't be too generous. 50 might be a good starting point for an easy quest.

 

Last, but not least, you will have to remove the slave from the player slave slots:

sx3functions.ClearSlave(Actor akSlave)

You have just finished your first slavery related quest! Isn't that awesome? (Hopefully, I didn't mess things up!)

 

 

 

More tutorials will follow

0 Comments


Recommended Comments

There are no comments to display.

×
×
  • 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. For more information, see our Privacy Policy & Terms of Use