Adds to the useability of a script since it really gives you no way to set the Weapon Rank of members who would join your party later in the game. They'd all start out with zero weapon experience.

There's a script known as Weapon By Ranks, by uresk (AKA 332211), that allows characters to have certain weapon ranks and get better with those weapons the more they use them. It even allows critical hit and damage bonuses for higher ranks. But it lacks one thing: the ability to set a character's weapon rank.

Why is this important?
Well, let's say you have two characters. One of them is an idiot who grabbed a sword and really doesn't know much about it, but he goes off to save the world or whatever. It would make perfect sense that he have no weapon experience, thus his weapon rank with said weapon would be F. However, there's also a General from an army. He's used Swords for years and knows everything there is to know about using them. With the script, he would also be at weapon rank F. So he wouldn't even be able to use the weapons he's been around all of his life! It doesn't make sense.

So I scanned through the script, looking for usable... things. Heck, I don't know WHAT I was looking for. But I found it, and it works.

The Meat of the Tutorial
This'll be a relatively short tutorial, but it's more useful than you'd think.
You only need three short lines of code in a Script Box in order for it to work.

@actor = $game_party.members[0]

I know what you're thinking: "That's just a variable, why would you need that?"
The entire code won't fit on a single line and would be cut off, thus causing errors because it's, of course, incorrect. Besides, this makes it really easy to find which party member you're going to set. Now, after that is this:


This code gets the actor number you set in the first part of the code, and sets the second weapon in the array to rank C. Why the second? An array always starts at zero. The first character in your party is also ID Zero. So the first weapon you customized in the array in the script's number would, as explained, be zero.
And the last part of the code:

@actor.ws_exp = 700

You may be asking: "Why do I need to set the exp if I already set the Rank elsewhere?"
Because, they still have zero experience points in that specific Rank. So when they earn weapon exp in battle, it won't add to the weapon rank they're at, it'll add to the amount that's there: 0. So all the work you did in setting the rank would be completely nullified.

Although this is only a few lines of code, it took me an hour to get it just right. I'm not the best scripter, so it wasn't easy. And I probably did a bunch of unorthodox things during my discovery, but it's worth it.
To use this, just change the number to match the party id of the character that joined your party.

I hope this was useful to someone, thanks for reading my tutorial! If you don't have this script, but want it, PM me and I can send you the link. Unless I'm allowed to post the link to it here. Because I don't have permission from the author to post the direct script.