public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

VXAdvanced "Change Parameters" Script

BMM Archive · July 16, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: Advanced "Change Parameters" Script
  • Original author: IdkWhatsRc
  • Original date: August 19, 2012
  • Source thread: https://forums.rpgmakerweb.com/threads/advanced-change-parameters-script.4222/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS2 Scripts (RMVX)

Summary

. # # Check the events for more details. #

Archived First Post

Advanced "Change Parameters"

By IdkWhatsRc

Features

This script allows to use 4 different ways to use the Event command "Change Parameters".

1. Set to a certain value

2. Normally Increase/Decrease by a %.

3. Specially Increase/Decrease by a %. (See script)

4. Increase/Decrease by a certain value (Default)

How to Use

Check script.

Demo

http://www.mediafire...rgyg8979bdeclnw

Script

#This is IdkWhatsRc's Advanced Parameter Change script.
#This script is free to use for non-commercial and commercial games.
#Please mention me in the credits section of your game if you use this script.
#This is my first script ever.
#
#
# ==Basics==
# Normally, the formula used is:
# New Stat = Old Stat + Value
# Ex: actor.maxhp += value
#
# With this script, you can modify the formula:
#
# To Set the Stat equal to the Value. (The value MUST be positive. AKA set to Increase and not Decrease.)
# New Stat = Value
# Ex: actor.maxhp = value
#
# To Increase/Decrease the Stat by a %
# Increase/Decrease : New Stat = Old Stat * (Value + 100) / 100
# Ex: actor.maxhp = actor.maxhp * (value + 100) /100
#
#Note: Increasing then decreasing by the same value will not result in the initial stat value.
# Ex: 1000 * 10% = 1000 + 1000*10% = 1000 + 100 = 1100
# 1100 - 10% = 1100 - 1100*10% = 1100 - 110 = 990
# Inital = 1000
# Final = 990
#
#
#If you want to increase then decrease and come back to the same number, then:
#
# Increase/Decrease : New Stat = Old Stat * 100 / (100 - Value)
# Ex: actor.maxhp = actor.maxhp * 100 / (100 - value)
#
# Note: You need to increase normally, then decrease specially to come back to the same value.
# Still, increasing then decreasing by the same value may not result in the exact initial stat value.
# This is because the engine rounds number.
# Your new stat may have a ±1 difference with your inital stat.
#
#
#
# ==How to Use It==
# To choose which formula you want to be used, you need to activate a certain switch.
#
# When Switch 14 is ON => Set the Stats equal to the Value.
# When Switch 15 is ON => Increase/Decrease the Stat by a %
# When Switch 16 is ON => Specially Decrease the Stat by a % (Check lign 29)
# By Default (Switch 14, 15, 16 OFF) => Increase/Decrease by a number
#
# To change the Switch ID, simply use Ctrl+H. XD
#
# Basically, right before changing a Parameter:
# 1. Turn ON Switch 14/15/16 if needed
# 2. Change the Stat
# 3. Turn OFF the Switch you activated in #1.
#
# Check the events for more details.
#

class Game_Interpreter

def command_317
value = operate_value(@params[2], @params[3], @params[4])
actor = $game_actors[@params[0]]
if actor != nil
case @params[1]
##########################################
##########################################
when 0 # Maximum HP
if $game_switches[14] == true
actor.maxhp = value
end

if $game_switches[15] == true
actor.maxhp = actor.maxhp * (value + 100) /100
end

if $game_switches[16] == true
actor.maxhp = actor.maxhp * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.maxhp += value
end
end
end
##########################################
##########################################
when 1 # Maximum MP
if $game_switches[14] == true
actor.maxmp = value
end

if $game_switches[15] == true
actor.maxmp = actor.maxmp * (value + 100) /100
end

if $game_switches[16] == true
actor.maxmp = actor.maxmp * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.maxmp += value
end
end
end

##########################################
##########################################
when 2 # Attack
if $game_switches[14] == true
actor.atk = value
end

if $game_switches[15] == true
actor.atk = actor.atk * (value + 100) /100
end

if $game_switches[16] == true
actor.atk = actor.atk * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.atk += value
end
end
end
##########################################
##########################################
when 3 # Defense
if $game_switches[14] == true
actor.def = value
end

if $game_switches[15] == true
actor.def = actor.def * (value + 100) /100
end

if $game_switches[16] == true
actor.def = actor.def * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.def += value
end
end
end
##########################################
##########################################
when 4 # Spirit
if $game_switches[14] == true
actor.spi = value
end

if $game_switches[15] == true
actor.spi = actor.spi * (value + 100) /100
end

if $game_switches[16] == true
actor.spi = actor.spi * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.spi += value
end
end
end
##########################################
##########################################
when 5 # Agility
if $game_switches[14] == true
actor.agi = value
end

if $game_switches[15] == true
actor.agi = actor.agi * (value + 100) /100
end

if $game_switches[16] == true
actor.agi = actor.agi * 100 / (100 - value)
end

if $game_switches[14] == false
if $game_switches[15] == false
if $game_switches[16] == false
actor.agi += value
end
end
end
##########################################
##########################################
end
return true

end
end
end

Code:
Credit and Thanks

-IdkWhatsRc

Author's Notes

This is my first script ever.

Features Mentioned

  • This script allows to use 4 different ways to use the Event command "Change Parameters".
  • 1. Set to a certain value
  • 2. Normally Increase/Decrease by a %.
  • 3. Specially Increase/Decrease by a %. (See script)
  • 4. Increase/Decrease by a certain value (Default)

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

#This script is free to use for non-commercial and commercial games. #Please mention me in the credits section of your game if you use this script. #This is my first script ever. #

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#this#please#note#if#rgss2

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar