查看: 883|回复: 7

[有事请教] 关于经验获取显示的问题

[复制链接]
梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
发表于 2025-4-13 19:03:42 | 显示全部楼层 |阅读模式

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

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

×
原本游戏默认战斗后的经验显示是不计算角色经验获取率的,例如史莱姆经验是3,角色经验获取率是500%,实际获得经验应该是15,但战斗后显示仍旧获得经验3,就出现了违和感
我自己改了改,但怎么都觉得不对劲,变成全队获得经验总数了,我只想要主角实际获得的经验与显示经验值对上
def self.display_exp
    if $game_troop.exp_total > 0
      text = sprintf(Vocab::ObtainExp, ($game_troop.exp_total * $game_party.members.inject(0) { |r, a| r += a.exr }).to_i))
      $game_message.add('\.' + text)
    end
  end
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2025-4-14 02:11:04 | 显示全部楼层
本帖最后由 soulsaga 于 2025-4-14 07:40 编辑

?????
你想实现什么效果呀

点评

就是无论特殊能力里的经验获取率怎么变动,战斗结束后,左上方消息显示经验值,都与主角实际获得的经验值相同  发表于 2025-4-14 07:59
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2025-4-14 08:54:41 | 显示全部楼层
本帖最后由 soulsaga 于 2025-4-14 09:18 编辑

获得经验10
加成2人555%+120%
显示获得经验76

[pre lang="ruby"]text = sprintf(Vocab::ObtainExp, ($game_troop.exp_total*$game_party.battle_members.inject(0) { |r, a| r += a.exr }).to_i)[/pre]

点评

这还是全队经验,战斗结束后显示主角+所有队友一共获得的经验值,我想要的是只显示主角的  发表于 2025-4-14 09:28
回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2025-4-14 10:03:03 | 显示全部楼层
soulsaga 发表于 2025-4-14 08:54
获得经验10
加成2人555%+120%
显示获得经验76

啊,大佬,不用麻烦了,已经成功了
是我犯傻了,不需要去费力确定谁是主角,只要设定为计算首位队员的exr就行了

点评

抱歉,一开始脑子没转过来,麻烦大佬帮忙了  发表于 2025-4-14 10:30
原来你是只要一个人呀..我想也是..根本不用那么麻烦呀  发表于 2025-4-14 10:23
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部