Project1

标题: 怎样做一个能增加maxHP的装备? [打印本页]

作者: hao19961006    时间: 2014-7-24 18:12
标题: 怎样做一个能增加maxHP的装备?
怎样做一个能增加maxHP的装备?求解。。。。。。
作者: 恐惧剑刃    时间: 2014-7-24 19:01
本帖最后由 恐惧剑刃 于 2014-7-24 19:03 编辑
  1. #装备附加HP SP
  2. #使用方法 给装备名后用“,”追加数值
  3. #例如:  铜剑,500,200  那个这个武器会增加500点HP和200点SP
  4. #顺序不可改变  如果只需要加 HP 不需要再追加 SP 例如 铜剑,500 只会增加500HP
  5. #如果只需要增加SP 那么HP留0即可 例如 铜剑,0, 200 只增加200点SP

  6. module RPG
  7.   class Weapon
  8.     def name
  9.       return @name.split(/,/)[0]
  10.     end
  11.     def hp
  12.       return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i
  13.     end
  14.     def sp
  15.       return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i
  16.     end
  17.   end
  18.   class Armor
  19.     def name
  20.       return @name.split(/,/)[0]
  21.     end
  22.     def hp
  23.       return @name.split(/,/)[1] == nil ? 0 : @name.split(/,/)[1].to_i
  24.     end
  25.     def sp
  26.       return @name.split(/,/)[2] == nil ? 0 : @name.split(/,/)[2].to_i
  27.     end
  28.   end
  29. end

  30. class Game_Actor < Game_Battler
  31.   #--------------------------------------------------------------------------
  32.   # ● 获取基本 MaxHP
  33.   #--------------------------------------------------------------------------
  34.   def base_maxhp
  35.     n = $data_actors[@actor_id].parameters[0, @level]
  36.     n += $data_weapons[@weapon_id].hp if $data_weapons[@weapon_id] != nil
  37.     n += $data_armors[@armor1_id].hp if $data_armors[@armor1_id] != nil
  38.     n += $data_armors[@armor2_id].hp if $data_armors[@armor2_id] != nil
  39.     n += $data_armors[@armor3_id].hp if $data_armors[@armor3_id] != nil
  40.     n += $data_armors[@armor4_id].hp if $data_armors[@armor4_id] != nil
  41.     return n
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 获取基本 MaxSP
  45.   #--------------------------------------------------------------------------
  46.   def base_maxsp
  47.     n = $data_actors[@actor_id].parameters[1, @level]
  48.     n += $data_weapons[@weapon_id].sp if $data_weapons[@weapon_id] != nil
  49.     n += $data_armors[@armor1_id].sp if $data_armors[@armor1_id] != nil
  50.     n += $data_armors[@armor2_id].sp if $data_armors[@armor2_id] != nil
  51.     n += $data_armors[@armor3_id].sp if $data_armors[@armor3_id] != nil
  52.     n += $data_armors[@armor4_id].sp if $data_armors[@armor4_id] != nil
  53.     return n
  54.   end
  55.   
  56.   
  57.   alias equip_hp_sp_old_dl equip
  58.   def equip(equip_type, id)
  59.     equip_hp_sp_old_dl(equip_type, id)
  60.     @hp = maxhp if @hp > maxhp
  61.     @sp = maxsp if @sp > maxsp
  62.   end
  63. end
复制代码

作者: hao19961006    时间: 2014-7-24 19:17
恐惧剑刃 发表于 2014-7-24 19:01

这是啥?新手完全不懂。。。。。求教大师!!
作者: wingzeroplus    时间: 2014-7-29 17:18
其实把还有个最简单的办法,给装备设定一个自动状态A,这个A状态下将HP调整150%(即增加50%),SP同理
然后状态定量改为0即可(0的话系统不会显示该状态名),无须任何脚本,无任何冲突
作者: 573932914    时间: 2014-7-29 21:15
最简单的办法就是固定附带状态,该状态下MAXHP*150即可
作者: jiahui5592986    时间: 2014-10-4 12:19
恐惧剑刃 发表于 2014-7-24 19:01

如果想要获取 所增加的值.怎么那么 怎么写?例如 速度是 equip.agi_plus

我是想在物品详情系统中.把装备所加的值[HP或者SP]给描绘出来.
作者: 未来的勇气重生    时间: 2014-12-28 14:12
573932914 发表于 2014-7-29 21:15
最简单的办法就是固定附带状态,该状态下MAXHP*150即可

请问怎样固定附带状态,谢谢
作者: 未来的勇气重生    时间: 2014-12-28 14:37
573932914 发表于 2014-7-29 21:15
最简单的办法就是固定附带状态,该状态下MAXHP*150即可

求解,武器勾选状态后是攻击对象,也就是敌人变成了那个状态之下
谢谢
作者: 未来的勇气重生    时间: 2014-12-28 14:38
573932914 发表于 2014-7-29 21:15
最简单的办法就是固定附带状态,该状态下MAXHP*150即可

求解,武器勾选状态后是攻击对象,也就是敌人变成了那个状态之下
谢谢
作者: 573932914    时间: 2014-12-28 20:35
未来的勇气重生 发表于 2014-12-28 14:38
求解,武器勾选状态后是攻击对象,也就是敌人变成了那个状态之下
谢谢


那就写判断角色是否装备了然后附加状态
= =
否则就判断是否有状态再除去状态




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