查看: 1423|回复: 3

[已经解决] 经验值的小问题

[复制链接]
梦石
0
星屑
381
在线时间
238 小时
注册时间
2013-8-20
回帖
410
发表于 2013-11-20 08:24:24 | 显示全部楼层 |阅读模式

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

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

×
如何当某个变量达到100时,获取战斗的经验减半
修改了battle脚本的参数,没有效果
不知道从哪下手了

评分

参与人数 1星屑 +20 收起 理由
怪蜀黍 + 20 返利

查看全部评分

不定期回来6R玩。
↓下方广告帖,欢迎点击
梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-11-20 08:56:00 | 显示全部楼层
  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. #==============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
381
在线时间
238 小时
注册时间
2013-8-20
回帖
410
 楼主| 发表于 2013-11-20 17:09:06 | 显示全部楼层
芯☆淡茹水 发表于 2013-11-20 08:56

脚本原理学习了
不定期回来6R玩。
↓下方广告帖,欢迎点击
回复

使用道具 举报

梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-11-20 20:54:03 | 显示全部楼层
才发现这样更简单。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. #==============================================================================
复制代码

评分

参与人数 1星屑 +125 收起 理由
怪蜀黍 + 125 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部