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

Project1

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

[有事请教] 萌新,想要找一个va的得失提示插件

[复制链接]

Lv1.梦旅人

梦石
0
星屑
151
在线时间
22 小时
注册时间
2024-8-19
帖子
3
跳转到指定楼层
1
发表于 2024-12-5 20:09:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
之前看到了一个vx的,不过版本很老,效果就是得失物品会在左下角显示弹出提示,想问问va有没有类似效果的插件
搜索用过了()感觉大部分不是很符合我的想法,yanfly的那个也试过了,效果挺像但是好像有bug,就是提示消失之后再次弹出来的话会把之前获得的物品全部弹一遍
就是这个:
  1. #==============================================================================
  2. # ★RGSS2
  3. # STEMB_マップエフェクトベース v0.8
  4. #
  5. # ・エフェクト表示のための配列定義、フレーム更新、ビューポート関連付け
  6. #
  7. #==============================================================================
  8. # ■ Game_Temp
  9. #==============================================================================
  10. class Game_Temp
  11.   #--------------------------------------------------------------------------
  12.   # ● 公開インスタンス変数
  13.   #--------------------------------------------------------------------------
  14.   attr_accessor :streffect
  15.   #--------------------------------------------------------------------------
  16.   # ● オブジェクト初期化
  17.   #--------------------------------------------------------------------------
  18.   alias initialize_stref initialize
  19.   def initialize
  20.     initialize_stref
  21.     @streffect = []
  22.   end
  23. end
  24. #==============================================================================
  25. # ■ Spriteset_Map
  26. #==============================================================================
  27. class Spriteset_Map
  28.   #--------------------------------------------------------------------------
  29.   # ● エフェクトの作成
  30.   #--------------------------------------------------------------------------
  31.   def create_streffect
  32.     $game_temp.streffect = []
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● エフェクトの解放
  36.   #--------------------------------------------------------------------------
  37.   def dispose_streffect
  38.     for i in 0...$game_temp.streffect.size
  39.       $game_temp.streffect[i].dispose if $game_temp.streffect[i] != nil
  40.     end
  41.     $game_temp.streffect = []
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● エフェクトの更新
  45.   #--------------------------------------------------------------------------
  46.   def update_streffect
  47.     for i in 0...$game_temp.streffect.size
  48.       if $game_temp.streffect[i] != nil
  49.         $game_temp.streffect[i].viewport = @viewport1
  50.         $game_temp.streffect[i].update
  51.         $game_temp.streffect.delete_at(i) if $game_temp.streffect[i].disposed?
  52.       end
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ★ エイリアス
  57.   #--------------------------------------------------------------------------
  58.   alias create_parallax_stref create_parallax
  59.   def create_parallax
  60.     create_parallax_stref
  61.     create_streffect
  62.   end
  63.   alias dispose_stref dispose
  64.   def dispose
  65.     dispose_streffect
  66.     dispose_stref
  67.   end
  68.   alias update_stref update
  69.   def update
  70.     update_stref
  71.     update_streffect
  72.   end
  73. end
复制代码
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR20_入手インフォメーション v1.1 08/08/07
  4. # サポート:http://otsu.cool.ne.jp/strcatyou/
  5. # ◇必須スクリプト STEMB_マップエフェクトベース
  6. #
  7. # ・マップ画面にアイテム入手・スキル修得などの際に表示するインフォです。
  8. # ・表示内容は 任意指定の名目+アイテム名+ヘルプメッセージとなります。
  9. # ・アイテムのメモ欄に info[/任意の文字列/] と記述することで
  10. #  通常とは別の説明文をインフォに表示させることができます。(v1.1)
  11. # [仕様]インフォが表示されている間も移動できます。
  12. #    移動させたくない場合はウェイトを入れてください。
  13. #------------------------------------------------------------------------------
  14. #
  15. # 更新履歴
  16. # ◇1.0→1.1
  17. # 通常とは別の説明文をインフォに表示できるようになった
  18. #
  19. #==============================================================================
  20. # ■ Window_Getinfo
  21. #==============================================================================
  22. class Window_Getinfo < Window_Base
  23.   # 設定箇所
  24.   G_ICON  = 205   # ゴールド入手インフォに使用するアイコンインデックス
  25.   Y_TYPE  = 1     # Y座標の位置(0 = 上基準 1 = 下基準)
  26.   Z       = 230   # Z座標(問題が起きない限り変更しないでください)
  27.   TIME    = 120   # インフォ表示時間(1/60sec)
  28.   OPACITY = 32    # 透明度変化スピード
  29.   B_COLOR = Color.new(0, 0, 0, 160)        # インフォバックの色
  30.   INFO_SE = RPG::SE.new("magic", 100, 150) # インフォ表示時の効果音
  31.   STR20W  = "info"# メモ設定ワード(※なるべく変更しないでください)
  32. end
  33. #
  34. if false
  35. # ★以下をコマンドのスクリプト等に貼り付けてテキスト表示----------------★

  36. # 種類 / 0=アイテム 1=武器 2=防具 3=スキル 4=金
  37. type = 4
  38. # ID  / 金の場合は金額を入力
  39. id   =
  40. # 入手テキスト / 金の場合無効
  41. text = "获得物品"
  42. #
  43. e = $game_temp.streffect
  44. e.push(Window_Getinfo.new(id, type, text))

  45. # ★ここまで------------------------------------------------------------★
  46. #
  47. # ◇スキル修得時などにアクター名を直接打ち込むと
  48. #  アクターの名前が変えられるゲームなどで問題が生じます。
  49. #  なので、以下のようにtext部分を改造するといいかもしれません。
  50. #
  51. # 指定IDのアクターの名前取得
  52. t = $game_actors[1].name
  53. text = t + " / スキル修得!"
  54. #
  55. end
  56. #==============================================================================
  57. # ■ Window_Getinfo
  58. #==============================================================================
  59. class Window_Getinfo < Window_Base
  60.   #--------------------------------------------------------------------------
  61.   # ● オブジェクト初期化
  62.   #     actor : アクター
  63.   #--------------------------------------------------------------------------
  64.   def initialize(id, type, text = "")
  65.     super(-16, 0, 544 + 32, 38 + 32)
  66.     self.z = Z
  67.     self.contents_opacity = 0
  68.     self.back_opacity = 0
  69.     self.opacity = 0
  70.     @count = 0
  71.     @i = $game_temp.getinfo_size.index(nil)
  72.     @i = $game_temp.getinfo_size.size if (@i == nil)
  73.     if Y_TYPE == 0
  74.       self.y = -14 + (@i * 40)
  75.     else
  76.       self.y = 416 - 58 - (@i * 40)
  77.     end
  78.     $game_temp.getinfo_size[@i] = true
  79.     refresh(id, type, text)
  80.     INFO_SE.play
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 解放
  84.   #--------------------------------------------------------------------------
  85.   def dispose
  86.     $game_temp.getinfo_size[@i] = nil
  87.     super
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● フレーム更新
  91.   #--------------------------------------------------------------------------
  92.   def update
  93.     self.viewport = nil
  94.     @count += 1
  95.     unless @count >= TIME
  96.       self.contents_opacity += OPACITY
  97.     else
  98.       if Y_TYPE == 0
  99.         self.y -= 1
  100.       else
  101.         self.y += 1
  102.       end
  103.       self.contents_opacity -= OPACITY
  104.       dispose if self.contents_opacity == 0
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● リフレッシュ
  109.   #--------------------------------------------------------------------------
  110.   def refresh(id, type, text = "")
  111.     case type
  112.     when 0 ; data = $data_items[id]
  113.     when 1 ; data = $data_weapons[id]
  114.     when 2 ; data = $data_armors[id]
  115.     when 3 ; data = $data_skills[id]
  116.     when 4 ; data = id
  117.     else   ; p "typeの値がおかしいです><;"
  118.     end
  119.     c = B_COLOR
  120.     self.contents.fill_rect(0, 14, 225, 24, c)
  121.     if type < 4
  122.       draw_item_name(data, 4, 14)
  123.       self.contents.draw_text(2040, 14, 340, WLH, description(data))
  124.     else
  125.       draw_icon(G_ICON, 4, 14)
  126.       self.contents.draw_text(28, 14, 176, WLH, data.to_s + Vocab::gold)
  127.     end
  128.     self.contents.font.size = 14
  129.     w = self.contents.text_size(text).width
  130.     self.contents.fill_rect(0, 0, w + 4, 14, c)
  131.     self.contents.draw_text_f(4, 0, 340, 14, text)
  132.     Graphics.frame_reset
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 解説文取得
  136.   #--------------------------------------------------------------------------
  137.   def description(data)
  138.     return $1.gsub!(/[\t\n\r\f]*/,"") if (data.note[/#{STR20W}\[\/(.*)\/\]/im]) != nil
  139.     return data.description
  140.   end
  141. end
  142. #==============================================================================
  143. # ■ Game_Temp
  144. #==============================================================================
  145. class Game_Temp
  146.   #--------------------------------------------------------------------------
  147.   # ● 公開インスタンス変数
  148.   #--------------------------------------------------------------------------
  149.   attr_accessor :getinfo_size
  150.   #--------------------------------------------------------------------------
  151.   # ● オブジェクト初期化
  152.   #--------------------------------------------------------------------------
  153.   alias initialize_str20 initialize
  154.   def initialize
  155.     initialize_str20
  156.     @getinfo_size = []
  157.   end
  158. end
  159. #==============================================================================
  160. # ■ Bitmap
  161. #==============================================================================
  162. class Bitmap
  163.   #--------------------------------------------------------------------------
  164.   # ● 文字縁取り描画
  165.   #--------------------------------------------------------------------------
  166.   def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
  167.     shadow = self.font.shadow
  168.     b_color = self.font.color.dup
  169.     font.shadow = false
  170.     font.color = color
  171.     draw_text(x + 1, y, width, height, str, align)
  172.     draw_text(x - 1, y, width, height, str, align)
  173.     draw_text(x, y + 1, width, height, str, align)
  174.     draw_text(x, y - 1, width, height, str, align)
  175.     font.color = b_color
  176.     draw_text(x, y, width, height, str, align)
  177.     font.shadow = shadow
  178.   end
  179.   def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
  180.     draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
  181.   end
  182. end
复制代码
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR20p2_インフォ表示物自動入手 08/01/28 scripted by 西瓜
  4. # サポート:http://otsu.cool.ne.jp/strcatyou/ 
  5. # ◇必須スクリプト STEMB_マップエフェクトベース
  6. #          STR20_入手インフォメーション
  7. #
  8. # ・インフォで表示されたものと同内容のものを自動的に入手させます(スキルは除く)。
  9. # ・導入セクション位置はSTR20_入手インフォより下に。
  10. #
  11. #==============================================================================
  12. # ■ Window_Getinfo
  13. #==============================================================================
  14. class Window_Getinfo < Window_Base
  15.   # エイリアス
  16.   alias snf_getinfo_refresh refresh
  17.   def refresh(id, type, text = "")
  18.     snf_getinfo_refresh(id, type, text)
  19.     case type
  20.     when 0 ; data = $data_items[id]
  21.     when 1 ; data = $data_weapons[id]
  22.     when 2 ; data = $data_armors[id]
  23.     end
  24.     if type <= 2
  25.       $game_party.gain_item(data, 1)
  26.     elsif type == 4
  27.       $game_party.gain_gold(id)
  28.     end
  29.   end
  30. end
复制代码

最好是有汉化的,十分感谢!

Lv4.逐梦者

梦石
0
星屑
6595
在线时间
1486 小时
注册时间
2015-7-25
帖子
653

极短25参与开拓者

2
发表于 2024-12-5 21:38:02 | 只看该作者
正好前段时间给自己的坑写了一个,效果比较简陋,扒出来适配了一下默认工程,可以用用看
使用方法就是直接放进去,不需要任何的设置,会自动识别获得的任何道具(包括金钱),然后在右侧弹出
RUBY 代码复制
  1. class Scene_Map
  2.   @@gainitem_sprite = []
  3.   alias mf240903start start
  4.   def start
  5.     mf240903start
  6.     $show_gain_items ||= []
  7.   end
  8.   alias mf240903update update
  9.   def update
  10.     mf240903update
  11.     update_show_gain_items
  12.     update_gainitem_sprite
  13.   end
  14.   def update_show_gain_items
  15.     return unless $show_gain_items && $show_gain_items != []
  16.     draw_gainitem_sprite
  17.   end
  18.   def draw_gainitem_sprite
  19.     sprite = Sprite.new
  20.     sprite.bitmap = Bitmap.new(150,24)
  21.     sprite.x = 544+150
  22.     sprite.y = 200
  23.     c1 = Color.new(0,0,0,128)
  24.     c2 = Color.new(0,0,0,255)
  25.     sprite.bitmap.gradient_fill_rect(0,0,150,24,c1,c2)
  26.     draw_gainitem_text(sprite)
  27.   end
  28.   def draw_gainitem_text(sprite)
  29.     item = $show_gain_items.shift
  30.     item_name = item[0]
  31.     item_icon = item[1]
  32.     bitmap = Cache.system("Iconset")
  33.     rect = Rect.new(item_icon % 16 * 24, item_icon / 16 * 24, 24, 24)
  34.     sprite.bitmap.blt(50,0,bitmap,rect)
  35.     sprite.bitmap.font.size = 16
  36.     sprite.bitmap.draw_text(0,0,150,24,"获得了")
  37.     sprite.bitmap.font.color = Color.new(255,215,0)
  38.     sprite.bitmap.draw_text(0,0,150,24,item_name,2)
  39.     sprite.bitmap.font.size = 24
  40.     sprite.bitmap.font.color = Color.new(255,255,255)
  41.     sprite.x += @@gainitem_sprite.size * 30
  42.     sprite.y += @@gainitem_sprite.size * 24
  43.     @@gainitem_sprite << [sprite,90]
  44.   end
  45.   def move_gainitem_sprite(sprite)
  46.     return if sprite.x <= 544-150
  47.     sprite.x -= 3
  48.   end
  49.   def update_gainitem_sprite
  50.     return unless @@gainitem_sprite && @@gainitem_sprite != []
  51.     @@gainitem_sprite.each do |s|
  52.       move_gainitem_sprite(s[0])
  53.       s[1] -= 1 if s[0].x <= 544-150
  54.       if s[1] <= 0
  55.         s[0].opacity -= 10
  56.         s[0].dispose if s[0].opacity <= 0
  57.       end
  58.     end
  59.     @@gainitem_sprite.each {|s| @@gainitem_sprite.delete(s) if s[0].disposed?}
  60.   end
  61. end
  62. class Game_Party
  63.   alias mf240903gain_item gain_item
  64.   def gain_item(item, amount, include_equip = false)
  65.     mf240903gain_item(item, amount, include_equip = false)
  66.     $show_gain_items << [item.name,item.icon_index] if item && amount > 0
  67.   end
  68.   alias mf240903gain_gold gain_gold
  69.   def gain_gold(amount)
  70.     mf240903gain_gold(amount)
  71.     $show_gain_items << [amount.to_s,262] if amount > 0
  72.   end
  73. end
笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.282
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 1 反对 0

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34820
在线时间
6747 小时
注册时间
2012-5-26
帖子
3260

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

3
发表于 2024-12-7 00:31:00 | 只看该作者
我自己写的 通知队列 和 基于它的 物品得失
https://gitee.com/oneeyedeagle/E ... 5%E9%98%9F%E5%88%97

优点是各种设置都能自己改,比如位置、背景、显示的文字,还可以自己写多种多样的通知提示
缺点是改起来比较麻烦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
22 小时
注册时间
2024-8-19
帖子
3
4
 楼主| 发表于 2024-12-7 19:57:12 | 只看该作者
百里_飞柳 发表于 2024-12-7 00:31
我自己写的 通知队列 和 基于它的 物品得失
https://gitee.com/oneeyedeagle/EAGLE-RGSS3/tree/master/Mess ...

十分感谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
22 小时
注册时间
2024-8-19
帖子
3
5
 楼主| 发表于 2024-12-7 19:59:25 | 只看该作者
魔法丶小肉包 发表于 2024-12-5 21:38
正好前段时间给自己的坑写了一个,效果比较简陋,扒出来适配了一下默认工程,可以用用看
使用方法就是直接 ...

(自己给自己的游戏写代码真的好厉害啊
十分感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 22:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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