查看: 2757|回复: 6

[已经解决] 如何做出自定义内容的提示框(效果和物品得失提示框差不多)

[复制链接]

素材区好人

梦石
5
星屑
12559
在线时间
4347 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2016-11-4 18:00:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 无忧谷主幻 于 2016-11-4 18:16 编辑

比如提示背包已满,任务完成的提示框,如果有很多自定义内容的话,一个一个P的纯事件未免太麻烦,请问能用脚本解决吗?
希望和物品得失的提示框效果差不多
已经有物品得失的脚本
1.jpg
物品得失[pre lang="ruby"]#==============================================================================
# ■ 得失物品、金钱、武器、防具、技能自动提示(应变版)

#------------------------------------------------------------------------------
#    在对话后得到物品或技能,得失物品、金钱、武器、
#      防具、技能将自动提示。
#==============================================================================

#============================== 注意事项=======================================
#      在对话后得到物品或技能,请在对话后先用事件等待
#      1秒,否则对话框来不及消失。
#==============================================================================

#===================================作者=======================================
#      得失物品、金钱、武器、防具、自动提示 by 66rpg
#      技能自动提示 by 幻影RPG基地的会员:kwanhimshek2
#      应变修改 by 6R用户 RPG-XP
#==============================================================================

# 开关定义∶

$不显示技能视窗 = 40

$不显示金钱视窗 = 40

$不显示物品视窗 = 40

$不显示武器视窗 = 40

$不显示防具视窗 = 40

# 以上开关,当打开的时候,获得物品将不会提示,比如预设打开41号开关,获得金钱不再提示
# ————————————————————————————————————

class Interpreter
#--------------------------------------------------------------------------
# ● 增减金钱
#--------------------------------------------------------------------------
def command_125
value = operate_value(@parameters[0], @parameters[1], @parameters[2])
$game_party.gain_gold(value)
if $game_switches[$不显示金钱视窗]==false
carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得"+ $data_system.words.gold + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去" + $data_system.words.gold + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG.contents.draw_text(0,32,240,32,value.abs.to_s)
carol3_66RPG.contents.draw_text(0,32,140,32, $data_system.words.gold,2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
end
#--------------------------------------------------------------------------
# ● 增减物品
#--------------------------------------------------------------------------
def command_126
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
$game_party.gain_item(@parameters[0], value)
if $game_switches[$不显示物品视窗]==false
carol3_66RPG_item = $data_items[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得" + $data_system.words.item + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去" + $data_system.words.item + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
end
#--------------------------------------------------------------------------
# ● 增减武器
#--------------------------------------------------------------------------
def command_127
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
$game_party.gain_weapon(@parameters[0], value)
if $game_switches[$不显示武器视窗]==false
carol3_66RPG_item = $data_weapons[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得" + $data_system.words.weapon + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去" + $data_system.words.weapon + "∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
end
#--------------------------------------------------------------------------
# ● 增减防具
#--------------------------------------------------------------------------
def command_128
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
$game_party.gain_armor(@parameters[0], value)
if $game_switches[$不显示防具视窗]==false
carol3_66RPG_item = $data_armors[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得防具∶")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去防具∶")  
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
end
#--------------------------------------------------------------------------
# ● 增减技能
#--------------------------------------------------------------------------
def command_318
    actor = $game_actors[@parameters[0]]
    if actor != nil
      if @parameters[1] == 0
        actor.learn_skill(@parameters[2])
      else
        actor.forget_skill(@parameters[2])
      end
    end
   
if $game_switches[$不显示技能视窗]==false
skill_item = $data_skills[@parameters[2]]
skill = Window_Base.new((640-300)/2,128,300,100)
skill.contents = Bitmap.new(skill.width - 32, skill.height - 32)
actor = $game_actors[@parameters[0]]
actor_bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
if @parameters[1] == 0
      skill.contents.blt(0, 0, actor_bitmap, Rect.new(0, 0, 24, 24), 255)
      skill.contents.draw_text(0 + 28,0,240,32,$game_actors[@parameters[0]].name + "习得" + $data_system.words.skill + "∶")
      #——声效,可以自己改
      Audio.se_play("Audio/SE/"+"007-System07",80,100)
    else
      skill.contents.blt(0, 0, actor_bitmap, Rect.new(0, 0, 24, 24), 255)
      skill.contents.draw_text(0 + 28,0,240,32,$game_actors[@parameters[0]].name + "遗忘" + $data_system.words.skill + "∶")
      #——声效,可以自己改
      Audio.se_play("Audio/SE/"+"008-System08",80,100)
      end
      skill_bitmap = RPG::Cache.icon(skill_item.icon_name)
      skill.contents.blt(0, 32, skill_bitmap, Rect.new(0, 0, 24, 24), 255)
      skill.contents.draw_text(0 + 28, 32, 212, 32, skill_item.name, 0)
      skill.opacity = 160
      for i in 0..30
      Graphics.update
      end
      for i in 0..10
      skill.opacity -= 30
      skill.contents_opacity -= 30
      Graphics.update
      end
      skill.dispose
end
return true
end
end[/pre]

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2016-11-4 18:10:45 | 显示全部楼层
只是一个建议:
你可以把物品显示的脚本丢上来,让能人帮你加个类方法再导出成interpreter类的方法,这样就能用事件脚本输入任意字符并显示了

当然我不会xp脚本

点评

太多种实现方法了,感觉随便一个糊脚本的都能有自己版本的效果一致的物品得失……不过你这个我粗略看了下,全是暴力单独新建的window……  发表于 2016-11-4 18:54
已丢,其实我一直以为物品得失一直是人手一份  发表于 2016-11-4 18:16
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-11-4 19:37:59 | 显示全部楼层
可以这样
建一个$scene
用$scene = 某某某.new来显示这个
然后$scene里面生成个window,在这个window里面显示文本,文本是变量。

也可以直接放到Scene_Map的刷新里面条件判断显示消失

点评

问题是完全不会写  发表于 2016-11-4 19:58
回复

使用道具 举报

素材区好人

梦石
5
星屑
12559
在线时间
4347 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

 楼主| 发表于 2016-11-8 19:56:33 | 显示全部楼层
已经自行解决,脚本盲只能想出这种方法了
2.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部