Jump to content
Tsukihime

Skill Select system

Recommended Posts

This script is no longer supported.

Consider trying Yami's Skill Equip script: http://forums.rpgmakerweb.com/index.php?/topic/6727-skill-equip/

 

Gl0LN.jpg

 

Introduction

 

This system extends the default skill system by restricting players to only a select number of skills that they can bring into battle. The restriction applies only during battle; you may use any skills you want outside of battle.

 

There are two types of selection skills:

-active

-passive

 

Active skills are skills that take effect only when you use it, while passive skills are constantly in effect as long as they are equipped.

 

Passive skill effects currently are not implemented so the only thing you can do is equipthem and do nothing with them.

 

Features

 

-Skill selection setup

-skillpoint costs for each skill, along with skillpoint growth for actors

-Active/passive skills are optional; normal skills are available in battle by default

-passive skill effects: activated when passive skill is equipped

-multiple skill sets. Easier to set up your actors rather than having to re-equip all skills depending on the situation.

-passive effects can alter all parameters, party effects, and special effects.

 

Note: In order to use passive effects with skills, you must have the "FP Passive Effects" script which provides functionality for passive effects.

 

Usage

 

Copy the script.

Make some configuration changes if necessary

 

For each skill that requires skill selection, you have to add in the notebox

<select: type>
<sp: 20>
Where type is one of "passive" or "active" without quotes.

Sp specifies the skillpoint cost for that skill, and is optional.

 

In each actor's notebox, you can set the growth levels for the max number of active or passive skills using the following syntax

<max active>
1:1, 5:2, 10:3
16:4
23:5
</max active>
Where each pair of values represents level and max_skills that you can use. The same applies to passive skills, except it's "max passive".

 

You can specify the amount of skillpoints you start with as well as the amount of skillpoints you receive per level.

<SP: (level * 3) + 23
Note that "SP" must be in capital, and "level" must be lower-case.

 

Passive skills have the option of enabling passive effects if you are using that script. Otherwise they do basically nothing.

 

More instructions at top of script.

 

Screenshots

 

Here's a list of skills I have

 

rqkVH.jpg

 

 

Here are the skills I've selected for battle

 

1po82.jpg

 

 

And now we only have the skills we selected available

 

TyJ6T.jpg

 

 

Download

 

Script: http://db.tt/EFKKg9NW

Passive Effect add-on: http://db.tt/sLjZfBjf - required for passive skill effects (otherwise they do nothing)

 

Demo: http://db.tt/gynVBYrl

Edited by Tsukihime

Share this post


Link to post
Share on other sites

This looks rather promising. May I have a few ideas/suggestions?

 

- Skills should have an equip cost. Such as Fire I costs 2 points, Fire II costs 4 and Fire III costs 7, while a character can equip (5+his/her level) points worth of skills.

 

- There should be multiple skillsets, and you should be able to change between them in battle, using a turn (resetting passives).

 

I'm looking forward to what it'll turn out to be.

Share this post


Link to post
Share on other sites

I like the equip cost. Some ideas for implementation

 

-players will be able to customize how many points they have (such as growth rate per level)

-a script call will be included so that you can create items that boost how many points you have, or completing events will give you more points, etc.

-skill cost will be specified in noteboxes for each skill. In fact, I just learned that there's a notebox in the "class" tab where you specify conditions for learning a skill. It may be possible to set different skill costs for different classes. This would allow you to say things like "soldiers are more proficient with certain attacks and less proficient with magic"

-skill cost may be reduced through special effects (eg: equip an item)

-developers will have the option of choosing which restrictions they want. Possibly both.

 

If both restrictions are used, the cost will be in addition to the max number of skills you can actually equip. So not only are you limited to say, 2 skills, you might not be allowed to choose your 2 most powerful skills.

 

For multiple skillsets, that will be a little complicated for the cost calculation.

I may also need a paginated window so that in the setup scene you can flip between different pages.

 

I also need a better way to scroll between the active skills and passive skills, since that idea will probably be carried over to a generic implementation.

 

I am not sure about the compatibility of this system. Anyone tried with other scripts?

 

Oh, and I will also need a name for "equip cost" cause that sounds kind of boring.

"Skill points"? SP? lol hopefully people don't confuse that with the other common "spell points" acronym.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

Im not sure if your aware but in battle theres a Passive tab, I would think passives dont display anywhere except in the skill menu, as they cannot be activated and always on.

Share this post


Link to post
Share on other sites

Ya I didn't change the actor command window.

By default it just draws every skill type that's available to the actor.

 

The more I change the more likely it will not be compatible without tweaking it for another engine.

Share this post


Link to post
Share on other sites

Seems exactly what I had in mind so far. Though, could you tell me how to call the Skill Change window when talking to an NPC? It won't be accessible from the menu for my purposes. Also, I removed accessibility, but how can I actually remove the option from the menu itself? Thanks in advance.

 

Edit: And rather than using a separate skill type to define Passive Skills, is there anyway I can define passive skills myself, within just the one skill type? For example, maybe all skills that are set to "Availability: Never" can be considered passive. Or maybe employ note-tagging or something of the sort.

Edited by Avanura Seta

Share this post


Link to post
Share on other sites

This is very close to something I've been looking for.

 

I don't know if you've ever played Final Fantasy IX, but it has a skill system very similar to this. You learn skills by equipping gear and permanently learn them by earning AP. Support skills are equipped with Magic Stones, while Active Skills don't have to be equipped.

 

This is very promising, perhaps after you finish this I could commission you for a similar system as described above?

Edited by celestialPilot

Share this post


Link to post
Share on other sites

Seems exactly what I had in mind so far. Though, could you tell me how to call the Skill Change window when talking to an NPC? It won't be accessible from the menu for my purposes. Also, I removed accessibility, but how can I actually remove the option from the menu itself? Thanks in advance.

 

New script.

Scene script call using SceneManager.call(Scene_Skill_Select)

 

4 script calls to hide/show/disable/enable menu command/access

 

enable_skill_select

disable_skill_select

show_skill_select

hide_skill_select

 

Edit: And rather than using a separate skill type to define Passive Skills, is there anyway I can define passive skills myself, within just the one skill type? For example, maybe all skills that are set to "Availability: Never" can be considered passive. Or maybe employ note-tagging or something of the sort.

 

Isn't that the same as defining it yourself, except instead you want to use a custom scripted method rather than something default provided?

 

A skill that's never available is kind of pointless to treat it as an exception, especially when there's already a "never" occasion. Although I'm not going to check that field either because they are not actual skill categories.

 

This is very close to something I've been looking for.

 

I don't know if you've ever played Final Fantasy IX, but it has a skill system very similar to this. You learn skills by equipping gear and permanently learn them by earning AP. Support skills are equipped with Magic Stones, while Active Skills don't have to be equipped.

 

This is very promising, perhaps after you finish this I could commission you for a similar system as described above?

 

In theory a generalized version of this battle skill system would support that, simply because "skill learning" is a completely separate component and not related.

 

Magic stones are no different from generic "skill points" that you can use to allocate skills to equip.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

Seems the system you have now limits you by how many things you can equip via a maximum number of skills, rather than a number of points you have to spend.

 

That would be the biggest thing you'd have to change, I would think, aside from making it compatible with an AP system, as well as changing where you get skills from.

 

Went and cooked this up in Photoshop of how such a screen would look. Roughly.

http://i.imgur.com/qDpqi.png

Edited by celestialPilot

Share this post


Link to post
Share on other sites

Oh, damn, this is getting complicated. See, the reason I wanted it to be all from one Skill Type is just so the "Passive" tab didn't appear in battle. But now another problem came up. My passive skills are made using a script that allows the skills to enable States even when "Availability: Never" and whatnot.

So, for example, a skill called "Null Fire" would constantly enable a State that made Fire damage taken 0%, etc, etc.

But I just tested both scripts in conjunction. Apparently, when this Null Fire skill is learned, the state will always be in effect whether or not I equip it in the Battle Manager...

Share this post


Link to post
Share on other sites

This is hands down, EXACTLY the script I need for my little project. I'm working on a game that has lots of skills but I hate how cluttered the battle menus can get as a character accumulates them. Being able to equip skills creates a great sense of strategy to! Even though this is just a demo for now, it rocks.

Share this post


Link to post
Share on other sites

Changing it from number of skills you can equip to number of points you can use is relatively simple.

In fact both can be done simultaneously.

 

For the passive skills, I am currently not too concerned about it since that would essentially be an add-on. And since the script you're using always turns it on, I probably can't do much about it without changing parts of those scripts completely myself (unless the author is happy to provide a special flag that enables or disables the passive skill, which I can set).

 

Aside from the skill points thing, I am working on a couple designs

 

-allow you to specify which skills need to be selected, and which ones are always available (when you learn it), through note tag. A simple "<select: active>" or something in the notebox which will indicate that these skills are special and need to be treated differently. This may also be extended to "<select: passive>" which will prevent it from showing up and also designating it as a passive skill.

 

-you can define multiple skill types, but only one active/passive skill list will be used. So any skills that are considered "active" will be added to that list no matter if it is special/magic/soulbreaker

 

-Each skill type will have its own lists. So for example you can choose your own set of special skills or magic skills, but they all draw from the same skill point pool (eg: you have 100 points, you can choose to equip a bunch of special skills, or equip a bunch of magic skills, or a little of both)

 

-This will then be extended to support separate skill point pools, except only one battle skill set is active during battle, and "change skill set" can be an option in battle

 

-Finally, this will then be extended again to support mixed skills. That is, I combine the different ideas together and end up with different skill set pages which you can toggle using page-up/page down. Depending on which page is active, it will allow you to choose which skills will be used for that page.

 

Share this post


Link to post
Share on other sites

Wow I ended up re-factoring a lot of the code.

No new script yet.

 

Here's how celestialPilot's request looks like so far (the guy started with 100 skill points)

 

NeFf6.jpg

 

 

 

GT0eb.jpg

 

 

 

For restrictions, both are still used, except now it checks multiple conditions: do you have room, and do you have enough skill points. The skills automatically change color depending on whether you can assign it or not. For systems that only want to use one type of restriction, I may provide some config options like "use this", "use that", and you can set them to true or false depending on which ones you want.

 

I am currently implementing multiple skill sets, and am trying to decide the best way to store different types of skills as well. This part is pretty confusing and I don't even have a paged window to actually show different skill sets. Maybe I can just re-draw it on the active/passive skill windows.

 

The other issue is that...not everyone wants an active/passive skill system, so I will have to change it as well so it allows for arbitrary types of skills.

 

Note that this menu will only display skills that require assignment

By default, if a skill does not require assignment, it will just be "normal"

 

Currently there are two types of hardcoded skill selection types

-active

-passive

 

It's the same as before, except instead of creating extra skill types, you tag it with

 

<select: active>

 

The battle skill window will be updated to show all normal skills as well as "active" skills.

Passive skills are ignored and only used for effects purposes (not implemented yet)

Edited by Tsukihime

Share this post


Link to post
Share on other sites

Random question, under this system would you would not be able to set an ability to a passive skill?

 

Lets say you wanted to have some abilities work in the following way, Rock Armor (On use: Grants an ally +50 defense), and passively grants the actor 25 defense. By equipping this skill in the passive, you receive its benefit but also can have an ability in battle?

 

The way I understood it, was passives are strictly passives states?

Share this post


Link to post
Share on other sites

I've updated the script.

Demo has been updated as well.

 

1: tags

 

You now have to tag all of the skills that must be equipped in order to use (in battle).

<select: active> means that it's an active skill, while <select: passive> means it's passive.

 

Passive skills will not be shown in battle.

 

Only skills that are tagged with these two will show up in the skill select menu, since all other skills can be used by default (they are "normal" select type). I do not have support for extensible skill types that you can define on the fly, though I've designed it so that most of the data structures do not hardcode types and will just create them if necessary.

 

2: skill points

 

Skill point system has been implemented. You can now specify how many skillpoints your actor has (at what levels), and how many skillpoints each skill costs, through notetags.

 

Currently there is no option to only use one type of equip system: you must have enough skill points and you must have enough room to equip it.

 

For each skill, you can tag it with <sp: n> to specify the skillpoint cost.

 

3: extensions

 

Since I've changed how the skill sets are stored (new skill set class), it is easier to quickly switch skill sets. I'll have to write some logic for that, but it shouldn't be difficult to accomplish at this point.

 

I also want to change the skillpoint growth system so that it uses a formula (which can be defined for each actor) rather than fixed constants. This way, you can say "2 SP per level" or something like that. But skill points are en entire subsystem of their own.

 

Random question, under this system would you would not be able to set an ability to a passive skill?

 

Lets say you wanted to have some abilities work in the following way, Rock Armor (On use: Grants an ally +50 defense), and passively grants the actor 25 defense. By equipping this skill in the passive, you receive its benefit but also can have an ability in battle?

 

The way I understood it, was passives are strictly passives states?

 

Yes, currently it only supports that type of passive.

 

I can add another type which provides (in theory) passive effects as well as active use in battle, but I don't know what to call it. I can't call it passive.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

Yes, currently it only supports that type of passive.

I can add another type which provides (in theory) passive effects as well as active use in battle, but I don't know what to call it. I can't call it passive.

 

Just wondering, for my game I had the idea that learning a passive would also have a battle skill just not that great and typically different from your passive. The idea was to get a complete skill you would have to cast the battle part of the passive on the user with the passive... Example: Rock armor, passively increases defense but in battle will increase max hp, while its useful for any character, the one with the passive is going to benefit the most... like a tank skill.

 

The system looks really cool, I was searching for something like this and hoping to use this one, but my skill system is slightly more complex and works differently, ill just commission someone at some point.

My idea was that the skills be broken down into Offensive, Defensive and Supportive, also having a passive slots.

Best of luck.

Share this post


Link to post
Share on other sites

Awesome. This is the last function I needed for my game (well, there are some other things, but this was the last major one).

 

I dunno if this is possible, but could equipping a skill 'tier' be possible? AKA, if you equip 'Fire' type, if the character has fire and fira they'd be able to use both whilst only taking up a single slot. It'd be a cool function to have.

Share this post


Link to post
Share on other sites

Turns out supporting multiple skill sets was easier than I thought with the new design.

I've updated the script again and now you can choose your current skill set.

 

Since there aren't a whole lot of keys to choose from, this is the specific procedure you have to follow to change current skill sets through the menu

 

1: select your skill category (special, magic, etc.)

2: press page up or page down to toggle the current set.

 

The current set that you are bringing into battle is the one that you have on display in your battle setup menu.

Anyone have better ideas on how to switch skill sets in the menu? Of course, I could always just force you to go back to the menu screen if you want to set up another character. I don't know what people prefer.

 

I have not thought of a good way to allow you to change it in battle yet.

 

Just wondering, for my game I had the idea that learning a passive would also have a battle skill just not that great and typically different from your passive. The idea was to get a complete skill you would have to cast the battle part of the passive on the user with the passive... Example: Rock armor, passively increases defense but in battle will increase max hp, while its useful for any character, the one with the passive is going to benefit the most... like a tank skill.

 

Just create two different skills and set one as active and the other as passive then.

 

My idea was that the skills be broken down into Offensive, Defensive and Supportive, also having a passive slots.

Best of luck.

 

The system will need to be extended so that you can specify multiple selection types.

Currently there's only two, and it's hardcoded. Mainly cause I only drew two windows (active, passive). I don't know how I should be working with more windows than that.

 

I dunno if this is possible, but could equipping a skill 'tier' be possible? AKA, if you equip 'Fire' type, if the character has fire and fira they'd be able to use both whilst only taking up a single slot. It'd be a cool function to have.

 

What if I equip 3 fire spells and 2 ice spells with that fire tier?

 

It's not a question of whether it's possible or not, just how much trouble it would be to support it.

It doesn't sound like something that would easily fit into a generic skill selection system.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

Okay, now it's looking much more like what I'm looking for. I'll be keeping an eye on this thread for when the passive skills are implemented.

 

Also, I tried to call the battle skill scene using script call in an event, but i couldn't get it to work. I have to call Scene_Skill_Select, right? If not, please let me know. I have no knowledge of Ruby whatsoever.

Share this post


Link to post
Share on other sites

Oh, my mistake. I thought just the text inside the parentheses was supposed to be put in. Works fine now, thanks a lot.

Can't wait to see the Passive Skills implementation. The script is looking great so far.

Share this post


Link to post
Share on other sites

Oh, my mistake. I thought just the text inside the parentheses was supposed to be put in. Works fine now, thanks a lot.

Can't wait to see the Passive Skills implementation. The script is looking great so far.

 

Passive skills is quite complicated because there are a lot of things to consider.

For example, if it's just raising max HP or atk, that's not a real issue.

 

It's when you start wanting some conditional passive skills such as "activating if state applied" or "activate 5 turns into battle" or "activate when HP < 20%" does it get really messy.

 

Otherwise, you end up with things like double EXP, double Gold, encounter half, etc.

Share this post


Link to post
Share on other sites

The skill point system is fantastic.

For me personally though, I just want the character to equip 8 of any skill. I can do this already but

I don't want the skill point numbers displayed. They'll all just be at 0 anyways. How can i change the script

so they don't show up in the skill equip window?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted