View Full Version : Final Fantasy 9 skill system
KagomJack
2004-11-20, 06:33 PM
I was wondering if it was possible to make a skill learning system like in FF 9 (ya know, the ability to learn magic and skills through equipping weapons and earning AP)
Maybe you should -make- it possible.
KagomJack
2004-11-20, 06:55 PM
Maybe I'd like help to do that.
Tyrannicide
2004-11-20, 08:12 PM
Well, you can do this under the common events tab in the data base.
Use the conditional branch for when a weapon is equipped. Than set a conditional branch(called: ___ AP) and set it so that when the hero's AP is equal to a certain amount, he will learn a certain ability.
Than in the monster battles(im not sure if it works in common event), set it so that you gain AP depending on what attack you do(you can even set it to randomize between 2 numbers) and make it add to "___ AP"
It can than be reset for a new ability via con branch after an ability is set or if you switch weapons.
---
I hope this is what you mean. If it is, I will do a little demo with coding for you.
KagomJack
2004-11-20, 09:15 PM
something of the sort. I'll test it later or probably after you do it XD but as for the AP giving on monsters, they give a set amount as they do with EXP.
Tyrannicide
2004-11-21, 10:46 AM
Ok, that makes it a bit easier than.
I'll get too work on it this week.
KagomJack
2004-11-21, 10:48 AM
thanks! I really appreciate this!
BlueCube
2004-11-21, 11:21 AM
Hmm, AP gains would be difficult to implement, mainly because the only way to tell if someone actually beat the monsters or not is through an event that actually starts the battle in the first place. Random battles can't tell if you ran away or won the fight. Any event that attempts to add EXP based on the battle ending would probably be defeated if you ran from battle, giving you AP anyway...
Tyrannicide
2004-11-21, 12:33 PM
Hmm, AP gains would be difficult to implement, mainly because the only way to tell if someone actually beat the monsters or not is through an event that actually starts the battle in the first place. Random battles can't tell if you ran away or won the fight. Any event that attempts to add EXP based on the battle ending would probably be defeated if you ran from battle, giving you AP anyway...
Trust me, I know how to avoid this. I will make a variable 'potential AP' which is what is accumulated in battle and than set it to detect if the monsters die, if they do than the AP will be added, if not, the "potential AP" is set to zero again.
I have it all planned out.
BlueCube
2004-11-21, 02:52 PM
When the last monster dies, the battle ends - nothing can be triggered from that point. Truthfully, I don't see a way to detect if that last monster dies or is left behind in an escape.
And, again, if they run away, it'll just add the potential AP gathered so far because it simply has no idea whether or not you ran.
The best way to say this is to look at one-monster fight. You can't tell if that monster is killed or not - if you run, the battle ends without triggering anything, and if you kill it, the battle also ends without being able to trigger any "Monster is at 0 HP" events. You can either start with the AP (meaning that if you run, you still get AP), or you don't give AP at all for that monster.
This will happen with every fight, unfortunately - you just kill all but one monster, and you will have the maximum AP earnable from that fight. Then you can just escape.
Of course, the obvious way to get around this is to disable escaping for the entire game, but that's just annoying to the player.
KagomJack
2004-11-24, 07:54 PM
Is there a way to get it sort of like in FF9 then? I'll settle for close-to's
BlueCube
2004-11-26, 02:55 AM
Hmm, again, I seriously don't see a way to count that last monster as being killed. So any system that works on their "normal" way of assigning AP (per monster instead of per battle) won't work properly.
The only other thing I can think of would be to make AP an extenstion of EXP - that is, if you earn 1050 EXP in a battle, you'll earn (1050 / 100 ~= 10) AP. This wouldn't be too hard, you'd just have to check the difference in your EXP from battle to battle. However, the system has the disadvantage of requiring large amounts of EXP to earn any reasonable about of AP, and you couldn't set it from monster to monster unless that battle disables escaping.
KagomJack
2004-11-26, 06:15 AM
hmm...well. It was worth asking I guess, then.
Tyrannicide
2004-11-26, 08:54 AM
Yea, I looked through the events tab and tried many different things and it doesn't work. It was worth a try though. Unless you make a CBS, it would be easy to setup.
KagomJack
2004-11-26, 08:57 AM
By the way, how hard would it be to set up a CBS that does that?
Lenny
2004-11-26, 09:37 AM
I gotta way I think might work for what I have interpretted.
First this is what I have interpretted: when certain weapons are equipped, certain magicks etc. can be learned with enough AP for that weapon.
I don't know if it will work so bear with me.
My way needs a lot of switches.
Have a switch for each weapon.
And a common event for each monster.
Make a common event searching for which weapon switch is on.
[This will take some time. Sigh.]
Go to the monster group screen.
[I am assuming you are using Rm2K3]
Create a page for each monster in that group.
And set each trigger to Monster (for that page) Hp is between 0% and 0% (if it won't work for 0 and 0, try 0 and 1%). In the event part, call the common event for the monster.
The common event for each monster deals with the exp given for each monster. Have a set amount of exp given for the monster. The next event in the common event will be:
Conditional Branch --> If Hero Level is at least (second page of conditional branch).
Then if it is, add the skill to that person.
Do this for every person who fought.
You will probably have to do a conditional branch in the If part, to see if the hero can use the skill you want to add etc.
Where am I? I don't follow. Damnit. Right, just a mo...
Here we go again.
The common event for the weapons is needed to know how much exp to add, yes? In fact, you don't need a common event for it.
In the adding exp event, you first of all need to put a conditional branch for each weapon switch being on or not.
So it will be:
Conditional Branch: If Switch0001:Sword equipped is ON
<>(All the mumbo jumbo for adding exp and such - remember to change all the exp's and shit).
Else
<>Conditional branch (for all the different weapons switches).
I'm a thinking now that all you want can be done in one extremely big common event.
Now, have I missed anything?
Oh bugger. You need different exp's for each monster.
I know, copy the common event for each monster, and change the exp's to suit each monster killed with each weapon.
Now, the big question. Did anyone follow that? 'Cos I sure haven't. If you allow me to double post, I will condense it.
Found a little problem...I haven't played FF9 so don't have a damn clue what this system is like. Is it what you want?
Little question...does anyone know if this will work? Blue? Drac? Tyran?
Lenny
2004-11-26, 09:53 AM
Sorry for the double post.
Condensed version...
When certain weapons are equipped, certain magicks etc. can be learned with enough AP for that weapon.
Have a switch for each weapon.
And a common event for each monster.
Go to the monster group screen.
Create a page for each monster in that group.
And set each trigger to Monster (for that page) Hp is between 0% and 0% (if it won't work for 0 and 0, try 0 and 1%). In the event part, call the common event for the monster.
The common event for each monster deals with the exp given for each monster. Have a set amount of exp given for the monster. The next event in the common event will be:
Conditional Branch --> If Hero Level is at least...(second page of conditional branch).
Then if it is, add the skill to that person.
Do this for every person who fought.
You will probably have to do a conditional branch in the If part, to see if the hero can use the skill you want to add etc.
The common event for the weapons is needed to know how much exp to add.
In the adding exp event, you first of all need to put a conditional branch for each weapon switch being on or not.
So it will be:
Conditional Branch: If Switch0001:Sword equipped is ON
<>(All the mumbo jumbo for adding exp and such - remember to change all the exp's and shit).
Else
<>Conditional branch (for all the different weapons switches).
Im a thinking now that all you want can be done in one extremely big common event.
Copy the common event for each monster, and change the exp's to suit each monster killed with each weapon.
I think that's everything. Doubtless I've missed something though.
Oh oh, I forgot to mention. In the normal monster section, set all the experience given to 0, but remember the values, as you might, say, want them as the experience given for a certain weapon.
Draco2003
2004-11-26, 11:09 AM
Although I hated FF9, I don't think that is possible, although it works in theory. Okay it might work, but why go through all the trouble, it seems pointless. You could change it alot so that when a weapon is equipped the magic attack gets stronger the more it is used with the weapon equipped (maybe too hard to code that to) or how about reverse, like casting magic on weapons, and the weapon gains that attribute after so many casts. this way, it would be a few variables instead of all kinds of switches and monster group stuff. It could just be something like this(maybe)
>>hero casts Fire
>>variable operations:add 1 to [var:XXXX]
or similar, and after, say, 30 times of that; make a common event for each weapon:
If [var:XXXX](same as above) is 30
>>remove equipped sword
>>add flame sword equip
>>end
The only downside I could see in this is that you'd have to make special versions of the magic that you wish to have only go onto your characters (and change the names of them, so your characters don't accidentally light themselves:D) but it seems easy enough.
Just a thought!
Tyrannicide
2004-11-26, 11:34 AM
Not hard, tedious work. I have a CBS that is just one monster and one hero and it took me hours to make cuzz u need to set it so that an image will show the hero's HP depending on what it is. This is for every number. I am gonna try something else when I go on my other comp, so I will let you know if it works.
Lenny
2004-11-26, 12:39 PM
If someone knew how to use Ruby, and had RMXP, then all these hard questions would have an answer, and problems would be no more.
If we all put our ideas into RM2K3, then we would probably solve it, but then would come the giving it to Kag, and messing up things for some reason or another, probably to do with the weapons or monsters or such.
If I get time this weekend, I'll try my idea and see if it works.
Draco2003
2004-11-26, 02:33 PM
Hey Lenny, i am just about to give up on the chess thing and maybe go for checkers!
Nah, but it is very difficult and its not working right. Anyway, this FF9 thread is dead, because people are starting to talk about different stuff. All I have to say, is that if anyone finds a way to incorporate anything from FF7 on into an RPGMaker 95, 2000, 2003, or XP, I will not congradulate them, instead I will laugh in thier faces and call them major dumbasses for taking the time of their pitiful lives to rewrite the entire RM system, instead of making something from scratch, and people will just look at it and rather pay the 10-20 bucks to play the copy of the game that is a million times better because it is 3-D and, im sorry, but people are drawn into great graphics these days. You never read or hear "Oh, don't let the graphics fool you, this game has a GREAT story line. The sounds are amazing, and the thought put into this game must have been intense!" They say stuff like "Yeah, it has a pretty good story line, and the sounds are ALL RIGHT, but they are just not the same without the superb graphics of the PS2/Gamecube/XBox in games like Halo, and Fable, and Final Fantasy, so i advise you not to buy this game. the score is .0001 out of 7,000,000,000!"
BlueCube
2004-11-26, 11:44 PM
[SIZE=1]
Create a page for each monster in that group.
And set each trigger to Monster (for that page) Hp is between 0% and 0% (if it won't work for 0 and 0, try 0 and 1%). In the event part, call the common event for the monster.
I'll say it again - this won't trigger on the last monster (unless you get the HP to fit between that 0%-1%.. in other words, a one hit kill won't trigger it).
Having the AP tied to the experience would override this, but it makes it rather pointless to have AP in the first place - you may as well make it based on EXP directly.
All the other stuff is a good theory, but again, the fact that it can be exploited renders the whole thing null and void, unfortunately. I really wish triggers would work before the battle ends, but.. that's RPG Maker for you.
BlueCube
2004-11-26, 11:49 PM
If someone knew how to use Ruby, and had RMXP, then all these hard questions would have an answer, and problems would be no more.
If we all put our ideas into RM2K3, then we would probably solve it, but then would come the giving it to Kag, and messing up things for some reason or another, probably to do with the weapons or monsters or such.
If I get time this weekend, I'll try my idea and see if it works.
I wonder if it's possible to compare the monster's name to a value ($data_enemies[@enemy_id].name = "Slime") and change the AP from there.. that would take manual coding for each monster in the game, however, and I'm not sure if the changed @APEarned variable could be passed to the battle winning subroutine.. maybe that would have to be manually edited as well.
Lenny
2004-11-27, 03:44 AM
I've got RMXP. Tell me what needs to be done with all these value things, and could have a go at it. Also then, I might get a feel for Ruby etc. and be able to do other things.
It will probably end up as a cut and paste job.
Though those aren't that bad. My site, for example, uses html that I have cut and pasted from some online sources, and my own disastrous attempts in Frontpage, and it's turned out fine.
BlueCube
2004-11-28, 01:28 PM
Hmm, this would be hard to code, mainly because you'd have to figure out how the scopes of the variables are defined within Ruby...
Other than that you would just compare the monster's name with another string and increment a variable, nothing too fancy.
vBulletin® v3.8.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.