Main Menu
  • Welcome to The RPG Maker Resource Kit.

Stat Distribution System

Started by Lettuce, May 13, 2008, 08:12:03 PM

0 Members and 1 Guest are viewing this topic.

Lettuce

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
$scene = Scene_Stat_Dist.new(0)Or edit your menu scene

Giving Points:
  $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
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
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 ^^
"The pinata is full of shaving cream!"
My scripts:

My skins:


Demonic Blade

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!!

Lettuce

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:


Demonic Blade

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!!

Ape69

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

modern algebra

This looks very nice. It's nice to see another scripter haunting the forum

Demonic Blade

;) Once again, how and where excactly should we insert
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!!

Lettuce

Like this~~

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:


Demonic Blade

#8
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)
      when 3  # status
and underneath it, have it say
        $scene = Scene_Stat_Dist.new(0)
instead of what is already there.

It probably only works with the first actor in the party though...
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!!

Lettuce

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

My skins:


OfficerTJHooker

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...

Grafikal

Whoa, very nice. How did I miss this here  ???

helloion

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?

:)

Quote from: helloion on November 19, 2008, 04:45:01 AM
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

helloion

oh,sorry about that. thanks for the help! ^^

Lettuce

@ 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:


Adrien

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?

Garge

#17
Quote from: Adrien. on November 23, 2008, 11:48:55 PM
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.  :(

helloion

Tnx for fixing the link!  :tpg:

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

Garge

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. 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] 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
[/spoiler]

r_y_u_u

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

Parkallooza

Great Script! Thankfully the link is back!

jick6

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

rafidelis

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

user3k

How can i integrate with the menu? What i need to modify?