搜索附件  

装备附带技能.rar

 

装备附带技能:
说明:
使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。
对于事件中的“变更装备”也一样有效。
  1. =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在线咨询功能删除,谢谢。

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2024-9-21 14:53 , Processed in 0.037896 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部