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

Project1

 找回密码
 注册会员
搜索

套装系统莫名出错

查看数: 1110 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-8-8 17:01

正文摘要:

我用的是这个套装系统,当我给一个敌人攻击附加暗属性时,他攻击我就会出错。。。套装属性我还没来得及加,为啥会这样呢。。RUBY 代码复制#============================================== ...

回复

chd114 发表于 2015-8-21 23:36:52
zxc123a4s5d6 发表于 2015-8-11 04:22
是像这样然后自己加属性吗?也就是说武器ID前面要加一个-?话说怎么还有装备数量?可以一次装备许多个吗。 ...

装备数量的判定是因为你可以用来配合我的另一个脚本···

点评

直接加···又不是dota的魔抗非线性叠加···  发表于 2015-9-4 16:13
加法计算是么。  发表于 2015-9-4 15:41
当然还有···  发表于 2015-8-30 18:58
另外还有个问题。比如套装总共3件,穿两件就有的属性附加到第三件穿上去以后还有么?  发表于 2015-8-30 18:45
怪不得。总觉得计算不太对。不过坑爹的是图书馆的破限脚本做的设置分辨是基础属性。。 然后就呵呵了,发现了一个套装穿上后56万血的简直。。  发表于 2015-8-30 18:43
zxc123a4s5d6 发表于 2015-8-11 21:22:52
本帖最后由 zxc123a4s5d6 于 2015-8-11 21:25 编辑
chd114 发表于 2015-8-8 19:13
用这个试试看?
  1. class Game_Battler#Game_Actor

  2.   def equiprepeat

  3.     @equiprepeat=Hash.new(0)#hash表的默认值设定为零就行了,你那一个1999次循环无法直视。。天啊。。

  4.     equips.each do |e|  # Game_Actors#equips 方法,返回当前装备实例的数组,详见默认173,比@equips省心多了

  5.       if e.is_a?(RPG::Weapon)

  6.         @equiprepeat[-e.id] += 1

  7.       elsif e.is_a?(RPG::Armor)

  8.         @equiprepeat[e.id] += 1

  9.       end

  10.     end

  11.     @equiprepeat #最后一行返回可以省下return少打几个字母

  12.   end

  13. end

  14. module Chd114 end

  15. module Chd114::Equip#(武器ID为-1~-999,防具ID为1~999)

  16.   Suit={#套装类型={装备ID=>装备数量}

  17.   1=>{64=>1,65=>1,66=>1},

  18.   2=>{63=>1,64=>1},

  19.   }

  20.   SuitEffect={#套装类型={部件数=>{属性ID=>属性效果}}

  21.   1=>{2=>{0=>2.0},3=>{1=>50}},

  22.   2=>{2=>{0=>505}},

  23.   }

  24. end

  25. (0..999).each{|i|Chd114::Equip::Suit[i]||={};Chd114::Equip::SuitEffect[i]||={}}



  26. =begin

  27. mhp 0 最大HP          Maximum Hit Point    mmp 1 最大MP   Maximum Magic Point

  28. atk 2 物理攻击        ATtacK power         def 3 物理防御  DEFense power

  29. mat 4 魔法攻击        Magic ATtack power   mdf 5 魔法防御  Magic DeFense power

  30. agi 6 敏 捷 值        AGIlity      luk 7 幸 运 值        LUcK

  31. =end

  32. class Game_Actor

  33.   alias_method :c4_suit, :param_plus

  34.   def param_plus(id)

  35.     old = c4_suit(id)

  36.     basic = old

  37.     tt=0

  38.     Chd114::Equip::Suit.each{|k,v|

  39.     v.each{|k,v|tt+=equiprepeat[k]}

  40.     Chd114::Equip::SuitEffect[k].each{|k,v|

  41.     v.each{|k,v|old += v*((v.is_a?(Float)) ? param_base(k) : 1) if id==k} if tt>=k

  42.     }

  43.     }

  44.     old

  45.   end

  46. end
复制代码
是像这样然后自己加属性吗?也就是说武器ID前面要加一个-?话说怎么还有装备数量?可以一次装备许多个吗。。。

但这样攻击附加属性啊,属性抗性这些都不能添加了啊。。。
chd114 发表于 2015-8-8 19:13:35
  1. class Game_Battler#Game_Actor
  2.   def equiprepeat
  3.     @equiprepeat=Hash.new(0)#hash表的默认值设定为零就行了,你那一个1999次循环无法直视。。天啊。。
  4.     equips.each do |e|  # Game_Actors#equips 方法,返回当前装备实例的数组,详见默认173,比@equips省心多了
  5.       if e.is_a?(RPG::Weapon)
  6.         @equiprepeat[-e.id] += 1
  7.       elsif e.is_a?(RPG::Armor)
  8.         @equiprepeat[e.id] += 1
  9.       end
  10.     end
  11.     @equiprepeat #最后一行返回可以省下return少打几个字母
  12.   end
  13. end
复制代码
  1. module Chd114 end
  2. module Chd114::Equip#(武器ID为-1~-999,防具ID为1~999)
  3.   Suit={#套装类型={装备ID=>装备数量}
  4.   1=>{64=>1,65=>1,66=>1},
  5.   2=>{63=>1,64=>1},
  6.   }
  7.   SuitEffect={#套装类型={部件数=>{属性ID=>属性效果}}
  8.   1=>{2=>{0=>2.0},3=>{1=>50}},
  9.   2=>{2=>{0=>505}},
  10.   }
  11. end
  12. (0..999).each{|i|Chd114::Equip::Suit[i]||={};Chd114::Equip::SuitEffect[i]||={}}
复制代码
  1. =begin
  2. mhp 0 最大HP          Maximum Hit Point    mmp 1 最大MP   Maximum Magic Point
  3. atk 2 物理攻击        ATtacK power         def 3 物理防御  DEFense power
  4. mat 4 魔法攻击        Magic ATtack power   mdf 5 魔法防御  Magic DeFense power
  5. agi 6 敏 捷 值        AGIlity      luk 7 幸 运 值        LUcK
  6. =end
  7. class Game_Actor
  8.   alias_method :c4_suit, :param_plus
  9.   def param_plus(id)
  10.     old = c4_suit(id)
  11.     basic = old
  12.     tt=0
  13.     Chd114::Equip::Suit.each{|k,v|
  14.     v.each{|k,v|tt+=equiprepeat[k]}
  15.     Chd114::Equip::SuitEffect[k].each{|k,v|
  16.     v.each{|k,v|old += v*((v.is_a?(Float)) ? param_base(k) : 1) if id==k} if tt>=k
  17.     }
  18.     }
  19.     old
  20.   end
  21. end
复制代码
用这个试试看?
taroxd 发表于 2015-8-8 18:00:53
8成是因为套装属性还没来得及加
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-16 17:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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