You must set the ad_network_ads.txt file to be writable (check file name as well).
NWN2 Secondary Skills System [Archive] - Thieves-Guild.Net - Your Portal to everything Neverwinter!

PDA

View Full Version : NWN2 Secondary Skills System


Depth of Night
02.16.09, 22:15
Ok, so I caved, I been working on this the past few days, and I need to do something stupid like announce it.

To be honest, I really need some suggestions getting chucked my way, I'm trying to make the whole system as totally superb as I can, and would really love some feedback on what I have done to date.

I setup a proboards forum, detailing my progress, I'll make sure to add the url to my signature before I log-off from here.

The system is a little more complex than the simple skill variant in D&D 3.5, and the true target for this mod is CNR - which is yet another project I'm thinking of sliding into sometime soon. That said, the framework of what I have planned could easily be used to house just about any scheme that requires skill advancement, sure, it has it's limits, but my hope is that these are sparse enough to allow for use in a very wide set of circumstances.

By all means check out my web page, and feel free to sign-up / comment (sorry - no guest posting - I'm trying to keep the spam away...)

A couple of screen shots....

http://img8.imageshack.us/img8/9661/nwn2ss021709122926az6.th. jpg (http://img8.imageshack.us/my.php?image=nwn2ss021709 122926az6.jpg)
http://img8.imageshack.us/img8/6508/nwn2ss021709124331gh9.th. jpg (http://img8.imageshack.us/my.php?image=nwn2ss021709 124331gh9.jpg)

These are some pretty up-to-date screen-shots taken no more than an hour or so before I made this post, right now - a lot of things are in flux with the project, things I made 4 or 5 days ago will possibly be totally removed from the project, this is because of my shift from standard local variables to NWNx4 and persistent variables, the whole process forced me to readdress so many issues.

I'm sure with a bit of input from a community, I can make a really great little addition to the vault here. I'd really appreciate any constructive comments you might have :)

EDIT: A list of the core library prototypes can be found here : Core Library Prototypes (http://ssscnr.proboards.com/index.cgi?board=sss&action=display&thread=7)
I'm actually looking for more ideas, and ways to improve this system, so speak up if you think you see something kewl I can do.

Depth of Night
02.17.09, 11:53
Been working on this a fair bit over the last 12 hours, got heaps done, only one tab left to do, thought I would give an updated screen shot....

http://img95.imageshack.us/img95/2465/nwn2ss021809034831ec8.th. jpg (http://img95.imageshack.us/my.php?image=nwn2ss021809 034831ec8.jpg)

cal1s
02.17.09, 12:00
alright,
first of all, what you're doing there looks pretty complicated. but to be honest i have to admit i dont quite understand what you're doing there and still couldnt figure out the purpose behind this.

back in 2003 i dealt with creating worlds in with the toolset. built cities, quests and so on. so i'm somewhat familiar with the whole toolset/dm tool section. but i have never seen anything like this before.

please could you generally describe what you're doing?

let me btw check out why you cannot add url in the sig

cal1s
02.17.09, 12:03
alright, an url in your signature should be possible again :)
sorry for that

Depth of Night
02.17.09, 12:57
ok - well I guess it is not so totally obvious, the purpose behind this little set of GUI and script libraries I'm working on.

In it's simplest form, the Craftable Natural Resources module had some additional skills, ones that grant a player some unique or wonderful power/ability that would allow them to enchant their home made sword just by throwing a chunk of gold in it.

What I am doing is very similar to that, in as much that admin of persistent worlds can add additional skills, which will level independently of the characters combat level.

The way I'm working it is so that the product I'm swinging together will actually have no additional skills in it, and just be a frame work for others to build their own skills into it.

This sound pretty useless yes?

Well my plans go far beyond this, the first example of CNR I used above is just a hint that I intend using this skill system (when I've got the basics framework done) to setup some crafting and harvesting skills primarily directed at CNR.

I also have a third phase in my plans, but they are a long way off yet, and that is to totally rebuild the CNR system, this third phase is still in consideration however, and for my current purposes is beside the point.

My project is two fold:
1) Provide a Secondary Skill Framework, which could be used as much for crafting and harvesting as it could for a custom magic system, perhaps, even combat (though I personally feel the current combat mechanics are sufficient).
2) Provide a good example of the framework in action.

My ETA for the framework (and I hate putting dates on things) would be roughly April for a full release, though Beta's may arrive earlier which will need to be bullet proofed in non-critical NWNx4 environments.

The actual library of scripts for the skills has actually been finished (atleast to V0.01.00), all that is remaining now is for the GUI's to be made.

The original library will no doubt be rewritten to support many more features, depending on demand, as it stands, it is still fairly spartan.

The GUI's you see in the above screen shots are from the the DevTools, while you can enter these values through scripted commands, I've been struggling to produce an easy to use GUI that can make the whole job a lot easier.

The skills themselves (not the Dev Tools) hook into the character view screen (press c in game - go to skills, and there will be a little button at the bottom to open your skill screen) this GUI was where I started, when it became apparent to me I was trying to run water back up the tap so to speak, I restructured the whole lot and started building from the server side down.

For the actual Database Tools themselves - I could have an Alpha out in just a few more hours, there remains only one more GUI screen to do, and as mentioned - the script library is complete.

I got more to say, but time is pressing, and I really want to get this finished before it gets to late (5AM here right now).

EDIT:
I copied and pasted this from my dev forum, it is the rough description of how I perceived the skill system working from before I even started to work on script or gui...

A base amount of experience will be tweakable with a variable in an include file, allowing for direct manipulation of the amount needed to advance, the default value will be 100.
Every skill will have a rank, the amount of experience needed to advance will further be multiplied by this value, hence a rank 6 skill will require 600 experience with the default values (6x100).
Another tweakable variable will determine how exponentially the skill will increase, the default value is 4, and if it take 600 experience to get to lvl 1, it will take 2400 (4 x 600) to get to lvl 2, a total of 3000 points from lvl 0 to lvl 2. To get to lvl 5 (lvl 5 being the last tier of the skill) of a rank 6 skill will require 600 + 2400 + 9600 + 38400 +153600 = 204600 experience.
Each skill may require up to 3 other skills before it can be trained, so that, for example, Advanced Copper Mining, might require lvl 2 in Copper Mining, and lvl 5 in Mining before the player can train it to lvl 0.
Skills are categorized, such as Advanced Copper Mining, Copper Mining, and Mining would all be under the Mining category.
Skills require initial training to get to lvl 0, so that the player must pay to learn a new skill, prices are variable, even though a base price is stored with the skill, this may fluctuate in game, new skills will be awarded through the use of a special command found in an include script.
It will also be possible to award/revoke experience in similar fashion, as well as levels.


EDIT 2: I've got this to a very early alpha stage, to early really to release today - I'm getting tired, and thinking of wrapping it up, tomorrow will be a relaxing pace compared to today, should be very little to do except general tidying up and some minor tweak before I can make the shell available - keep in mind this is only one of the components of the system at large - and if I make it available it really would only be a preview of what is yet to come.

cal1s
02.17.09, 17:58
thank you very much for your detailed description.
i think many of us can now imagine what this is all about.

Depth of Night
02.18.09, 21:46
Still tidying this up, used a prefab off of the vault as a DM staging area, doing a few final touches on the GUI's as well as using some hi-grade surface sprays on the bugs.

http://img5.imageshack.us/img5/9459/nwn2ss021909133914er9.th. jpg (http://img5.imageshack.us/my.php?image=nwn2ss021909 133914er9.jpg)

cal1s
02.18.09, 21:51
keep up the incredible work mate
if you should need prefab areas. we do host a few very interesting prefabs. go here (http://www.thieves-guild.net/index.php?ind=downloads&op=section_view&idev=14)

Depth of Night
02.21.09, 04:53
I've put a preview up on the vault, the link is here: Secondary Skill System Preview (http://nwvault.ign.com/View.php?view=NWN2Scripts .Detail&id=271).

It's a long way from finished, and at its current development phase I'd strongly recommend not using it on any live setup of NWNx4, it features a DROP TABLE sql command which I'm still not 100% certain is safe from hacking by players(see below), if you want to have a look at how it is coming together you are now all more than welcome to take a glance at it.

Some things to keep in mind though, the skills editor page is not implemented, and the categories editor page is bugged up bad, the admin section is now functional - and I hope that I have weeded all the bugs out of it for good.

All in all - I think it is moving along nicely, thanks for the support Cal1s, its been really appreciated.

Anyhow - I hope to spend the rest of the night fixing up the category editor, and moving on to the skills editor if I manage to satisfy myself with it. ;) thanx for the space to announce, I'll be back later with more updates on my progress.

EDIT: TBH - I've done nothing in the way of securing it properly, my main concern is to get this module functioning, though I before I make this live it is my intention to have it as secure as I can do.

cal1s
02.21.09, 07:58
nice work!
congratulations on your alpha version(beta version?).

a drop table hack could be very damaging though :)

we're looking forward seeing the final product. tg.net can also host a copy in the download section if you then wish so ... we got decent traffic here ;)

keep it up mate!

Depth of Night
02.22.09, 04:16
After having a lengthy discussion with some database gurus (lol - well they knew a lot more than me) - I am actually rebuilding this all over for a 5th time from the ground up, using proper methods of security, the actual Database editing tools will be contained in a separate module that never even becomes a part of the PW environment now, keeping the nasty little DROP TABLE commands a long way out of reach of a potential hacker that figures some way of firing scripts on the server.

With this final step on improving the security features, I've also chosen to directly integrate the module with MySQL databases, maybe later I will do ports to other popular database environments.

Now, I've really got to get on with this - I'm back pretty much to square one, and am starting to feel the stress of the constant restarts :p

cal1s
02.22.09, 09:03
i hear ya.
good to know your working on the security aspects as well now.
i once heard some SQL hacks involved putting a ";" in a textbox was enough to hack the system since the database acknowledged that as a command. this way it was totally easy to infiltrate the database.

if you happen to have textboxes you might also want to rule out that possibilty. but i guess current versions of mysql etc do not allow commands to be executed that way.

still wanted to let you know ...

Depth of Night
02.24.09, 02:58
Actually Cal1s that is still a potential flaw in mysql commands sent to the DB, something that needs to be sorted out by middle ware. It is one of the reasons this is taking longer than I had originally expected.

On a side note, the admin section of this mod has expanded exponentially, and as such I'm thinking of shifting it to its own space, since it really will be a mod of its own in it own right.

Stripping out the main admin section, I can get this system going much sooner (as planned) - the admin section is going to take a lot longer however, and is more looking to be one of those projects I never really finish to my own satisfaction.

EDIT: Also - I'm expanding the dependencies section to not only include other skill, but also Ability Scores, Levels, Feats, perhaps even known spells.