本帖最后由 七重 于 2016-12-22 09:21 编辑
不知道你的游戏是不是有很多角色。。
如果有这种效果的角色不多的话。
或者你的游戏只有有限个角色的话。
其实可以简单一点就实现:
class Window_ActorCommand < Window_Command alias krst_161222_add_skill_commands add_skill_commands def add_skill_commands @actor.added_skill_types.sort.each do |stype_id| if $data_system.skill_types[stype_id] == "魔法" #给战士职业原本就设置魔法的技能类型,这个脚本只会在开关打开的时候才添加魔法技能给特定角色ID的战士 if @actor.id == 1 #角色的ID if $game_switches[1] == true #当开关一号打开的时候,(也就是当你学会这个技能之后就打开对应的开关。) name = $data_system.skill_types[stype_id] add_command(name, :skill, true, stype_id) end end else name = $data_system.skill_types[stype_id] add_command(name, :skill, true, stype_id) end end end end
class Window_ActorCommand < Window_Command
alias krst_161222_add_skill_commands add_skill_commands
def add_skill_commands
@actor.added_skill_types.sort.each do |stype_id|
if $data_system.skill_types[stype_id] == "魔法" #给战士职业原本就设置魔法的技能类型,这个脚本只会在开关打开的时候才添加魔法技能给特定角色ID的战士
if @actor.id == 1 #角色的ID
if $game_switches[1] == true #当开关一号打开的时候,(也就是当你学会这个技能之后就打开对应的开关。)
name = $data_system.skill_types[stype_id]
add_command(name, :skill, true, stype_id)
end
end
else
name = $data_system.skill_types[stype_id]
add_command(name, :skill, true, stype_id)
end
end
end
end
缺点是只针对有限的角色。
用法:
因为楼主的要求是用事件添加技能类型。
使用的时候,在事件中打开对应开关就好了,记得要同时设置这个角色的ID. |