啊,那是我想麻烦了。
于是乎,抽空写了个脚本,局限性可能比较高,但是应该适用于楼主的情况。
#encoding:utf-8 # ============================================================================= # 能力值扩展 - level # ============================================================================= =begin ---------------------------------------------------------------------------- 介绍: ---------------------------------------------------------------------------- 设定某些敌人的所有能力为某角色等级的数倍。 (只限于这种设定,其他设定需要在该脚本上另作修改) ---------------------------------------------------------------------------- 使用方法: ---------------------------------------------------------------------------- 插入到插件脚本之下,Main之上 =end #============================================================================= # 设定部分 #============================================================================= module MCCF_Change_Params module Level # 设定哪些ID的敌人的能力值会变化。 CHANGE_PARAMS_ENEMY = [1,2,3] # 设定判断等级的角色ID,也可以设为:average表示所有队员等级的平均值 JUDGE_ACTOR_ID = 1 # 各种能力的计算公式设定,数字表示该能力值是等级的多少倍。 PARAMS_FORMULA = [ # 体力上限(此处表示体力上限为角色等级的100倍) 100, # 魔力上限 50, # 物理攻击 20, # 物理防御 20, # 魔法攻击 10, # 魔法防御 10, # 敏捷值 5, # 幸运值 5, ] end end #============================================================================= # 设定结束 #============================================================================= class Game_Enemy < Game_Battler alias new_param_base param_base def param_base(index) v = new_param_base(index) return v unless MCCF_Change_Params::Level::CHANGE_PARAMS_ENEMY.include?(@enemy_id) return v if index >= 8 if !MCCF_Change_Params::Level::JUDGE_ACTOR_ID != :average actor_id = MCCF_Change_Params::Level::JUDGE_ACTOR_ID number = MCCF_Change_Params::Level::PARAMS_FORMULA[index] else s = 0 $game_party.members.select {|actor| s += actor.level } s /= $game_party.members.length return s end return $game_actors[actor_id].level * number end end
#encoding:utf-8
# =============================================================================
# 能力值扩展 - level
# =============================================================================
=begin
----------------------------------------------------------------------------
介绍:
----------------------------------------------------------------------------
设定某些敌人的所有能力为某角色等级的数倍。
(只限于这种设定,其他设定需要在该脚本上另作修改)
----------------------------------------------------------------------------
使用方法:
----------------------------------------------------------------------------
插入到插件脚本之下,Main之上
=end
#=============================================================================
# 设定部分
#=============================================================================
module MCCF_Change_Params
module Level
# 设定哪些ID的敌人的能力值会变化。
CHANGE_PARAMS_ENEMY = [1,2,3]
# 设定判断等级的角色ID,也可以设为:average表示所有队员等级的平均值
JUDGE_ACTOR_ID = 1
# 各种能力的计算公式设定,数字表示该能力值是等级的多少倍。
PARAMS_FORMULA = [
# 体力上限(此处表示体力上限为角色等级的100倍)
100,
# 魔力上限
50,
# 物理攻击
20,
# 物理防御
20,
# 魔法攻击
10,
# 魔法防御
10,
# 敏捷值
5,
# 幸运值
5,
]
end
end
#=============================================================================
# 设定结束
#=============================================================================
class Game_Enemy < Game_Battler
alias new_param_base param_base
def param_base(index)
v = new_param_base(index)
return v unless MCCF_Change_Params::Level::CHANGE_PARAMS_ENEMY.include?(@enemy_id)
return v if index >= 8
if !MCCF_Change_Params::Level::JUDGE_ACTOR_ID != :average
actor_id = MCCF_Change_Params::Level::JUDGE_ACTOR_ID
number = MCCF_Change_Params::Level::PARAMS_FORMULA[index]
else
s = 0
$game_party.members.select {|actor| s += actor.level }
s /= $game_party.members.length
return s
end
return $game_actors[actor_id].level * number
end
end
在范例工程中,每次战斗都会输出能力值,变化是非常明显的。
范例工程:
能力随角色等级变化.zip
(1.43 MB, 下载次数: 104)
|