#============================================================================== # 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息 #============================================================================== # 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。 # 開關定義: $noshowgold = 41 # 不显示金钱得失 $noshowitem = 42 # 不显示物品得失 $noshowweapon = 43 # 不显示武器得失 $noshowarmor = 44 # 不显示防具得失 # 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示 # 不想提示等级升降时,就在事件命令直接选择是否显示就行了。 #——聲效,可以自己改 folder = "Audio/SE/" $gain_gold_se = folder +"出售" # 获得金钱声效 $loss_gold_se = folder +"Blow2" # 失去金钱声效 $gain_item_se = folder +"物品获得" # 获得物品声效 $loss_item_se = folder +"Blow2" # 失去物品声效 $gain_weapon_se = folder +"物品获得" # 获得武器声效 $loss_weapon_se = folder +"Blow2" # 失去武器声效 $gain_armor_se = folder +"物品获得" # 获得防具声效 $loss_armor_se = folder +"Blow2" # 失去防具声效 $gain_lv_se = folder +"物品获得" # 提升等级声效 $loss_lv_se = folder +"Blow2" # 降低等级声效 # ———————————————————————————————————— class Game_Interpreter #-------------------------------------------------------------------------- # ● 增減金錢 #-------------------------------------------------------------------------- def command_125 value = operate_value(@params[0], @params[1], @params[2]) $game_party.gain_gold(value) if $game_switches[$noshowgold]==false show_gain_window(0, value) end return true end #-------------------------------------------------------------------------- # ● 增減物品 #-------------------------------------------------------------------------- def command_126 value = operate_value(@params[1], @params[2], @params[3]) $game_party.gain_item($data_items[@params[0]], value) if $game_switches[$noshowitem]==false show_gain_window(1, value) end $game_map.need_refresh = true return true 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 $game_switches[$noshowweapon]==false show_gain_window(2, value) end return true 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 $game_switches[$noshowarmor]==false show_gain_window(3, value) end return true end #-------------------------------------------------------------------------- # ● 等级増減 #-------------------------------------------------------------------------- def command_316 value = operate_value(@params[1], @params[2], @params[3]) iterate_actor_id(@params[0]) do |actor| actor.change_level(actor.level + value, false) if @params[4] show_gain_level_window(actor,value) end end return true end def show_gain_window(type, value) snstar2006_66rpg_item = $data_armors[@params[0]] snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100) snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32) if value >= 0 gain_text = "获得" else gain_text = "失去" end case type when 0 gain_type = "金币" if value >=0 Audio.se_play($gain_gold_se,80,100) else Audio.se_play("Audio/SE/"+"Item1",80,100) end when 1 gain_type = "物品" string = $data_items[@params[0]] if value >=0 Audio.se_play($gain_item_se,80,100) else Audio.se_play($loss_item_se,80,100) end when 2 gain_type = "武器" string = $data_weapons[@params[0]] if value >=0 Audio.se_play($gain_weapon_se,80,100) else Audio.se_play($loss_weapon_se,80,100) end when 3 gain_type = "防具" string = $data_armors[@params[0]] if value >=0 Audio.se_play($gain_armor_se,80,100) else Audio.se_play($loss_armor_se,80,100) end end snstar2006_66rpg.contents.draw_text(0,0,160,32,gain_text+gain_type+":") unless type == 0 snstar2006_66rpg.draw_item_name(string, 28, 32, true) snstar2006_66rpg.contents.draw_text(0, 32, 150, 32, "×"+value.abs.to_s, 2) else snstar2006_66rpg.contents.draw_text(32,32,240,32,value.abs.to_s + " "+ Vocab::gold) end snstar2006_66rpg.opacity = 160 for i in 0..30 Graphics.update end for i in 0..10 snstar2006_66rpg.opacity -= 30 snstar2006_66rpg.contents_opacity -= 30 Graphics.update end snstar2006_66rpg.dispose end def show_gain_level_window(actor,value) lvstring = Vocab::level snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100) snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32) if value >= 0 gain_text = "提升" Audio.se_play($gain_lv_se,80,100) else gain_text = "降低" Audio.se_play($loss_lv_se,80,100) end snstar2006_66rpg.contents.draw_text(0, 0, 108, 32, actor.name) string = lvstring+gain_text+value.abs.to_s+"级" snstar2006_66rpg.contents.draw_text(32,32,160,32,string) snstar2006_66rpg.opacity = 160 for i in 0..30 Graphics.update end for i in 0..10 snstar2006_66rpg.opacity -= 30 snstar2006_66rpg.contents_opacity -= 30 Graphics.update end snstar2006_66rpg.dispose end end #============================================================================== # 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息 #==============================================================================
未命名.jpg (11.88 KB, 下载次数: 14)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |