Stat Distribution System

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 85
Stat Distribution System
Version: 1.71
Author: Lettuce
Date: November 23, 2008

Version History

  • 2-May-08 : Version 1.0 increases atk (base atk and weapon bonus), max stat counts weapons bonus too. Now in version 1.1, the script only increase the base atk value, ignoring all weapon bonus (so if your max stat in game is 99, base atk 23 and weapon atk is 30; you can increase the base atk to 99. and with weapon bonus, you have total atk of 129!)
  • 3-May-08 : Version 1.2; showing much more info, including equiped items and their stats bonus, max attack power, evasion, hit and critical rate
  • 5-May-2008 : Version 1.3, now showing "Unequiped message" for unequiped slot rather than leaving it blank, 2 layout modes (for those who use very long Vocab for the 4 attributes), plays sound etc~
  • 8-May-2008 : Feature update, now with exp bar, states display and lets you set a starting points [points given at the beginning of the game]
  • 13-May-2008 : Feature update, now you can increase hit rate, evasion rate and critical rate. Points needed for each and increment amount for each are customizable
  • 20-May-2008 : Two handed weapon now displays correctly.
  • 23-Nov-2008 : Fixed to support dual wielding.

Planned Future Versions
    nowt~

Description


If you have played online game before, you will notice that some of them give you points upon level up and let you increase your stat as you like instead of having a pre-determined stats. This script mimics that system.

This script have 2 modes, regular mode where you get a fixed number of stats upon leveling up and 1 point will give you 1 stat increase.
Then there's RO (Ragnarok online) mode, where you gain a few points upon level up at lower level, but at higher level, you get more points per level up (calculated by formula)
and each stat will require more points for 1 increase at higher value. For example, you need 10 points to increase from 90 SPI to 91 SPI, but only 2 points to increase ATK from 2 to 3 (meaning, you can sacrify the points needed for the high stat and get several lower stats with the same amount of points :D)

Features

  • Give you the ability to increase hp, mp, atk, def, spi, agi, hit, eva and crit o.O
  • Mode toggle (normal and RO)
  • Can easily give your actors points
  • Does not interfere with normal character's growth (set the stat curve in database to 1 all the way from 1 to 99; this will disable natural growth
  • SHOULD work with any party switching / more than 4 actor per party scripts
  • Customizable maximum stats
  • Customizable starting points
  • Customizable stat increment
  • Replace the status menu?
  • Displays max atk, hit rate, evasion rate, critical rate
  • Displays actor name, class, states, exp, equipments, attributes etc.
  • Customizable font -_-;; (running out of feature)

Screenshots



Instructions

Calling the script:
You can use call script event and this code
Code: [Select]
$scene = Scene_Stat_Dist.new(0)
Or edit your menu scene

Giving Points:
Code: [Select]
  $game_party.members[<member ID>].points += <amount of points>
#$game_party.members[0].points += 5  <- this would give your first actor in the party 5 points
or if you want to give point upon level up
under Game_Actor, in def change_exp, under the line level_up ; paste this
Code: [Select]
difference = @level - last_level
  $game_actors[@actor_id].points += <amount of points>


If you want to give points upon level up the same way as RO does, use this this one
Code: [Select]
difference = @level - last_level
  $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference

Script

Script

Credit


  • Me

Thanks

  • Akin (improvement suggestions)
  • GoldenShadow (advices)

Support


Just PM me :0

Known Compatibility Issues

*Compatible with Akin's Weapon upgrade Script

Demo


Demo here~

Author's Notes

This script will part of my Ragnarok Online package, includes this script, RO style damage calculations etc etc
FAQs
Q: How do i get unequiped icons like the ones in your screenshot!?
A: Replace your default iconset with this ICONSET Credit goes to Whitecat and Twilight (I just add 5 more icons). Then search for draw_icon and remove the # infront

Q: I found a bug! What do I do?
A: Post here :D! Though I have tested this script, I can't guarantee that it is bug free.

Q: I can't see any text!!
A: Change Fontname at the beginning of the script, to something like "Verdana" or "Arial"

Q: I love you
A: Yes, lets make babies

Restrictions

Do whatever you like as long as you leave my name it it <3 Would be nice if you inform me about it though ^^
« Last Edit: February 11, 2009, 07:25:41 PM by Lettuce »
"The pinata is full of shaving cream!"
My scripts:

My skins:


***
Rep:
Level 86
I hate everyone except the ones I don't hate...
Me likey this script. Me no understand why you no script more scripties! Me would like more scripties from you. But me also come with suggestions:

(Now being serious)

The text is a bit "cludded" and mashed together. Whilst I like it, not many might. It looks messy, though I personally loove the idea of having smaller text than usual for once.
I wonder how many of my-reps are there for a reason, and not just because some jackass wanted to show off in front of some other jackasses...?
Probably a lot of them - and those people sure as hell don't deserve my pity, let alone my disgust.
That's right, let's see some more -Rep'ing! BOOYEAH!!

**
Rep:
Level 85
I felt it's a bit crammed too, but it can't be helped because VX have even smaller window size ;_;

I suppose I could add (yet another) option to get rid of stuff~
>.<~
"The pinata is full of shaving cream!"
My scripts:

My skins:


***
Rep:
Level 86
I hate everyone except the ones I don't hate...
lol, well don't do something you don't want to do with a script you like. This rox! Please do make more of them (and put links to them in your sig?)!
I wonder how many of my-reps are there for a reason, and not just because some jackass wanted to show off in front of some other jackasses...?
Probably a lot of them - and those people sure as hell don't deserve my pity, let alone my disgust.
That's right, let's see some more -Rep'ing! BOOYEAH!!

**
Rep: +0/-0Level 85
Everfrost.
Ooo sweet.  ;8
I take my sword and shield, we start to run the field,
Black ravens on the sky, waiting for someone to die,
I strike with all i have, this is our final chance,
Soon Odin will take us all, to the golden halls...


Which Final Fantasy Character Are You?
Final Fantasy 7

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best RPG Maker User (Scripting)2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best Use of Avatar and Signature Space2010 Favourite Staff Member2010 Most Mature Member
This looks very nice. It's nice to see another scripter haunting the forum

***
Rep:
Level 86
I hate everyone except the ones I don't hate...
;) Once again, how and where excactly should we insert
Code: [Select]
difference = @level - last_level
  $game_actors[@actor_id].points += <amount of points>
? I've tried this kind of stuff before, and I did what it said in the first post, but I get an error... I will get a screen soonest
I wonder how many of my-reps are there for a reason, and not just because some jackass wanted to show off in front of some other jackasses...?
Probably a lot of them - and those people sure as hell don't deserve my pity, let alone my disgust.
That's right, let's see some more -Rep'ing! BOOYEAH!!

**
Rep:
Level 85
Like this~~
Code: [Select]
def change_exp(exp, show)
  last_level = @level
    last_skills = skills
    @exp = [[exp, 9999999].min, 0].max
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      level_up
     #---------------------add the code here
      difference = @level - last_level
      $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference
    #----------------------- :D
    end
    while @exp < @exp_list[@level]
      level_down
    end
    @hp = [@hp, maxhp].min
    @mp = [@mp, maxmp].min
    if show and @level > last_level
      display_level_up(skills - last_skills)
    end
  end
"The pinata is full of shaving cream!"
My scripts:

My skins:


***
Rep:
Level 86
I hate everyone except the ones I don't hate...
Oh, the spacing... well, thanks ;)

EDIT: That won't work anymore, (not in the most up-to-date version it seems) but it's okay, I edited the menu Status instead ;)

For those who wish to do the same:

Search for (ctrl + F)
Code: [Select]
      when 3  # status
and underneath it, have it say
Code: [Select]
        $scene = Scene_Stat_Dist.new(0)
instead of what is already there.

It probably only works with the first actor in the party though...
« Last Edit: May 24, 2008, 10:50:42 AM by Demonic Blade »
I wonder how many of my-reps are there for a reason, and not just because some jackass wanted to show off in front of some other jackasses...?
Probably a lot of them - and those people sure as hell don't deserve my pity, let alone my disgust.
That's right, let's see some more -Rep'ing! BOOYEAH!!

**
Rep:
Level 85
This will open stat dist window for the actor that currently have the cursor on  ;8
Code: [Select]
$scene = Scene_Stat_Dist.new(@status_window.index)
"The pinata is full of shaving cream!"
My scripts:

My skins:


**
Rep: +0/-0Level 84
This is a really sexi mod. I think you should add more different modes to your stat system, but my creative juices are a little dry at the moment so I can't give you any ideas :)

Oh and, where did you get that party screen design? It looks really cool...

********
Resource Artist
Rep:
Level 94
\\\\\
Project of the Month winner for June 2009
Whoa, very nice. How did I miss this here  ???

**
Rep:
Level 84
RRRRrrraAARRR!!!
Hey guys why can't I download the demo?  ??? and the site lettuce provided isn't working! "roxburian.com"
Can anyone who has the demo e-mail it to me? Tnx alot.  ;8

great work on the script i wish i could download it though.how about ragnarok online style skill learning system?

pokeball :)OfflineMale
********
Cheese
Rep:
Level 95
?
Hey guys why can't I download the demo?  ??? and the site lettuce provided isn't working! "roxburian.com"
Can anyone who has the demo e-mail it to me? Tnx alot.  ;8

great work on the script i wish i could download it though.how about ragnarok online style skill learning system?


yellow text us unreadable and just try PM'ing him on the forum or directly emailing him at:

broccolicappuccino@gmail.com

remember to ask nice  :)
Watch out for: HaloOfTheSun

**
Rep:
Level 84
RRRRrrraAARRR!!!
oh,sorry about that. thanks for the help! ^^

**
Rep:
Level 85
@ OfficerTJHooker : I made the layout myself :P I had a lot of info to display and they all happen to fit together~

Script updated and the links are working again (I hope)  :bean:
"The pinata is full of shaving cream!"
My scripts:

My skins:


***
Rep:
Level 84
---> LOL <---
I have searched the script for the place to post:

difference = @level - last_level
     $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference

What line is it at that I have to paste that?

**
Rep:
Level 85
I have searched the script for the place to post:

difference = @level - last_level
     $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference

What line is it at that I have to paste that?


At line 526 in Game_Actor like so

Also glad to see this got updated to work with dual wield, only after spending a couple hours myself doing the same thing today.  :(
« Last Edit: November 24, 2008, 01:05:51 AM by Garge »

**
Rep:
Level 84
RRRRrrraAARRR!!!
Tnx for fixing the link!  :tpg:

that's alot of icons whooaaa!! :lol:

**
Rep:
Level 85
A small bug occurs when you set maxstat to a really high amount (880+) when the script checks to see if your stat is maxed.
Code: [Select]
when 2 #ATK
if actor.points < 1
  Sound.play_cancel
elsif (actor.atk-bonus.atk) >= MaxStat
  Sound.play_cancel
else
      Sound.play_use_item
  $game_party.members[@menu_index].atk += IncreaseBy
      if ($game_party.members[@menu_index].atk-bonus_atk) >= MaxStat
        $game_party.members[@menu_index].atk = MaxStat+bonus_atk
      end
  actor.points -= 1
  @changes += 1
      $position = 1
end

While it works fine when your have nothing being added to your stats from any equipment,  once it goes over 999 by  even +1 from equipment, it'll allow you to add infinite stat points to that parameter, since (actor.atk - bonus.atk) will never equal or be greater then maxstat. At least that's what I believe is causing this problem. Try giving Ralph in your demo a King's Sword and setting maxstats to a high value to see what I mean. 

Also when a character can dual weild, yet only has a second weapon equipped but not a first,
it causes this error:

Since I don't much of scripting, this is how I handled it in the previous version before I saw your update..
Spoiler for:
Code: [Select]
weapon = $data_weapons[actor.weapon_id]
   if actor.two_swords_style == true
     weapon2 = $data_weapons[actor.armor1_id]
    else
     shield = $data_armors[actor.armor1_id]
    end
  helm =$data_armors[actor.armor2_id]
  body =$data_armors[actor.armor3_id]
  accessory =$data_armors[actor.armor4_id]
 
  bonus_atk = 0
  bonus_def = 0
  bonus_spi = 0
  bonus_agi = 0
  evasion = 0
  crit = 0
 
  if $data_actors[actor.id].critical_bonus
    crit +=4
  end
 
  if weapon
    bonus_atk += weapon.atk
    bonus_def += weapon.def
    bonus_spi += weapon.spi
    bonus_agi += weapon.agi
    if weapon.critical_bonus
      crit += 4
    end
  end
  if weapon2
    bonus_atk += weapon2.atk
    bonus_def += weapon2.def
    bonus_spi += weapon2.spi
    bonus_agi += weapon2.agi
    if weapon2.critical_bonus
      crit += 4
    end
  end
  if shield
    bonus_atk += shield.atk
    bonus_def += shield.def
    bonus_spi += shield.spi
    bonus_agi += shield.agi
    evasion += shield.eva
  end
    if helm
    bonus_atk += helm.atk
    bonus_def += helm.def
    bonus_spi += helm.spi
    bonus_agi += helm.agi
    evasion += helm.eva
  end
    if body
    bonus_atk += body.atk
    bonus_def += body.def
    bonus_spi += body.spi
    bonus_agi += body.agi
    evasion += body.eva
  end
    if accessory
    bonus_atk += accessory.atk
    bonus_def += accessory.def
    bonus_spi += accessory.spi
    bonus_agi += accessory.agi
    evasion += accessory.eva
  end

**
Rep:
Level 86
the link is dead, does anyone have a copy of this that they will post here or pm to me? i think this looks really good, and would compliment my game really well

**
Rep: +0/-0Level 84
Great Script! Thankfully the link is back!

**
Rep: +0/-0Level 84
^ lame xbox avatar is under 9000.
Wow this is one of the coolest scripts I've seen.
It's actually pretty easy to customize and to call up.
And if I can use it, then, yeah, it's real easy to use lol.
Thanks for the script, I might use it.
But I doubt I'm gonna be releasing any complete games anytime soon.
You've just been obliteraped!

Currently Working On: One Day Salesman
http://rmrk.net/index.php/topic,33234.0.html

**
Rep:
Level 84
The script must be really good, not yet downloaded the demo but still want to congratulate you for the great script.
For the SS has you realize that the "interface" it is very nice ~ = D

**
Rep: +0/-0Level 83
How can i integrate with the menu? What i need to modify?