Monk Script

Started by akkrin, September 19, 2008, 02:23:45 pm

Previous topic - Next topic

akkrin

September 19, 2008, 02:23:45 pm Last Edit: September 19, 2008, 02:37:16 pm by akkrin
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

Kukulkan

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


akkrin

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.

Phasedscar

Why not just make a "Fist" weapon with 0 attack power on it so strength is the only factor?
Spoiler: ShowHide
My own game project & My resource workshop! (respectively)
http://forum.chaos-project.com/index.php?topic=608.0 http://forum.chaos-project.com/index.php?topic=682.0



What that is? Affection area for flails. - Blizz-ABS, the ultimate ABS

The pictures in your signature may altogether be no more than 200kB. The height must not exceed 200 px and the width must not exceed 800 px. Altogether they may take up an area of 160000 px2. Every signature not matching this criteria is a subject of the moderator team to remove and leave this rule as message in your signature.

akkrin

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.

Starrodkirby86

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

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




akkrin

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?

Starrodkirby86

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)

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




akkrin

September 20, 2008, 11:50:36 am #8 Last Edit: September 20, 2008, 12:11:50 pm by akkrin
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

Starrodkirby86

September 20, 2008, 12:12:55 pm #9 Last Edit: September 20, 2008, 12:19:44 pm by Starrodkirby86
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.

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




akkrin

what exactly do you mean by save. i'm not exactly sure.  Kind of  a noob when it comes to scripting.

Starrodkirby86

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

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




akkrin

September 20, 2008, 12:44:13 pm #12 Last Edit: September 26, 2008, 08:10:31 am by akkrin
Wow do I ever feel stupid now.thanks for the help, seriously.

akkrin

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.

Starrodkirby86

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

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




akkrin

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.