脚本功能
用RMXP事件页“更改角色职业”,可以自动遗忘和学会技能。
使用方法
自动功能:复制全部脚本内容,在Main脚本之前按insert,插入此脚本全部内容。
还可单独使用在事件页-脚本中:
$game_actors[角色id].delnowskills #删除 当前职业 当前等级 的所有技能
$game_actors[角色id].nowskills # 添加 当前职业 当前等级 的所有技能
———————————————————————————
废话:
学脚本之后第一次写的脚本,很简单很初级。
我搜了论坛和主站,没见到这个,于是就不害臊的发上来了。
希望以此帮助比我还新的新手、懒人、伸手党。
和本版牛掰的高水品脚本比起来,不知是否有资格发这里,还是应该发在别处呢,还请管理调教。
新人刚来诸事不懂,做得不对的还请各位多指点。
——————————————————————————
RUBY 代码 - #==============================================================================
- #■转职自动学技能
- #==============================================================================
- #功能:转职后,自动更换当前职业、当前等级技能
- #
- #用法:脚本插入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 in1..aa
- for j in$data_classes[b].learnings
- if j.level == i
- if j.skill_id > 0andnot 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 in1..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
- # 继续
- returntrue
- end
- end#class
复制代码
真的好短呀。
本帖来自P1论坛作者小商贩,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=250688 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |