查看: 1964|回复: 2

[已经解决] 第二种货币能不能也用增减的提示?

[复制链接]
梦石
0
星屑
4992
在线时间
1151 小时
注册时间
2014-5-9
回帖
124
发表于 2014-10-6 12:23:31 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taroxd 于 2014-10-6 12:27 编辑

第二种货币能不能也用增减的提示?  新人  求帮忙{:2_270:}
[pre lang="ruby" line="1"]#第二货币设置
$SECOND_CURRENCY_SWITCH = 90
$SECOND_CURRENCY_NAME = "水晶石"
#第二货币方法
class Game_Party < Game_Unit
  attr_reader    :spegold
  alias initialize_normal_sc initialize
  def initialize
    initialize_normal_sc
    @spegold = 0
  end
  alias gain_gold_normal_sc gain_gold
  def gain_gold(amount)
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      @spegold = [[@spegold + amount, 0].max, max_gold].min
    else
      gain_gold_normal_sc(amount)
    end
  end
end
#第二货币的显示
class Window_Gold < Window_Base
  #覆盖方法!可能引起冲突
  def initialize
    super(0, 0, window_width, fitting_height(2))
    self.opacity = 200
    refresh
  end
  alias refresh_normal_sc refresh
  def refresh
    refresh_normal_sc
    draw_currency_value($game_party.spegold, $SECOND_CURRENCY_NAME, 4, 24, contents.width - 8)
  end
end
#战斗胜利不获得第二货币
module BattleManager
  #覆盖方法!可能引起冲突
  def self.gain_gold
    if $game_troop.gold_total > 0
      text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
      $game_message.add('\.' + text)
      $game_party.gain_gold_normal_sc($game_troop.gold_total)
    end
    wait_for_message
  end
end
#用第二货币买东西
module RPG
  class Item
    def price
      if $game_switches[$SECOND_CURRENCY_SWITCH]
        note.split(/[\r\n]+/).each { |line|
          case line
          when /<第二货币价格:(\d+)>/i
            return $1.to_i
          end
        }
        return 0
      else
        return @price
      end
    end
  end
end
#商店中购买钻石物品显示钻石
class Window_ShopNumber < Window_Selectable
  alias draw_total_price_normal_sc draw_total_price
  def draw_total_price
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      @currency_unit = $SECOND_CURRENCY_NAME
    end
    draw_total_price_normal_sc
  end
end
class Scene_Shop < Scene_MenuBase
  alias money_normal_sc money
  def money
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      return $game_party.spegold
    else
      return money_normal_sc
    end
  end
  alias create_gold_window_normal_sc create_gold_window
  def create_gold_window
    create_gold_window_normal_sc
    @gold_window.y -= 10
  end
end[/pre]

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-10-6 12:30:21 | 显示全部楼层
本帖最后由 taroxd 于 2014-10-6 12:47 编辑

建议:手打提示。也就一个显示文字的事情。


或者:https://rpg.blue/thread-372181-1-1.html

并把这个补丁放在下面(未测试)
  1. class << Taroxd::GainMessage
  2.   def message
  3.     prefix = @value > 0 ? GAIN : LOSE
  4.     if @item
  5.       sprintf(ITEM_FORMAT, prefix, @item.name, @value.abs)
  6.     else
  7.       unit = $game_switches[$SECOND_CURRENCY_SWITCH] ?
  8.         $SECOND_CURRENCY_NAME : Vocab.currency_unit
  9.       sprintf(GOLD_FORMAT, prefix, @value.abs, unit)
  10.     end
  11.   end
  12. end
复制代码

评分

参与人数 2星屑 +60 梦石 +1 收起 理由
VIPArcher + 1 认可答案
子弹君 + 60 我很赞同

查看全部评分

回复

使用道具 举报

卑微的梦

梦石
0
星屑
547
在线时间
820 小时
注册时间
2013-2-23
回帖
1121

短篇九勇士组季军

发表于 2014-10-6 13:15:08 | 显示全部楼层
这个写的比我写的那个好啊……

点评

写过第二货币的脚本。。  发表于 2014-10-6 13:18
诶你写过?  发表于 2014-10-6 13:17
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部