Chaos Project

RPG Maker => RPG Maker Scripts => Script Requests => Topic started by: akkrin on September 19, 2008, 02:23:45 pm

Title: Monk Script
Post by: akkrin on September 19, 2008, 02:23:45 pm
What I'm wondering is if somebody knows of or could make me a script to XP like the one they had for the monk in the first Final Fantasy.

And for those that don't know what I'm talking about...
- In the first Final Fantasy game there was a monk class
- He was really weak when you got started so you had to get him weapons and armor no matter what and everyone else in your party had to wait
- But once he got past a certain level his attacks would do more damage when he was unarmed than when he had a weapon on and he would take less damage with no armor than if he had armor on.  And I have also tried just changing the Str of the character but that doesn't work because he still has no attack power to do damage with.

Thanks -Akkrin
Title: Re: Monk Script
Post by: Kukulkan on September 19, 2008, 06:39:57 pm
Script request are to be posted on the script requests forum.

Also, why don't you try a stat modifier script? there's one that exchanges str and all those stats with atk, def, etc, so you don't need to equip anything to have those attributes

Title: Re: Monk Script
Post by: akkrin on September 19, 2008, 08:51:51 pm
Well that would work, do you know if there's one of this site or where I could find one? because I searched but didn't see one, maybe I overlooked it accidentally.

Quote from: Kukulkan on September 19, 2008, 06:39:57 pm
Script request are to be posted on the script requests forum.


As for posting here would but I didn't notice on account of the time.
Title: Re: Monk Script
Post by: Phasedscar on September 19, 2008, 09:14:04 pm
Why not just make a "Fist" weapon with 0 attack power on it so strength is the only factor?
Title: Re: Monk Script
Post by: akkrin on September 19, 2008, 09:59:19 pm
Just tried it and sadly that doesn't work. It still does 0 damage so I guess I will need the script and there are no easy ways out of this problem.
Title: Re: Monk Script
Post by: Starrodkirby86 on September 19, 2008, 10:04:08 pm
To eradicate your 0-damage problem:

http://forum.chaos-project.com/index.php?topic=1754.0

Read this topic, or scroll down to Blizzard's response. This has a method to change the battle algorithm so you can do damage when you're unequipped. :P
Title: Re: Monk Script
Post by: akkrin on September 20, 2008, 11:33:19 am
Thanks but there is one problem I can't find that piece of code, is it in one of blizzard's scripts or is it just in the original ones and I just can't find it for some reason?
Title: Re: Monk Script
Post by: Starrodkirby86 on September 20, 2008, 11:39:14 am
Quote from: akkrin on September 20, 2008, 11:33:19 am
Thanks but there is one problem I can't find that piece of code, is it in one of blizzard's scripts or is it just in the original ones and I just can't find it for some reason?

No, it is not in any of Blizzard's scripts. This is the use of Shift + Ctrl + F, doing a global search of all sections in the script database.

Here are the instructions :P :

Go to Game_Battler3 and find Line 42. Line 42 should contain this piece of code:
  def attack_effect(attacker)
    # Clear critical flag
    self.critical = false
    # First hit detection
    hit_result = (rand(100) < attacker.hit)
    # If hit occurs
    if hit_result == true
      # Calculate basic damage
      atk = [attacker.atk - self.pdef / 2, 0].max
      self.damage = atk * (20 + attacker.str) / 20
      # Element correction
      self.damage *= elements_correct(attacker.element_set)
      self.damage /= 100
      # If damage value is strictly positive
      if self.damage > 0


This is the battle algorithm that determines how much damage your hero will deal to the enemy.

Find Line 51, here is the code of line 51:

      self.damage = atk * (20 + attacker.str) / 20


As you can see, if the atk (Physical Attack) is 0, then multiplying a number by zero is completely useless, resulting in Zero. Replace Line 51 with this new piece of code.

self.damage = (atk + 1) * (20 + attacker.str) / 20


This will never result in the end number being 0 because a number multiplied by itself is...itself.

So we're all good.  8)
Title: Re: Monk Script
Post by: akkrin on September 20, 2008, 11:50:36 am
Cool thanks for pointing this out to me and thanks to Blizzard for the code edit that goes there.

OK either i'm retarded or something's wrong cause I changed the code exactly as it should be and yet I still get 0 atk and 0 damage
Title: Re: Monk Script
Post by: Starrodkirby86 on September 20, 2008, 12:12:55 pm
That's strange. I'll test this out myself and then edit this post or reply to you if there's something going on. Something may be wrong if you have your own battle algorithm in there or some battle system replaces this default algorithm, who knows.

EDIT: Yes, I noticed the very problem. It seems to be having no effect. I'm going to tinker and research around this a bit, to see if editing the algorithm is useful or not. Hang tight.

EDIT: I found the lamest and easiest error. Right after you finish modifying the script, SAVE. The algorithm will work then.
Title: Re: Monk Script
Post by: akkrin on September 20, 2008, 12:34:11 pm
what exactly do you mean by save. i'm not exactly sure.  Kind of  a noob when it comes to scripting.
Title: Re: Monk Script
Post by: Starrodkirby86 on September 20, 2008, 12:37:12 pm
Quote from: akkrin on September 20, 2008, 12:34:11 pm
what exactly do you mean by save. i'm not exactly sure.  Kind of  a noob when it comes to scripting.
Save your work.

After you finish modifying the script, save all of your RMXP work. Then it should work. The script editing doesn't come into effect until you save the work (Test Battle wise), so do so. :P
Title: Re: Monk Script
Post by: akkrin on September 20, 2008, 12:44:13 pm
Wow do I ever feel stupid now.thanks for the help, seriously.
Title: Re: Monk Script
Post by: akkrin on September 26, 2008, 08:10:45 am
So I have come across the first error with something like this, he does damage and all but he won't do any damage with his skills that I gave him. He only does 0 damage. I was wondering if anybody could help me with this.
Title: Re: Monk Script
Post by: Starrodkirby86 on September 26, 2008, 06:44:40 pm
Someone's going to find the solution after I post this or something, since I'm not so knowledgeable when it comes to scripts.
Your answer is probably somewhere in the algorithms that handles the skills, which is past Line 99 of Game_Battler3. Look into it and modify the values a bit, then see what you get. Don't forget to save/make backups. XD
Title: Re: Monk Script
Post by: akkrin on September 27, 2008, 09:38:37 am
Thanks for the tip it helped me out a lot.  All I had to do it turns out was find the line where power = skill.power + user.atk * skill.atk_f / 100 and change the user.atk.  Again thanks for the tip helped a lot.