设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1894|回复: 7
打印 上一主题 下一主题

[已经解决] 【1V悬赏】麻烦把这个得失物品脚本改成用图片来显示原来的

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2012-9-1
帖子
72
跳转到指定楼层
1
发表于 2012-9-7 19:23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 吸血鬼之妻 于 2012-10-3 17:21 编辑
  1. #==============================================================================
  2. # 本腳本來自www.66RPG.com,使用和轉載請保留此信息
  3. #==============================================================================

  4. # 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。

  5. # 開關定義:

  6. $noshowgold = 98                        # 不显示金钱得失

  7. $noshowitem = 99                        # 不显示物品得失

  8. $noshowweapon = 96                      # 不显示武器得失

  9. $noshowarmor = 97                       # 不显示防具得失
  10. # 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示

  11. # 不想提示等级升降时,就在事件命令直接选择是否显示就行了。

  12. #——聲效,可以自己改
  13. folder = "Audio/SE/"
  14. $gain_gold_se   = folder +"Shop"      # 获得金钱声效
  15. $loss_gold_se   = folder +"Blow2"     # 失去金钱声效

  16. $gain_item_se   = folder +"Item1"     # 获得物品声效
  17. $loss_item_se   = folder +"Blow2"     # 失去物品声效

  18. $gain_weapon_se = folder +"Item1"     # 获得武器声效
  19. $loss_weapon_se = folder +"Blow2"     # 失去武器声效

  20. $gain_armor_se  = folder +"Item1"     # 获得防具声效
  21. $loss_armor_se  = folder +"Blow2"     # 失去防具声效

  22. $gain_lv_se     = folder +"Item1"     # 提升等级声效
  23. $loss_lv_se     = folder +"Blow2"     # 降低等级声效

  24. # ————————————————————————————————————

  25. class Game_Interpreter
  26.   #--------------------------------------------------------------------------
  27.   # ● 增減金錢
  28.   #--------------------------------------------------------------------------
  29.   def command_125
  30.     value = operate_value(@params[0], @params[1], @params[2])
  31.     $game_party.gain_gold(value)
  32.     if $game_switches[$noshowgold]==false
  33.       show_gain_window(0, value)
  34.     end
  35.     return true
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 增減物品
  39.   #--------------------------------------------------------------------------
  40.   def command_126
  41.     value = operate_value(@params[1], @params[2], @params[3])
  42.     $game_party.gain_item($data_items[@params[0]], value)
  43.     if $game_switches[$noshowitem]==false
  44.       show_gain_window(1, value)
  45.     end
  46.     $game_map.need_refresh = true
  47.     return true
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 增減武器
  51.   #--------------------------------------------------------------------------

  52.   #--------------------------------------------------------------------------
  53.   # ● 增減防具
  54.   #--------------------------------------------------------------------------

  55.   
  56.   #--------------------------------------------------------------------------
  57.   # ● 等级増減
  58.   #--------------------------------------------------------------------------
  59.   def command_316
  60.     value = operate_value(@params[1], @params[2], @params[3])
  61.     iterate_actor_id(@params[0]) do |actor|
  62.       actor.change_level(actor.level + value, false)
  63.       if @params[4]
  64.         show_gain_level_window(actor,value)
  65.       end
  66.     end
  67.     return true
  68.   end

  69.   
  70.   def show_gain_window(type, value)
  71.     snstar2006_66rpg_item = $data_armors[@params[0]]
  72.     snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)
  73.     snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)
  74.     if value >= 0
  75.       gain_text = "獲得"   
  76.     else
  77.       gain_text = "失去"
  78.     end
  79.    
  80.     case type
  81.     when 0
  82.       gain_type = "金錢"
  83.       if value >=0
  84.         Audio.se_play($gain_gold_se,80,100)
  85.       else
  86.         Audio.se_play("Audio/SE/"+"Item1",80,100)
  87.       end
  88.     when 1
  89.       gain_type = "物品"
  90.       string = $data_items[@params[0]]
  91.       if value >=0
  92.         Audio.se_play($gain_item_se,80,100)
  93.       else
  94.         Audio.se_play($loss_item_se,80,100)
  95.       end
  96.     when 2
  97.       gain_type = "武器"
  98.       string = $base_weapons[@params[0]]
  99.       if value >=0
  100.         Audio.se_play($gain_weapon_se,80,100)
  101.       else
  102.         Audio.se_play($loss_weapon_se,80,100)
  103.       end
  104.     when 3
  105.       gain_type = "防具"
  106.       string = $base_armors[@params[0]]
  107.       if value >=0
  108.         Audio.se_play($gain_armor_se,80,100)
  109.       else
  110.         Audio.se_play($loss_armor_se,80,100)
  111.       end
  112.     end
  113.    
  114.     snstar2006_66rpg.contents.draw_text(0,0,160,32,gain_text+gain_type+":")
  115.    
  116.     unless type == 0
  117.       snstar2006_66rpg.draw_item_name(string, 28, 32, true)
  118.       snstar2006_66rpg.contents.draw_text(0, 32, 150, 32, "×"+value.abs.to_s, 2)
  119.     else
  120.       snstar2006_66rpg.contents.draw_text(32,32,240,32,value.abs.to_s + "  "+ Vocab::gold)
  121.     end
  122.    
  123.     snstar2006_66rpg.opacity = 160
  124.    
  125.     for i in 0..30
  126.       Graphics.update
  127.     end
  128.    
  129.     for i in 0..10
  130.       snstar2006_66rpg.opacity -= 30
  131.       snstar2006_66rpg.contents_opacity -= 30
  132.       Graphics.update
  133.     end
  134.    
  135.     snstar2006_66rpg.dispose
  136.   end

  137.   def show_gain_level_window(actor,value)
  138.     lvstring = Vocab::level
  139.         
  140.     snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)
  141.     snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)
  142.    
  143.     if value >= 0
  144.       gain_text = "提升"
  145.       Audio.se_play($gain_lv_se,80,100)
  146.     else
  147.       gain_text = "降低"
  148.       Audio.se_play($loss_lv_se,80,100)
  149.     end
  150.    
  151.    
  152.     snstar2006_66rpg.contents.draw_text(0, 0, 108, 32, actor.name)
  153.     string = lvstring+gain_text+value.abs.to_s+"级"
  154.     snstar2006_66rpg.contents.draw_text(32,32,160,32,string)

  155.     snstar2006_66rpg.opacity = 160
  156.    
  157.     for i in 0..30
  158.       Graphics.update
  159.     end
  160.    
  161.     for i in 0..10
  162.       snstar2006_66rpg.opacity -= 30
  163.       snstar2006_66rpg.contents_opacity -= 30
  164.       Graphics.update
  165.     end
  166.    
  167.     snstar2006_66rpg.dispose

  168.   end
  169. end
复制代码

点评

大家来回答呀,中等难度的问题。喵~~  发表于 2012-9-8 08:18

Lv2.观梦者

永无止境的旅程

梦石
0
星屑
503
在线时间
1552 小时
注册时间
2012-6-19
帖子
1226

开拓者贵宾

2
发表于 2012-9-8 11:38:17 | 只看该作者
将皮肤设置成透明。
在获取物品的时候使用事件显示出图片。
莫约60帧后图片淡出消失

评分

参与人数 1星屑 +60 收起 理由
Luciffer + 60 我很赞同

查看全部评分

[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
<font size="5">[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&tid=396208&extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2012-9-1
帖子
72
3
 楼主| 发表于 2012-9-8 18:07:23 | 只看该作者
丿梁丶小柒 发表于 2012-9-8 11:38
将皮肤设置成透明。
在获取物品的时候使用事件显示出图片。
莫约60帧后图片淡出消失 ...

这个早想过了
很麻烦
我想改脚本实现
回复

使用道具 举报

Lv3.寻梦者

伴侣:北岛谜烟

梦石
0
星屑
3007
在线时间
3547 小时
注册时间
2012-8-7
帖子
12181

贵宾

4
发表于 2012-9-9 17:57:25 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. class Game_Interpreter
  5. UnShowSwitch = 0 #禁止显示提示开关
  6. GainSe = "Audio/SE/Recovery.ogg"
  7. LoseSe = "Audio/SE/Raise2.ogg"

  8.   #--------------------------------------------------------------------------
  9.   # ● 增减金钱
  10.   #--------------------------------------------------------------------------
  11.   def command_125
  12.     value = operate_value(@params[0], @params[1], @params[2])
  13.     $game_party.gain_gold(value)
  14.     show_window(0,value) unless $game_switches[UnShowSwitch]
  15.     return true
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 增减物品
  19.   #--------------------------------------------------------------------------
  20.   def command_126
  21.     value = operate_value(@params[1], @params[2], @params[3])
  22.     $game_party.gain_item($data_items[@params[0]], value)
  23.     $game_map.need_refresh = true
  24.     show_window(1,value,@params[0]) unless $game_switches[UnShowSwitch]
  25.     return true
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 增减武器
  29.   #--------------------------------------------------------------------------
  30.   def command_127
  31.     value = operate_value(@params[1], @params[2], @params[3])
  32.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  33.     show_window(2,value,@params[0]) unless $game_switches[UnShowSwitch]
  34.     return true
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 增减防具
  38.   #--------------------------------------------------------------------------
  39.   def command_128
  40.     value = operate_value(@params[1], @params[2], @params[3])
  41.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  42.     show_window(3,value,@params[0]) unless $game_switches[UnShowSwitch]
  43.     return true
  44.   end

  45.   def show_window(type,value,id = 0)  
  46.     if type == 0
  47.       item = "gold"
  48.     else #物品,武器,防具
  49.       if type == 1
  50.       item = $data_items[id]
  51.       elsif type == 2
  52.       item = $data_weapons[id]
  53.       else
  54.       item = $data_armors[id]
  55.       end
  56.     end      
  57.       width = 150 + (type == 0 ? value.to_s.size * 7 - 16 : item.name.size * 7)
  58.       w = Window_Base.new((640-width)/2 - 85 ,110,width,64)
  59.       w.windowskin = Cache.system("Window")
  60.       w.contents = Bitmap.new(w.width - 32, w.height - 32)
  61.       w.contents.font.color = w.text_color(1)
  62.       w.contents.fill_rect(w.contents.rect,w.text_color(0))
  63.       w.opacity = w.contents_opacity =0   
  64.       for i in 0..10
  65.         w.opacity += 26
  66.         w.contents_opacity += 26
  67.         w.x += 3
  68.         Graphics.update
  69.       end      
  70.       if value >= 0
  71.         w.contents.draw_text(0,4,48,24,"获得")   
  72.         Audio.se_play(GainSe)
  73.       else
  74.         w.contents.draw_text(0,4,48,24,"失去")   
  75.         Audio.se_play(LoseSe)
  76.       end
  77.         if type != 0
  78.         w.draw_item_name_c(item,50, 4 ,type + 23)
  79.         w.opacity = w.back_opacity = 255
  80.         w.contents.font.color = w.text_color(14)
  81.         w.contents.draw_text(width - 72 , 4, 40, 24, "× " + value.abs.to_s ,2)
  82.         else  
  83.         bitmap = Cache.system("gold")
  84.         w.contents.blt(50, 4 ,bitmap , bitmap.rect)
  85.         w.contents.font.color = w.text_color(14)  
  86.         w.contents.draw_text(width - 112 , 4, 72, 24, " " + value.abs.to_s ,2)
  87.         end
  88.       for i in 0..50
  89.         Graphics.update
  90.       end
  91.       for i in 0..20
  92.         w.opacity -= 13
  93.         w.contents_opacity -= 13
  94.         w.x += 2
  95.         Graphics.update
  96.       end
  97.       w.dispose
  98.   end

  99. end


  100. class Window_Base
  101.   def draw_item_name_c(item, x, y , color)
  102.     if item != nil
  103.       draw_icon(item.icon_index, x, y, true)
  104.       self.contents.font.color = self.text_color(color)
  105.       self.contents.draw_text(x + 24, y, 172, WLH, item.name)
  106.     end
  107.   end
  108. end

  109. #==============================================================================
  110. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  111. #==============================================================================

复制代码
路过,这个比那个烂,不能通过开关控制,可以自己改

评分

参与人数 1星屑 +120 收起 理由
Luciffer + 120 我很赞同

查看全部评分

本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2012-9-1
帖子
72
5
 楼主| 发表于 2012-9-14 20:00:31 | 只看该作者
delv25 发表于 2012-9-9 17:57
路过,这个比那个烂,不能通过开关控制,可以自己改

要用图片来显示啊拜托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2012-9-1
帖子
72
6
 楼主| 发表于 2012-9-20 18:34:25 | 只看该作者
自顶一下,没有人会脚本吗?

点评

DE君不是已经回答了吗?  发表于 2012-9-20 18:40
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2012-9-1
帖子
72
7
 楼主| 发表于 2012-10-1 20:58:15 | 只看该作者
自顶一下
回复

使用道具 举报

Lv1.梦旅人

彩虹天使

梦石
0
星屑
55
在线时间
93 小时
注册时间
2012-10-2
帖子
113
8
发表于 2012-10-2 14:11:00 | 只看该作者
做好了
樓主是要這種效果嗎?

把這個附件放入System文件夾內

插入這段腳本就可以了
  1. #==============================================================================
  2. # 本腳本來自www.66RPG.com,使用和轉載請保留此信息
  3. #==============================================================================

  4. # 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。
  5. # 略作修改
  6. # BY:莉德露 (6R ID)
  7. # 加入圖片顯示效果,取消窗口顯示。
  8. # 開關定義:

  9. $noshowgold = 51                        # 不显示金钱得失
  10. $noshowitem = 52                        # 不显示物品得失
  11. $noshowweapon = 53                      # 不显示武器得失
  12. $noshowarmor = 54                       # 不显示防具得失
  13. # 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示

  14. # 不想提示等级升降时,就在事件命令直接选择是否显示就行了。

  15. #——聲效,可以自己改
  16. folder = "Audio/SE/"
  17. $gain_gold_se   = folder +"Shop"      # 获得金钱声效
  18. $loss_gold_se   = folder +"Blow2"     # 失去金钱声效

  19. $gain_item_se   = folder +"Item1"     # 获得物品声效
  20. $loss_item_se   = folder +"Blow2"     # 失去物品声效

  21. $gain_weapon_se = folder +"Item1"     # 获得武器声效
  22. $loss_weapon_se = folder +"Blow2"     # 失去武器声效

  23. $gain_armor_se  = folder +"Item1"     # 获得防具声效
  24. $loss_armor_se  = folder +"Blow2"     # 失去防具声效

  25. $gain_lv_se     = folder +"Item1"     # 提升等级声效
  26. $loss_lv_se     = folder +"Blow2"     # 降低等级声效

  27. # ————————————————————————————————————

  28. class Game_Interpreter
  29.   #--------------------------------------------------------------------------
  30.   # ● 增減金錢
  31.   #--------------------------------------------------------------------------
  32.   def command_125
  33.     value = operate_value(@params[0], @params[1], @params[2])
  34.     $game_party.gain_gold(value)
  35.     if $game_switches[$noshowgold]==false
  36.       show_gain_window(0, value)
  37.     end
  38.     return true
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 增減物品
  42.   #--------------------------------------------------------------------------
  43.   def command_126
  44.     value = operate_value(@params[1], @params[2], @params[3])
  45.     $game_party.gain_item($data_items[@params[0]], value)
  46.     if $game_switches[$noshowitem]==false
  47.       show_gain_window(1, value)
  48.     end
  49.     $game_map.need_refresh = true
  50.     return true
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 增減武器
  54.   #--------------------------------------------------------------------------
  55.   def command_127
  56.     value = operate_value(@params[1], @params[2], @params[3])
  57.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  58.     if $game_switches[$noshowweapon]==false
  59.       show_gain_window(2, value)
  60.     end
  61.     return true
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 增減防具
  65.   #--------------------------------------------------------------------------
  66.   def command_128
  67.     value = operate_value(@params[1], @params[2], @params[3])
  68.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  69.     if $game_switches[$noshowarmor]==false
  70.       show_gain_window(3, value)
  71.     end
  72.     return true
  73.   end
  74.   
  75.   #--------------------------------------------------------------------------
  76.   # ● 等级増減
  77.   #--------------------------------------------------------------------------
  78.   def command_316
  79.     value = operate_value(@params[1], @params[2], @params[3])
  80.     iterate_actor_id(@params[0]) do |actor|
  81.       actor.change_level(actor.level + value, false)
  82.       if @params[4]
  83.         show_gain_level_window(actor,value)
  84.       end
  85.     end
  86.     return true
  87.   end

  88.   
  89.   def show_gain_window(type, value)
  90.     snstar2006_66rpg_item = $data_armors[@params[0]]
  91.     snstar2006_66rpg = Window_Base.new((640-360)/2,158,200,100)
  92.     snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)
  93.     if value >= 0
  94.       gain_text = "獲得"   
  95.     else
  96.       gain_text = "失去"
  97.     end
  98.    
  99.     case type
  100.     when 0
  101.       gain_type = "金錢"
  102.       if value >=0
  103.         Audio.se_play($gain_gold_se,80,100)
  104.       else
  105.         Audio.se_play("Audio/SE/"+"Item1",80,100)
  106.       end
  107.     when 1
  108.       gain_type = "物品"
  109.       string = $data_items[@params[0]]
  110.       if value >=0
  111.         Audio.se_play($gain_item_se,80,100)
  112.       else
  113.         Audio.se_play($loss_item_se,80,100)
  114.       end
  115.     when 2
  116.       gain_type = "武器"
  117.       string = $data_weapons[@params[0]]
  118.       if value >=0
  119.         Audio.se_play($gain_weapon_se,80,100)
  120.       else
  121.         Audio.se_play($loss_weapon_se,80,100)
  122.       end
  123.     when 3
  124.       gain_type = "裝備"
  125.       string = $data_armors[@params[0]]
  126.       if value >=0
  127.         Audio.se_play($gain_armor_se,80,100)
  128.       else
  129.         Audio.se_play($loss_armor_se,80,100)
  130.       end
  131.     end
  132.    
  133.     snstar2006_66rpg.contents.draw_text(0,0,160,32,gain_text+gain_type+":")
  134.    
  135.     unless type == 0
  136.       @sprite = Sprite.new
  137.       #导入在system里的图片
  138.       @sprite.bitmap = Cache.system("GET_ITEM")
  139.       snstar2006_66rpg.draw_item_name(string, 28, 32, true)
  140.       snstar2006_66rpg.contents.draw_text(0, 28, 150, 32, "×"+value.abs.to_s, 2)
  141.     else
  142.       @sprite = Sprite.new
  143.       #导入在system里的图片
  144.       @sprite.bitmap = Cache.system("GET_ITEM")
  145.       snstar2006_66rpg.contents.draw_text(32,28,240,32,value.abs.to_s + "  "+ Vocab::gold)
  146.     end
  147.     snstar2006_66rpg.opacity = 0
  148.    
  149.     for i in 0..30
  150.       Graphics.update
  151.     end
  152.    
  153.     for i in 0..10
  154. #      @sprite.bitmap.opacity -= 30
  155. #      @sprite.bitmap.contents_opacity -= 30
  156.       #snstar2006_66rpg.opacity -= 30
  157.       #snstar2006_66rpg.contents_opacity -= 30
  158.       Graphics.update
  159.     end
  160.    
  161.     snstar2006_66rpg.dispose
  162.     @sprite.bitmap.dispose
  163.   end

  164.   def show_gain_level_window(actor,value)
  165.     lvstring = Vocab::level
  166.         
  167.     snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)
  168.     snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)
  169.    
  170.     if value >= 0
  171.       gain_text = "提升"
  172.       Audio.se_play($gain_lv_se,80,100)
  173.     else
  174.       gain_text = "降低"
  175.       Audio.se_play($loss_lv_se,80,100)
  176.     end
  177.    
  178.    
  179.     snstar2006_66rpg.contents.draw_text(0, 0, 108, 32, actor.name)
  180.     string = lvstring+gain_text+value.abs.to_s+"级"
  181.     snstar2006_66rpg.contents.draw_text(32,32,160,32,string)

  182.     snstar2006_66rpg.opacity = 160
  183.    
  184.     for i in 0..30
  185.       Graphics.update
  186.     end
  187.    
  188.     for i in 0..10
  189.       snstar2006_66rpg.opacity -= 30
  190.       snstar2006_66rpg.contents_opacity -= 30
  191.       Graphics.update
  192.     end
  193.    
  194.     snstar2006_66rpg.dispose

  195.   end
  196. end



  197. #==============================================================================
  198. # 本腳本來自www.66RPG.com,使用和轉載請保留此信息
  199. #==============================================================================
复制代码

点评

感谢,外加1V作表示  发表于 2012-10-3 17:22
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 09:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表