Project1

标题: 继续求如何让最大HP=人物HP+防御力(怕高手看不见) [打印本页]

作者: tidusm    时间: 2011-6-10 18:42
标题: 继续求如何让最大HP=人物HP+防御力(怕高手看不见)
继续求如何让最大HP=人物HP+防御力

使用后有一个问题,就是现在HP会大于最大HP。

我来详细的说下我想要的脚本吧。

比如A角色:HP:100;防御力:10;装备防具的防御力:10
则A角色的MAXHP=120.

以下为重点:
当A角色不装备防具时MAXHP为110/110;如果这时装备上防具后应该是110/120(重点一)

当A角色装备防具时AXHP为120/120,如果这时卸下防具后应该是110/110(重点二)

希望您能再给我改个妥当点的脚本,在下实在改不出来啊,万分感谢!



tidusm于2011-6-11 23:38补充以下内容:
再顶上去,希望得到帮助!


tidusm于2011-6-11 23:39补充以下内容:
再顶上去,希望得到帮助
作者: zhengxinwu    时间: 2011-6-12 18:07
这个不是很简单吗
直接用增加H MP上限的脚本
然后装备的防御力设定多少 装备备注里HP也设定多少
穿上HP上限增加
脱下则回复
至于为什么防御力10=10HP呢
那两项貌似不对等吧
一般HP高的游戏 防御力没HP好
只有HP少的游戏 防御会显得格外重要
就好比LZ你自己头像的晓之女神
满级也就几十HP 鄙人凹点重来都不在乎HP
防高了敌人打 都是MISS
作者: 冰舞蝶恋    时间: 2011-6-13 20:53
呃,在game_actor(貌似是?)里好像有个关于def actor_hp之类的?还是开始有个actor.hp或者actor_hp之类=maxhp什么的、、、完全记不清,也懒得看去了…………呃,反正就是类似的。。你把那个计算公式下加一个那个变量+=actor.def或者actor_def或者前面带@号的…………你自己试试看吧,咱没试过哦
作者: tidusm    时间: 2011-6-13 22:28
本帖最后由 tidusm 于 2011-6-13 22:29 编辑
zhengxinwu 发表于 2011-6-12 18:07
这个不是很简单吗
直接用增加H MP上限的脚本
然后装备的防御力设定多少 装备备注里HP也设定多少


我做的游戏不需要防御力的,就是这么简单!

您认为简单,但是在下就是搞不定这个脚本,如果可以希望您能详细的给予我帮助!谢谢!



作者: wbsy8241    时间: 2011-6-13 22:41
本帖最后由 wbsy8241 于 2011-6-13 22:51 编辑

Game_Actor

173行左右
  #--------------------------------------------------------------------------
  # ● 获取 MaxHP
  #--------------------------------------------------------------------------
  def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, 9999].min
    n += pdef
    for i in @states
      n *= $data_states[ i].maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, 9999].min
    return n
  end


391行左右
  #--------------------------------------------------------------------------
  # ● 变更装备
  #     equip_type : 装备类型
  #     id    : 武器 or 防具 ID  (0 为解除装备)
  #--------------------------------------------------------------------------
  def equip(equip_type, id)
    ....#最下面一行加
    @hp = [@hp, self.maxhp].min
  end

作者: tidusm    时间: 2011-6-13 23:13
继续求解答,相信论坛会解答出来滴
作者: wbsy8241    时间: 2011-6-14 01:04
本帖最后由 wbsy8241 于 2011-6-14 01:05 编辑
tidusm 发表于 2011-6-13 23:13
继续求解答,相信论坛会解答出来滴


Game_Actor

213行左右
  #--------------------------------------------------------------------------
  # ● 获取基本体力最大值
  #--------------------------------------------------------------------------
  def base_maxhp
    return actor.parameters[0, @level] + self.def
  end

433行
  #--------------------------------------------------------------------------
  # ● 变更装备(目标对象)
  #     equip_type : 装备部分(0~4)
  #     item_id    : 武器或防具ID
  #     test       : 测试标志(战斗测试或暂时装备用)
  #--------------------------------------------------------------------------
  def change_equip(equip_type, item, test = false)
    .....#最下行增加
    @hp = [@hp, maxhp].min
  end


原理都差不多的

作者: 仲秋启明    时间: 2011-6-14 10:31
Game_Actor中插入
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取 最大体力值
  3.   #--------------------------------------------------------------------------
  4.   def maxhp
  5.     return [[base_maxhp + @maxhp_plus + base_def, 1].max, maxhp_limit].min
  6.   end
复制代码
结束,但是从高级防具到低级防具会出现HP量大于MAXHP的BUG




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