Project1

标题: RMVA第二货币 [打印本页]

作者: 540486098    时间: 2013-8-21 16:31
标题: RMVA第二货币
本帖最后由 540486098 于 2013-8-29 16:26 编辑

我在rmva脚本整合贴过来了一个第二货币脚本,可是没带使用方法,不知该怎么使用,请懂脚本的帮忙一下:




#第二货币设置
$SECOND_CURRENCY_SWITCH = 1
$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 = 100
    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
作者: fangyc    时间: 2013-8-21 17:17
本帖最后由 fangyc 于 2013-8-21 17:23 编辑

大致看了一眼,主要是头两行
$SECOND_CURRENCY_SWITCH = 1
$SECOND_CURRENCY_NAME = "灵魄"

打开开关1,即可显示第二货币
货币名称是“灵魄”
关闭开关1则显示默认的货币

然后数据库里的物品的备注里定义下面的内容可以设置第二货币的购买价格
<第二货币价格:500>

作者: 熊喵酱    时间: 2013-8-22 05:53
下次要用代碼弄起來...

應該是當$SECOND_CURRENCY_SWITCH 開啟時獲得或是扣除的都會是第二貨幣

所以第二貨幣增加的事件用法:
xx 開關開啟
金錢+900
xx 開關關閉
這樣第二貨幣就會加900
開關如果沒開的話
第一貨幣就會加900
作者: 540486098    时间: 2014-1-22 17:04
是这个吗?

QQ图片20140122170309.jpg (8.61 KB, 下载次数: 30)

QQ图片20140122170309.jpg





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