Project1

标题: 关于经验获取显示的问题 [打印本页]

作者: 间桐樱    时间: 2025-4-13 19:03
标题: 关于经验获取显示的问题
原本游戏默认战斗后的经验显示是不计算角色经验获取率的,例如史莱姆经验是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
作者: soulsaga    时间: 2025-4-14 02:11
本帖最后由 soulsaga 于 2025-4-14 07:40 编辑

?????
你想实现什么效果呀
作者: soulsaga    时间: 2025-4-14 08:54
本帖最后由 soulsaga 于 2025-4-14 09:18 编辑

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

RUBY 代码复制
  1. text = sprintf(Vocab::ObtainExp, ($game_troop.exp_total*$game_party.battle_members.inject(0) { |r, a| r += a.exr }).to_i)

作者: 间桐樱    时间: 2025-4-14 10:03
soulsaga 发表于 2025-4-14 08:54
获得经验10
加成2人555%+120%
显示获得经验76

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




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