Project1

标题: 经验值的小问题 [打印本页]

作者: 白魔导师宝儿    时间: 2013-11-20 08:24
标题: 经验值的小问题
如何当某个变量达到100时,获取战斗的经验减半
修改了battle脚本的参数,没有效果
不知道从哪下手了
作者: 芯☆淡茹水    时间: 2013-11-20 08:56
  1. #===============================================================================
  2. #复制,插入到 main 前
  3. #===============================================================================
  4. # 控制 EXP 的变量 ID
  5. VAR_ID = 10
  6. #===============================================================================
  7. class Scene_Battle < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 显示所获得的金钱和经验值
  10.   #--------------------------------------------------------------------------
  11.   def display_exp_and_gold
  12.     exp = $game_troop.exp_total
  13.     exp /= 2 if $game_variables[VAR_ID] >= 100
  14.     gold = $game_troop.gold_total
  15.     $game_party.gain_gold(gold)
  16.     text = sprintf(Vocab::Victory, $game_party.name)
  17.     $game_message.texts.push('\|' + text)
  18.     if exp > 0
  19.       text = sprintf(Vocab::ObtainExp, exp)
  20.       $game_message.texts.push('\.' + text)
  21.     end
  22.     if gold > 0
  23.       text = sprintf(Vocab::ObtainGold, gold, Vocab::gold)
  24.       $game_message.texts.push('\.' + text)
  25.     end
  26.     wait_for_message
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 显示升级
  30.   #--------------------------------------------------------------------------
  31.   def display_level_up
  32.     exp = $game_troop.exp_total
  33.     exp /= 2 if $game_variables[VAR_ID] >= 100
  34.     for actor in $game_party.existing_members
  35.       last_level = actor.level
  36.       last_skills = actor.skills
  37.       actor.gain_exp(exp, true)
  38.     end
  39.     wait_for_message
  40.   end
  41. end
  42. #==============================================================================
复制代码

作者: 白魔导师宝儿    时间: 2013-11-20 17:09
芯☆淡茹水 发表于 2013-11-20 08:56

脚本原理学习了
作者: 芯☆淡茹水    时间: 2013-11-20 20:54
才发现这样更简单。VX 与 XP 果然很多地方不同
  1. #===============================================================================
  2. #复制,插入到 main 前
  3. #===============================================================================
  4. # 控制 EXP 的变量 ID
  5. VAR_ID = 10
  6. #============================================================================
  7. class Game_Troop < Game_Unit
  8.   #--------------------------------------------------------------------
  9.   def exp_total
  10.     exp = 0
  11.     for enemy in dead_members
  12.       exp += enemy.exp unless enemy.hidden
  13.     end
  14.     exp /= 2 if $game_variables[VAR_ID] >= 100
  15.     return exp
  16.   end
  17.   #------------------------------------------------------------------
  18. end
  19. #==============================================================================
复制代码





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