赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 0 |
最后登录 | 2024-12-15 |
在线时间 | 21 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 146
- 在线时间
- 21 小时
- 注册时间
- 2024-8-19
- 帖子
- 3
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
之前看到了一个vx的,不过版本很老,效果就是得失物品会在左下角显示弹出提示,想问问va有没有类似效果的插件
搜索用过了()感觉大部分不是很符合我的想法,yanfly的那个也试过了,效果挺像但是好像有bug,就是提示消失之后再次弹出来的话会把之前获得的物品全部弹一遍
就是这个:
- #==============================================================================
- # ★RGSS2
- # STEMB_マップエフェクトベース v0.8
- #
- # ・エフェクト表示のための配列定義、フレーム更新、ビューポート関連付け
- #
- #==============================================================================
- # ■ Game_Temp
- #==============================================================================
- class Game_Temp
- #--------------------------------------------------------------------------
- # ● 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :streffect
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias initialize_stref initialize
- def initialize
- initialize_stref
- @streffect = []
- end
- end
- #==============================================================================
- # ■ Spriteset_Map
- #==============================================================================
- class Spriteset_Map
- #--------------------------------------------------------------------------
- # ● エフェクトの作成
- #--------------------------------------------------------------------------
- def create_streffect
- $game_temp.streffect = []
- end
- #--------------------------------------------------------------------------
- # ● エフェクトの解放
- #--------------------------------------------------------------------------
- def dispose_streffect
- for i in 0...$game_temp.streffect.size
- $game_temp.streffect[i].dispose if $game_temp.streffect[i] != nil
- end
- $game_temp.streffect = []
- end
- #--------------------------------------------------------------------------
- # ● エフェクトの更新
- #--------------------------------------------------------------------------
- def update_streffect
- for i in 0...$game_temp.streffect.size
- if $game_temp.streffect[i] != nil
- $game_temp.streffect[i].viewport = @viewport1
- $game_temp.streffect[i].update
- $game_temp.streffect.delete_at(i) if $game_temp.streffect[i].disposed?
- end
- end
- end
- #--------------------------------------------------------------------------
- # ★ エイリアス
- #--------------------------------------------------------------------------
- alias create_parallax_stref create_parallax
- def create_parallax
- create_parallax_stref
- create_streffect
- end
- alias dispose_stref dispose
- def dispose
- dispose_streffect
- dispose_stref
- end
- alias update_stref update
- def update
- update_stref
- update_streffect
- end
- end
复制代码- #==============================================================================
- # ★RGSS2
- # STR20_入手インフォメーション v1.1 08/08/07
- # サポート:http://otsu.cool.ne.jp/strcatyou/
- # ◇必須スクリプト STEMB_マップエフェクトベース
- #
- # ・マップ画面にアイテム入手・スキル修得などの際に表示するインフォです。
- # ・表示内容は 任意指定の名目+アイテム名+ヘルプメッセージとなります。
- # ・アイテムのメモ欄に info[/任意の文字列/] と記述することで
- # 通常とは別の説明文をインフォに表示させることができます。(v1.1)
- # [仕様]インフォが表示されている間も移動できます。
- # 移動させたくない場合はウェイトを入れてください。
- #------------------------------------------------------------------------------
- #
- # 更新履歴
- # ◇1.0→1.1
- # 通常とは別の説明文をインフォに表示できるようになった
- #
- #==============================================================================
- # ■ Window_Getinfo
- #==============================================================================
- class Window_Getinfo < Window_Base
- # 設定箇所
- G_ICON = 205 # ゴールド入手インフォに使用するアイコンインデックス
- Y_TYPE = 1 # Y座標の位置(0 = 上基準 1 = 下基準)
- Z = 230 # Z座標(問題が起きない限り変更しないでください)
- TIME = 120 # インフォ表示時間(1/60sec)
- OPACITY = 32 # 透明度変化スピード
- B_COLOR = Color.new(0, 0, 0, 160) # インフォバックの色
- INFO_SE = RPG::SE.new("magic", 100, 150) # インフォ表示時の効果音
- STR20W = "info"# メモ設定ワード(※なるべく変更しないでください)
- end
- #
- if false
- # ★以下をコマンドのスクリプト等に貼り付けてテキスト表示----------------★
- # 種類 / 0=アイテム 1=武器 2=防具 3=スキル 4=金
- type = 4
- # ID / 金の場合は金額を入力
- id =
- # 入手テキスト / 金の場合無効
- text = "获得物品"
- #
- e = $game_temp.streffect
- e.push(Window_Getinfo.new(id, type, text))
- # ★ここまで------------------------------------------------------------★
- #
- # ◇スキル修得時などにアクター名を直接打ち込むと
- # アクターの名前が変えられるゲームなどで問題が生じます。
- # なので、以下のようにtext部分を改造するといいかもしれません。
- #
- # 指定IDのアクターの名前取得
- t = $game_actors[1].name
- text = t + " / スキル修得!"
- #
- end
- #==============================================================================
- # ■ Window_Getinfo
- #==============================================================================
- class Window_Getinfo < Window_Base
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- # actor : アクター
- #--------------------------------------------------------------------------
- def initialize(id, type, text = "")
- super(-16, 0, 544 + 32, 38 + 32)
- self.z = Z
- self.contents_opacity = 0
- self.back_opacity = 0
- self.opacity = 0
- @count = 0
- @i = $game_temp.getinfo_size.index(nil)
- @i = $game_temp.getinfo_size.size if (@i == nil)
- if Y_TYPE == 0
- self.y = -14 + (@i * 40)
- else
- self.y = 416 - 58 - (@i * 40)
- end
- $game_temp.getinfo_size[@i] = true
- refresh(id, type, text)
- INFO_SE.play
- end
- #--------------------------------------------------------------------------
- # ● 解放
- #--------------------------------------------------------------------------
- def dispose
- $game_temp.getinfo_size[@i] = nil
- super
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- self.viewport = nil
- @count += 1
- unless @count >= TIME
- self.contents_opacity += OPACITY
- else
- if Y_TYPE == 0
- self.y -= 1
- else
- self.y += 1
- end
- self.contents_opacity -= OPACITY
- dispose if self.contents_opacity == 0
- end
- end
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh(id, type, text = "")
- case type
- when 0 ; data = $data_items[id]
- when 1 ; data = $data_weapons[id]
- when 2 ; data = $data_armors[id]
- when 3 ; data = $data_skills[id]
- when 4 ; data = id
- else ; p "typeの値がおかしいです><;"
- end
- c = B_COLOR
- self.contents.fill_rect(0, 14, 225, 24, c)
- if type < 4
- draw_item_name(data, 4, 14)
- self.contents.draw_text(2040, 14, 340, WLH, description(data))
- else
- draw_icon(G_ICON, 4, 14)
- self.contents.draw_text(28, 14, 176, WLH, data.to_s + Vocab::gold)
- end
- self.contents.font.size = 14
- w = self.contents.text_size(text).width
- self.contents.fill_rect(0, 0, w + 4, 14, c)
- self.contents.draw_text_f(4, 0, 340, 14, text)
- Graphics.frame_reset
- end
- #--------------------------------------------------------------------------
- # ● 解説文取得
- #--------------------------------------------------------------------------
- def description(data)
- return $1.gsub!(/[\t\n\r\f]*/,"") if (data.note[/#{STR20W}\[\/(.*)\/\]/im]) != nil
- return data.description
- end
- end
- #==============================================================================
- # ■ Game_Temp
- #==============================================================================
- class Game_Temp
- #--------------------------------------------------------------------------
- # ● 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :getinfo_size
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias initialize_str20 initialize
- def initialize
- initialize_str20
- @getinfo_size = []
- end
- end
- #==============================================================================
- # ■ Bitmap
- #==============================================================================
- class Bitmap
- #--------------------------------------------------------------------------
- # ● 文字縁取り描画
- #--------------------------------------------------------------------------
- def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
- shadow = self.font.shadow
- b_color = self.font.color.dup
- font.shadow = false
- font.color = color
- draw_text(x + 1, y, width, height, str, align)
- draw_text(x - 1, y, width, height, str, align)
- draw_text(x, y + 1, width, height, str, align)
- draw_text(x, y - 1, width, height, str, align)
- font.color = b_color
- draw_text(x, y, width, height, str, align)
- font.shadow = shadow
- end
- def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
- draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
- end
- end
复制代码- #==============================================================================
- # ★RGSS2
- # STR20p2_インフォ表示物自動入手 08/01/28 scripted by 西瓜
- # サポート:http://otsu.cool.ne.jp/strcatyou/
- # ◇必須スクリプト STEMB_マップエフェクトベース
- # STR20_入手インフォメーション
- #
- # ・インフォで表示されたものと同内容のものを自動的に入手させます(スキルは除く)。
- # ・導入セクション位置はSTR20_入手インフォより下に。
- #
- #==============================================================================
- # ■ Window_Getinfo
- #==============================================================================
- class Window_Getinfo < Window_Base
- # エイリアス
- alias snf_getinfo_refresh refresh
- def refresh(id, type, text = "")
- snf_getinfo_refresh(id, type, text)
- case type
- when 0 ; data = $data_items[id]
- when 1 ; data = $data_weapons[id]
- when 2 ; data = $data_armors[id]
- end
- if type <= 2
- $game_party.gain_item(data, 1)
- elsif type == 4
- $game_party.gain_gold(id)
- end
- end
- end
复制代码
最好是有汉化的,十分感谢! |
|