Last Updated: 2012.01.07
This script provides a base for JP implementation. JP is a currency similar to EXP that’s gained through performing actions and leveling up in addition to killing enemies. This script provides modifiers that adjust the gains for JP through rates, individual gains per skill or item, and per enemy. Though this script provides no usage of JP by itself, future Yanfly Engine Ace scripts may make use of it.
Insert this notetag in the noteboxes of actors, classes, weapons, armours, or states to gain its effects.
<jp rate: x%>
Changes the JP earned rate to x%. This affects JP earned and not JP directly gained. If this notetag isn’t used, the object will default to 100%.
Insert this notetag into the notebox of skills or items.
<jp gain: x>
When the actor successfully hits an target with this action, the actor will earn x JP. If this notetag isn’t used, the amount of JP earned will equal to the ACTION_JP constant in the module.
This notetag is for enemies:
<jp gain: x>
Changes the amount of JP gained for killing the enemy to x. If this notetag isn’t used, then the default JP gain will be equal to the amount set in the module through the constant ENEMY_KILL.
The following are script calls you may use:
$game_actors[x].earn_jp(y) $game_actors[x].earn_jp(y, z)
This will cause actor x to earn y amount of JP. JP earned will be modified by any JP Rate traits provided through notetags. If z is used, z will be the class the JP is earned for.
$game_actors[x].gain_jp(y) $game_actors[x].gain_jp(y, z)
This will cause actor x to gain y amount of JP. JP gained this way will not be modified by any JP Rate traits provided through notetags. If z is used, z will be the class the JP is gained for.
$game_actors[x].lose_jp(y) $game_actors[x].lose_jp(y, z)
This will cause actor x to lose y amount of JP. JP lost this way will not be modified by any JP Rate traits provided through notetags. If z is used, z will be the class the JP is lost from.
— And that’s all, folks! —
Yay, It has been separated with Skill Learning X3
Excellent idea to split this up, YF.
Very glad you implemented this. It drove me crazy not seeing this in the YEM version.
so can this be used as an option is skill cost manager script?
Well, I guess if KGC’s Overdrive Script ever converts its way to VXAce, this would be ideal for it.
How can you show the JP you have at a given time, in the Learn Skill screen for example?
I’ve checked and checked and it looks like there’s no way within the script functions. I’m not a “lunatic” user so I can’t figure out how to draw the values yet, or fit them in the Class screen…
By the way, I just noticed you can see your JP when you have enough for a skill. How can I make it so I can check my current class JP without having enough for any skill yet?
I’d love this as well.
It even looks like there was a method written into the JP Manager script to be used to display an actor’s jp or a classes jp, but it was never used. That seems kinda silly.
YA, MR.黄, can you write us JP bar in menu ? Thanks a lot!
Can you expand the script to the actor’s parameters grow when he learn a skill?
Sorry, wrong place!
Pingback: Ubuntu 11.10 « Imagina y Programa
Pingback: Yokonet » Ubuntu 11.10
I have some error at line 509 can anyone help me?
I have the same problem here. It seems there is this error 509 when you have 0 JP when you acces the skill learning menu. I bypassed it by script calling a +1 JP at the beginning of my game. It seems to work now….until now.
how do you call +1 jp?
So is there still no way to show how much Jp a class/character has without going to buy a skill?
Not built-in to the script, but honestly, it’s SO easy to do yourself. Trust me, I’m no expert and I managed quite easily.
somewhere in def draw_actor_simple_status in Ace Menu Engine.
Or Window I guess.
Thank you. I was just about to ask how to do exactly this :)
I have tried so many combination but it does not work…? Can you help me in how can i make a little window with my current jp? I’m really bad in coding….
In my project, I want to use a skill tree for learning skills, and since there is not really a skill tree script out there yet for Ace, I did one the old fashioned event way and put in this script for points to spend for learning the skills. My only problem is that I want it to check if the player has enough JP to buy the skill. What script line should I input as condition?
Is there a script you can add/ update coming, where in the amount of JP you have can be used in the conditional branch, for example, if you have x amount or greater of JP, you can, I don’t know, enter this town or something. If you don’t have x amount, you can’t enter.
Oh, sorry, just noticed my question is the same as Maravin’s :p
Is there a way to know how many JP we have from the status menu?
I hope you will a weapon level up script with this script.
Or can you make it compatible with Fomar script weapon level up ? He is using AP but his AP is same as your JP… so both of your script aren’t compatible.
How would you go about adding a line to show your current JP on a character’s status screen?
Look up throughout the comments, that was answered before. :X!
I don’t know how to get it to show up in the status screen, though. D: I can make it show up as a line on the main menu, but I only get an error if I put the line posted above in Window_Status.
Weird.. putting that line in makes it show up not only my main menu but also my status screen. I have no clue why it’s not doing the same for you.
Where are you putting the line of code?
I don’t know where I’d put it before that it wasn’t working, but I tried it again and it worked as you said. >.< So now I feel dumb. XD But thank you for the help! I wouldn't have even tried it again if you hadn't said it worked for you!
WARNING: I’ve found a major bug with this script.
Whenever I change my job class using Yanfly’s class system, my JP is raised exponentially! I cannot pinpoint the cause, but I’m pretty sure it’s within the JP manager script and not any of the Class system script or its addons.
I’m a script noob… But how do I do something like this:
Go to common event shop
Item is called (Increase JP +100) or something
Choose a party member
raise said party member’s JP +100
But how do I get it to where you can choose ANY party member not just 1 of 4 using Choices? Know what I mean? Like how to select actor 5 when only actors 1-4 are currently in the active party?
Please help. Be specific dont say “use variable duh” lol idk what that means
Just tag the item with .
Tag the item with jp gain: 100.
Stupid html codes.
So… left field question here but I don’t suppose that the Yanfly Job System Skill Levels from the YEZ Engine was ever remade for VXA, was it? If not, /cry!
How i can show JP in the menu?
Pingback: Crystal Engine – Job Levels « Crystal Engine
How i can only show the specific class skills in the learn skills menu?
For example i change from mage to soldier how i can only see the soldier skill typ”fight” and not the mage skill type”magic”?
Hi ! I’ve modified some script to show the amount of JP either in the main menu or in the class list (if you have “YEA – Class System” installed).
Each time, it checks if “YEA – JP Manager” is installed, so you can disabled it without having issues afterwards.
Here are the scripts :
YEA – Class System : http://pastebin.com/KssYN68V
YEA – Ace Menu Engine : http://pastebin.com/6NEBPRN6
—– —– —– —– —–
I’ll will check the strange “JP gain” when an actor change his class.
Ok, I think I’ve understand where it comes from :
If you switch from a class which is lvl X to a class with is lvl Y, and Y > X, the game see there is a level up, and so gives 100*(Y-X)JP.
I will see if I can fix this, but I can’t promise anything since my Ruby/RGSS3 knowledge is really low.
It was maybe not the best way to fix the bug, but no more JP gain when changing class now. ;)
Here are the two updated classes :
YEA – Class System : http://pastebin.com/rUJbYDqk
YEA – JP Manager : http://pastebin.com/AUyBW4Qc
I see what you did there~
You added a boolean named “class_switched” and set it to true before changing class and false right after changing class; the level_up method in JP Manager now check if @class_switched is false before adding jp.
Somebody doesn’t want to renew their entire script for a few lines of debug though.
Yeah, I’m sorry about to say that this, but are you planning to make an AP Skill System? Cuz that is one of my ideas I want for my game as of now.
Also, can you try combine it with Victory Aftermath?
Elaborate a little more. I’m pretty sure this script can do what you are asking for.
Well can you least make a script where you can can acquire a certain equipment on it?
Forget the last one. I now had a better idea. X3
I’m sorry…. I feel like I want to give on this thing as of now…
I’m trying to attach to an item to be used on a player to grant them 1000 JP. Right now all I have in the items notes is .
Now, it’s giving a character 1000 JP, but it’s only giving one specific person 1000 JP and not who I’m using the item on. I’ve tried removing them from the party, but it still gives that same person the JP instead of the target.
Am I doing something wrong? Is there some special way to set it up?
I guess tags don’t work well with wordpress, I’m using “jp gain: 1000” with the brackets around it.
Also, does anyone know if jp rate: x% stacks? Like if the person has two pieces of equipment that both have jp rate: 105%, would it then be added together for 110% jp rate?
I’m aware this has been answered before, but I still didn’t find an answer.
I’m looking to display JP in the menu/status screen.
And I tried using the alternative script, but that didn’t work for me.
I tried pasting that data in the menu engine status screen and that didn’t work, unless I’m doing something wrong is there anything anyone can do to help?
Here you go : https://yanflychannel.wordpress.com/rmvxa/gameplay-scripts/jp-manager/#comment-6343
I tried that and it didn’t work, I’m sorry. I couldn’t even open the menu, I was wondering if someone could help me;
Laue submitted this code, I was having trouble placing it, it always crashed as soon as I open the menu.
1 draw_actor_jp(actor, dx, dy + line_height * 2)
Also, how do I stop it crashing when I only have 0 AP?
Hey, I’m just wondering if someone could explain to me how to use the JP in the Skill Cost Manager (I assume it has to be a custom cost, however, I do not know how to use eval function or even what it is in-order to fill out the cost requirement and cost perform sections). I would be infinitely happy to know :)
Here I edited the code a user above
APRIL 7, 2012 @ 2:49 PM
draw_actor_jp(actor, dx, dy + line_height * 2)
somewhere in def draw_actor_simple_status in Ace Menu Engine.
Or Window I guess.”
because when i put the code into the ace engine script the JP number was on top of the hp/mp gauges i edited it fit right underneath the Lvl bar.
Main Menu JP show:
Script Editor –> Winows—>Menu Status—>scroll down until you see this:
# * Draw Item
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
*** draw_actor_jp(actor, rect.x + 50, rect.y + 10 + line_height * +2.2)***
Copy the line of code in the ***’s and place it as shown.
draw_actor_jp(actor, rect.x + 50, rect.y + 10 + line_height * +2.2)
Skill Menu Staus JP Show:
Do the same as above but click on the SkillStatus section of the windows scripts
# * Refresh
return unless @actor
draw_actor_face(@actor, 0, 0)
draw_actor_simple_status(@actor, 108, line_height / 2)
***draw_actor_jp(@actor, 50, line_height * 2.5)***
Paste the code in the ***’s:
draw_actor_jp(@actor, 50, line_height * 2.5)
screenshot link: http://fc09.deviantart.net/fs71/f/2013/283/f/d/jp_show_by_zephyrlightningheart-d6pzgnh.png
I would love to use this JP script together with other scripts but i dont really know how i would combine it so the other script uses the JP.. At the moment i’m stuck with this one (http://dl.dropbox.com/u/89346660/KMS/KMS_DistributeParameter.txt) tryed to figure it out by myself but it seems that my understanding of it is just way too bad…
Could maybe someone be so kind to help me out with this one?
For those trying to show JP in the menu, add
draw_actor_jp(actor, dx, dy + line_height * 2)
to the Ace Core Engine script under “draw_actor_simple_status”.
Much appreciated. Though quick question-
You know how to flip the JP and number around so instead of displaying as “100 JP”, it’ll display it as “JP 100”?
I set ENEMY_KILL = 0 and set jp gain for each enemy.
It seems for enemy notetag isn’t working properly.
I set ENEMY_KILL = 0 and set jp gain for each enemy. But is seems “jp gain: x” notetag for enemy isn’t working properly.
Er… nevermind. I’ve figured out.
So is there really noone who could help me with my issue a few posts above?
I’ll say the same thing a few other people said-
You really need a way to see your current JP.
Seriously, it’s kind of frustrating not being able to see it.
Seconding Demon Moose God here.
I’ve tried every solution given, is there a way to display JP?
Everything tried above for me hasn’t worked.
Actually, turns out what SoundReaper posted DOES work. Or at least his updated version of it.
I’ll give it a try.
Hey, so how would I going about having it check how much JP the actor has and not allowing it to give the skill or take the JP if the actor doesn’t?
Basically I am wanting JP to be a skill cost. The party walks up to the person and it asks “Do you want to learn this skill for 80 JP?” then choices Yes or No. If Yes I want it to go into another branch: If the actor has 80 JP or more it gives the skill and takes out 80 JP. If they have 79 or less JP how do I make it not take the JP and not give the skill? (and then put in a message saying like “You don’t have enough JP for this skill!” or something)
Nevermind, just decided to use the Learn Skill Engine.
How do I make it so that a character cannot learn a skill if he has another one already learned?
EX: Actor learns Fireball, and unlocks Explosions and Flash Fire. If he learns Explosion, he cannot learn Flash Fire and vice versa.
Hey, I was wondering what applications were available for JP, besides the Learn Skill Engine. I really like JP, but I’m not sure how to incorporate it into my game.
Firstly, I was wondering if there was a way to do a shop where you spend JP.
I was also wondering if there was a way to use JP to level up equipment. I saw an “Equipment Level Up” script by Fomar0153 elsewhere on the internets, but I don’t think it works with JP, and I was hoping there was an easier way. Probably not, but I thought I’d ask. My game requires equipping multiple accessories (Cards) and I’ve been trying to figure out a good way to upgrade an individual piece of equipment.
Anyways, another great script. Thanks.
Hi, does anyone know why my jp rais every time i Change my class and how i can fix this
Any clue as to why when I use an item that increases an actor’s TP it adds to and also increases my JP? I keep getting this problem. I didn’t alter the script or anything so I have no idea why it’d do this. If anyone knows why it’d mean a lot.
Anyone now how to set it so that it doesn’t mention JP gain at the end of battle? I am only granting JP on level up, so I don’t need the message there after every battle.
Soulreaper’s scripts do work, but not with all of yanflys scripts. It says something about a stack and won’t play. I used ZephyrLightningheart’s method and now can display Jp, but switching primary still add jp. How to fix?
For some reason, when I attack something, without any rates set, it tells me that nil cannot be coerced into a float in line 402. I tried checking the script, but couldn’t find anything wrong. Please help!
Is there’s a way you can make this script work with Kread-EX’s Actor Inventory? I really would love both of these, but both can’t work together.
Yanfly, I’ve written an add-on to display the JP on screen. Would you like it so you can link to it? It requires this and the ACE Menu engine to work properly.
I´ve a problem. When I press “Learn Skill” ingame, the game crashes and the following message appears:
” Script ‘JP Manager’ line 438: NoMethodError ocurred.
undefined method `´ for nil:NilClass ”
It worked perfectly the one day, but today it says this error. So, what should I do now?
Can I change the name of JP. I am guess it means Job points but I want to change it so something like SP(Skill Points) is this possible? and how would I go about doing that if possible.
I love this but I was wondering is there a way to have your accumulated JP shown in the status or skill menu?
Can anyone tell me how to take what what done in this screenshot by ZephyrLightningheart: http://fc09.deviantart.net/fs71/f/2013/283/f/d/jp_show_by_zephyrlightningheart-d6pzgnh.png
and reverse the “JP” and the numbers so that its consistent with the other information in the menu? So instead of reading “15 JP”, make it read “JP 15” just like LVL on the line above it does.
James i was able to modify my own with the following changes to the one sceen showing in the main system menu . I made some minor adjustments to the width (dw) for it to display properly for my screen. This is at the end of the JP manager script.
def draw_actor_jp(actor, dx, dy, dw = 112)
draw_icon(Icon.jp, dx + dw – 24, dy) if Icon.jp > 0
dw -= 24 if Icon.jp > 0
draw_text(dx, dy, dw, line_height, actor.jp.group, 2)
dw -= text_size(actor.jp.group).width
dw -= 4
draw_text(dx, dy, dw, line_height, Vocab::jp, 2)
Is there a way to determine the JP rate through a formula?
how do i make my reserve party member get jp ?
Found a way to display your current JP on the Menu and Status Windows. Just use the following snippet, It will display just above your HP.
class Window_Base < Window
# * Draw Simple Status
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x, y + 25)
draw_actor_level(actor, x, y + line_height * 1)
draw_actor_icons(actor, x, y + line_height * 2)
draw_actor_class(actor, x + 120, y)
draw_actor_hp(actor, x + 120, y + line_height * 1)
draw_actor_mp(actor, x + 120, y + line_height * 2)
draw_actor_jp(actor, x + 140, y + line_height * -0.5)
So, is there any script that allows subclasses to gain JP as well? I know of Ebonflame’s, but it’s kind of a mess. Are there any others?
Is there a script that allows JP to remain while changing class?
Is there possibly a way to have characters gain JP equal a an in-game variable using an event? I’ve been trying to do something like that with one of my games be haven’t figured out how yet.
Hey guys, i was wondering if there is a way to make subclasses gain JP and use their own JP to learn subclass skills?