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

Project1

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

[已经解决] 如何根据等级判定打怪获得的经验

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1615
在线时间
616 小时
注册时间
2011-6-11
帖子
225
跳转到指定楼层
1
发表于 2020-8-26 11:33:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50星屑
请问一下,怎么样才能做出根据等级判定获得的经验,比如如果高出怪物10级,就不能打这个怪获得经验了。就是高级打低级怪获得不了经验

最佳答案

查看完整内容

我这里有一个方案。 学艺不精,写的代码兼容性较差。 格式是在敌人的备注栏里写[ELV xxx]。xxx就是你的“敌人等级”。 中间你要的等级差可以自己改。前面的正则如果你懂也可以改。 如果代码你也懂——

Lv2.观梦者

梦石
0
星屑
359
在线时间
25 小时
注册时间
2019-6-8
帖子
5
2
发表于 2020-8-26 11:33:36 | 只看该作者
本帖最后由 23n1nbb 于 2021-1-29 09:54 编辑

我这里有一个方案。
  1. #获取“敌人等级”的正则,格式为[ELV lv],写在敌人备注里
  2. class Game_Enemy
  3.   def enemy_level(id)
  4.       $data_enemies[id].note.split(/[\r\n]+/).each { |line|
  5.       if line =~ /\[ELV (\w+)\]/
  6.         return ($1.nil?) ? nil : $1.to_i
  7.       end}
  8.   end
  9.   
  10. end

  11. class Game_Actor
  12.   LEVEL_DIF_NO_EXP_GAIN = 10 #与敌人的等级差大于这个数字时不能获得经验
  13.   def gain_exp(exp)
  14.     exptot = 0
  15.     if exp
  16.       if exp[1]
  17.         exp.each {|exps| (@level >= exps[1] + LEVEL_DIF_NO_EXP_GAIN)? nil : exptot += exps[0]}
  18.       else
  19.         exptot = exp
  20.       end
  21.     end
  22.     change_exp(self.exp + (exptot * final_exp_rate).to_i, true)
  23.   end
  24. end

  25. class Game_Troop
  26.   
  27.   def exp_total
  28.     r = []
  29.     dead_members.each {|enemy|
  30.     r.push([enemy.exp, enemy.enemy_level(enemy.enemy_id)])}
  31.   end
  32. end

  33. module BattleManager
  34.   
  35.   def self.gain_exp
  36.     $game_party.all_members.each do |actor|
  37.       actor.gain_exp($game_troop.exp_total)
  38.     end
  39.     wait_for_message
  40.   end
  41.   def self.display_exp
  42.     sum = 0
  43.     $game_troop.exp_total.each {|obd| sum += obd[0]}
  44.     if sum > 0
  45.       text = sprintf(Vocab::ObtainExp, sum)
  46.       $game_message.add('\.' + text)
  47.     end
  48.   end
  49. end
复制代码

学艺不精,写的代码兼容性较差。
格式是在敌人的备注栏里写[ELV xxx]。xxx就是你的“敌人等级”。
中间你要的等级差可以自己改。前面的正则如果你懂也可以改。
如果代码你也懂——
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
3
发表于 2020-8-26 11:53:52 | 只看该作者
预设怪物是没有等级的说
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
359
在线时间
25 小时
注册时间
2019-6-8
帖子
5
4
发表于 2021-1-29 09:55:27 | 只看该作者
草,这里居然还有回答按钮的吗

点评

那按钮按不按都一样的~  发表于 2021-1-29 10:13
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 03:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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