Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Medina Stories License Board

Medina Stories License Board Version: 2.0.0
By: Juan José Sánchez Ramírez

Updated links.

http://www.youtube.com/watch?v=KBqavkVMyRc

Introduction

This script is a quasi-identical replica of the Final Fantasy XII License Board. Character development in Final Fantasy XII is based largely on the acquisition of "licenses". Licenses are required to equip weapons and armor, learn magicks and technicks, and enhace a character's abilities.

Features

  • License board (the board can be unique for each character or it can be the same for all characters)
    Board editor
    License points
    Custom board size
    Custom board graphics (i.e., tiles, tile size, font size, background, foreground, animations, etc.)
    Custom board names (i.e., license description, license class, etc.)
    Compatible with larger parties (parties with more than four characters)

Screenshots

MSLB0008.png
MSLB0007.png
MSLB0006.png
MSLB0005.png
MSLB0004.png
MSLB0003.png
MSLB0002.png
MSLB0001.png


Demo

Medina Stories License Board v2.0.0 Demo

Script

Medina Stories License Board v2.0.0
Medina Stories License Board Pictures v2.0.0

Instructions

Step 1. Copy the script.

Step 2. Add the pictures to your Pictures folder.

Step 3. Call the Scene_EditBoard class with the following code. If you do not have a Boards.rxdata file, the game will create one for you. Create a new board. The README.txt file in your Game folder contains a list of all skills, weapons and armor in the database.

Ruby:
$scene = Scene_EditBoard.new

Step 4. Call the Scene_BoardSelect class with the following code.

Ruby:
$scene = Scene_BoardSelect.new

Step 5. To add license points to your characters, use the following code. For the purpose of teaching, I shall ad 50 license points to every character.

Ruby:
for actor in $game_party.actors

  actor.ap += 50

end

Configuring your license board

The Medina Stories module, at the beginning of the script, contains global variables and classes which handle the license board interface. Every single class and variable in the module is editable. For more information regarding the global variables and classes in the Medina Stories module, read the comments in the script.

FAQ

What are licenses? In addition to enabling a character to equip various items or cast potent magicks, there are also licenses to boost stats. Licenses can be obtained on the "license board" by using "license points" (LP).

Simply obtaining a license for a skill allows a character to use that ability. Licenses for statistic boosts do not require are effective immediately after being obtained. Licenses for weapons and armor allow a character to equip such weapons or armor, but require the items to be in the party's inventory.

How do you choose licenses? You are free to choose which licenses each character acquires. There are several categories of licenses, and using LP to obtain them will gradually open up new licenses on the same area of the board.

Which are the license board categories? Licenses are loosely divided into four different categories:
  • 1. Statistic Boosts
    2. Weapons
    3. Armor
    4. Skills

How can I display the license board? The license board can be displayed by opening the Board Select screen and choosing a character.

Compatibility

Not SDK compatible.

The script rewrites the following classes: Game_Actor, Game_Party, Bitmap, Window_EquipItem, Window_InputNumber, Window_BoardSelectable and Scene_Title.

Credits and Thanks

All credits go to Juan José Sánchez Ramírez. Do not credit me as medinastories, Medina, Medina Stories, or any other variation of these names.

Special thanks go to Renan Tsuneo Hangai Junior, also known as RTH, who wrote the Ability Grid script, which I edited to write this script. For more Final Fantasy XII scripts, I suggest searching for Renan Tsuneo Hangai Junior's Active Dimension Battle script, which includes the Ability Grid script.

Author's Notes

This script was designed for my RPG Maker XP project, Medina Stories. I first had the idea to make this script a couple of years ago upon encountering Renan Tsuneo Hangai Junior's Active Dimension Battle script, which includes the Ability Grid script. When I further analyzed the Ability Grid script, I figured how to manage large amounts of information effectively using tables, and storing these tables in encrypted arrays.

I still need to add the following functions: zoom in and out, draw borders around the edges of the board and adjust the width of the confirm window.

New in v2.0.0

  • Added a zoom in/zoom out function.
    The script now draws borders around the edges of the board.
    Fixed the Window_BoardConfirm class. The confirm window now adjusts its width to text.
    Added a 'smart start' function. The board cursor now starts at the next available tile.
    Added an action list window.
    Aliased the Game_Actor and Scene_Title classes.

New in v1.1.2

  • Fixed the Window_BoardSelectable class.

New in v1.1.1

  • The README.txt file is now printed when calling the Scene_EditBoard class.
    The Boards.rxdata file is now written if it does not exist.
    The script no longer rewrites the Main class.

Terms and Conditions

Free for Commercial Use. Must include the scripter's name.
 
Woah, got to say this is most probably one of the best license board systems i have seen. Nice job. :)

Regarding the graphics, I'm thinking about making the tiles larger, with prettier icons (not the RPG Maker XP standard) and some lightning effects. However, we all know that more graphics basically translates into less RAM and lagging. Maybe whoever is reading this can give some input into whether I should go forth with this or not.

i would say go through with it, laggig would only be a concern if the player's computer isn't good enough. Either way try it.
 
i have a couple things to say. firstly why didnt you alias Scene_Title so the user doesnt have to do any work to install?
and about this:
If you do not have a Boards.rxdata file create an empty file and rename it Boards.rxdata.
why didnt you make the script create a Boards.rxdata if it doesnt exist? thats another waste of the users time setting this up. irt: List::item_list, again you could have just alias main, i know people dont edit main, but its quite possible. idk im sure there is a better anwser, i just not 100% what it might be. summary, this takes too much time to set up, you could save users time messing with it if you made some edits. dont think im mad i like what you have done, just thought id point it out, because most people who use these scripts dont know anything about coding.(or how to follow simple instructions)
 
Plague180":2r137c4k said:
i have a couple things to say. firstly why didnt you alias Scene_Title so the user doesnt have to do any work to install?
and about this:
If you do not have a Boards.rxdata file create an empty file and rename it Boards.rxdata.
why didnt you make the script create a Boards.rxdata if it doesnt exist? thats another waste of the users time setting this up. irt: List::item_list, again you could have just alias main, i know people dont edit main, but its quite possible. idk im sure there is a better anwser, i just not 100% what it might be. summary, this takes too much time to set up, you could save users time messing with it if you made some edits. dont think im mad i like what you have done, just thought id point it out, because most people who use these scripts dont know anything about coding.(or how to follow simple instructions)

I have left the Main class intact. Now, the game prints the item list when accessing the Edit Board scene. Also, the game now creates an empty Boards.rxdata file if you don't have one. The installation is now as simple as I can make it. : )

On a similar note, I've tested the installation myself. It works perfectly well if anyone cares to try it. Hopefully, I'll make a video soon, but I don't have any recording software on my computer.
 
Regashi":aiyi2p3g said:
Woah, got to say this is most probably one of the best license board systems i have seen. Nice job. :)

Regarding the graphics, I'm thinking about making the tiles larger, with prettier icons (not the RPG Maker XP standard) and some lightning effects. However, we all know that more graphics basically translates into less RAM and lagging. Maybe whoever is reading this can give some input into whether I should go forth with this or not.

i would say go through with it, laggig would only be a concern if the player's computer isn't good enough. Either way try it.

Thank you! It took about two or three months to write from scratch. If you have any questions at all with the code, I would be more than glad to respond. I just did not care to write any technical information on the main post since the code is so damn long.
 
To anyone interested in this script,

I fixed a huge error in the Window_BoardSelectable class, the class which allows the Board Select scene (the scene shown in the first screenshot) to scroll between different characters with a cursor and smooth transitions. This class is basically an improvement over the RPG Maker XP default Window_Selectable class. What I did was add two very interesting functions:
  • 1. Smooth transtions: with item lists that do not fit the screen, the class slides smoothly into the next item.
    2. Cursor implementation: a nice cursor (mine is in the shape of a hand) substitutes the annoying blinking cursor rectangle.

Overall, it's the same class, graphically improved. It can be used anywhere the Window_Selectable class is used. You simply need to change the name to Window_BoardSelectable. This way, you can have a cursor instead of the cursor rectangle in places such as the Title scene, the Menu scene, shops, etc.

Anyhow, I had previously ignored the class, and since it sort of worked I had failed to notice it did not scroll. Luckily, I found out in the end.

My next mission will be to make the license confirm window (the one that says "Yes" or "No") fit the text description of the license. This, I firmly believe is trickier than what it sounds. With these new adjustments, I believe I can launch a new version of the license board script, version 1.1 or 1.2.

I really need betatesters, if anyone is interested.
 
This is so cool *.*
Even though I haven't played Final Fantasy o.O

I can give a few input though:
1. The script is made with six people party in mind while RMXP default is only four, and since most game adhere to four person party, it kind looks awkward with the two extra spaces. Also, if ever a game do have more than six party members, the script does allow the cursor to select the additional member's license but it won't scroll down and won't show their license board.

2. When selecting the license to get, would be useful if the cursor automatically locks to the nearest selectable license instead of the player threading thru blank tiles.

3. Maybe an ability to add/remove/suspend a certain license via script call. Would be useful if in the story, your heroes somewhat did a bad thing with fire spells so his fire license got suspended (all fire tiles is inactive) but later can be enabled again *.*
 
Mimi Chan":228qx1h5 said:
This is so cool *.*
Even though I haven't played Final Fantasy o.O

I can give a few input though:
1. The script is made with six people party in mind while RMXP default is only four, and since most game adhere to four person party, it kind looks awkward with the two extra spaces. Also, if ever a game do have more than six party members, the script does allow the cursor to select the additional member's license but it won't scroll down and won't show their license board.

2. When selecting the license to get, would be useful if the cursor automatically locks to the nearest selectable license instead of the player threading thru blank tiles.

3. Maybe an ability to add/remove/suspend a certain license via script call. Would be useful if in the story, your heroes somewhat did a bad thing with fire spells so his fire license got suspended (all fire tiles is inactive) but later can be enabled again *.*

Thank you, Mimi Chan, for leaving a comment. Most people will not. To attend most of your concerns, all I can tell you is I went with the same overall design in Final Fantasy XII. That is why the script is meant for six party members and why the cursor moves through all the blank spaces.

Also, I believe this is an old version of the script. I will upload a new version tonight. The changes include an error with the scrolling which apparently, and as you just made it notice, slipped my mind. It also includes a shiny new demo which explains how to make the script work and a video.

Finally, I don't quite understand your last point. Do you care to expand upon it? I don't really know if you want to remove a license from the board, "lock it" so that heroes can't activate it, or simply deactivate a previously activated license. If you explain yourself better, I'll see what I can do.

So, hopefully, when you see this message you'll find the demo video and the new demo download. Thanks for posting!
 
I understand the six party thingy, but now that you have ported it to RMXP, would be cool if it's four party by default and just the scrolling enabled when you have more than four member.

I mean uhh lets say a script that disable all Time Magick base tiles so they will be all greyed out rendering all the skills under Time unusable. Or a script that locks the tiles (you cant license it) until you enable it, good for lets say, you need to do a quest first before you can unlock level 4 time magick.

On a much larger scale, I would like to see something like a swappable license card *.*
For example, a swordsman license card will have tiles like Sword mastery, heavy armors, and sword skills while a mage license card will have the magic ones. And you can swap license for your char and probably make a hybrid class by combining default classes and license cards O.O

Imagine Aluxes being a fighter with mage license, now he can use sword and magic at the same time o.O

Adhering to the original FF idea is good, but the magic of scripting is expanding on the original concept and adding your own personal touches *.*
 
Mimi Chan":30r88jnc said:
I understand the six party thingy, but now that you have ported it to RMXP, would be cool if it's four party by default and just the scrolling enabled when you have more than four member.

I mean uhh lets say a script that disable all Time Magick base tiles so they will be all greyed out rendering all the skills under Time unusable. Or a script that locks the tiles (you cant license it) until you enable it, good for lets say, you need to do a quest first before you can unlock level 4 time magick.

On a much larger scale, I would like to see something like a swappable license card *.*
For example, a swordsman license card will have tiles like Sword mastery, heavy armors, and sword skills while a mage license card will have the magic ones. And you can swap license for your char and probably make a hybrid class by combining default classes and license cards O.O

Imagine Aluxes being a fighter with mage license, now he can use sword and magic at the same time o.O

Adhering to the original FF idea is good, but the magic of scripting is expanding on the original concept and adding your own personal touches *.*

Thanks for posting again in such a short notice, Mimi Chan.

Since you insist, I will let you on a secret. Changing the Board Select screen to a default of four party members is really easy. You basically have to change a variable that tells you how many columns you have on screen. If you're truly interested, that is, you need the script for your project, I will help you with this as soon as possible. Otherwise, it will have to wait. I'm on final exams for the following three weeks.

Other than that, enabling and disabling licenses sounds like a good idea. As you've implied, it can be useful along the storyline. But don't you think the license card idea is a bit counterproductive? The whole point of the license board system is to let everyone start with the same license board and expand upon it. The script, with some minor coding, allows you to give different characters different boards. But have them merge the boards and swap licenses sounds too complicated, not to mention incredibly difficult to code.

I don't even truly understand the concept. Does the owner of the original license get to keep their license? Where does the newly acquired license go in the board? Does the newly acquired license come previously activated? What would be the point of having levels? You're supposed to move up through licenses so that you can go from owning White Magick level 1 to owning White Magick level 8. If you suddenly exchange a license for White Magick 8, you skipped through seven levels of licenses.

More importantly, what are the requisites for trading a license? Can I trade any license? Does the license need to be previously activated? Does trading expend license points or do I get my license points back, instead? What if the other person already has the license?

Mimi Chan, I have to ask you, one more time, to expand upon the subject in matter. I have to say your idea, though not entirely negligible, is vague and generalized.

P.S.: Did you like the video?
 
Maybe because I haven't played FF that is why I dunno how the license function and how it affects the overall game and such.
What I have in mind is akin to real life, pretending jobs like Engineer, cops, and nurse and their respective school.

A student can basically apply for Nurse which they are given their license card (containing healing stuffs) and they move in ranks yeah, but like in real life, the students might they switch course to cops, which then, they are given another license card (containing guns stuffs) and learn new tricks, while still retaining their skills from their previous license (nurse)

So basically each license is unique to different class, making the whole license thing a sub class (so a swordsman license is different from mage license)
With sword license, you are allowed to equip sword, with mage, you are allowed to use magic. And if you have both, then you are allowed to use Magic Knight license O.O

Just like in real life, everyone can become a cop nurse engineer provided they finish all the school for it. You don't trade license, you just acquire a new one and you can switch any license your character have acquired.

Also, would be cool if you can also put different icon for different license tiles *.*
 
Mimi Chan":3j66sr8m said:
Maybe because I haven't played FF that is why I dunno how the license function and how it affects the overall game and such.
What I have in mind is akin to real life, pretending jobs like Engineer, cops, and nurse and their respective school.

A student can basically apply for Nurse which they are given their license card (containing healing stuffs) and they move in ranks yeah, but like in real life, the students might they switch course to cops, which then, they are given another license card (containing guns stuffs) and learn new tricks, while still retaining their skills from their previous license (nurse)

So basically each license is unique to different class, making the whole license thing a sub class (so a swordsman license is different from mage license)
With sword license, you are allowed to equip sword, with mage, you are allowed to use magic. And if you have both, then you are allowed to use Magic Knight license O.O

Just like in real life, everyone can become a cop nurse engineer provided they finish all the school for it. You don't trade license, you just acquire a new one and you can switch any license your character have acquired.

Also, would be cool if you can also put different icon for different license tiles *.*

Now I finally see what you mean, Mini Chan. However, that is seriously not what the license board is intended to be. I do believe other's have made scripts more akin to what you're requesting, though, perhaps not as visually pleasant as mine. It's not a bad idea, though. Try making a script request. Better yet, try making the script yourself. Coding is a wonderful experience.

As for the icons, and overall graphics, that is all on my to-do list. However, currently I'm working on the Final Fantasy XIII Menu and some ideas for the introduction of my game. Besides, I don't have that many icons!
 
Your board is empty. Follow Step 3 to create a new board with the board editor. You can paste the code anywhere. I suggest an event in the event editor.

Step 3. Call the Scene_EditBoard class with the following code. If you do not have a Boards.rxdata file, the game will create one for you. Create a new board. The README.txt file in your Game folder contains a list of all skills, weapons and armor in the database.

Ruby:
$scene = Scene_EditBoard.new
 

Eventing_Guy

Awesome Bro

I liked FF12... I even Liked the system they used for getting moves.
The fact that you did this is amazing...

Though I know nothing about scripting so many scripts out there amaze me.

Nice work. :biggrin:
 
It's actually very much simpler than what it looks like. The board data is stored in a three-dimensional array, where x and y are coordinates, and z is a value (such as type or visibility). Think of it as a cube made up of boxes, and each box can hold only one item. The board itself is represented by three images: non-visible tiles, visible tiles and activated tiles. When you move the cursor, the board automatically changes position to show where you are. And that's basically it. Everything else, such as the animations, are just eye-candy.
 
Ohhhhh hahahaha wow I feel so retarded right now..
Thank you.. I just spent like 45min tinkering with it..
Oh god hahaha.. embarrassing

EDIT: New question. How do I make unique boards for each character?
I don't want one board to apply to all my party members
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top