Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Dekita's=======================================================================
- #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #===============================================================================
- # v1.0
- # ★ Perfect EXP Curve™ ★
- #
- #===============================================================================
- #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #===============================================================================
- #
- # -- Last updated: 22/08/2012 <-(D/M/Y)
- #
- # -- Difficulty: Plug'n'play - (Easy)
- #
- # -- Customisation: Like a Pimped out ride! - (Very Low)
- #
- # -- Requires: N/A
- #
- # -- Recommended: N/A
- #
- # -- Compatable: RPG Maker VX Ace ONLY!
- #
- #===============================================================================
- #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #===============================================================================
- #===============================================================================
- # ☆ Script Information:
- #=======================
- # As you may well know the default exp curve system in RPG Maker VX Ace is not the
- # most dynamic exp system...
- # Below is a chart to show the minimum and maximum values that you can acheive
- # by using the default system
- #---------------# #---------------#
- # Basis 10 - 50 # # extra 0 - 40 #
- #---------------# #---------------#
- # Acc A 10 - 50 # # Acc B 10 - 50 #
- #---------------# #---------------#
- #-----------------------# #-----------------------#
- # Exp using min values # # Exp using max values #
- #-----------------------# #-----------------------#
- # Level 10 = 1400 # # Level 10 = 10,569 #
- # Level 25 = 17,782 # # Level 25 = 172,449 #
- # Level 50 = 89,936 # # Level 50 = 1,319,088 #
- # Level 99 = 287,815 # # Level 99 = 7,738,286 #
- #-----------------------# #-----------------------#
- # Via the default system is is very difficult to acheive lets say a very low
- # amount of exp needed at low levels and a very high amount needed at higher
- # levels or a set amoount of exp per level
- # e.g lv1 - lv2 = 100 exp , lv2 - lv3 = 100 exp, lv3 - lv4 = 100 exp...
- # with this script you can acheive a vast number of unique exp curves.
- #
- # NOTE: if you dont insert a notetag into [x] class then [x] class will use
- # the default exp curve defined in the database under the class tab.
- #===============================================================================
- #===============================================================================
- # ☆ TERMS OF USE:
- #===============================================================================
- #
- # 1. You must give credit to Dekita.
- #
- # 2. This script is for NON-Commercial use ONLY!*
- #
- # 3. You CANNOT give credit to yourself for Re-posting this script
- # or Posting a modified version.*
- #
- # 4. Do not Re-Distribute this script.
- #
- # 5. You are NOT allowed to convert this script to any other engine,
- # E.G converting it from RGSS3 into RGSS2.*
- #
- # 6. ENJOY!
- #
- #-------------------------------------------------------------------------------
- # * = Unless permissions are given by Dekita. < e-mail DekitaRPG@gmail.com
- #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- #===============================================================================
- # History:
- #=========
- # 22/08/2o12 - Started and Finished.
- #===============================================================================
- #===============================================================================
- # ☆ Credit and Thanks to :
- #==========================
- # N/A
- #===============================================================================
- #===============================================================================
- # ☆ Foresight Into The Future:
- #==============================
- # N/A
- #-------------------------------------------------------------------------------
- # If you have any ideas e-mail me at DekitaRPG@gmail.com
- #===============================================================================
- #===============================================================================
- # ☆ Known Bugs:
- #=================
- # N/A
- #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # If a new bug is found please e-mail me at DekitaRPG@gmail.com
- #===============================================================================
- #===============================================================================
- # ☆ INSTRUCTIONS:
- #=================
- # Place this script UNDER "▼ Materials" and ABOVE "▼ Main" in your script editor.
- #
- #===============================================================================
- # NoteTags: place these into "class" noteboxes in the database.
- #----------
- # <expcurve1>
- # <expcurve2>
- # <expcurve3>
- # <expcurve4>
- # <expcurve5>
- #
- # NOTE: DO NOT PUT THE NOTETAGS IN AN ACTORS NOTEBOX < IT WONT WORK.
- #===============================================================================
- module DPB ####
- module PEXP ##
- #=====================#
- # CUSTOMISATION - YAY #
- #=====================#
- # Basis = The base value for calculating nessesary exp.
- #
- # Extra = A simple extra value added onto the exp nessesary for each level
- #
- # Acceleration A = A value representing the rate at which to increase the
- # nessesary exp. Affects the whole exp curve.
- #
- # Acceleration B = A value representing the degree at which to exponentially
- # increase the nessesary exp. Mainly affects the high level range.
- #
- #=============#
- # EXP CURVE 1 #
- #-------------#
- # This setting,(by default) the exp needed will be a constant 5 exp per level
- # TOTAL EXP NEEDED:
- # level 10 = 45
- # Level 25 = 120
- # Level 50 = 245
- # Level 99 = 490
- BASIS = 0
- EXTRA = 5
- ACCELERATION_A = 0
- ACCELERATION_B = 0
- #=============#
- # EXP CURVE 2 #
- #-------------#
- # This setting,(by default) the exp needed per level will increase very slightly,
- # MUCH lower than vx ace normally allows.
- # TOTAL EXP NEEDED:
- # level 10 = 108
- # Level 25 = 638
- # Level 50 = 1561
- # Level 99 = 3134
- BASIS2 = 1
- EXTRA2 = 1
- ACCELERATION_A2 = 1
- ACCELERATION_B2 = 1
- #=============#
- # EXP CURVE 3 #
- #-------------#
- # This setting,(by default) the exp needed per level will be slightly more than
- # vx ace normally allows.
- # TOTAL EXP NEEDED:
- # level 10 = 14,123
- # Level 25 = 189,663
- # Level 50 = 1,359,580
- # Level 99 = 8,797,536
- BASIS3 = 100
- EXTRA3 = 100
- ACCELERATION_A3 = 200
- ACCELERATION_B3 = 200
- #=============#
- # EXP CURVE 4 #
- #-------------#
- # This setting,(by default) the exp needed per level will be ridiculously more
- # than vx ace normally allows.
- # TOTAL EXP NEEDED:
- # level 10 = 79,550
- # Level 25 = 4,534,130
- # Level 50 = 68,442,075
- # Level 99 = 962,585,688) lol @ 962 mil exp...
- BASIS4 = 100
- EXTRA4 = 200
- ACCELERATION_A4 = 400
- ACCELERATION_B4 = 800
- #=============#
- # EXP CURVE 5 #
- #-------------#
- # This setting,(by default) the exp needed for low levels will be lower than vx ace
- # normally allows but much more than vx ace normally allows at higher levels.
- # TOTAL EXP NEEDED:
- # level 10 = 2401
- # Level 25 = 90,682
- # Level 50 = 1,371,571
- # Level 99 = 19,403,779)
- BASIS5 = 2
- EXTRA5 = 2
- ACCELERATION_A5 = 250
- ACCELERATION_B5 = 1000
- #===============================================================================
- #
- # ★ Perfect EXP Curve ★
- #
- # ★ CUSTOMISATION END ★
- #
- #===============================================================================
- ################################################################################
- end # PEXP
- end # DPB
- #===============================================================================
- # ☆ Import:
- #===========
- $imported = {} if $imported.nil?
- $imported["DPB-PEXP"] = true
- #
- #===============================================================================
- class RPG::Class < RPG::BaseItem
- def exp_for_level(level)
- if self.note =~ /<expcurve1>/i
- lv = level.to_f
- basis = DPB::PEXP::BASIS
- extra = DPB::PEXP::EXTRA
- acc_a = DPB::PEXP::ACCELERATION_A
- acc_b = DPB::PEXP::ACCELERATION_B
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- elsif self.note =~ /<expcurve2>/i
- lv = level.to_f
- basis = DPB::PEXP::BASIS2
- extra = DPB::PEXP::EXTRA2
- acc_a = DPB::PEXP::ACCELERATION_A2
- acc_b = DPB::PEXP::ACCELERATION_B2
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- elsif self.note =~ /<expcurve3>/i
- lv = level.to_f
- basis = DPB::PEXP::BASIS3
- extra = DPB::PEXP::EXTRA3
- acc_a = DPB::PEXP::ACCELERATION_A3
- acc_b = DPB::PEXP::ACCELERATION_B3
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- elsif self.note =~ /<expcurve4>/i
- lv = level.to_f
- basis = DPB::PEXP::BASIS4
- extra = DPB::PEXP::EXTRA4
- acc_a = DPB::PEXP::ACCELERATION_A4
- acc_b = DPB::PEXP::ACCELERATION_B4
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- elsif self.note =~ /<expcurve5>/i
- lv = level.to_f
- basis = DPB::PEXP::BASIS5
- extra = DPB::PEXP::EXTRA5
- acc_a = DPB::PEXP::ACCELERATION_A5
- acc_b = DPB::PEXP::ACCELERATION_B5
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- else
- lv = level.to_f
- basis = @exp_params[0].to_f
- extra = @exp_params[1].to_f
- acc_a = @exp_params[2].to_f
- acc_b = @exp_params[3].to_f
- return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
- (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
- end
- end # Def exp_for_lv
- end # class RPG::Class
- #===============================================================================
- #
- # ★ Perfect EXP Curve ★
- #
- # ★ SCRIPT END ★
- #
- #===============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement