设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1586|回复: 7
打印 上一主题 下一主题

[已经解决] 求助,关于 装备技能附加 以及 装备扩展脚本 的冲突

[复制链接]

Lv1.梦旅人

梦石
0
星屑
86
在线时间
140 小时
注册时间
2009-8-2
帖子
49
跳转到指定楼层
1
发表于 2013-11-9 23:42:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我用的装备附加技能脚本是这个,用了装备扩展(扩展2位)脚本之后就无法使用,
我想请求各路大神帮忙按照工程里的装备扩展脚本改写下面的技能附加脚本,使用方法最好还是这种。

RUBY 代码复制
  1. =begin
  2.  
  3. ==============================================================================
  4.   装备学习附带技能(变更装备时变更技能)
  5.   By Chd114
  6. ==============================================================================
  7.  
  8.   使用方法:将此脚本插入到[脚本编辑器]-[Main]上方
  9.  
  10.   使用说明:
  11.   1、请不要修改第25行的ES=[]。
  12.   2、一件装备可以学习附带不止一个技能。
  13.   3、装备学习附带技能的脚本格式为[A,B,C]。
  14.   其中,A为0或1,当A为0时是武器的附带技能,A为1时是防具的附带技能。
  15.   B为装备的ID(编号),C为技能的ID(编号)
  16.   需要添加新技能时请自行在第27行添加
  17.   4、本脚本与其他装备扩展类技能冲突,如果需要同时使用请自行修改
  18.   此脚本与装备耐久度、随即装备属性之类会导致装备具有独立性的
  19.   脚本必定产生冲突,其他脚本基本上不冲突
  20.   5、如果你有更好的建议,欢迎发送邮件到[email][email protected][/email]
  21.  
  22. =end
  23. class Game_Actor < Game_Battler
  24.  
  25. ES=[]#初始化
  26.  
  27. ES=[[1,1,1]]
  28. #1号武器学会10号技能、2号技能,2号防具学会1号技能
  29.  
  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.        eid = @weapon_id
  40.        for i in 0..ES.size-1
  41.          if ES[i][0]==0
  42.            if ES[i][1] == eid
  43.              if ES[i][2] != 0 and ES[i][1] != 0
  44.                forget_skill(ES[i][2])
  45.              end
  46.            end
  47.          end
  48.        end
  49.        for i in 0..ES.size-1
  50.          if ES[i][0]==0
  51.            if ES[i][1] == id
  52.              if ES[i][2] != 0 and ES[i][1] != 0
  53.                learn_skill(ES[i][2])
  54.              end
  55.            end
  56.          end
  57.        end
  58.        i=0
  59.        $game_party.gain_weapon(@weapon_id, 1)
  60.        @weapon_id = id
  61.        $game_party.lose_weapon(id, 1)
  62.      end
  63.    when 1  # 盾
  64.      if id == 0 or $game_party.armor_number(id) > 0
  65.        eid = @armor1_id
  66.        for i in 0..ES.size-1
  67.          if ES[i][0]==1
  68.            if ES[i][1] == eid
  69.              if ES[i][2] != 0 and ES[i][1] != 0
  70.                forget_skill(ES[i][2])
  71.              end
  72.            end
  73.          end
  74.        end
  75.        for i in 0..ES.size-1
  76.          if ES[i][0]==1
  77.            if ES[i][1] == id
  78.              if ES[i][2] != 0 and ES[i][1] != 0
  79.                learn_skill(ES[i][2])
  80.              end
  81.            end
  82.          end
  83.        end
  84.        i=0
  85.        update_auto_state($data_armors[@armor1_id], $data_armors[id])
  86.        $game_party.gain_armor(@armor1_id, 1)
  87.        @armor1_id = id
  88.        $game_party.lose_armor(id, 1)
  89.      end
  90.    when 2  # 头
  91.      if id == 0 or $game_party.armor_number(id) > 0
  92.        eid = @armor2_id
  93.        for i in 0..ES.size-1
  94.          if ES[i][0]==1
  95.            if ES[i][1] == eid
  96.              if ES[i][2] != 0 and ES[i][1] != 0
  97.                forget_skill(ES[i][2])
  98.              end
  99.            end
  100.          end
  101.        end
  102.        for i in 0..ES.size-1
  103.          if ES[i][0]==1
  104.            if ES[i][1] == id
  105.              if ES[i][2] != 0 and ES[i][1] != 0
  106.                learn_skill(ES[i][2])
  107.              end
  108.            end
  109.          end
  110.        end
  111.        i=0
  112.        update_auto_state($data_armors[@armor2_id], $data_armors[id])
  113.        $game_party.gain_armor(@armor2_id, 1)
  114.        @armor2_id = id
  115.        $game_party.lose_armor(id, 1)
  116.      end
  117.    when 3  # 身体
  118.      if id == 0 or $game_party.armor_number(id) > 0
  119.        eid = @armor3_id
  120.        for i in 0..ES.size-1
  121.          if ES[i][0]==1
  122.            if ES[i][1] == eid
  123.              if ES[i][2] != 0 and ES[i][1] != 0
  124.                forget_skill(ES[i][2])
  125.              end
  126.            end
  127.          end
  128.        end
  129.        for i in 0..ES.size-1
  130.          if ES[i][0]==1
  131.            if ES[i][1] == id
  132.              if ES[i][2] != 0 and ES[i][1] != 0
  133.                learn_skill(ES[i][2])
  134.              end
  135.            end
  136.          end
  137.        end
  138.        i=0
  139.        update_auto_state($data_armors[@armor3_id], $data_armors[id])
  140.        $game_party.gain_armor(@armor3_id, 1)
  141.        @armor3_id = id
  142.        $game_party.lose_armor(id, 1)
  143.      end
  144.    when 4  # 装饰品
  145.      if id == 0 or $game_party.armor_number(id) > 0
  146.        eid = @armor4_id
  147.        for i in 0..ES.size-1
  148.          if ES[i][0]==1
  149.            if ES[i][1] == eid
  150.              if ES[i][2] != 0 and ES[i][1] != 0
  151.                forget_skill(ES[i][2])
  152.              end
  153.            end
  154.          end
  155.        end
  156.        for i in 0..ES.size-1
  157.          if ES[i][0]==1
  158.            if ES[i][1] == id
  159.              if ES[i][2] != 0 and ES[i][1] != 0
  160.                learn_skill(ES[i][2])
  161.              end
  162.            end
  163.          end
  164.        end
  165.        i=0
  166.        update_auto_state($data_armors[@armor4_id], $data_armors[id])
  167.        $game_party.gain_armor(@armor4_id, 1)
  168.        @armor4_id = id
  169.        $game_party.lose_armor(id, 1)
  170.      end
  171.    end
  172. end
  173. end

Project1.rar

192.88 KB, 下载次数: 27

点评

装备固定?什么意思?  发表于 2013-11-10 16:07

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

8
发表于 2013-11-10 16:33:16 | 只看该作者
  1. #===============================================================================
  2. # 装备武器获得技能
  3. #===============================================================================
  4. # 资料初始化
  5. $skill_plus_w = {}
  6. $skill_plus_a = {}
  7. $data_weapons = load_data("Data/Weapons.rxdata")
  8. $data_armors = load_data("Data/Armors.rxdata")
  9. (0...$data_weapons.size).each{|i|$skill_plus_w[i]=[]}
  10. (0...$data_armors.size).each{|i|$skill_plus_a[i]=[]}
  11. #-------------------------------------------------------------------------------
  12. # 资料设定
  13. $skill_plus_w[145] = [77]
  14. $skill_plus_w[146] = [77]
  15. $skill_plus_w[147] = [77]
  16. $skill_plus_w[37] = [87]
  17. $skill_plus_w[38] = [87]
  18. $skill_plus_w[39] = [87]
  19. $skill_plus_w[40] = [87]
  20. $skill_plus_w[41] = [87]
  21. #-------------------------------------------------------------------------------
  22. class Game_Actor
  23.   def skills
  24.     result = @skills.clone
  25.     a = []
  26.     a += $skill_plus_w[@weapon_id]
  27.     a += $skill_plus_a[@armor1_id]
  28.     a += $skill_plus_a[@armor2_id]
  29.     a += $skill_plus_a[@armor3_id]
  30.     a += $skill_plus_a[@armor4_id]
  31.     a += $skill_plus_a[@armor5_id]
  32.     a += $skill_plus_a[@armor6_id]
  33.     for i in a
  34.       if !result.include?(i)
  35.         result.push(i)
  36.       end
  37.     end
  38.     return result
  39.   end
  40.   def skill_can_use?(skill_id)
  41.     return super
  42.   end
  43. end
复制代码
他的脚本也是需要额外添加脚本的···

点评

好吧,那就这样吧,谢谢。  发表于 2013-11-10 17:10

评分

参与人数 1星屑 +120 收起 理由
myownroc + 120 认可答案

查看全部评分

[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

7
发表于 2013-11-10 13:31:51 | 只看该作者
原理:你的装备扩展脚本只是添加了@armor5、@armor6这两种新装备类型···那么你只要把里面when 1下面的
  1.    when 1  # 盾
  2.      if id == 0 or $game_party.armor_number(id) > 0
  3.        eid = @armor1_id
  4.        for i in 0..ES.size-1
  5.          if ES[i][0]==1
  6.            if ES[i][1] == eid
  7.              if ES[i][2] != 0 and ES[i][1] != 0
  8.                forget_skill(ES[i][2])
  9.              end
  10.            end
  11.          end
  12.        end
  13.        for i in 0..ES.size-1
  14.          if ES[i][0]==1
  15.            if ES[i][1] == id
  16.              if ES[i][2] != 0 and ES[i][1] != 0
  17.                learn_skill(ES[i][2])
  18.              end
  19.            end
  20.          end
  21.        end
  22.        i=0
  23.        update_auto_state($data_armors[@armor1_id], $data_armors[id])
  24.        $game_party.gain_armor(@armor1_id, 1)
  25.        @armor1_id = id
  26.        $game_party.lose_armor(id, 1)
  27.      end
复制代码
的@armor1、armor1之类的全部换成别的再加一次就好···

点评

指定装备被固定后,就不能卸下、替换;装备扩展的两个栏位没办法固定,下载了别人的装备诅咒脚本也没有效果……  发表于 2013-11-10 16:29
两个栏位附加技能大神不能解决或者不想解决都没关系,只是有一个十分想解决的问题,我用的那个脚本不能装备固定,请问有什么办法解决?  发表于 2013-11-10 14:28
是要把后面的数字换掉吗?或者换成@weapon1之类的?还有,前面大侠那个技能附加是有效,但不能对额外的两个栏位有效……  发表于 2013-11-10 14:25
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2013-11-10 13:29:16 | 只看该作者
llzc22 发表于 2013-11-10 12:51
我是纯脚本盲,不会改,上传的附件里有装备扩展脚本,大神下载下来看看就知道了。 ...
  1.    when 5  # 装饰品
  2.      if id == 0 or $game_party.armor_number(id) > 0
  3.        eid = @armor5_id
  4.        for i in 0..ES.size-1
  5.          if ES[i][0]==1
  6.            if ES[i][1] == eid
  7.              if ES[i][2] != 0 and ES[i][1] != 0
  8.                forget_skill(ES[i][2])
  9.              end
  10.            end
  11.          end
  12.        end
  13.        for i in 0..ES.size-1
  14.          if ES[i][0]==1
  15.            if ES[i][1] == id
  16.              if ES[i][2] != 0 and ES[i][1] != 0
  17.                learn_skill(ES[i][2])
  18.              end
  19.            end
  20.          end
  21.        end
  22.        i=0
  23.        update_auto_state($data_armors[@armor5_id], $data_armors[id])
  24.        $game_party.gain_armor(@armor5_id, 1)
  25.        @armor5_id = id
  26.        $game_party.lose_armor(id, 1)
  27.      end
复制代码
  1.    when 6  # 装饰品
  2.      if id == 0 or $game_party.armor_number(id) > 0
  3.        eid = @armor6_id
  4.        for i in 0..ES.size-1
  5.          if ES[i][0]==1
  6.            if ES[i][1] == eid
  7.              if ES[i][2] != 0 and ES[i][1] != 0
  8.                forget_skill(ES[i][2])
  9.              end
  10.            end
  11.          end
  12.        end
  13.        for i in 0..ES.size-1
  14.          if ES[i][0]==1
  15.            if ES[i][1] == id
  16.              if ES[i][2] != 0 and ES[i][1] != 0
  17.                learn_skill(ES[i][2])
  18.              end
  19.            end
  20.          end
  21.        end
  22.        i=0
  23.        update_auto_state($data_armors[@armor6_id], $data_armors[id])
  24.        $game_party.gain_armor(@armor6_id, 1)
  25.        @armor6_id = id
  26.        $game_party.lose_armor(id, 1)
  27.      end
复制代码
这段脚本放到when 1的前面就好了···

点评

两端都要加  发表于 2013-11-10 13:29
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
86
在线时间
140 小时
注册时间
2009-8-2
帖子
49
5
 楼主| 发表于 2013-11-10 12:51:18 | 只看该作者
chd114 发表于 2013-11-10 08:50
你用的是什么类型的装备扩张脚本···这个才是关键,如果原来装备的armor之类的变成别的了你就要把对应的 ...

我是纯脚本盲,不会改,上传的附件里有装备扩展脚本,大神下载下来看看就知道了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
86
在线时间
140 小时
注册时间
2009-8-2
帖子
49
4
 楼主| 发表于 2013-11-10 12:50:23 | 只看该作者
芯☆淡茹水 发表于 2013-11-10 07:51
用这个装备附加技能试试:

有效是有效,可是有防具附加技能吗……我需要防具……还有,谢谢了。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2013-11-10 08:50:19 | 只看该作者
你用的是什么类型的装备扩张脚本···这个才是关键,如果原来装备的armor之类的变成别的了你就要把对应的改掉···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33512
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2013-11-10 07:51:16 | 只看该作者
用这个装备附加技能试试:
  1. #===============================================================================
  2. # 装备武器获得技能
  3. #===============================================================================
  4. # 资料初始化
  5. $skill_plus_w = {}
  6. $skill_plus_a = {}
  7. $data_weapons = load_data("Data/Weapons.rxdata")
  8. $data_armors = load_data("Data/Armors.rxdata")
  9. (0...$data_weapons.size).each{|i|$skill_plus_w[i]=[]}
  10. (0...$data_armors.size).each{|i|$skill_plus_a[i]=[]}
  11. #-------------------------------------------------------------------------------
  12. # 资料设定
  13. $skill_plus_w[145] = [77]
  14. $skill_plus_w[146] = [77]
  15. $skill_plus_w[147] = [77]
  16. $skill_plus_w[37] = [87]
  17. $skill_plus_w[38] = [87]
  18. $skill_plus_w[39] = [87]
  19. $skill_plus_w[40] = [87]
  20. $skill_plus_w[41] = [87]
  21. #-------------------------------------------------------------------------------
  22. class Game_Actor
  23.   def skills
  24.     result = @skills.clone
  25.     a = []
  26.     a += $skill_plus_w[@weapon_id]
  27.     a += $skill_plus_a[@armor1_id]
  28.     a += $skill_plus_a[@armor2_id]
  29.     a += $skill_plus_a[@armor3_id]
  30.     a += $skill_plus_a[@armor4_id]
  31.     for i in a
  32.       if !result.include?(i)
  33.         result.push(i)
  34.       end
  35.     end
  36.     return result
  37.   end
  38.   def skill_can_use?(skill_id)
  39.     return super
  40.   end
  41. end
复制代码

点评

呃,发现可以用防具附加技能,谢谢。  发表于 2013-11-10 13:27
新脚本?我来抓抓虫···  发表于 2013-11-10 08:49

评分

参与人数 1星屑 +105 收起 理由
myownroc + 105 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-3 01:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表