Project1

标题: 如何在改变武器后改变战斗外形并变化特技 [打印本页]

作者: dragonlibra    时间: 2016-4-24 19:09
标题: 如何在改变武器后改变战斗外形并变化特技
如何在改变武器后改变战斗外形并变化特技
作者: 夜狠简单    时间: 2016-4-24 21:46
是在战斗中替换武器的时候,还是在菜单里面
作者: chd114    时间: 2016-4-29 19:12
同楼上,另外,你说的变换特技是指一个技能在不同武器下效果不同还是根据装备的武器获得不同的技能?
作者: 邪月长啸    时间: 2016-4-29 21:50
  1. #------------------------------------------------------------
  2. # 脚本来自www.66rpg.com,作者柳柳,转载和使用请保留此信息
  3. #------------------------------------------------------------
  4. class Game_Actor < Game_Battler   
  5. C3_W_SKILL = []
  6. C3_A1_SKILL = []
  7. C3_A2_SKILL = []
  8. C3_A3_SKILL = []
  9. C3_A4_SKILL = []
  10.   
  11. C3_W_SKILL.push [1,11,""] #武器编号,武器附带技能编号,战斗图前缀
  12. C3_W_SKILL.push [0,0,""]  
  13. C3_W_SKILL.push [0,0,""]  
  14. C3_W_SKILL.push [0,0,""]  
  15. C3_W_SKILL.push [0,0,""]  
  16. C3_W_SKILL.push [0,0,""]  
  17. C3_W_SKILL.push [0,0,""]  
  18. C3_W_SKILL.push [0,0,""]  
  19. C3_W_SKILL.push [0,0,""]  
  20. C3_W_SKILL.push [0,0,""]  
  21. #战斗图前缀后面会自动跟上角色的数据库编号。
  22. #比如你使用上面的设定,你的1、2、3、4号角色可以用1号武器(铜剑)
  23. #则你的battlers/下面应改有"剑_1.png","剑_2.png","剑_3.png","剑_4.png"
  24. #一个武器可以重复设置多种技能,防具也是。
  25.   
  26. C3_A1_SKILL.push [0,0]                    #盾编号,附带技能编号
  27. C3_A2_SKILL.push [0,0]                    #头盔编号,附带技能编号
  28. C3_A3_SKILL.push [0,0]                   #甲编号,附带技能编号
  29. C3_A4_SKILL.push [0,0]                   #装饰品编号,附带技能编号
  30. #--------------------------------------------------------------------------
  31. # ● 变更装备
  32. #     equip_type : 装备类型
  33. #     id    : 武器 or 防具 ID  (0 为解除装备)
  34. #--------------------------------------------------------------------------
  35. def equip(equip_type, id)
  36.    case equip_type
  37.    when 0  # 武器
  38.      if id == 0 or $game_party.weapon_number(id) > 0
  39.        old_weapon_id = @weapon_id
  40.        weapon_i = 0
  41.        for weapon_i in C3_W_SKILL           
  42.          if weapon_i[0] == old_weapon_id
  43.            if weapon_i[1] != 0
  44.              forget_skill(weapon_i[1])
  45.            end
  46.          end      
  47.        end
  48.        for weapon_i in C3_W_SKILL           
  49.          if weapon_i[0] == id
  50.            if weapon_i[1] != 0
  51.              learn_skill(weapon_i[1])
  52.            end
  53.            if weapon_i[2] != ""
  54.              @battler_name = weapon_i[2]+@actor_id.to_s
  55.            else
  56.              @battler_name = $data_actors[@actor_id].battler_name
  57.            end
  58.          end
  59.        end
  60.        $game_party.gain_weapon(@weapon_id, 1)
  61.        @weapon_id = id
  62.        $game_party.lose_weapon(id, 1)
  63.      end
  64.    when 1  # 盾
  65.      if id == 0 or $game_party.armor_number(id) > 0
  66.        old_am_id = @armor1_id
  67.        am_i = 0
  68.        for am_i in C3_A1_SKILL           
  69.          if am_i[0] == old_am_id
  70.            if am_i[1] != 0
  71.              forget_skill(am_i[1])
  72.            end
  73.          end      
  74.        end
  75.        for am_i in C3_A1_SKILL
  76.          if am_i[0] == id
  77.            if am_i[1] != 0
  78.              learn_skill(am_i[1])
  79.            end
  80.          end
  81.        end
  82.        update_auto_state($data_armors[@armor1_id], $data_armors[id])
  83.        $game_party.gain_armor(@armor1_id, 1)
  84.        @armor1_id = id
  85.        $game_party.lose_armor(id, 1)
  86.      end
  87.    when 2  # 头
  88.      if id == 0 or $game_party.armor_number(id) > 0
  89.        old_am_id = @armor2_id
  90.        am_i = 0
  91.        for am_i in C3_A2_SKILL           
  92.          if am_i[0] == old_am_id
  93.            if am_i[1] != 0
  94.              forget_skill(am_i[1])
  95.            end
  96.          end     
  97.        end
  98.        for am_i in C3_A2_SKILL   
  99.          if am_i[0] == id
  100.            if am_i[1] != 0
  101.              learn_skill(am_i[1])
  102.            end
  103.          end
  104.        end
  105.        update_auto_state($data_armors[@armor2_id], $data_armors[id])
  106.        $game_party.gain_armor(@armor2_id, 1)
  107.        @armor2_id = id
  108.        $game_party.lose_armor(id, 1)
  109.      end
  110.    when 3  # 身体
  111.      if id == 0 or $game_party.armor_number(id) > 0
  112.        old_am_id = @armor3_id
  113.        am_i = 0
  114.        for am_i in C3_A3_SKILL           
  115.          if am_i[0] == old_am_id
  116.            if am_i[1] != 0
  117.              forget_skill(am_i[1])
  118.            end
  119.          end      
  120.        end
  121.        for am_i in C3_A3_SKILL   
  122.          if am_i[0] == id
  123.            if am_i[1] != 0
  124.              learn_skill(am_i[1])
  125.            end
  126.          end
  127.        end
  128.        update_auto_state($data_armors[@armor3_id], $data_armors[id])
  129.        $game_party.gain_armor(@armor3_id, 1)
  130.        @armor3_id = id
  131.        $game_party.lose_armor(id, 1)
  132.      end
  133.    when 4  # 装饰品
  134.      if id == 0 or $game_party.armor_number(id) > 0
  135.        old_am_id = @armor4_id
  136.        am_i = 0
  137.        for am_i in C3_A4_SKILL           
  138.          if am_i[0] == old_am_id
  139.            if am_i[1] != 0
  140.              forget_skill(am_i[1])
  141.            end
  142.          end      
  143.        end
  144.        for am_i in C3_A4_SKILL   
  145.          if am_i[0] == id
  146.            if am_i[1] != 0
  147.              learn_skill(am_i[1])
  148.            end
  149.          end
  150.        end
  151.        update_auto_state($data_armors[@armor4_id], $data_armors[id])
  152.        $game_party.gain_armor(@armor4_id, 1)
  153.        @armor4_id = id
  154.        $game_party.lose_armor(id, 1)
  155.      end
  156.    end
  157. end
  158. end
  159. #------------------------------------------------------------
  160. # 脚本来自www.66rpg.com,作者柳柳,转载和使用请保留此信息
  161. #------------------------------------------------------------
复制代码

作者: 傲天哲    时间: 2016-5-1 13:29
本帖最后由 傲天哲 于 2016-5-1 13:34 编辑

在你要换武器的事件下面加一个更改角色图像和增减特级不就可以了,战斗中的话就在战斗事件中设置一个脚本:
条件:回合 X(其他也可以) 间隔:回合
显示文字:装备新武器!
更改角色图像(行走图和战斗图)
变更装备
增减技能(减去原来的,加上新的)

本人没试过,完全凭逻辑性写的,如果不可以说一声。
(或者你可以试一下VA和MV,它们数据库有那个武器限制,一开始把角色能学会的技能全给他安上去,然后有些技能要用指定的武器才可使用)




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