| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2015-6-22 |
| 在线时间 | 84 小时 |
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 84 小时
- 注册时间
- 2011-7-8
- 回帖
- 38
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
就是下面这个HP脚本,用了之后用存档载入游戏玩没问题,但是如果开始新游戏的话就会报错。 如图
求教此脚本要如何修改才不出错,本人是脚本小白 ……我这里面用的是21号变量代入的队长的ID
[pre lang="ruby" line="1"]#----------------------------------------------------------------------------
#マップにウインドウ表示
#----------------------------------------------------------------------------
module MARU_MAP_WINDOW
#★設定項目
SWITCH = 1 #マップウインドウ表示に使用するスイッチ番号
#該当スイッチONで表示、OFFで非表示
ACTOR = 21 #ステータスを表示するアクターIDを参照する変数の番号
#変数が0の時はアクターID1番のステータスを表示
NAME = "満腹度" #追加ウインドウに表示する名前
VALUE = 191 #満腹度(仮)の値を操作する変数の番号
ASWITCH = 1 #追加ウインドウを表示するスイッチ
#(上のスイッチと同じにする事で同時に管理可能)
#★設定終わり
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# マップ画面の処理を行うクラスです。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 全ウィンドウの作成
#--------------------------------------------------------------------------
alias ma__create_all_windows create_all_windows
def create_all_windows
ma__create_all_windows
create_status_windows
end
#--------------------------------------------------------------------------
# ● 表示ウインドウの作成
#--------------------------------------------------------------------------
def create_status_windows
@actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
create_hpmp_window
create_extra_window
end
#--------------------------------------------------------------------------
# ● HP・MPウインドウの作成
#--------------------------------------------------------------------------
def create_hpmp_window
@hpmp_window = Window_Status_e.new
end
#--------------------------------------------------------------------------
# ● 経験値ウインドウの作成
#--------------------------------------------------------------------------
def create_extra_window
@ext_window = Window_Extra.new
@ext_window.width = @ext_window.width
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias ma_update update
def update
ma_update
@hpmp_window.update
@ext_window.update
end
end
#==============================================================================
# ■ Window_Status_e
#------------------------------------------------------------------------------
# HPとMPを表示するウィンドウです。
#==============================================================================
class Window_Status_e < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(96,0,148,fitting_height(2))
refresh
end
#--------------------------------------------------------------------------
# ● ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
return 140
end
#--------------------------------------------------------------------------
# ● ウインドウの更新
#--------------------------------------------------------------------------
def update
super
if $game_switches[MARU_MAP_WINDOW::SWITCH] == false
self.visible = false
return
else
self.visible = true
end
hpp = @actorsta.hp
mpp = @actorsta.mp
mhpp = @actorsta.mhp
mmpp = @actorsta.mmp
idd = $game_variables[MARU_MAP_WINDOW::ACTOR]
if hpp != @last_hp or mpp != @last_mp or idd != @last_id or
mhpp != @last_mhp or mmpp != @last_mmp
refresh
end
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
@actorsta = $game_actors[$game_variables[MARU_MAP_WINDOW::ACTOR]]
draw_actor_hp(@actorsta, 0, 0)
draw_actor_mp(@actorsta, 0, 24)
@last_hp = @actorsta.hp
@last_mhp = @actorsta.mhp
@last_mp = @actorsta.mp
@last_mmp = @actorsta.mmp
@last_id = $game_variables[MARU_MAP_WINDOW::ACTOR]
end
end
#==============================================================================
# ■ Window_Extraa
#------------------------------------------------------------------------------
# 追加項目を表示するウィンドウです。
#==============================================================================
class Window_Extra < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 72, window_width, fitting_height(1))
refresh
end
#--------------------------------------------------------------------------
# ● ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
return 140
end
#--------------------------------------------------------------------------
# ● 経験値ウインドウの作成
#--------------------------------------------------------------------------
def refresh
contents.clear
o_text = MARU_MAP_WINDOW::NAME
value = $game_variables[MARU_MAP_WINDOW::VALUE]
change_color(system_color)
draw_text(0, 0, 140, line_height, o_text)
change_color(normal_color)
draw_text(0, 0, window_width - 24, line_height, value.to_s, 2)
@last_value = $game_variables[MARU_MAP_WINDOW::VALUE]
end
#--------------------------------------------------------------------------
# ● ウインドウの更新
#--------------------------------------------------------------------------
def update
super
if $game_switches[MARU_MAP_WINDOW::ASWITCH] == false
self.visible = false
return
else
self.visible = true
end
val = $game_variables[MARU_MAP_WINDOW::VALUE]
if val != @last_value
refresh
end
end
end[/pre]
‘‘──PIA于2012-10-18 22:34补充以下内容:
一楼图忘发了,补上……
[attachimg]139341[/attachimg]
’’ |
|