赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 7526 |
最后登录 | 2021-4-24 |
在线时间 | 31 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 59
- 在线时间
- 31 小时
- 注册时间
- 2009-1-30
- 帖子
- 207
|
{/fd}- # 冒険メモ(RGSS2)
- # (C)2007 TYPE74RX-T
- # 〓〓★〓〓冒险笔记〓〓★〓〓
- # 〓〓★〓〓汉化:柳佳淇〓〓★〓〓
- # 〓〓★〓〓原作者:TYPE74RX-T〓〓★〓〓
- # 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
- # ★ 以下内容为再定义部分,如有相关脚本可能冲突
- # 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
- # class Scene_Menu
- # def create_command_window
- # def update_command_selection
- # class Scene_File
- # def return_scene
- # class Scene_End
- # def return_scene
- # 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
- #【事件的設定方法】
- #柳佳淇记录:
- #在事件里面的注释里面使用,上面文字之后的文字会记录到笔记里面
- #柳佳淇擦去:
- #【柳佳淇记录:】的内容消除。
- #请确保与【柳佳淇记录:】之后的内容一致才能删除。最好用复制来解决。
- #柳佳淇分段:
- #为了区别各个笔记内容,看起来方便
- #想消除分段标志请按照下列步骤来执行:
- #柳佳淇擦去:(←这里一定要用全角空格)
- #〓〓★〓〓柳佳淇的分界线〓〓★〓〓(或者是自己定义的东西)
- # (←这里一定要用全角空格)
- #柳佳淇销毁笔记
- #所有笔记内容清空。
- #==============================================================================
- # ★ RX_T(C)2007 TYPE74RX-T
- #------------------------------------------------------------------------------
- # 需要设置的部分。
- #==============================================================================
- module RX_T
- #〓〓★〓〓笔记模式:〓〓★〓〓
- #1为新登录的消息在最上面显示
- #2为新登录的消息在最下面显示
- #〓〓★〓〓
- RX_MemoOption = 1 # 1:新しく登録されたメモが一番上に来る
- # 2:新しく登録されたメモが一番下に来る
-
- #〓〓★〓〓 不同笔记之间用来区分的符号(可以自由替换)
- RX_Delimitation = " ---------------章节分界线---------------" # 区切りの印。
-
- #〓〓★〓〓 在菜单画面上显示的选项名称(可以自由替换)
- RX_MemoCommand = "日记" # メニュー上に表示するメモコマンド名
- end
- # 以下部分为组合的核心脚本无需改动,和主脚本不影响。
- #使用和设置方法部分上面已经足够。
- # 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
- #
- # 注釈を使ったイベントコマンド拡張用必須スクリプト(RGSS2)
- # (C)2007 TYPE74RX-T
- #
- class Game_Interpreter
- #--------------------------------------------------------------------------
- # ● イベントコマンドの実行
- #--------------------------------------------------------------------------
- alias rx_rgss2ic_execute_command execute_command
- def execute_command
- # 実行内容リストの最後に到達しておらず、コマンドコードが「注釈」である場合
- if not @index >= @list.size - 1 and
- @list[@index].code == 108
- # イベントコマンドのパラメータを @parameters で参照可能に
- @parameters = @list[@index].parameters
- # 「注釈」処理へ
- return command_108
- end
- # メソッドを呼び戻す
- rx_rgss2ic_execute_command
- end
- #--------------------------------------------------------------------------
- # ★ 注釈(コモンメソッド)
- #--------------------------------------------------------------------------
- def command_108
- # aliasに対応しやすくするためのコモンメソッドです。
- # 注釈を使ったオリジナルイベントコマンドに対応するため
- # このメソッド自体の末尾にはtrueもfalseも返しません。
- end
- end
- # 注释脚本结束
- # 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
- #
- # 冒険メモ(RGSS2)
- # (C)2007 TYPE74RX-T
- # 〓〓★〓〓冒险笔记〓〓★〓〓
- # ★ カスタマイズポイント:27~30行目
- #==============================================================================
- # ★ 再定義ポイント
- #------------------------------------------------------------------------------
- # class Scene_Menu
- # def create_command_window
- # def update_command_selection
- # class Scene_File
- # def return_scene
- # class Scene_End
- # def return_scene
- #==============================================================================
- #==============================================================================
- # ■ Game_Party
- #------------------------------------------------------------------------------
- # パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク
- # ラスのインスタンスは $game_party で参照されます。
- #==============================================================================
- class Game_Party < Game_Unit
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias rx_rgss2m1_initialize initialize
- def initialize
- # メソッドを呼び戻す
- rx_rgss2m1_initialize
- @rx_memo = ""
- end
- #--------------------------------------------------------------------------
- # ★ メモ
- #--------------------------------------------------------------------------
- def rx_memo
- return @rx_memo
- end
- #--------------------------------------------------------------------------
- # ★ メモの取得
- #--------------------------------------------------------------------------
- def rx_memo=(memo)
- @rx_memo = memo
- end
- end
- #==============================================================================
- # ■ Interpreter
- #------------------------------------------------------------------------------
- # イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
- # スや Game_Event クラスの内部で使用されます。
- #==============================================================================
- class Game_Interpreter
- #--------------------------------------------------------------------------
- # ★ 注釈
- #--------------------------------------------------------------------------
- alias rx_rgss2m1_command_108 command_108
- def command_108
- # メモに記入する
- if @parameters[0].include?("笔记:")
- # メモの内容を取得(コマンド名は排除)
- get_memo = @parameters[0].sub("笔记:", "")
- i = 1
- loop do
- # 次の行に文字列がある場合
- if @list[@index+i].code == 408
- get_memo += "\n" + @list[@index+i].parameters[0]
- i += 1
- else
- break
- end
- end
- case RX_T::RX_MemoOption
- when 1
- # 既存のメモを待避
- copy_memo = $game_party.rx_memo
- # 新しく登録したメモが一番上に来るようにする
- $game_party.rx_memo = get_memo + "\n" + copy_memo
- when 2
- # 新しく登録したメモが一番下に来るようにする
- $game_party.rx_memo += get_memo + "\n"
- end
- # 継続(競合対策)
- return true
- end
- # メモに区切りをつける
- if @parameters[0].include?("笔记分段")
- # メモに区切りをつける
- case RX_T::RX_MemoOption
- when 1
- # 既存のメモを待避
- copy_memo = $game_party.rx_memo
- # 新しく登録したメモが一番上に来るようにする
- $game_party.rx_memo = " " + "\n" + RX_T::RX_Delimitation + "\n" + " " + "\n" + copy_memo
- when 2
- # 新しく登録したメモが一番下に来るようにする
- $game_party.rx_memo += " " + "\n" + RX_T::RX_Delimitation + "\n" + " " + "\n"
- end
- # 継続(競合対策)
- return true
- end
- # 指定のメモを消去する
- if @parameters[0].include?("笔记擦去:")
- # メモの内容を取得(コマンド名は排除)
- get_memo = @parameters[0].sub("笔记擦去:", "")
- i = 1
- loop do
- # 次の行に文字列がある場合
- if @list[@index+i].code == 408
- get_memo += "\n" + @list[@index+i].parameters[0]
- i += 1
- else
- break
- end
- end
- # 指定のメモを消去する
- $game_party.rx_memo = $game_party.rx_memo.sub(get_memo, "")
- return true
- end
- # メモを全消去する
- if @parameters[0].include?("销毁笔记")
- # メモを全消去する
- $game_party.rx_memo = ""
- # 継続(競合対策)
- return true
- end
- # メソッドを呼び戻す
- rx_rgss2m1_command_108
- end
- end
- #==============================================================================
- # ■ Window_RX_Memo
- #------------------------------------------------------------------------------
- # メモ画面で表示する、メモウィンドウです。
- #==============================================================================
- class Window_RX_Memo < Window_Base
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- # actor : アクター
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, Graphics.width, Graphics.height)
- @memo_index = 0
- @draw_limit = false
- @lines = (Graphics.height - 32) / WLH
- # メモを配列化
- @memo = $game_party.rx_memo.split(/\s*\n\s*/)
- refresh
- end
- #--------------------------------------------------------------------------
- # ● メモのインデックス
- #--------------------------------------------------------------------------
- def memo_index
- return @memo_index
- end
- #--------------------------------------------------------------------------
- # ● メモのインデックスの取得
- #--------------------------------------------------------------------------
- def memo_index=(index)
- @memo_index = index
- end
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- # メモの最終行が見えたら進めたインデックスを戻す
- if @memo_index + @lines - 1 > @memo.size
- @memo_index -= 1
- end
- # メモの初期位置から更に上に行こうとしたらインデックスを戻す
- @memo_index = 0 if @memo_index < 0
- draw_memo_info
- end
- #--------------------------------------------------------------------------
- # ● メモ情報の描画
- # x : 描画先 X 座標
- # y : 描画先 Y 座標
- #--------------------------------------------------------------------------
- def draw_memo_info
- x = 0
- y = 0
- y2 = 0
- self.contents.font.color = normal_color
- # 一行ずつ出力(画面に出力できる範囲のみ)
- for i in @[email protected]
- self.contents.draw_text(x, y + WLH * y2, Graphics.width - 32, WLH, @memo[i])
- # 描画中の Y 座標を求める
- drawing_y_locate = WLH * y2 + WLH + 32
- # 最終行まで描画したら(一画面分ギリギリの場合を除く)
- if drawing_y_locate >= Graphics.height - WLH and @memo.size > @lines - 1
- # メモの最終位置まで描画したらリミットフラグを立てる
- @draw_limit = true if @lines + @memo_index - 1 >= @memo.size
- # ウインドウの最下段に上下の操作方法を表示
- @draw_limit ? mes = "↑:返回" : mes = "↓:前进"
- mes = "↑:返回 ↓:前进" if @memo_index > 0 and not @draw_limit
- self.contents.draw_text(x, y + WLH * (y2 + 1), Graphics.width - 32, WLH, mes)
- # リミットフラグを解除してループを抜ける
- @draw_limit = false if @draw_limit
- break
- end
- y2 += 1
- end
- end
- end
- #==============================================================================
- # ■ Scene_Menu
- #------------------------------------------------------------------------------
- # メニュー画面の処理を行うクラスです。
- #==============================================================================
- #~ class Scene_Menu < Scene_Base
- #~ #--------------------------------------------------------------------------
- #~ # ● コマンドウィンドウの作成
- #~ #--------------------------------------------------------------------------
- #~ def create_command_window
- #~ s1 = Vocab::item
- #~ s2 = Vocab::skill
- #~ s3 = Vocab::equip
- #~ s4 = Vocab::status
- #~ s5 = "加点"
- #~ s6 = RX_T::RX_MemoCommand
- #~ s7 = Vocab::save
- #~ s8 = Vocab::game_end
- #~ @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
- #~ @command_window.index = @menu_index
- #~ if $game_party.members.size == 0 # パーティ人数が 0 人の場合
- #~ @command_window.draw_item(0, false) # アイテムを無効化
- #~ @command_window.draw_item(1, false) # スキルを無効化
- #~ @command_window.draw_item(2, false) # 装備を無効化
- #~ @command_window.draw_item(3, false) # ステータスを無効化
- #~ end
- #~ if $game_system.save_disabled # セーブ禁止の場合
- #~ @command_window.draw_item(5, false) # セーブを無効化(元は4)
- #~ end
- #~ end
- #~ #--------------------------------------------------------------------------
- #~ # ● コマンド選択の更新
- #~ #--------------------------------------------------------------------------
- #~ def update_command_selection
- #~ if Input.trigger?(Input::B)
- #~ Sound.play_cancel
- #~ $scene = Scene_Map.new
- #~ elsif Input.trigger?(Input::C)
- #~ if $game_party.members.size == 0 and @command_window.index < 4
- #~ Sound.play_buzzer
- #~ return
- #~ elsif $game_system.save_disabled and @command_window.index == 5 # 元は4
- #~ Sound.play_buzzer
- #~ return
- #~ end
- #~ Sound.play_decision
- #~ case @command_window.index
- #~ when 0 # 物品
- #~ $scene = Scene_Item.new
- #~ when 1,2,3 # 技能、装备、状态
- #~ start_actor_selection
- #~ when 4 #属性加点
- #~ $scene = Scene_Lvup.new
- #~ when 5 # 冒险笔记
- #~ $scene = Scene_RX_Memo.new
- #~ when 6 # 存档
- #~ $scene = Scene_File.new(true, false, false)
- #~ when 7 # 结束游戏
- #~ $scene = Scene_End.new
- #~ end
- #~ end
- #~ end
- #~ end
- #==============================================================================
- # ■ Scene_File
- #------------------------------------------------------------------------------
- # ファイル画面の処理を行うクラスです。
- #==============================================================================
- class Scene_File < Scene_Base
- #--------------------------------------------------------------------------
- # ● 元の画面へ戻る
- #--------------------------------------------------------------------------
- def return_scene
- if @from_title
- $scene = Scene_Title.new
- elsif @from_event
- $scene = Scene_Map.new
- else
- $scene = Scene_Menu.new(5) # 元は4
- end
- end
- end
- #==============================================================================
- # ■ Scene_End
- #------------------------------------------------------------------------------
- # ゲーム終了画面の処理を行うクラスです。
- #==============================================================================
- class Scene_End < Scene_Base
- #--------------------------------------------------------------------------
- # ● 元の画面へ戻る
- #--------------------------------------------------------------------------
- def return_scene
- $scene = Scene_Menu.new(6) # 元は5
- end
- end
- #==============================================================================
- # ■ Scene_RX_Memo
- #------------------------------------------------------------------------------
- # メモ画面の処理を行うクラスです。
- #==============================================================================
- class Scene_RX_Memo < Scene_Base
- #--------------------------------------------------------------------------
- # ● 開始処理
- #--------------------------------------------------------------------------
- def start
- super
- create_menu_background
- @status_window = Window_RX_Memo.new
- end
- #--------------------------------------------------------------------------
- # ● 終了処理
- #--------------------------------------------------------------------------
- def terminate
- super
- dispose_menu_background
- @status_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 元の画面へ戻る
- #--------------------------------------------------------------------------
- def return_scene
- $scene = Scene_Menu.new(4)
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- update_menu_background
- @status_window.update
- if Input.trigger?(Input::B)
- Sound.play_cancel
- return_scene
- elsif Input.repeat?(Input::DOWN)
- Sound.play_cursor
- @status_window.memo_index += 1
- @status_window.refresh
- elsif Input.repeat?(Input::UP)
- Sound.play_cursor
- @status_window.memo_index -= 1
- @status_window.refresh
- end
- super
- end
- end
复制代码
记事本 系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~ |
|