Project1

标题: 如何让怪物经验随着角色等级增加而减少 [打印本页]

作者: 飞火流萤    时间: 2015-1-13 23:23
标题: 如何让怪物经验随着角色等级增加而减少
要不刷小怪都要刷到几十级....
作者: 上贺茂润    时间: 2015-1-14 07:51
用开关和公共事件控制 在敌人脚本里添加一个变量 当某开关开启时获得变量的额外经验值 变量=基础*(100-等级)
作者: 汪汪    时间: 2015-1-14 09:21
本帖最后由 汪汪 于 2015-1-14 10:50 编辑

其实升级所需经验值是越来越多的,小怪经验后来就不合算了。对于杀小怪通关的人,我觉得应该奖励才对。
  1. class Game_Enemy < Game_Battler
  2.   def exp  #获取经验值,呃,在下面添加算式吧
  3.     i =  $game_variables[变量编号]
  4.     if   i == nil
  5.        i =1
  6.     end
  7.     return $data_enemies[@enemy_id].exp * i #获取经验时会乘以变量
  8.   end
  9. end
复制代码

作者: 芯☆淡茹水    时间: 2015-1-16 01:58
没测试:
  1. #==============================================================================
  2. # 给每个敌人定义一个等级,在敌人名字后面加符号( , ), 再写上该敌人的等级。
  3. #未写等级的敌人默认为 1级。根据角色队伍的平均等级与敌人的等级差计算爆率。
  4. #==============================================================================
  5. class Game_Enemy < Game_Battler
  6.   #--------------------------------------------------------------------------
  7.   # ● 设置
  8.   #--------------------------------------------------------------------------
  9.   # 等级差大于多少,爆率开始递减。
  10.   LEVEL_LX = 10
  11.   #--------------------------------------------------------------------------
  12.   # 达到等级差限制后,每大一级,经验减少的百分比。
  13.   EXP_REDUCE = 10
  14.   #--------------------------------------------------------------------------
  15.   # 达到等级差限制后,每大一级,金钱减少的百分比。
  16.   GOLD_REDUCE = 10
  17.   #--------------------------------------------------------------------------
  18.   # 达到等级差限制后,每大一级,物品爆率减少的百分比。
  19.   PROB_REDUCE = 5
  20.   #==========================================================================
  21.   #--------------------------------------------------------------------------
  22.   def name
  23.     sl_name = $data_enemies[@enemy_id].name.split(/,/)[0]
  24.     return sl_name != nil ? name.split(/,/)[0] : ""
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   def level
  28.     sl_name = $data_enemies[@enemy_id].name.split(/,/)[1]
  29.     return sl_name != nil ? name.split(/,/)[1].to_i : 1
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   def average_level
  33.     return 0 if $game_party.actors.empty?
  34.     actors_level = 0
  35.     for actor in $game_party.actors
  36.       actors_level += actor.level
  37.     end
  38.     return actors_level / $game_party.actors.size
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 获取 EXP
  42.   #--------------------------------------------------------------------------
  43.   def exp
  44.     get_exp = $data_enemies[@enemy_id].exp
  45.     lx = average_level - level - LEVEL_LX
  46.     if lx > 0
  47.       get_exp -= get_exp * lx * EXP_REDUCE / 100
  48.       get_exp = [[$data_enemies[@enemy_id].exp, 1].min, get_exp].max
  49.     end
  50.     return get_exp
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 获取金钱
  54.   #--------------------------------------------------------------------------
  55.   def gold
  56.     get_gold = $data_enemies[@enemy_id].gold
  57.     lx = average_level - level - LEVEL_LX
  58.     if lx > 0
  59.       get_gold -= get_gold * lx * GOLD_REDUCE / 100
  60.       get_gold = [[$data_enemies[@enemy_id].gold, 1].min, get_gold].max
  61.     end
  62.     return get_gold
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 获取宝物出现率
  66.   #--------------------------------------------------------------------------
  67.   def treasure_prob
  68.     rate = $data_enemies[@enemy_id].treasure_prob
  69.     lx = average_level - level - LEVEL_LX
  70.     if lx > 0
  71.       rate -= rate * lx * PROB_REDUCE / 100
  72.       rate = [rate, 0].max
  73.     end
  74.     return rate
  75.   end
  76. end
  77. #==============================================================================
复制代码





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