#==============================================================================
#■转职自动学技能
#==============================================================================
#功能:转职后,自动更换当前职业、当前等级技能
#
#用法:脚本插入Main之前。在事件页使用“更改角色职业”后,自动实现更换技能。
#脚本思路:
#1、删除角色 当前职业 当前等级 可学会 的所有技能。
#2、添加角色 当前职业 当前等级 可学会 的所有技能。
#3、覆盖重写事业页命令“更改角色职业”,添加上面2种命令。
#
#★仅限于用事件更换职业,如果用脚本更换职业,则必须手动添加脚本。
#$game_actors[角色id].delnowskills #先删除上一个职业的所有技能。
#更改职业的脚本
#$game_actors[角色id].nowskills #再添加 现在职业的所有技能。
#★如果不想改变事件页默认功能,请删除 # 第二部分 #以下内容。
#★如果一个技能没有和转职职业关联,则不会影响到它。
#==============================================================================
#追加方法到Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#学会当前职业当前等级所有技能
def nowskills
a = @actor_id
aa = $game_actors[a].level
b = $game_actors[a].class_id
for i in 1..aa
for j in $data_classes[b].learnings
if j.level == i
if j.skill_id > 0 and not skill_learn?(j.skill_id)
@skills.push(j.skill_id)
@skills.sort!
end
end
end
end
end #def nowskills
#遗忘当前职业所有技能 注意,因为是遗忘当前职业的技能,所以必须用在转职命令前!
def delnowskills
a = @actor_id
aa = $game_actors[a].level
b = $game_actors[a].class_id
for i in 1..aa
for j in $data_classes[b].learnings
if j.level == i
forget_skill(j.skill_id)
end
end
end
end #def delnowskills
end #class
#————————————————————————————
# 第二部分
#覆盖重写事件页的命令“更改角色职业”。(不想改可以删除以下内容。)
#————————————————————————————
class Interpreter
def command_321 #更改角色职业的事件页命令。
# 获取角色
actor = $game_actors[@parameters[0]]
# 更改职业
if actor != nil
$game_actors[@parameters[0]].delnowskills #追加遗忘技能
actor.class_id = @parameters[1]
$game_actors[@parameters[0]].nowskills #追加学习技能
end
# 继续
return true
end
end #class