说明:
使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。
对于事件中的“变更装备”也一样有效。
- =begin装备附带技能V1.0作者:失落的乐章说明:使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。对于事件中的“变更装备”也一样有效。=endmodule SGS_ES #以下是对装备及其附属技能的设定。格式为“武器ID => 技能ID”,如下。 # WPSKILL = { 4 => 60, #武器附带技能 3 => 59 } A1SKILL = { } #防具1(默认为盾)附带技能 A2SKILL = { } #防具2(默认为头部防具)附带技能 A3SKILL = { } #防具3(默认为身体防具)附带技能 A4SKILL = { 29 => 7 } #防具4(默认为装饰品)附带技能 def self.forget_skill(actor) WPSKILL.each { |wq,sk| actor.forget_skill(sk) if actor.weapon_id == wq } A1SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor1_id == wq } A2SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor2_id == wq } A3SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor3_id == wq } A4SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor4_id == wq } end def self.learn_skill(actor) WPSKILL.each { |wq,sk| actor.learn_skill(sk) if actor.weapon_id == wq } A1SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor1_id == wq } A2SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor2_id == wq } A3SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor3_id == wq } A4SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor4_id == wq } endendclass Interpreter #-------------------------------------------------------------------------- # ● 变更装备 #-------------------------------------------------------------------------- def command_319 # 获取角色 actor = $game_actors[@parameters[0]] # 变更角色 if actor != nil SGS_ES.forget_skill(actor) actor.equip(@parameters[1], @parameters[2]) SGS_ES.learn_skill(actor) end # 继续 return true endendclass Scene_Equip def update_item if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @right_window.active = true @item_window.active = false @item_window.index = -1 return end if Input.trigger?(Input::C) $game_system.se_play($data_system.equip_se) item = @item_window.item actemp = $game_actors[@actor_index+1] SGS_ES.forget_skill(actemp) @actor.equip(@right_window.index, item == nil ? 0 : item.id) SGS_ES.learn_skill(actemp) @right_window.active = true @item_window.active = false @item_window.index = -1 @right_window.refresh @item_window.refresh return end endend复制代码
复制代码范例:
本帖来自P1论坛作者失落的乐章,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=308441 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。