本帖最后由 杂兵天下的马甲 于 2012-2-26 11:31 编辑
让我来承包这个工程吧。。。。
#第二货币设置 $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)) 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
#第二货币设置
$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))
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
排版有一点小问题,无大碍。打开一号开关之后,事件获得金钱会变为获得灵魄,失去金钱亦然。同时商店购物也会变成使用灵魄购买。在物品备注中写入<第二货币价格:1>之类的东西,此物品就会可以用灵魄购买。不过必须打开一号开关才能用灵魄购买物品。 |