设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2945|回复: 2
打印 上一主题 下一主题

[已经解决] 装备名字能永久改变吗?

[复制链接]

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
跳转到指定楼层
1
发表于 2012-7-24 06:18:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 咚小黑 于 2012-7-27 19:34 编辑

在游戏中改变一个装备的名字。
从此之后,保存再打开还是这个装备修改后的名字,  脚本怎么写?改变了之后,想还原的时候怎么还原。


其他存档不改变。

Lv1.梦旅人

梦石
0
星屑
49
在线时间
342 小时
注册时间
2012-3-18
帖子
114
2
发表于 2012-7-24 10:08:32 | 只看该作者
我个人觉得吧、还是直接做一把相同属性但是名字不同的武器、然后通过事件替换武器和增减物品来做可能还相对简单些、
很小白的想法、觉得不好别说我啊...
南村群童欺我老无力、啪啪啪啪啪啪啪...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

3
发表于 2012-7-24 11:04:17 | 只看该作者
  1. #==============================================================================
  2. # ■ Game_System
  3. #------------------------------------------------------------------------------
  4. #  システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
  5. # します。このクラスのインスタンスは $game_system で参照されます。
  6. #==============================================================================

  7. class Game_System
  8.   #--------------------------------------------------------------------------
  9.   # ● 公開インスタンス変数
  10.   #--------------------------------------------------------------------------
  11.   attr_accessor :item_names
  12.   attr_accessor :weapon_names
  13.   attr_accessor :armor_names
  14.   #--------------------------------------------------------------------------
  15.   # ● オブジェクト初期化
  16.   #--------------------------------------------------------------------------
  17.   alias change_item_names_initialize initialize
  18.   def initialize
  19.     change_item_names_initialize
  20.     @item_names = {}
  21.     @weapon_names = {}
  22.     @armor_names = {}
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 更改装备名称
  26.   #--------------------------------------------------------------------------
  27.   def change_item_names
  28.     @item_names.each do |id,name|
  29.       $data_items[id].name = name
  30.     end
  31.     @weapon_names.each do |id,name|
  32.       $data_weapons[id].name = name
  33.     end
  34.     @armor_names.each do |id,name|
  35.       $data_armors[id].name = name
  36.     end
  37.   end
  38. end
  39. #==============================================================================
  40. # ■ Game_Interpreter
  41. #------------------------------------------------------------------------------
  42. #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
  43. # Game_Troop クラス、Game_Event クラスの内部で使用されます。
  44. #==============================================================================

  45. class Game_Interpreter
  46.   #--------------------------------------------------------------------------
  47.   # ○ 更改道具名称
  48.   #--------------------------------------------------------------------------
  49.   def change_item_name(id,name)
  50.     i = $data_items[id]
  51.     if i
  52.       i.name = name
  53.       $game_system.item_names[id] = name
  54.     end
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ○ 更改武器名称
  58.   #--------------------------------------------------------------------------
  59.   def change_weapon_name(id,name)
  60.     i = $data_weapons[id]
  61.     if i
  62.       i.name = name
  63.       $game_system.weapon_names[id] = name
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ 更改道具名称
  68.   #--------------------------------------------------------------------------
  69.   def change_armor_name(id,name)
  70.     i = $data_armors[id]
  71.     if i
  72.       i.name = name
  73.       $game_system.armor_names[id] = name
  74.     end
  75.   end
  76. end
  77. #==============================================================================
  78. # ■ Scene_Title
  79. #------------------------------------------------------------------------------
  80. #  タイトル画面の処理を行うクラスです。
  81. #==============================================================================

  82. class Scene_Title < Scene_Base
  83.   #--------------------------------------------------------------------------
  84.   # ● 開始処理
  85.   #--------------------------------------------------------------------------
  86.   alias change_item_name_start start
  87.   def start
  88.     DataManager.load_database
  89.     change_item_name_start
  90.   end
  91. end
  92. #==============================================================================
  93. # ■ Scene_Load
  94. #------------------------------------------------------------------------------
  95. #  ロード画面の処理を行うクラスです。
  96. #==============================================================================

  97. class Scene_Load < Scene_File
  98.   #--------------------------------------------------------------------------
  99.   # ● ロード成功時の処理
  100.   #--------------------------------------------------------------------------
  101.   alias change_item_name_on_load_success on_load_success
  102.   def on_load_success
  103.     $game_system.change_item_names
  104.     change_item_name_on_load_success
  105.   end
  106. end
复制代码
要更改的时候在事件脚本里面用
  1. change_item_name(道具ID,更改后名称)
  2. change_weapon_name(武器ID,更改后名称)
  3. change_armor_name(防具ID,更改后名称)
复制代码
想要还原的时候把更改后名称弄成原来的名字就行。

点评

谢谢  发表于 2012-7-27 17:04
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-14 13:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表