Project1

标题: 装备附带技能问题谢谢 [打印本页]

作者: 195874    时间: 2023-11-1 20:51
标题: 装备附带技能问题谢谢

请问可不可以改成任何人装备附带技能都只给主角加技能而不是谁装备谁加技能,比如西露达装备了火焰盾(附带火球术)之后阿尔西斯学会了火球术而不是西露达学会谢谢了





RUBY 代码复制
  1. #------------------------------------------------------------
  2. # 脚本来自[url]www.66rpg.com[/url],作者柳柳,转载和使用请保留此信息
  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. C3_A5_SKILL = []
  11. C3_A6_SKILL = []
  12.  
  13. # C3_W_SKILL.push [,,""] #武器编号,武器附带技能编号,战斗图前缀
  14. # C3_W_SKILL.push [,,""]
  15. # C3_W_SKILL.push [,,""]
  16. # C3_W_SKILL.push [,,""]
  17. # C3_W_SKILL.push [,,""]
  18. # C3_W_SKILL.push [,,""]
  19. # C3_W_SKILL.push [,,""]
  20. # C3_W_SKILL.push [,,""]
  21. # C3_W_SKILL.push [,,""]
  22. # C3_W_SKILL.push [,,""]
  23. #战斗图前缀后面会自动跟上角色的数据库编号。
  24. #比如你使用上面的设定,你的1、2、3、4号角色可以用1号武器(铜剑)
  25. #则你的battlers/下面应改有"剑_1.png","剑_2.png","剑_3.png","剑_4.png"
  26.  
  27. #一个武器可以重复设置多种技能,防具也是。
  28.  
  29. C3_A1_SKILL.push [105,15]                    #盾编号,附带技能编号
  30. C3_A2_SKILL.push [105,15]                    #头盔编号,附带技能编号
  31. C3_A3_SKILL.push [105,15]                   #甲编号,附带技能编号
  32. C3_A4_SKILL.push [13,1]                     #装饰品编号,附带技能编号
  33. C3_A5_SKILL.push [13,1]
  34. C3_A6_SKILL.push [13,1]
  35. #--------------------------------------------------------------------------
  36. # ● 变更装备
  37. #     equip_type : 装备类型
  38. #     id    : 武器 or 防具 ID  (0 为解除装备)
  39. #--------------------------------------------------------------------------
  40. def equip(equip_type, id)
  41.    case equip_type
  42.    when 0  # 武器
  43.      if id == 0 or $game_party.weapon_number(id) > 0
  44.        old_weapon_id = @weapon_id
  45.        weapon_i = 0
  46.        for weapon_i in C3_W_SKILL         
  47.          if weapon_i[0] == old_weapon_id
  48.            if weapon_i[1] != 0
  49.              forget_skill(weapon_i[1])
  50.            end
  51.          end     
  52.        end
  53.        for weapon_i in C3_W_SKILL         
  54.          if weapon_i[0] == id
  55.            if weapon_i[1] != 0
  56.              learn_skill(weapon_i[1])
  57.            end
  58.            if weapon_i[2] != ""
  59.              @battler_name = weapon_i[2]+@actor_id.to_s
  60.            else
  61.              @battler_name = $data_actors[@actor_id].battler_name
  62.            end
  63.          end
  64.        end
  65.        $game_party.gain_weapon(@weapon_id, 1)
  66.        @weapon_id = id
  67.        $game_party.lose_weapon(id, 1)
  68.      end
  69.    when 1  # 盾
  70.      if id == 0 or $game_party.armor_number(id) > 0
  71.        old_am_id = @armor1_id
  72.        am_i = 0
  73.        for am_i in C3_A1_SKILL         
  74.          if am_i[0] == old_am_id
  75.            if am_i[1] != 0
  76.              forget_skill(am_i[1])
  77.            end
  78.          end     
  79.        end
  80.        for am_i in C3_A1_SKILL
  81.          if am_i[0] == id
  82.            if am_i[1] != 0
  83.              learn_skill(am_i[1])
  84.            end
  85.          end
  86.        end
  87.        update_auto_state($data_armors[@armor1_id], $data_armors[id])
  88.        $game_party.gain_armor(@armor1_id, 1)
  89.        @armor1_id = id
  90.        $game_party.lose_armor(id, 1)
  91.      end
  92.    when 2  # 头
  93.      if id == 0 or $game_party.armor_number(id) > 0
  94.        old_am_id = @armor2_id
  95.        am_i = 0
  96.        for am_i in C3_A2_SKILL         
  97.          if am_i[0] == old_am_id
  98.            if am_i[1] != 0
  99.              forget_skill(am_i[1])
  100.            end
  101.          end   
  102.        end
  103.        for am_i in C3_A2_SKILL  
  104.          if am_i[0] == id
  105.            if am_i[1] != 0
  106.              learn_skill(am_i[1])
  107.            end
  108.          end
  109.        end
  110.        update_auto_state($data_armors[@armor2_id], $data_armors[id])
  111.        $game_party.gain_armor(@armor2_id, 1)
  112.        @armor2_id = id
  113.        $game_party.lose_armor(id, 1)
  114.      end
  115.    when 3  # 身体
  116.      if id == 0 or $game_party.armor_number(id) > 0
  117.        old_am_id = @armor3_id
  118.        am_i = 0
  119.        for am_i in C3_A3_SKILL         
  120.          if am_i[0] == old_am_id
  121.            if am_i[1] != 0
  122.              forget_skill(am_i[1])
  123.            end
  124.          end     
  125.        end
  126.        for am_i in C3_A3_SKILL  
  127.          if am_i[0] == id
  128.            if am_i[1] != 0
  129.              learn_skill(am_i[1])
  130.            end
  131.          end
  132.        end
  133.        update_auto_state($data_armors[@armor3_id], $data_armors[id])
  134.        $game_party.gain_armor(@armor3_id, 1)
  135.        @armor3_id = id
  136.        $game_party.lose_armor(id, 1)
  137.      end
  138.    when 4  # 装饰品
  139.      if id == 0 or $game_party.armor_number(id) > 0
  140.        old_am_id = @armor4_id
  141.        am_i = 0
  142.        for am_i in C3_A4_SKILL         
  143.          if am_i[0] == old_am_id
  144.            if am_i[1] != 0
  145.              forget_skill(am_i[1])
  146.            end
  147.          end     
  148.        end
  149.        for am_i in C3_A4_SKILL  
  150.          if am_i[0] == id
  151.            if am_i[1] != 0
  152.              learn_skill(am_i[1])
  153.            end
  154.          end
  155.        end
  156.        update_auto_state($data_armors[@armor4_id], $data_armors[id])
  157.        $game_party.gain_armor(@armor4_id, 1)
  158.        @armor4_id = id
  159.        $game_party.lose_armor(id, 1)
  160.      end
  161.      when 5  # 装饰品
  162.      if id == 0 or $game_party.armor_number(id) > 0
  163.        old_am_id = @armor4_id
  164.        am_i = 0
  165.        for am_i in C3_A5_SKILL         
  166.          if am_i[0] == old_am_id
  167.            if am_i[1] != 0
  168.              forget_skill(am_i[1])
  169.            end
  170.          end     
  171.        end
  172.        for am_i in C3_A5_SKILL  
  173.          if am_i[0] == id
  174.            if am_i[1] != 0
  175.              learn_skill(am_i[1])
  176.            end
  177.          end
  178.        end
  179.        update_auto_state($data_armors[@armor5_id], $data_armors[id])
  180.        $game_party.gain_armor(@armor5_id, 1)
  181.        @armor5_id = id
  182.        $game_party.lose_armor(id, 1)
  183.      end
  184.      when 6  # 装饰品
  185.      if id == 0 or $game_party.armor_number(id) > 0
  186.        old_am_id = @armor4_id
  187.        am_i = 0
  188.        for am_i in C3_A6_SKILL         
  189.          if am_i[0] == old_am_id
  190.            if am_i[1] != 0
  191.              forget_skill(am_i[1])
  192.            end
  193.          end     
  194.        end
  195.        for am_i in C3_A6_SKILL  
  196.          if am_i[0] == id
  197.            if am_i[1] != 0
  198.              learn_skill(am_i[1])
  199.            end
  200.          end
  201.        end
  202.        update_auto_state($data_armors[@armor6_id], $data_armors[id])
  203.        $game_party.gain_armor(@armor6_id, 1)
  204.        @armor6_id = id
  205.        $game_party.lose_armor(id, 1)
  206.      end
  207.    end
  208. end
  209. end
  210. #------------------------------------------------------------
  211. # 脚本来自[url]www.66rpg.com[/url],作者柳柳,转载和使用请保留此信息
  212. #------------------------------------------------------------

作者: 195874    时间: 2023-11-1 21:16
想让任何角色装备附带技能的装备装备在某角色身上但是技能全部加到1号角色的技能里 比如队伍里每个人都装备了附带技能的装备但是技能只有1号角色可以使用

作者: soulsaga    时间: 2023-11-2 20:17
RUBY 代码复制
  1. #把learn_skill改成$game_actors[1].learn_skill
  2. #把forget_skill改成$game_actors[1].forget_skill


应该就可以了吧>?
作者: 195874    时间: 2023-11-2 23:07
太感谢了




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