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

Project1

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

[已经过期] 将VA的地图名显示与物品得失脚本融合

[复制链接]

Lv2.观梦者

梦石
0
星屑
655
在线时间
159 小时
注册时间
2012-3-24
帖子
104
跳转到指定楼层
1
发表于 2015-2-25 00:02:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
刚学脚本,打算把如题两个脚本融合起来看看,到底没弄懂,插入则总是在277行出问题,有谁能够给讲讲吗?谢谢各位~{:2_270:}


RUBY 代码复制
  1. class Game_Interpreter
  2.  
  3.   #--------------------------------------------------------------------------
  4.   # ● 增减金钱
  5.   #--------------------------------------------------------------------------
  6.   def command_125
  7.     value = operate_value(@params[0], @params[1], @params[2])
  8.     $game_party.gain_gold(value)
  9.     if $window_tips_gold == true
  10.       show_tips_window(0, value)
  11.     end
  12.     return true
  13.   end
  14.  
  15.   #--------------------------------------------------------------------------
  16.   # ● 增减物品
  17.   #--------------------------------------------------------------------------
  18.   def command_126
  19.     value = operate_value(@params[1], @params[2], @params[3])
  20.     $game_party.gain_item($data_items[@params[0]], value)
  21.     if $window_tips_item == true
  22.       show_tips_window(1, value)
  23.     end
  24.     $game_map.need_refresh = true
  25.     return true
  26.   end
  27.  
  28.   #--------------------------------------------------------------------------
  29.   # ● 增减武器
  30.   #--------------------------------------------------------------------------
  31.   def command_127
  32.     value = operate_value(@params[1], @params[2], @params[3])
  33.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  34.     if $window_tips_weapon == true
  35.       show_tips_window(2, value)
  36.     end
  37.     return true
  38.   end
  39.  
  40.   #--------------------------------------------------------------------------
  41.   # ● 增减防具
  42.   #--------------------------------------------------------------------------
  43.   def command_128
  44.     value = operate_value(@params[1], @params[2], @params[3])
  45.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  46.     if $window_tips_armor == true
  47.       show_tips_window(3, value)
  48.     end
  49.     return true
  50.   end
  51.  
  52.   #--------------------------------------------------------------------------
  53.   # ● 显示增减提示窗口
  54.   #--------------------------------------------------------------------------
  55.   def show_tips_window(type, value)
  56.     case type
  57.       when 0
  58.         item_type = Vocab::currency_unit
  59.         if value >= 0
  60.           Audio.se_play("Audio/SE/" + $SE_Gold_Gain, 100, 100)
  61.         else
  62.           Audio.se_play("Audio/SE/" + "Item1", 100, 100)
  63.       end
  64.       when 1
  65.         item_type = Vocab::item
  66.         processed_items = $data_items[@params[0]]
  67.         if value >= 0
  68.           Audio.se_play("Audio/SE/" + $SE_Item_Gain, 100, 100)
  69.         else
  70.           Audio.se_play("Audio/SE/" + $SE_Item_Loss, 100, 100)
  71.       end
  72.       when 2
  73.         item_type = Vocab::weapon
  74.         processed_items = $data_weapons[@params[0]]
  75.         if value >= 0
  76.           Audio.se_play("Audio/SE/" + $SE_Weapon_Gain, 100, 100)
  77.         else
  78.           Audio.se_play("Audio/SE/" + $SE_Weapon_Loss, 100, 100)
  79.       end
  80.       when 3
  81.         item_type = Vocab::armor
  82.         processed_items = $data_armors[@params[0]]
  83.         if value >= 0
  84.           Audio.se_play("Audio/SE/" + $SE_Armor_Gain, 100, 100)
  85.         else
  86.           Audio.se_play("Audio/SE/" + $SE_Armor_Loss, 100, 100)
  87.       end
  88.     end
  89.  
  90.     if value >= 0
  91.       tips_processed_text = "获得"   
  92.     else
  93.       tips_processed_text = "失去"
  94.     end
  95.  
  96.     if type != 0
  97.       text_value = "×" + value.abs.to_s
  98.       bitmap = Bitmap.new(100, 100)
  99.       itemwidth = bitmap.text_size(processed_items.name).width + 95
  100.       valuewidth = bitmap.text_size(text_value).width
  101.       itempop_window = Window_Tips.new((544 - itemwidth - valuewidth) / 2, 128, itemwidth + valuewidth, 88)
  102.       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
  103.  
  104.       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
  105.       itempop_window.adv_draw_item_name(processed_items, 28, 32)
  106.       itempop_window.contents.draw_text(0, 30, itemwidth, 32, "×" + value.abs.to_s, 2)
  107.     else
  108.       text_value = value.abs.to_s + " " + Vocab::currency_unit
  109.       bitmap = Bitmap.new(100, 100)
  110.       textwidth = bitmap.text_size(text_value).width + 95
  111.       itempop_window = Window_Tips.new(170, 128, textwidth, 88)
  112.       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
  113.  
  114.       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
  115.       itempop_window.contents.draw_text(32, 32, 240, 32, value.abs.to_s + "  " + Vocab::currency_unit)
  116.     end
  117.  
  118.     for i in 0..60
  119.       Graphics.update
  120.     end
  121.     for i in 0..10
  122.       itempop_window.opacity -= 30
  123.       itempop_window.contents_opacity -= 30
  124.       Graphics.update
  125.     end
  126.     itempop_window.dispose
  127.  
  128.     for i in 0..3
  129.       Graphics.update
  130.     end
  131.   end
  132. end
Will they still remember their dreams ...
入坑10年唯一完成处女作《核爆余生》已于2020.10.7在本站发布,欢迎支持和反馈~
戳这里:千呼万唤始出来,实时血条蓝条已在1.2.0中实现!

Lv2.观梦者

梦石
0
星屑
655
在线时间
159 小时
注册时间
2012-3-24
帖子
104
2
 楼主| 发表于 2015-2-25 00:03:20 | 只看该作者
额怎么少了一截?

点评

请善用“编辑”功能  发表于 2015-2-25 08:24
Will they still remember their dreams ...
入坑10年唯一完成处女作《核爆余生》已于2020.10.7在本站发布,欢迎支持和反馈~
戳这里:千呼万唤始出来,实时血条蓝条已在1.2.0中实现!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
655
在线时间
159 小时
注册时间
2012-3-24
帖子
104
3
 楼主| 发表于 2015-2-25 00:04:01 | 只看该作者
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ☆ HAR - 得失物品脚本 (v1.01a)
  4. # 日期:2012/09/23
  5. #==============================================================================
  6. # -- 作者:    Harinlen
  7. # -- 等级:    普通级
  8. # -- 依赖关系:  无
  9. # -- 适用范围:  RPG Maker VX Ace
  10. # -- 不兼容脚本: 暂无
  11. #==============================================================================
  12. # ☆ 声明
  13. # 此脚本参考了[PS0]双默认脚本的长度测量函数。
  14. #==============================================================================
  15. # ☆ 脚本使用说明
  16. # 此脚本无需额外代码即可使用,使用事件调用增减金钱、增减武器、增减防具和增减物品的
  17. # 时候会显示一个对话框显示得失物品情况。
  18. #
  19. # ☆ 脚本的启用
  20. # 在事件中可以插入如下脚本来开关事件:
  21. #
  22. # $window_tips_gold = true        #启用金钱窗口提示
  23. # $window_tips_gold = false       #禁用金钱窗口提示
  24. # $window_tips_item = true        #启用物品窗口提示
  25. # $window_tips_item = false       #禁用物品窗口提示
  26. # $window_tips_weapon = true      #启用武器窗口提示
  27. # $window_tips_weapon = false     #禁用武器窗口提示
  28. # $window_tips_armor = true       #启用防具窗口提示
  29. # $window_tips_armor = false      #禁用防具窗口提示
  30. #
  31. # ☆ 脚本的自定义
  32. # 请修改下方的音效设定部分,将对应的音效更改成自己想要的音效即可。
  33. # 音效名的获取请使用媒体库进行查看。只能使用SE中的音效。
  34. #==============================================================================

  35. #==============================================================================
  36. # ■ 提示开关定义
  37. #------------------------------------------------------------------------------
  38. #  用于定义是否显示Window
  39. #==============================================================================
  40. $window_tips_gold = true
  41. $window_tips_item = true
  42. $window_tips_weapon = true
  43. $window_tips_armor = true

  44. #==============================================================================
  45. # ■ 音效设定
  46. #------------------------------------------------------------------------------
  47. #  设定对应的音效播放效果
  48. #==============================================================================
  49. $SE_Gold_Gain   = "Shop"      # 获得金钱声效
  50. $SE_Gold_Loss   = "Equip3"     # 失去金钱声效

  51. $SE_Item_Gain   = "Item1"     # 获得物品声效
  52. $SE_Item_Loss   = "Equip3"     # 失去物品声效

  53. $SE_Weapon_Gain = "Item1"     # 获得武器声效
  54. $SE_Weapon_Loss = "Equip3"     # 失去武器声效

  55. $SE_Armor_Gain  = "Item1"     # 获得防具声效
  56. $SE_Armor_Loss  = "Equip3"     # 失去防具声效

  57. #==============================================================================
  58. # ■ Window_ITEMTIPS
  59. #------------------------------------------------------------------------------
  60. #  显示地图名称的窗口。
  61. #==============================================================================

  62. class Window_Tips < Window_Base
  63.   #--------------------------------------------------------------------------
  64.   # ● 初始化对象
  65.   #--------------------------------------------------------------------------
  66.   def initialize
  67.     super(0, 0, window_width, fitting_height(1))
  68.     self.opacity = 0
  69.     self.contents_opacity = 0
  70.     @show_count = 0
  71.     refresh
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 增强绘制物品名称
  75.   #--------------------------------------------------------------------------
  76.   def adv_draw_item_name(item, x, y)
  77.     return unless item
  78.     draw_icon(item.icon_index, x, y, true)
  79.     change_color(normal_color, true)
  80.     draw_text(x + 24, y, width, line_height, item.name)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 获取窗口的宽度
  84.   #--------------------------------------------------------------------------
  85.   def window_width
  86.     return 240
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 更新画面
  90.   #--------------------------------------------------------------------------
  91.   def update
  92.     super
  93.     if @show_count > 0 && $game_map.name_display
  94.       update_fadein
  95.       @show_count -= 1
  96.     else
  97.       update_fadeout
  98.     end
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 更新淡入
  102.   #--------------------------------------------------------------------------
  103.   def update_fadein
  104.     self.contents_opacity += 16
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 更新淡出
  108.   #--------------------------------------------------------------------------
  109.   def update_fadeout
  110.     self.contents_opacity -= 16
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 打开窗口
  114.   #--------------------------------------------------------------------------
  115.   def open
  116.     refresh
  117.     @show_count = 150
  118.     self.contents_opacity = 0
  119.     self
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 关闭窗口
  123.   #--------------------------------------------------------------------------
  124.   def close
  125.     @show_count = 0
  126.     self
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 刷新
  130.   #--------------------------------------------------------------------------
  131.   def refresh
  132.     contents.clear
  133.     unless $game_map.display_name.empty?
  134.       draw_background(contents.rect)
  135.       draw_text(contents.rect, $game_map.display_name, 1)
  136.     end
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 绘制背景
  140.   #--------------------------------------------------------------------------
  141.   def draw_background(rect)
  142.     temp_rect = rect.clone
  143.     temp_rect.width /= 2
  144.     contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
  145.     temp_rect.x = temp_rect.width
  146.     contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 获取背景色 1
  150.   #--------------------------------------------------------------------------
  151.   def back_color1
  152.     Color.new(0, 0, 0, 192)
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● 获取背景色 2
  156.   #--------------------------------------------------------------------------
  157.   def back_color2
  158.     Color.new(0, 0, 0, 0)
  159.   end
  160. end






复制代码
Will they still remember their dreams ...
入坑10年唯一完成处女作《核爆余生》已于2020.10.7在本站发布,欢迎支持和反馈~
戳这里:千呼万唤始出来,实时血条蓝条已在1.2.0中实现!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 2015-2-25 08:25:22 | 只看该作者
我很好奇把这两个完全没有关联的脚本融合起来有什么意义吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
655
在线时间
159 小时
注册时间
2012-3-24
帖子
104
5
 楼主| 发表于 2015-2-25 20:21:00 | 只看该作者
taroxd 发表于 2015-2-25 08:25
我很好奇把这两个完全没有关联的脚本融合起来有什么意义吗?

练练手……刚学脚本……
本来的目的是,用名称显示的背景实现物品得失提示……而不是一个窗口
Will they still remember their dreams ...
入坑10年唯一完成处女作《核爆余生》已于2020.10.7在本站发布,欢迎支持和反馈~
戳这里:千呼万唤始出来,实时血条蓝条已在1.2.0中实现!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 21:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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