Project1
标题:
装备名字能永久改变吗?
[打印本页]
作者:
咚小黑
时间:
2012-7-24 06:18
标题:
装备名字能永久改变吗?
本帖最后由 咚小黑 于 2012-7-27 19:34 编辑
在游戏中改变一个装备的名字。
从此之后,保存再打开还是这个装备修改后的名字, 脚本怎么写?改变了之后,想还原的时候怎么还原。
其他存档不改变。
作者:
黑化の包子
时间:
2012-7-24 10:08
我个人觉得吧、还是直接做一把相同属性但是名字不同的武器、然后通过事件替换武器和增减物品来做可能还相对简单些、
很小白的想法、觉得不好别说我啊...
作者:
feizhaodan
时间:
2012-7-24 11:04
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :item_names
attr_accessor :weapon_names
attr_accessor :armor_names
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias change_item_names_initialize initialize
def initialize
change_item_names_initialize
@item_names = {}
@weapon_names = {}
@armor_names = {}
end
#--------------------------------------------------------------------------
# ● 更改装备名称
#--------------------------------------------------------------------------
def change_item_names
@item_names.each do |id,name|
$data_items[id].name = name
end
@weapon_names.each do |id,name|
$data_weapons[id].name = name
end
@armor_names.each do |id,name|
$data_armors[id].name = name
end
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ○ 更改道具名称
#--------------------------------------------------------------------------
def change_item_name(id,name)
i = $data_items[id]
if i
i.name = name
$game_system.item_names[id] = name
end
end
#--------------------------------------------------------------------------
# ○ 更改武器名称
#--------------------------------------------------------------------------
def change_weapon_name(id,name)
i = $data_weapons[id]
if i
i.name = name
$game_system.weapon_names[id] = name
end
end
#--------------------------------------------------------------------------
# ○ 更改道具名称
#--------------------------------------------------------------------------
def change_armor_name(id,name)
i = $data_armors[id]
if i
i.name = name
$game_system.armor_names[id] = name
end
end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias change_item_name_start start
def start
DataManager.load_database
change_item_name_start
end
end
#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
# ロード画面の処理を行うクラスです。
#==============================================================================
class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# ● ロード成功時の処理
#--------------------------------------------------------------------------
alias change_item_name_on_load_success on_load_success
def on_load_success
$game_system.change_item_names
change_item_name_on_load_success
end
end
复制代码
要更改的时候在事件脚本里面用
change_item_name(道具ID,更改后名称)
change_weapon_name(武器ID,更改后名称)
change_armor_name(防具ID,更改后名称)
复制代码
想要还原的时候把更改后名称弄成原来的名字就行。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1