Project1
标题:
如何战斗获得第二货币
[打印本页]
作者:
hijl1990
时间:
2014-12-5 22:26
标题:
如何战斗获得第二货币
怎么在战斗结束后会获得第二货币,跟金币经验他们一起显示。。
我搜索了之后没找到,所以请教大家。。
作者:
hijl1990
时间:
2014-12-9 14:13
没人回答,顶上去下。
作者:
morningboo
时间:
2014-12-9 16:44
#第二货币设置
$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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1