Project1

标题: 怎样做一个 武器 附带 一个技能 [打印本页]

作者: hao19961006    时间: 2014-7-27 13:44
标题: 怎样做一个 武器 附带 一个技能
怎样做一个 武器 附带 一个技能
作者: 芯☆淡茹水    时间: 2014-7-27 13:51
请搜索:装备附加技能
作者: shanlong闪龙    时间: 2014-7-27 14:51
{:2_276:}很简单,弄一个公共事件,并行处理,然后内容是当玩家持有XX武器时,领悟XX技能,当玩家不持有时,遗忘XX技能
作者: 火烧兔子    时间: 2014-7-27 18:09
shanlong闪龙 发表于 2014-7-27 14:51
很简单,弄一个公共事件,并行处理,然后内容是当玩家持有XX武器时,领悟XX技能,当玩家不持有时 ...

论坛里装备附加技能的脚本很多了,不需要用到事件;而且这样不方便,如果装备/角色很多的话,用事件会累死的
作者: 573932914    时间: 2014-7-27 21:44
用一个公共事件处理:如果某角色1/2装备了装备A,领悟技能一,否则遗忘技能一;如果某角色1/2装备了装备B,领悟技能二,否则遗忘技能二
并行处理,开关游戏开始就可以打开
作者: RyanBern    时间: 2014-7-27 21:51
https://rpg.blue/thread-314767-1-1.html
这个是我见过的最好的装备附带技能的脚本,拿去看看吧,使用方法很简单,而且不会出现什么奇葩情况(即分得开武器中的技能和角色本身的技能),同时也很短,总之,是个很好的东西。
作者: chd114    时间: 2014-7-28 02:21
RyanBern 发表于 2014-7-27 04:51
https://rpg.blue/thread-314767-1-1.html
这个是我见过的最好的装备附带技能的脚本,拿去看看吧,使用 ...

是装备附带了状态然后状态附带技能习得?
作者: 飘过~    时间: 2014-7-28 09:33
#------------------------------------------------------------
class Game_Actor < Game_Battler  
  C3_W_SKILL = []
  C3_A1_SKILL = []
  C3_A2_SKILL = []
  C3_A3_SKILL = []
  C3_A4_SKILL = []
  
  C3_W_SKILL.push [1,0] #武器编号,武器附带技能编号,战斗图前缀
  
  #------武器附加技能.------------------------------------------
  
  #战斗图前缀后面会自动跟上角色的数据库编号。
  #比如你使用上面的设定,你的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[0] == old_weapon_id
            if weapon_i[1] != 0
              forget_skill(weapon_i[1])
            end
          end     
        end
        for weapon_i in C3_W_SKILL         
          if weapon_i[0] == id
            if weapon_i[1] != 0
              learn_skill(weapon_i[1])
            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[0] == old_am_id
            if am_i[1] != 0
              forget_skill(am_i[1])
            end
          end     
        end
        for am_i in C3_A1_SKILL
          if am_i[0] == id
            if am_i[1] != 0
              learn_skill(am_i[1])
            end
          end
        end
        update_auto_state($data_armors[@armor1_id], $data_armors[id])
        $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[0] == old_am_id
            if am_i[1] != 0
              forget_skill(am_i[1])
            end
          end   
        end
        for am_i in C3_A2_SKILL  
          if am_i[0] == id
            if am_i[1] != 0
              learn_skill(am_i[1])
            end
          end
        end
        update_auto_state($data_armors[@armor2_id], $data_armors[id])
        $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[0] == old_am_id
            if am_i[1] != 0
              forget_skill(am_i[1])
            end
          end     
        end
        for am_i in C3_A3_SKILL  
          if am_i[0] == id
            if am_i[1] != 0
              learn_skill(am_i[1])
            end
          end
        end
        update_auto_state($data_armors[@armor3_id], $data_armors[id])
        $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[0] == old_am_id
            if am_i[1] != 0
              forget_skill(am_i[1])
            end
          end     
        end
        for am_i in C3_A4_SKILL  
          if am_i[0] == id
            if am_i[1] != 0
              learn_skill(am_i[1])
            end
          end
        end
        update_auto_state($data_armors[@armor4_id], $data_armors[id])
        $game_party.gain_armor(@armor4_id, 1)
        @armor4_id = id
        $game_party.lose_armor(id, 1)
      end
    end
  end
end
#------------------------------------------------------------

这个是OZ里用的脚本




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1