赞 | 5 |
VIP | 71 |
好人卡 | 22 |
积分 | 6 |
经验 | 32145 |
最后登录 | 2013-8-9 |
在线时间 | 184 小时 |
Lv2.观梦者 天仙
- 梦石
- 0
- 星屑
- 620
- 在线时间
- 184 小时
- 注册时间
- 2008-4-15
- 帖子
- 5023
|
原出處:
文章送り改造
需配合此脚本:「注釈」を使ったイベントコマンド拡張系
对了,关於版权问题,还请日语达人帮跟作者说一声,谢。
我修改过後的脚本:
- #
- # ネームウインドウ表示(RGSS2)
- # (C)2008 TYPE74RX-T
- #
- #==============================================================================
- # ★ RX_T_castname
- #------------------------------------------------------------------------------
- # メッセージ表示時に発言者の名前を表示するためのモジュールです。
- #==============================================================================
- module RX_T_castname
- #--------------------------------------------------------------------------
- # ● 開始処理
- #--------------------------------------------------------------------------
- def start
- super
- @rx_castname_window = Window_RXcastname.new
- end
- #--------------------------------------------------------------------------
- # ● 終了処理
- #--------------------------------------------------------------------------
- def terminate
- super
- @rx_castname_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- super
- if $game_message.visible and $game_temp.rx_castname != ""
- @rx_castname_window.visible = true
- @rx_castname_window.width = @rx_castname_window.contents.text_size($game_temp.rx_castname).width+32
- @rx_castname_window.contents = Bitmap.new(@rx_castname_window.width-32, @rx_castname_window.height - 32)
- @rx_castname_window.refresh
- else
- @rx_castname_window.visible = false
- end
- end
- end
- #==============================================================================
- # ■ Game_Temp
- #------------------------------------------------------------------------------
- # セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
- # スタンスは $game_temp で参照されます。
- #==============================================================================
- class Game_Temp
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias rx_rgss2c6_initialize initialize
- def initialize
- # メソッドを呼び戻す
- rx_rgss2c6_initialize
- # ★ 発言者の名前
- @rx_castmame = ""
- end
- #--------------------------------------------------------------------------
- # ★ 発言者の名前
- #--------------------------------------------------------------------------
- def rx_castname
- return @rx_castmame
- end
- #--------------------------------------------------------------------------
- # ★ 発言者の名前の設定
- #--------------------------------------------------------------------------
- def rx_castname=(name)
- @rx_castmame = name
- end
- end
- #==============================================================================
- # ■ Interpreter
- #------------------------------------------------------------------------------
- # イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
- # スや Game_Event クラスの内部で使用されます。
- #==============================================================================
- class Game_Interpreter
- #--------------------------------------------------------------------------
- # ★ 注釈
- #--------------------------------------------------------------------------
- alias rx_rgss2c6_command_108 command_108
- def command_108
- # 名前表示
- if @parameters[0].include?("角色:")
- # コマンドから先の文字列を全取得
- $game_temp.rx_castname = rx_get_all_str(@parameters[0], "角色:")
- # 継続(競合対策)
- return true
- end
- # 名前表示(アクター)
- if @parameters[0].include?("actor:")
- # 注釈から数字の文字列のみ取得し、数字の配列として返す
- name_id = rx_get_str_arrays(@parameters[0])
- # アクター名を発言者名に代入
- $game_temp.rx_castname = $data_actors[name_id[0]].name
- # 継続(競合対策)
- return true
- end
- # 名前表示(変数番号のアクター)
- if @parameters[0].include?("アクター変:")
- # 注釈から数字の文字列のみ取得し、数字の配列として返す
- name_id = rx_get_str_arrays(@parameters[0])
- # 変数番号のアクター名を発言者名に代入
- $game_temp.rx_castname = $data_actors[$game_variables[name_id[0]]].name
- # 継続(競合対策)
- return true
- end
- # 名無し化
- if @parameters[0].include?("空名")
- # 名無しに戻す
- $game_temp.rx_castname = ""
- # 継続(競合対策)
- return true
- end
- # メソッドを呼び戻す
- rx_rgss2c6_command_108
- end
- end
- #==============================================================================
- # ■ Window_RXcastname
- #------------------------------------------------------------------------------
- # メッセージ表示時に発言者の名前を表示するウィンドウです。
- #==============================================================================
- class Window_RXcastname < Window_Base
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- # x : ウィンドウの X 座標
- # y : ウィンドウの Y 座標
- #--------------------------------------------------------------------------
- def initialize(x = 0, y = 232)
- #super(20, 280, 240, WLH + 32)
- super(x, y, 64, WLH + 32)
- self.z = 201
- self.visible = false
- self.opacity = 240
- #self.opacity = 0
- refresh
- end
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- self.contents.draw_text(0, 0, 240, WLH, $game_temp.rx_castname)
- end
- end
- #==============================================================================
- # ■ Scene_Map
- #------------------------------------------------------------------------------
- # マップ画面の処理を行うクラスです。
- #==============================================================================
- class Scene_Map < Scene_Base
- include RX_T_castname
- end
复制代码
其实也没修改什麽,只是修改显示名称的窗口,让它变成自动调整大小而已。 |
|