最爱南宫煌 发表于 2010-8-13 13:18:36

武器技能脚本

#------------------------------------------------------------
# 脚本来自www.66rpg.com,作者柳柳,转载和使用请保留此信息
#------------------------------------------------------------
class Game_Actor < Game_Battler  
  C3_W_SKILL = []
C3_A1_SKILL = []
  C3_A2_SKILL = []
  C3_A3_SKILL = []
  C3_A4_SKILL = []
  C3_A5_SKILL = []
  C3_A6_SKILL = []
  C3_A7_SKILL = []
  
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"] #武器编号,武器附带技能编号,战斗图前缀
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"]
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"]
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"]
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"]
  C3_W_SKILL.push [武器编号,武器附带技能编号,"战斗图前缀"]

  #战斗图前缀后面会自动跟上角色的数据库编号。
  #比如你使用上面的设定,你的1、2、3、4号角色可以用1号武器(铜剑)
  #则你的battlers/下面应改有"剑_1.png","剑_2.png","剑_3.png","剑_4.png"


  #--------------------------------------------------------------------------
  # ● 变更装备
  #     equip_type : 装备类型
  #     id    : 武器 or 防具 ID  (0 为解除装备)
  #--------------------------------------------------------------------------
  def equip(equip_type, id)
    case equip_type
    when 0  # 武器
      if id == 0 or $game_party.weapon_number(id) > 0
        old_weapon_id = @weapon_id
        weapon_i = 0
        for weapon_i in C3_W_SKILL         
          if weapon_i == old_weapon_id
            if weapon_i != 0
              forget_skill(weapon_i)
            end
          end     
        end
        for weapon_i in C3_W_SKILL         
          if weapon_i == id
            if weapon_i != 0
              learn_skill(weapon_i)
            end
            if weapon_i != ""
              @battler_name = weapon_i+@actor_id.to_s
            else
              @battler_name = $data_actors[@actor_id].battler_name
            end
          end
        end
        $game_party.gain_weapon(@weapon_id, 1)
        @weapon_id = id
        $game_party.lose_weapon(id, 1)
      end
    when 1  # 盾
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor1_id
        am_i = 0
        for am_i in C3_A1_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A1_SKILL
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor1_id], $data_armors)
        $game_party.gain_armor(@armor1_id, 1)
        @armor1_id = id
        $game_party.lose_armor(id, 1)
      end
    when 2  # 头
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor2_id
        am_i = 0
        for am_i in C3_A2_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end   
        end
        for am_i in C3_A2_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor2_id], $data_armors)
        $game_party.gain_armor(@armor2_id, 1)
        @armor2_id = id
        $game_party.lose_armor(id, 1)
      end
    when 3  # 身体
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor3_id
        am_i = 0
        for am_i in C3_A3_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A3_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor3_id], $data_armors)
        $game_party.gain_armor(@armor3_id, 1)
        @armor3_id = id
        $game_party.lose_armor(id, 1)
      end
    when 4  # 装饰品
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor4_id
        am_i = 0
        for am_i in C3_A4_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A4_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor4_id], $data_armors)
        $game_party.gain_armor(@armor4_id, 1)
        @armor4_id = id
        $game_party.lose_armor(id, 1)
      end
     when 5  # 鞋
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor4_id
        am_i = 0
        for am_i in C3_A5_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A5_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor5_id], $data_armors)
        $game_party.gain_armor(@armor5_id, 1)
        @armor5_id = id
        $game_party.lose_armor(id, 1)
      end
       when 6  # 法宝
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor6_id
        am_i = 0
        for am_i in C3_A6_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A6_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor6_id], $data_armors)
        $game_party.gain_armor(@armor6_id, 1)
        @armor6_id = id
        $game_party.lose_armor(id, 1)
      end
       when 7  # 法宝2
      if id == 0 or $game_party.armor_number(id) > 0
        old_am_id = @armor7_id
        am_i = 0
        for am_i in C3_A7_SKILL         
          if am_i == old_am_id
            if am_i != 0
              forget_skill(am_i)
            end
          end     
        end
        for am_i in C3_A7_SKILL  
          if am_i == id
            if am_i != 0
              learn_skill(am_i)
            end
          end
        end
        update_auto_state($data_armors[@armor7_id], $data_armors)
        $game_party.gain_armor(@armor7_id, 1)
        @armor7_id = id
        $game_party.lose_armor(id, 1)
      end
      end
   
  end
end
#------------------------------------------------------------
# 脚本来自www.66rpg.com,作者柳柳,转载和使用请保留此信息
# 本脚本转载自www.palslp.com
#------------------------------------------------------------

最爱南宫煌 发表于 2010-8-13 13:19:10

这个就是把技能和武器绑定,带上武器时学会技能,卸下时遗忘。

仙邪 发表于 2010-8-13 13:49:04

放到哪里啊

最爱南宫煌 发表于 2010-8-13 14:21:13

- -脚本编辑器- -

BlackFeather 发表于 2010-8-13 15:02:51

我看出来了,会冲突的哦

仙邪 发表于 2010-8-13 17:56:02

真的假的,,还有,这东西往哪放啊,脚本编辑器的哪

BlackFeather 发表于 2010-8-13 19:03:09

我无语一回吧

玄小北 发表于 2010-8-14 17:04:24

我貌似记得RMXP里面有这个设定的说

BlackFeather 发表于 2010-8-14 17:18:05

额,没有的

1047544915 发表于 2010-8-14 18:54:34

楼上的,太占空间了
页: [1] 2
查看完整版本: 武器技能脚本