赞 | 5 |
VIP | 359 |
好人卡 | 195 |
积分 | 3 |
经验 | 560179 |
最后登录 | 2024-11-20 |
在线时间 | 1374 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 280
- 在线时间
- 1374 小时
- 注册时间
- 2005-10-16
- 帖子
- 5113
|
- #==============================================================================
- # 本腳本來自www.66RPG.com,使用和轉載請保留此信息
- #==============================================================================
- # 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
- # 開關定義:
- $noshowgold = 41 # 不显示金钱得失
- $noshowitem = 42 # 不显示物品得失
- $noshowweapon = 43 # 不显示武器得失
- $noshowarmor = 44 # 不显示防具得失
- # 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示
- # 不想提示等级升降时,就在事件命令直接选择是否显示就行了。
- #——聲效,可以自己改
- folder = "Audio/SE/"
- $gain_gold_se = folder +"Shop" # 获得金钱声效
- $loss_gold_se = folder +"Blow2" # 失去金钱声效
- $gain_item_se = folder +"Item1" # 获得物品声效
- $loss_item_se = folder +"Blow2" # 失去物品声效
- $gain_weapon_se = folder +"Item1" # 获得武器声效
- $loss_weapon_se = folder +"Blow2" # 失去武器声效
- $gain_armor_se = folder +"Item1" # 获得防具声效
- $loss_armor_se = folder +"Blow2" # 失去防具声效
- $gain_lv_se = folder +"Item1" # 提升等级声效
- $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 = Window_Base.new(0,128,152,80)
- 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
-
- up_width = snstar2006_66rpg.contents.text_size(gain_text+gain_type+":").width + 48
- unless type == 0
- total_text = string.name + "×"+value.abs.to_s
- text_width = snstar2006_66rpg.contents.text_size(total_text).width + 24 + 48
- text_width = [text_width, up_width].max
- else
- total_text = value.abs.to_s + " "+ Vocab::gold
- text_width = snstar2006_66rpg.contents.text_size(total_text).width + 48
- text_width = [text_width, up_width].max
- end
-
- snstar2006_66rpg.width = text_width + 32
- snstar2006_66rpg.x = 544 / 2 - (text_width + 32)/ 2
- snstar2006_66rpg.contents = Bitmap.new(text_width, 48)
- snstar2006_66rpg.contents.draw_text(0,0,text_width,24,gain_text+gain_type+":")
-
- unless type == 0
- snstar2006_66rpg.draw_icon(string.icon_index, 48, 24, true)
- snstar2006_66rpg.contents.draw_text(72, 24, text_width - 72, 24, total_text, 2)
- else
- snstar2006_66rpg.contents.draw_text(48, 24, text_width - 48, 24, value.abs.to_s + " "+ Vocab::gold, 2)
- end
-
- snstar2006_66rpg.opacity = 160
-
- for i in 0...60
- 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(0,128,152,80)
- 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
-
- total_text = lvstring + gain_text + value.abs.to_s + "级"
- text_width = snstar2006_66rpg.contents.text_size(total_text).width + 48
- text_width = [text_width, snstar2006_66rpg.contents.text_size(actor.name).width + 48].max
- snstar2006_66rpg.width = text_width + 32
- snstar2006_66rpg.x = 544 / 2 - (text_width + 32)/ 2
- snstar2006_66rpg.contents = Bitmap.new(text_width, 48)
-
- snstar2006_66rpg.contents.draw_text(0, 0, text_width, 24, actor.name)
- snstar2006_66rpg.contents.draw_text(48, 24, text_width, 24, total_text)
- snstar2006_66rpg.opacity = 160
-
- for i in 0..60
- 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
-
- #==============================================================================
- # 本腳本來自www.66RPG.com,使用和轉載請保留此信息
- #==============================================================================
复制代码
就这样了。。。 版主对此帖的认可:『认可答案补分』,积分『+250』。 |
|