设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 150|回复: 0

[转载发布] Power Scaling v2.0 UPDATED (Possibly Final)

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-7-31 17:16:52 | 显示全部楼层 |阅读模式
    This script is pretty basic. This will allow you scale your actors power based on the amount of experience the actor has. Right now this is a global thing so every class/actor will scale the same way. I do however plan to eventually do this for separate classes rather then just a global thing.

    Features:

    -Scaling power based on Experience

    -Minor tweak to the UI

    -Full Customization

    -Each actor can now be edited separately instead of globally done.

    Future Features:

    -On final version, unless I get a good idea to add to this

    Known Compatibility Issues/Bugs:

    -None as of yet, but I'm sure there are some out there, specifically ones that edit parameters.

    Screenshots:

    NEW SCREENSHOTS

    Spoiler









    OLD SCREENSHOTS!

    SpoilerThe reason the HP looks like it is going down it because the max HP is going up after battling and after getting experience!



























    Script:

    Spoiler                Code:       
    1. #===============================================================================#Base Script by Dekita, Bloodmorphed finished it with customizable features#Power Level Scaling Script#By: Bloodmorphed and Dekita#v2.0 (possible final!)#   -Made it per actor basis, you can make each one go slow or fast or whatever#    you want!##v1.5#   -Cleaned script up quite a bit#   -Made the UI Customizable#v1.0# Features:#   -No levels (You stay at level 1)#   -Your strength scales to the amount of experience you have gained.#   -Slight UI changing "Level" to Power Level and a equation to calculate it.## Future Features:#   -Per class basis#   -Fully customizable UI settings (maybe)#===============================================================================#===============================================================================module BloodPLSS#===============================================================================#------------------------------------------------------------------------------#  Start of the cusimizable settings#------------------------------------------------------------------------------  Scale_Settings = { #no touchy    :text => "Power Level", #Shows this instead of "Level"       #divides all params by set amount for power level default is 5    :divide => 5,       #This is the positions of the Text, and the numbers in the main menu    :posi_level1 => { x: 0, y: 25},    :posi_power1 => { x: 0, y: 45},    #This is the positions of the Text, and the numbers in the status menu    :posi_level2 => { x: 135, y: 43},    :posi_power2 => { x: 135, y: 63},  }      #-------------------------------------------------------------------------------# This one can get a little confusing the "m:" is the dividing factor,# the "b:" is the base amount of the param you want this will take# a little calculation to get right depending on what you want.##  NOTICE: There are a default of 10 Actors to match the default 10 when you# start a new project. MAKE SURE THESE LINE UP WITH HOW MANY ACTORS YOU HAVE!# Otherwise you will have an error. If you only have 5 actors delete 6-10. ETC# ETC!#-------------------------------------------------------------------------------  ACTORS = {    1 => { #actor 1      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 1    2 => { #actor 2      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 2    3 => { #actor 3      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    },#ends actor 3    4 => { #actor 4      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 4    5 => { #actor 5      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 5    6 => { #actor 6      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 6    7 => { #actor 7      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 7    8 => { #actor 8      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 8    9 => { #actor 9      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    },#ends actor 9    10 => { #actor 10      0 => {m: 10, b: 100}, #calculate maxhp default is 10,100      1 => {m: 15, b: 100}, #calculate maxmp default is 15,100      2 => {m: 20, b: 10},  #calculate attack default is 20,10      3 => {m: 20, b: 10},  #calculate defense default is 20,10      4 => {m: 20, b: 10},  #calculate magic atk default is 20, 10      5 => {m: 20, b: 10},  #calculate mdef default is 20, 10      6 => {m: 20, b: 10},  #calculate agil default is 20, 10      7 => {m: 20, b: 10},  #calculate luck default is 20, 10    }, #ends actor 10    } # no touchyend #ends module#===============================================================================# WARNING: If you do not know what you are doing do not touch anything that#is below here.#===============================================================================#===============================================================================class Game_Actor < Game_Battler#===============================================================================  #-----------------------------------------------------------------------------  # This forces to stay at level 1  #-----------------------------------------------------------------------------  def max_level    return 1  end #ends def  #-----------------------------------------------------------------------------  # This is the method of scaling the params based on experience with a base  #-----------------------------------------------------------------------------  def param(param_id)    min = param_min(param_id)    max = param_max(param_id)    bas = param_base(param_id)    pls = param_plus(param_id)    rat = param_rate(param_id)    brt = param_buff_rate(param_id)    mod = BloodPLSS::ACTORS[@actor_id][param_id]    val = bas * rat * brt * (exp / mod[:m]) + mod[:b] + pls    [[val, max].min, min].max.to_i  end #ends def end #ends class#===============================================================================# Starts UI Edits#===============================================================================#===============================================================================class Window_Base < Window#===============================================================================#-------------------------------------------------------------------------------# alias draw_actor_simple_status#-------------------------------------------------------------------------------alias :bloodysimplestatus :draw_actor_simple_statusalias :bloodyiniti :initialize   def initialize(*args)    bloodyiniti(*args)    @bloodyscale = BloodPLSS::Scale_Settings    @bloodyx1 = @bloodyscale[:posi_level1][:x]    @bloodyy1 = @bloodyscale[:posi_level1][:y]    @bloodyx2 = @bloodyscale[:posi_power1][:x]    @bloodyy2 = @bloodyscale[:posi_power1][:y]    @bloodyx3 = @bloodyscale[:posi_level2][:x]    @bloodyy3 = @bloodyscale[:posi_level2][:y]    @bloodyx4 = @bloodyscale[:posi_power2][:x]    @bloodyy4 = @bloodyscale[:posi_power2][:y]  end#-------------------------------------------------------------------------------# Overwrites draw actor level#-------------------------------------------------------------------------------   def draw_actor_level(actor, x, y)    nil  end  #ends def#-------------------------------------------------------------------------------# Draws power level#-------------------------------------------------------------------------------  def draw_power_level(actor, x, y)    change_color(system_color)    draw_text(x, y, 150, line_height, @bloodyscale[:text])  end  #ends def   #-------------------------------------------------------------------------------# def power scaling equation#-------------------------------------------------------------------------------     def draw_actor_power(actor, x, y)    change_color(normal_color)    r = 0    8.times{ |i| r += actor.param(i) }    draw_text(x, y, 150, line_height, (r / @bloodyscale[:divide]).to_i.to_s)  end   #ends def   #-------------------------------------------------------------------------------# simple status ui element updates#-------------------------------------------------------------------------------       def draw_actor_simple_status(actor, x, y)    bloodysimplestatus(actor, x, y)    draw_power_level(actor, x + @bloodyx1, y + @bloodyy1)    draw_actor_power(actor, x + @bloodyx2, y + @bloodyy2)  end #ends defend #ends class#===============================================================================class Window_Status < Window_Selectable#===============================================================================#-------------------------------------------------------------------------------# alias draw_basic_info#-------------------------------------------------------------------------------   alias :bloodydrawbasic :draw_basic_info  alias :bloodinit :initialize #-------------------------------------------------------------------------------# Removes the experience UI Element#-------------------------------------------------------------------------------     def draw_exp_info(x, y)    nil  end #ends def#-------------------------------------------------------------------------------# Below are added/modified UI Elements#-------------------------------------------------------------------------------   def draw_basic_info(x, y)    bloodydrawbasic(x, y)    print draw_power_level(@actor, @bloodyx3, @bloodyy3)    draw_actor_power(@actor, @bloodyx4, @bloodyy4)  end #ends def end #ends class
    复制代码








    本贴来自国际rpgmaker官方论坛作者:Bloodmorphed处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/power-scaling-v2-0-updated-possibly-final.34777/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 18:09 , Processed in 0.088552 second(s), 56 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表