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

Project1

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

[有事请教] 救、救命......

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1927
在线时间
110 小时
注册时间
2017-9-5
帖子
192
跳转到指定楼层
1
发表于 2025-5-11 19:31:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我以前制作了宝箱陷阱,按百分比伤害的,现在突然后悔,觉后期伤害太离谱,然后又加了根据双防减伤的效果,双防合计1000以上陷阱类伤害彻底无效
但是问题来了,伤害显示那里还显示原来的伤害,不会跟着减伤变动
最重要的是宝箱内容是以前做的,不能动了,不然我要满地图至少几百个宝箱改动
现在只能问问有没有办法,不然我就只能放弃减伤了
  #--------------------------------------------------------------------------
  # ● 增减 HP (事件用)
  #     value        : 数值
  #     enable_death : 是否允许致死
  #--------------------------------------------------------------------------
  def change_hp(value, enable_death)
    if !enable_death && @hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i <= 0
      self.hp = 1
    else
      self.hp = self.hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i
    end
  end

QQ截图20250511192442.png (27.32 KB, 下载次数: 1)

QQ截图20250511192442.png

Project1.zip

145.25 KB, 下载次数: 1

Lv3.寻梦者

梦石
0
星屑
1927
在线时间
110 小时
注册时间
2017-9-5
帖子
192
2
 楼主| 发表于 2025-5-11 19:33:01 | 只看该作者
伤害显示

QQ截图20250511192510.png (62.72 KB, 下载次数: 1)

QQ截图20250511192510.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37104
在线时间
10801 小时
注册时间
2009-3-15
帖子
4855
3
发表于 2025-5-11 23:45:54 | 只看该作者
本帖最后由 soulsaga 于 2025-5-12 15:00 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 增减 HP (事件用)
  3.   #     value        : 数值
  4.   #     enable_death : 是否允许致死
  5.   #--------------------------------------------------------------------------
  6.   def change_hp(value, enable_death)
  7.     if !enable_death && @hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i <= 0
  8.       $game_variables[1]=self.hp-1
  9.       self.hp = 1
  10.     else
  11.       self.hp = self.hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i
  12.       $game_variables[1]=self.hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i
  13.     end
  14.   end


这样应该就行了..显示也可能会正常
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1927
在线时间
110 小时
注册时间
2017-9-5
帖子
192
4
 楼主| 发表于 2025-5-12 12:24:04 | 只看该作者
soulsaga 发表于 2025-5-11 23:45
#--------------------------------------------------------------------------
  # ● 增减 HP (事件用 ...

大佬,有点儿小问题,显示的不是受到的伤害,不过我改了一下,不知道正不正确,但伤害显示正确了
还有一个大问题,就是$game_variables[1] = 1,当hp不足变量时,显示伤害直接变成1了
等于角色当前hp300,受到伤害500,不致死情况下应该显示伤害299,但实际显示伤害是1
  def change_hp(value, enable_death)
    if !enable_death && @hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i <= 0
      self.hp = 1
      $game_variables[1]=1
    else
      self.hp = self.hp + [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i
      $game_variables[1]= - [value * (1 - self.def * 0.001 - self.mdf * 0.001), 0].min.to_i
    end
  end

点评

成功了,至少目前暂未发现bug,后续继续测试,感谢大佬的指点  发表于 2025-5-12 21:33
加个判断if value > 0  发表于 2025-5-12 20:07
成功了,但我也检测出我这代码的bug了,减伤没问题,但回复类会减少,双防超过1000后回复会变成减伤,哭  发表于 2025-5-12 16:46
那只要这样写就行..已更  发表于 2025-5-12 15:01
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-5-29 12:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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