=begin
===============================================================================
RMVA物品增减提示脚本
===============================================================================
作者:火柴(寒夜无冬)
日期:2014.9.20
授权使用:66rpg、澄海制作组、RM亲友团全体成员
授权声明:本脚本供各位学习和制作方便之用,请勿用于商业和其他任何营利性用途!如有任
何疏漏和错误,欢迎修改。转载使用和修改请保留本段所有注释信息。
特别感谢:皓·宇(庆.new)、喵呜喵5
===============================================================================
=end
#===============CONFIG==========================================================
IF_SHOW_GOLDMESSAGE=true #是否开启金钱获得提示
IF_SHOW_ITEMMESSAGE=true #是否开启物品获得提示
IF_SHOW_WEAPONSMESSAGE=true #是否开启武器获得提示
IF_SHOW_ARMORMESSAGE=true #是否开启护甲获得提示
DURATION_TIME=100 #提示框停留时间
#==============================================================================
class Game_Interpreter
def command_125 #金钱增减
#@params[0] #增加或减少
#@params[1]
#@params[2] #金钱数量
value = operate_value(@params[0], @params[1], @params[2])
#显示最终金钱加减数额
if IF_SHOW_GOLDMESSAGE==true
showMessage("gold",@params[1])
end
$game_party.gain_gold(value)
end
def command_126 #金钱增减
#@params[1] #增加或减少 0,1表示
#@params[2] #物品索引,从0算起
#@params[3] #物品数量
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_items[@params[0]], value)
if IF_SHOW_ITEMMESSAGE==true
showMessage("item",@params[1])
end
end
def command_127 #武器增减
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_weapons[@params[0]], value, @params[4])
if IF_SHOW_WEAPONSMESSAGE==true
showMessage("weapon",@params[1])
end
end
def command_128 #护甲增减
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_armors[@params[0]], value, @params[4])
if IF_SHOW_ARMORMESSAGE==true
showMessage("armor",@params[1])
end
end
def showMessage(type,regulation) #判断获取的是物品/武器/护甲,执行查询相应的数据库信息
if type.eql?"item"
@wm=Window_ThingsMessage.new($data_items[@params[0]].name,@params[3],regulation)
for i in 0 .. DURATION_TIME
Graphics.update
end
@wm.dispose
elsif type.eql?"weapon"
@wm=Window_ThingsMessage.new($data_weapons[@params[0]].name,@params[3],regulation)
for i in 0 .. DURATION_TIME
Graphics.update
end
@wm.dispose
elsif type.eql?"gold"
@wm=Window_ThingsMessage.new("gold",@params[2],@params[0])
for i in 0 .. DURATION_TIME
Graphics.update
end
@wm.dispose
else
@wm=Window_ThingsMessage.new($data_armors[@params[0]].name,@params[3],regulation)
for i in 0 .. DURATION_TIME
Graphics.update
end
@wm.dispose
end
end
end
class Window_ThingsMessage < Window_Base
@str=nil
@window_width=nil
@window_height=nil
@str_width=nil
@str_height=nil
def initialize(itemName,itemNumber,regulation)
#金钱处理
if itemName.eql?"gold"
if regulation==0
@str="你得到了 金钱×#{itemNumber}"
elsif regulation==1
@str="你失去了 金钱×#{itemNumber}"
end
#武器/护甲/物品处理
elsif regulation==0
@str="你得到了 #{itemName}×#{itemNumber}"
elsif regulation==1
@str="你失去了 #{itemName}×#{itemNumber}"
end
get_window_size
super(140,180,@window_width,@window_height)
refresh
end
def refresh
@str_width=text_size(@str).width
@str_height=text_size(@str).height
self.contents.clear
self.contents.draw_text(0,0,@str_width,@str_height,@str,1)
end
def get_window_size
bitmap=Bitmap.new(100,100)
@window_width=bitmap.text_size(@str).width+32
@window_height=bitmap.text_size(@str).height+25
end
end