Joined
Jul 8, 2022
Messages
2
Reaction score
1
First Language
English
Primarily Uses
RMMZ
In the game I'm working on, I wanted to be able to make it so that characters could learn the skills off of equipped weapons/armor and then know them permanently (kind of how Tales of Vesperia's weapon skill system works), but all of plugins I've been able to find that allow this are either for MV or don't cooperate with Visustella.

Current flow I want to implement:
1. Character does not know skill(s)
2. Character equips weapon, accessory, etc.
3. Character now knows skill(s), but does not know it permanently
4. Character performs a certain action, or kills a number of enemies, or participates in a number of battles, or gains some resource (sp, etc.)
5. Character meets the requirements and learns the skill(s) on the equipment
6. Character removes equipment and still knows the skill(s)

Any help is appreciated, thank you in advance.
 

myenemy

Veteran
Veteran
Joined
Jan 17, 2014
Messages
136
Reaction score
64
First Language
Spanish
Primarily Uses
RMMZ
I think you can do this vanilla, just adding the skills to the equipment pieces directly.
 
Last edited:

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
6,216
Reaction score
4,197
First Language
English
Primarily Uses
RMMV
Í think you can do this vanilla, just adding the skills to the equipment pieces directly.
That is the OP's step 3. It does nothing to address the entire rest of the process.

@LurkatonHammer If you have VisuStella plugins, you can do this pretty simply. Give each skill-teaching item its own passive state. In that passive state, put a notetag for...whatever you decide you want your condition to be.

If you want it to be a certain number of actions in battle, use JS Post-End Action. Inside the notetag just increment a variable on the actor. When it hits whatever you want, make it teach them the skill.

For example:
Code:
<JS Post-End Action>
user.learnFireball=user.learnFireball || 0;

user.learnFireball++;

if (user.learnFireball==25)
    user.learnSkill(id_of_fireball_skill_here);
</JS Post-End Action>

If you want to add stuff like a pop up message about learning the skill, do so. You could put it directly in that notetag or you could have an autorun event on your maps that checks for actors to know any different skills after each fight.

The only part of this you might need to consider requesting from anyone is if you want to see a display of the learned progress when you're looking at items - the way Final Fantasy 6/9/etc. have a little gauge attached to equipment.

But there are some generic plugins that allow you to display things like custom variables that might work for that, too.

Edit: Have you already considered this plugin?
 
Last edited:
Joined
Jul 8, 2022
Messages
2
Reaction score
1
First Language
English
Primarily Uses
RMMZ
I took a look at that plugin, but it looks like it's incompatible with Visustella and hasn't been updated in over a year. I tried it anyway and couldn't get it to work at all, which is a shame since it greatly resembles what I'm looking for.
 

pf111

Veteran
Veteran
Joined
Jun 1, 2021
Messages
48
Reaction score
8
First Language
English
Primarily Uses
RMMZ
I wanted to try that visustella code but I'm getting a 'syntax unexpected number' error while using that on a state, I'm gonna trouble shoot that later cause it looks like a pretty straightforward way to implement it.
That is the OP's step 3. It does nothing to address the entire rest of the process.

@LurkatonHammer If you have VisuStella plugins, you can do this pretty simply. Give each skill-teaching item its own passive state. In that passive state, put a notetag for...whatever you decide you want your condition to be.

If you want it to be a certain number of actions in battle, use JS Post-End Action. Inside the notetag just increment a variable on the actor. When it hits whatever you want, make it teach them the skill.

For example:
Code:
<JS Post-End Action>
user.learnFireball=user.learnFireball || 0;

user.learnFireball++;

if (user.learnFireball==25)
    user.learnSkill(id_of_fireball_skill_here);
</JS Post-End Action>

If you want to add stuff like a pop up message about learning the skill, do so. You could put it directly in that notetag or you could have an autorun event on your maps that checks for actors to know any different skills after each fight.

The only part of this you might need to consider requesting from anyone is if you want to see a display of the learned progress when you're looking at items - the way Final Fantasy 6/9/etc. have a little gauge attached to equipment.

But there are some generic plugins that allow you to display things like custom variables that might work for that, too.

Edit: Have you already considered this plugin?
 
Last edited:

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
6,216
Reaction score
4,197
First Language
English
Primarily Uses
RMMV
I wanted to try that visustella code but I'm getting a 'syntax unexpected number' error while using that on a state
When you're reporting errors, please post screenshots of the actual error message. Make sure to press F8 and go to the Console tab to get the full error trace.

Also post a screenshot of how you have the notetag entered - that's a weird error, and usually means you've mistyped something.
 

Latest Threads

Latest Profile Posts

I still do this kinda stuff and I think this came out really, really well. Solo violin really helps this piece shine.
Currently at beginner level, checking tutorials on YT and Skillshare
If you like my music I'm open for commissions. You can also visit my website by clicking here to know more about my work.
I know it can be a little confusing with all the advent calendars and time zones, but make sure Starbird, GalacticGod, WaywardMartian and Guardinthena get all the love they deserve fot their hard work! ;3
*it's getting better all the time* tenacious determination (got bills to pay) and doing PT for this gimpy hand - I'm improving quite a bit. :rock-left::troll::rock-right: Had to resign from my fav Lead Security Analyst job because I couldn't type to keep pace ;_; however, Big N kept me on, so finishing my contracts with them. :D

Forum statistics

Threads
127,031
Messages
1,183,338
Members
166,907
Latest member
Gabriel0796
Top