赞 | 0 |
VIP | 4 |
好人卡 | 0 |
积分 | 2 |
经验 | 31715 |
最后登录 | 2021-9-11 |
在线时间 | 829 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 180
- 在线时间
- 829 小时
- 注册时间
- 2010-6-26
- 帖子
- 671
|
改名字有现成的脚本,不过改注释就没有了- =begin
- ■スキル?アイテム名称変更 RGSS2 DAIpage■ v1.0
- ●機能と仕様●
- 任意のスキルやアイテムの名前をプレイヤーに変更させることができます。
- ●使い方●
- イベントコマンド?スクリプトで、
- $scene = Scene_Item_Name.new(kind, id)
- を実行します。
- kindには種別(0:スキル、1:アイテム、2:武器、3:防具)を指定します。
- idにはアイテムのidを指定します。
- 記述例:
- # ファイアの名前を変更
- $scene = Scene_Item_Name.new(0, 59)
- # ポーションの名前を変更
- $scene = Scene_Item_Name.new(1, 1)
- ●再定義している箇所●
- Game_System、module RPGをエイリアス。
- ※同じ箇所を変更するスクリプトと併用した場合は競合する可能性があります。
- ●更新履歴●
- 09/06/04:公開
- =end
- module RPG
- #==============================================================================
- # ■ BaseItem
- #==============================================================================
- class BaseItem
- #--------------------------------------------------------------------------
- # ● 名前
- #--------------------------------------------------------------------------
- alias dai_ed_name name unless $@
- def name
- return name_kind.nil? ? dai_ed_name : name_kind
- end
- #--------------------------------------------------------------------------
- # ● 種別の判別
- #--------------------------------------------------------------------------
- def name_kind
- return $game_system.name_list[0][id] if self.is_a?(RPG::Skill)
- return $game_system.name_list[1][id] if self.is_a?(RPG::Item)
- return $game_system.name_list[2][id] if self.is_a?(RPG::Weapon)
- return $game_system.name_list[3][id] if self.is_a?(RPG::Armor)
- return nil
- end
- end
- end
- #==============================================================================
- # ■ Game_System
- #==============================================================================
- class Game_System
- #--------------------------------------------------------------------------
- # ● 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :name_list
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- alias dai_ed_name_initialize initialize
- def initialize
- dai_ed_name_initialize
- @name_list = [{0 => ""},{0 => ""},{0 => ""},{0 => ""}]
- end
- end
- #==============================================================================
- # ■ Window_NameEdit
- #==============================================================================
- class Window_Item_NameEdit < Window_NameEdit
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- draw_icon(@actor.icon_index, 36, 36)
- name_array = @name.split(//)
- for i in 0...@max_char
- c = name_array[i]
- c = '_' if c == nil
- self.contents.draw_text(item_rect(i), c, 1)
- end
- end
- end
- #==============================================================================
- # ■ Scene_Item_Name
- #==============================================================================
- class Scene_Item_Name < Scene_Base
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- def initialize(kind, id)
- @kind = kind
- @id = id
- end
- #--------------------------------------------------------------------------
- # ● 開始処理
- #--------------------------------------------------------------------------
- def start
- super
- create_menu_background
- @edit_window = Window_Item_NameEdit.new(item, 10)
- @input_window = Window_NameInput.new
- end
- #--------------------------------------------------------------------------
- # ● 終了処理
- #--------------------------------------------------------------------------
- def terminate
- super
- dispose_menu_background
- @edit_window.dispose
- @input_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 元の画面へ戻る
- #--------------------------------------------------------------------------
- def return_scene
- $scene = Scene_Map.new
- end
- #--------------------------------------------------------------------------
- # ● アイテムの取得
- #--------------------------------------------------------------------------
- def item
- case @kind
- when 0; return $data_skills[@id]
- when 1; return $data_items[@id]
- when 2; return $data_weapons[@id]
- when 3; return $data_armors[@id]
- end
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- super
- update_menu_background
- @edit_window.update
- @input_window.update
- if Input.repeat?(Input::B)
- if @edit_window.index > 0
- Sound.play_cancel
- @edit_window.back
- end
- elsif Input.trigger?(Input::C)
- if @input_window.is_decision
- if @edit_window.name == ""
- @edit_window.restore_default
- if @edit_window.name == ""
- Sound.play_buzzer
- else
- Sound.play_decision
- end
- else
- Sound.play_decision
- $game_system.name_list[@kind][@id] = @edit_window.name
- return_scene
- end
- elsif @input_window.character != ""
- if @edit_window.index == @edit_window.max_char
- Sound.play_buzzer
- else
- Sound.play_decision
- @edit_window.add(@input_window.character)
- end
- end
- end
- end
- end
复制代码 |
评分
-
查看全部评分
|