Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Jragyn

I'd like to take an extra moment and give a shoutout to Blizzard (and Winkio?) for setting the bar of what an ABS should be, and giving it out for free. Your excessive amounts of generosity in my late teen/early 20s era when I first got into RMXP with all those scripts blew my mind and inspired me to also do development stuff.

Now, fast-forward to the end of 2020, I'm a developer by day for work, and decided it was time to give back: and this is (albeit very rough around the edges) my tribute to the RM community.

The concept of map battlers and AI were never seen again in any future ABS engines for future RPG Makers (that i could find), and they were brilliant... so much so that I also incorporated (though incomplete) the same idea into this engine. I hope to expand it and flesh it out as much as your ABS was, and leave it open for others to extend as they see fit- because that is how it should be. I specifically came back here to share this because this is (for me) really where it all started.

Thank you!
JABS - J's Action Battle System
Authors: J / JE / Jragyn
Version: 1.00
Type: Action Battle System
Key Term: Custom Battle System


After over a decade of leveraging other people's plugins/scripts, I finally have decided to give back.
Enter: JABS, my (J/JE/Jragyn) Action Battle System.
Using this plugin will allow you to battles on the map akin to many popular franchises that start with zeld-.

This was largely inspired by Blizzard's ABS (BlizzABS / BABS, for XP) and Moghunters ABS (XAS / Chrono Engine, for XP+/MV).

It is also by no means perfect, and I fully expect lots of bugs and other imperfections to be found... afterall, I did only develop this in like, 3 months!
I am also not a sprite-maker or artist by any stretch. Though this would probably support cool animations and poses etc, I have no idea how to create them and know no one personally who can/would for me.


  • JABS is an Action Battle System, enabling battles to happen on the map.
  • Battlers can be created via events w/ specific notes.
  • Battlers will follow their configured AI (that you decide with notes).

Comes with a few extra plugins that one may expect in an ABS, but are by no means required (just useful):
  • A simple HUD (displays face + hp/mp/tp/xp-to-next + status icons and their counters).
  • A simple text log (tracks activity like damage dealt and received, EXP/GP/loot earned, etc.).
  • A simple action key setup (shows cooldowns and combos etc.)

Spoiler: ShowHide


You can find the sample project on my public code repository.
It lives right over here.
Just click the ... in the upper right and Download as Zip.

The code is within the demo provided above (you wouldn't want 10k lines of code pasted here anyway).

It is strongly recommended you utilize the demo project as a base to build your own project off of. The plugins are in the order they should be, and the whole thing should just work out of the box. Additionally, the demo does showcase some of the native capabilities of the engine and steps you, the RM developer, through some of the basic stuff and guides you where to look for things.

This was not tested with any other real plugins aside from what is within the project. If there are plugins/scripts out there that tamper with the way events work, there may be some incompatibilities. However, I did my best to extend and not overwrite where possible.

Credits and Thanks

  • Blizzard (and Winkio I think?)
  • Moghunter

Author's Notes

I deliberately left all code open for the public to view and edit as they see fit (please be kind and give credit where credit is due!).
When I first started out playing around in RMXP, the ability to look into other people's scripts and such helped me learn how to do things on my own. I have built many-a-extensions for scripts/plugins over the years that I just kept to myself... but with JABS, I hope this to become a collaborative community effort! So, if you're a crafty enough developer yourself and want to extend this engine with your own added functionality, I would humbly ask that you loop me into the changes you hope to make! It is totally possible that I just didn't think of adding it myself and would add it to JABS for all to use!

Additionally, if you have questions about the code, I'd be happy to explain most anything you'd see in the J-ABS.js file (or any of my plugins).

Thank you, and happy RM-ing!
In short, I'm trying to do this:,15144.0.html

But in the new RPG Maker MV.
For those too lazy to click and read, I'm attempting to remodel the status screen to include more information, specifically the values of s/x params, and also a brief description of what they do for the player.

I've broken it down enough so I understand the functionality of it in Ruby, but MV uses JavaScript, and of course also remodeled all of its core scripts so it is like starting all over. As a result, I have run into a few problems that I really just don't fully understand, because the same course of action done in RMVXace resulted in something else.

Here is a link to the *.js file I'm working on (ever changing since I'm tinkering and toying with it constantly).
Here is a link to the original end result of the script for RMVXace.

The biggest issue I've run into:
> windows don't seem to stack ontop of eachother, instead they erase whatever was beneath. As a result, changing opacity just makes it so you see the map instead of the lower layer of status screen.

To re-iterate, this is no longer in Ruby, which after staring at it and slowly learning for the last 6+ years, looking at Javascript seems so foreign.
(It probably doesn't help that in September I returned to school to pursue an AA >> BAS in computer stuff, resulting in learning html/css/javascript/c# all at the same time now)

Anyone able to help? This isn't a pressing matter by any means, it is more for my own learning than for some super awesome project or anything. Eventually, this same knowledge will be applied to the entire Menu, but first, babysteps.
Isn't this idea of a "message window" in the main menu actually just a glorified help window?
If it isn't, I'd say adding it to the base menu would probably be where I would take it.
Hah, I wanted to try and make it round(the three columns of parameters), but I just couldn't come up with a divisible-by-3 number to split the parameters into three columns, so I left it as-is.

With all of what this status window does, I am certain I can clean it up and fill in all the details for what parameters do, etc. and then move onto something else like perhaps the equip menu, since now that there are so many parameters, it should also be updated to reflect this!

I look forward to seeing what else I can pry from your experience when it comes to RGSS3/Ruby. Thanks again!  :haha:
After seeing the explanation of what you did, as you stated you did accomplish what I was attempting to do, with finesse even, haha. Because you lined up the rectangle around each of the parameters so well(something I failed to do as witnessed with my original version), I thought maybe you found a way to write the values into each index instead. Either way, I really appreciate you explaining all that, and the picture. It was quite clear, and was written in a way I could understand it.

Looking at it, and reading over your explanation, do you think it would've been easier/better to use the invisible Window_Parameter_Choice and just write in the parameters that way? I had considered trying that later down the road, but I figured I would try my best to come up with core functionality first(which you did), and attempt to optimize it later.

Hmm. Thank you again, mysterious stranger KK20. I don't really have anyone I can talk to directly about this stuff, so I appreciate again that you broke it all down for me. As I work on this further (and hopefully flesh it out into a full CMS or something), I'll be sure to come back here for perhaps more pearls of wisdom from you.  :haha:
What you did was effectively what my original goal was, but I had no idea how to accomplish it: To put it all in one window and just make it wrap... but I ran into the issue where the first set of parameters(base) were lesser in number than the other two sets (s and x). I'm trying to look over what you wrote and understand it; it appears that you accomplished it by modifying the cursor movement methods? And the help text, you did this by index instead of by the specific parameter? Is this correct? And then, you made my Scene_Status look a million times more clean than I did myself, haha. If I had to guess, what you wrote in and fixed looks almost exactly like default scripts in their cleanliness.

I sort of understand what you did, and it makes a lot more sense as far as efficiency is concerned... but via the methods I was using, is my goal accomplishable? I'm beginning to question that now that I've seen success via a much easier route...


What I have done thus far is just me tinkering around trying to figure it out, but I'm no programmer(yet! Going to school for it this fall).

When I adjust this as you suggest by adding

It throws an error regarding wrong number of arguments (5 for 2).
I recall getting this error before, and my solution was to eliminate the super because I was hoping to pass in more stuff upon window creation so that the window generated the contents I wanted it to... maybe I'm going about it wrong?

Spoiler: ShowHide

class Window_Param_Details < Window_Command #Selectable?
  def initialize(x, y, width = 128, height, key)
    @key = key
  def make_command_list
    case @key
      when :paramb; write_b_commands
      when :params; write_s_commands
      when :paramx; write_x_commands
  def actor=(actor)
    return if @actor == actor
    @actor = actor

the idea behind adding more things to pass along with creation was so that each window when drawn would draw the proper list of parameters.

Do you think there is possibly a more efficient way to go about this that I can learn from you? Like I said before, this is pretty new to me.

Winded and lengthy Explanation:
I started this personal project just as a remodel of the status screen to display all the parameters, including the ones that are normally hidden (like EVA/HRG/etc). Then I realized that the player/developer may not fully understand what they do, so I figured why not include a help window to display this information? I wasn't sure how I could do this, but I know that when you are in the equip/item/skill menus, you can use cursors to hover over items in a list to fill the help window with stuff (typed by the developer of the game in the database). So I tried to make a single, giant list, 3 across by 10 vertically... but I didn't know how to do that, so I figured that making three separate windows each containing a list of the parameters would do the trick. With delicate positioning, I could put it ontop of the existing full-screen status window w/ .opacity=0, and it will hopefully just... work.

My goal:
 To create a status menu that fits the "16:9 ratio" thing(640x360 compared to the default 544x416).
 To allow the player to not just view the stats, but also view a brief snippet(help window) of what they do (ie: Attack- raises physical damage dealt).
My Progress:
 I am pretty nub with scripting. I meant to pick it up with RMXP, but then VX came out. Then work happened. Then VX Ace came out. More work happened, and MV is about to come out... but I already got started during the VX Ace era, so here we are. I put together modules that have some configurations in them (like vocab for the s/x params), modified a few methods that are supposed to enable higher-than-cap base parameters(they seem to work), and actually perform the minor adjustment for changing screen resolution from default to the ratio I mentioned before.
 I have a basic understanding of how it all works for the most part, and I feel like the issue I am stumbling most with is simply understanding the window to scene interactions, in addition to the details about things like command windows and how all that works. I've read over the default scripts again and again, and I just feel like I'm missing something. So I posted what I've got at the bottom. Currently, the script draws all the parameters, and I tried to do things with the Scene_Status and making it do the selectable thing... but its definitely not working.

I was hoping I could get a peer review or something from one of the experts(read: more knowledgeable than I am) and maybe a shove in the right direction with wisdom about how the things I'm tripping over work. :( Sorry for the mouthful, just trying to be as clear as possible.

1. What RPG Maker you are using?
2. What exactly is the problem you are encountering? Which scripts are you using?
   -It is a naked project, the only thing I'm using is my own script (listed below).
3. In which environment does the problem occur?
   -The issues start occurring when I decide to start going into the menu and pressing buttons.
   -As written and pasted on Pastebin, it is setup so that if you choose any of the selections on the status menu, you get:
"Script 'Window_Base' line 72: RGSSError occured. disposed window." Which I'm sure is because I failed at doing the right thing with window creation.

For clarity, I've done my best to comment what I believe its supposed to do or at least what my intent was for the code listed below:
And also, so I don't have a mile long post, I shoved it onto pastebin:

Click here for the module for the Revamp.
Click here for the Revamp on Pastebin.

Single instruction: Module goes in its own script section above the Revamp itself.

And thanks again for anyone who lends help, I appreciate it.
Script Troubleshooting / [RMVXA] CCTS for VXace?
May 04, 2013, 06:33:36 pm
I've taken it upon myself to try and convert this script over to RPG Maker VX Ace, and for the most part thought I was succeeding, however, after changing up appropriate methods to match what VX Ace has compared to XP, in the end, it just pops an error with "get_pixel" error under Window_Base, which seemingly has little to nothing to do with the script :\

Doing a quick CTRL+SHIFT+F of "get_pixel", this is only found in Window_Base attached like this: "windowskin.get_pixel(blahblah)"
Doing another search for "windowskin", and it pulls up the CCTS referencing windowskins for the clock, which I set to nil.

At this point, I'm pretty well stumped, I can't seem to figure it out and was hoping for a little assistance.
The system accomplished all I was considering utilizing, except via scripts instead of Common Events and variables, etc.

If not to use the script, I'd like to understand the error and how to fix it, just so that I can apply the knowledge further to my own scripting capabilities.
I'm pretty sure there are settings within Enu's Tankentai that arranged the system similar to what you've described.
I thought this'd be already created, but I can't seem to find it in any forums or anywhere.

I seek to be able to enter a state, and skills become available/unavailable.
IE: Enter state:Aggressive Stance and lose the ability to cast Heal (becomes greyed out/hidden), but gain the ability to use Vicious Slash.

Anyone have any ideas?
As far as I can see, Vlad has abandoned this project in favor of his own dawdles. I tried to keep tabs on him and his progress with this project, but it has not been updated in a long long while. I believe it to be abandoned.

This is by no means my own project. Take it, modify it, do as you will with it as far as I'm concerned. If you utilize bits and pieces of what I wrote in here, just make sure you learn and understand it. This was just kinda... a learning project for me. :D
RMXP Script Database / Re: [XP] Elemental Reflector
July 23, 2011, 02:36:45 pm
:\ Looking at project, you failed to setup the database at all.
This project is an example of how it should be setup.
Also, you could've downloaded the demo for explanation too, if it wasn't working.

Your Demo Project~

Game_Temp = all the various non-saved variables used all throughout the rest of the scripts.
Game_System = Holds many methods involving Audio, though holds variables that ARE saved throughout other scripts.
Game_Switches = Manages...switches. (max is 5000 apparently?)
Game_Variables = Manages...variables. (max is also 5000, by default.)
Game_Selfswitches = Manages the selfswitches with boolean logic. (uses hash instead of array like above)
Game_Screen = handles all the shaking and weather and flashing on the screen.
Game_Picture = takes care of all the displaying/moving/rotating/etc of pictures being displayed on the Game_Screen.
Game_Battler1/2/3 = Handles seemingly everything involved in converting a Game_Actor/Game_Enemy into a battle-able character; ie: defines methods of stats, gives battle formulas, explains states and their effects, skills/items and their usability...its huge and full of stuff useful to making sure a battle works properly.

To be continued tomorrow when I have access again to interwebs.
RMXP Script Database / Re: [XP] Improved Shop
July 13, 2011, 07:48:50 pm
Lol, I wrote a script that does this same functionality, but is compatible with both XP/VX.
I just havent been able to upload it cuz I been away. Darn. XD

RMXP Script Database / Re: [XP] Elemental Reflector
July 13, 2011, 07:45:23 pm
I'm in the process of re-writing this script (and a bundle of others) to be re-released.

To answer the question though, I myself have functioned it.
What exactly is the issue?

Perhaps linking a copy of a naked project with this script in it how you think it needs to be setup, yet not working, would help me troubleshoot any issues you have.

Script Requests / Re: VX Script Port to XP
June 05, 2011, 11:13:51 pm
Blizzard's Answer to Life

Not the same by any means, but bears some similer features.
The likliness of anyone buckling down and taking the time it takes to convert a script of that magnitude from VX to XP, you might as well stick to VX, or find a different script to replace it for XP.
RMXP Script Database / Re: [XP] Blizz-ABS
June 02, 2011, 01:02:48 am
I rather figured it out.

creating an event via script is awfully complicated.