Project1

标题: 双倍经验显示问题 [打印本页]

作者: BIG    时间: 2008-12-4 18:08
标题: 双倍经验显示问题
显示双倍经验。

A怪物有100的经验,双倍经验之后是200。但是经验是得到了200。得到经验的对话框却

显示100。

請高手解决 怎么能把数值显示成200。 [LINE]1,#dddddd[/LINE]此贴于 2008-12-8 14:36:04 被版主八云紫提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: tiesheng    时间: 2008-12-5 19:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 殲滅天使·玲    时间: 2008-12-5 22:58
有一个比较简单的方法. (更高级改写脚本方法我不会)
但是必须设置一个并行的公共事件...而且比较烦琐.
并行的公共事件这样写

千万记住把每一个角色都给这样的装备判定给写上,不然会出现很"意外"的情况- -

然后改写脚本
Scene_Battle里搜索"显示获得的经验值与金钱"]
红字部分对应的是上面图片的开关ID, ID是多少你就自己改吧 这里是1..

  #--------------------------------------------------------------------------
  # ● 显示获得的经验值与金钱
  #--------------------------------------------------------------------------
  def display_exp_and_gold
    exp = $game_troop.exp_total
    gold = $game_troop.gold_total
    $game_party.gain_gold(gold)
    text = sprintf(Vocab::Victory, $game_party.name)
    $game_message.texts.push('\|' + text)
    if exp > 0
      if $game_switches[1] == true
        text = sprintf(Vocab::ObtainExp , exp*2)
        $game_message.texts.push('\.' + text)
      else
        text = sprintf(Vocab::ObtainExp, exp)
        $game_message.texts.push('\.' + text)
      end
    end
    if gold > 0
      text = sprintf(Vocab::ObtainGold, gold, Vocab::gold)
      $game_message.texts.push('\.' + text)
    end
    wait_for_message
  end

作者: 雪流星    时间: 2008-12-6 10:01
LS的不太准确,因为双倍经验值是个人获得,而不是整个队伍获得
Scene_Battle里搜索 display_exp_and_gold
改成这样:
  1. def display_exp_and_gold
  2.     exp = $game_troop.exp_total
  3.     gold = $game_troop.gold_total
  4.     $game_party.gain_gold(gold)
  5.     text = sprintf(Vocab::Victory, $game_party.name)
  6.     $game_message.texts.push('\|' + text)
  7.     if exp > 0
  8.       text = sprintf(Vocab::ObtainExp, exp)
  9.       $game_message.texts.push('\.' + text)
  10.     end
  11.    
  12.     for actor in $game_party.existing_members      
  13.       if actor.double_exp_gain
  14.         text = actor.name + "获得双倍经验值"
  15.         $game_message.texts.push('\.' + text)
  16.       end      
  17.     end
  18.    
  19.     if gold > 0
  20.       text = sprintf(Vocab::ObtainGold, gold, Vocab::gold)
  21.       $game_message.texts.push('\.' + text)
  22.     end
  23.     wait_for_message
  24.   end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~




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