Project1
标题: 关于这个得失提示脚本的问题 [打印本页]
作者: rpg549007821 时间: 2012-9-14 04:40
标题: 关于这个得失提示脚本的问题
本帖最后由 rpg549007821 于 2012-9-15 03:26 编辑
#==============================================================================
# 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息
#==============================================================================
# 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
# 開關定義:
$noshowgold = 14 # 不显示金钱得失
$noshowitem = 15 # 不显示物品得失
$noshowweapon = 16 # 不显示武器得失
$noshowarmor = 17 # 不显示防具得失
# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開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],使用和轉載請保留此信息
#==============================================================================
#==============================================================================
# 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息
#==============================================================================
# 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
# 開關定義:
$noshowgold = 14 # 不显示金钱得失
$noshowitem = 15 # 不显示物品得失
$noshowweapon = 16 # 不显示武器得失
$noshowarmor = 17 # 不显示防具得失
# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開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],使用和轉載請保留此信息
#==============================================================================
就是提示物品得失的那个功能,当物品名称比较长的时候,就会出现下面这种文字重叠的情况
求救,本人脚本盲。
作者: 怪蜀黍 时间: 2012-9-14 11:16
嗷呜~~
截图:
修改后的范例:
Project1.rar
(262.44 KB, 下载次数: 79)
修改后的脚本:
#==============================================================================
# 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息
#==============================================================================
# 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
# 開關定義:
$noshowgold = 14 # 不显示金钱得失
$noshowitem = 15 # 不显示物品得失
$noshowweapon = 16 # 不显示武器得失
$noshowarmor = 17 # 不显示防具得失
# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開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,132)
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_icon(string.icon_index, 0, 36, true)
snstar2006_66rpg.contents.draw_text(0, 32, 182, 32, string.name,1)
snstar2006_66rpg.contents.draw_text(0, 64, 150, 32, "×"+value.abs.to_s, 2)
else
snstar2006_66rpg.contents.draw_text(0,32,200-32,32,value.abs.to_s + " "+ Vocab::gold,1)
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],使用和轉載請保留此信息
#==============================================================================
#==============================================================================
# 本腳本來自[url]www.66RPG.com[/url],使用和轉載請保留此信息
#==============================================================================
# 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
# 開關定義:
$noshowgold = 14 # 不显示金钱得失
$noshowitem = 15 # 不显示物品得失
$noshowweapon = 16 # 不显示武器得失
$noshowarmor = 17 # 不显示防具得失
# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開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,132)
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_icon(string.icon_index, 0, 36, true)
snstar2006_66rpg.contents.draw_text(0, 32, 182, 32, string.name,1)
snstar2006_66rpg.contents.draw_text(0, 64, 150, 32, "×"+value.abs.to_s, 2)
else
snstar2006_66rpg.contents.draw_text(0,32,200-32,32,value.abs.to_s + " "+ Vocab::gold,1)
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],使用和轉載請保留此信息
#==============================================================================
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |