RGSS2(VX製)デフォルトの装備画面を改良したい
RGSS2(VX製)デフォルトの装備画面を改良したい
色々ごちゃごちゃしていて、すみません…。
2枚目の画像のような装備画面にしたいのですが、KGC様の「ヘルプウィンドウ拡張機能」を使っていて、VXデフォルトから、改良を試みたものの1枚目の画像になりました。
そこから、選択で縦一列の状態から、横に移動?選択?が可能にすることができなく、力尽きました。
なるべく、デフォルト(VX)から起用したいです。
[attachment=0]5235325.png[/attachment]
KGC様のヘルプウィンドウ拡張機能 にある、装備画面を改良したものです。
[color=#FF80BF]140行[/color]
[code]
#==============================================================================
# ■ Scene_Equip
#==============================================================================
class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias start_KGC_HelpExtension start
def start
start_KGC_HelpExtension
adjust_window_size
end
#--------------------------------------------------------------------------
# ● ウィンドウサイズ調整
#--------------------------------------------------------------------------
def adjust_window_size
@help_window.row_max = KGC::HelpExtension::ROW_MAX
@equip_window.y = 174 #@help_window.height
@status_window.y = @help_window.height
resize_item_windows
end
#--------------------------------------------------------------------------
# ● アイテムウィンドウのサイズ変更
#--------------------------------------------------------------------------
def resize_item_windows
@item_windows.each { |w|
dy = @help_window.height + @equip_window.height
w.y = dy
w.height = Graphics.height + dy
w.refresh
}
end
end
[/code]
[color=#FF80BF]175行[/color]
下記は、デフォルトのEquipです。(デフォルトのまま全て貼り付けてます)
[code]
#==============================================================================
# ■ Window_Equip
#------------------------------------------------------------------------------
# 装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
#==============================================================================
class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(0, y, 544, 100)#(x, y, 336, WLH * 5 + 32)装備可能アイテム一覧ウィンドウ
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● アイテムの取得
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
if @actor.two_swords_style
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)#4, WLH * 0, 92, WLH
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
else
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::armor1)
end
self.contents.draw_text(4, WLH * 2, 92, WLH, Vocab::armor2)#4, WLH * 2, 92
self.contents.draw_text(4, WLH * 3, 92, WLH, Vocab::armor3)
self.contents.draw_text(180, 20, 92, WLH, Vocab::armor4)#4, WLH * 4, 92, WLH,
draw_item_name(@data[0], 92, WLH * 0)
draw_item_name(@data[1], 92, WLH * 0)#1
draw_item_name(@data[2], 92, WLH * 1)#2
draw_item_name(@data[3], 92, WLH * 1)#3
draw_item_name(@data[4], 92, WLH * 2)#4
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(item == nil ? "" : item.description)
end
end
[/code]
下記、デフォルトのEquipStatusです。(デフォルトのまま全て貼り付けてます)
[code]
#==============================================================================
# ■ Window_EquipStatus
#------------------------------------------------------------------------------
# 装備画面で、アクターの能力値変化を表示するウィンドウです。
#==============================================================================
class Window_EquipStatus < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 544, 99)#(x, y, 208, WLH * 5 + 32)255 99
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)#4, 0
draw_parameter(0, WLH * 1, 0) # 攻撃 (0, WLH * 2, 0)
draw_parameter(255, 22, 1) # 防御 (0, WLH * 2, 1)
draw_parameter(0, 46, 2) # 魔攻 (0, WLH * 2, 2)
draw_parameter(255, 46, 3) # 速さ (0, WLH * 2, 3)
draw_basic_info(0, 0)
#draw_parameter(0, WLH * 5, 4)#追加
#draw_parameter(0, WLH * 6, 5)#追加
end
#--------------------------------------------------------------------------
# ● 装備変更後の能力値設定
# new_atk : 装備変更後の攻撃力
# new_def : 装備変更後の防御力
# new_spi : 装備変更後の精神力
# new_agi : 装備変更後の敏捷性
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_def, new_spi, new_agi)
if @new_atk != new_atk or @new_def != new_def or
@new_spi != new_spi or @new_agi != new_agi
@new_atk = new_atk
@new_def = new_def
@new_spi = new_spi
@new_agi = new_agi
refresh
end
end
#--------------------------------------------------------------------------
# ● 装備変更後の能力値の描画色取得
# old_value : 装備変更前の能力値
# new_value : 装備変更後の能力値
#--------------------------------------------------------------------------
def new_parameter_color(old_value, new_value)
if new_value > old_value # 強くなる
return power_up_color
elsif new_value == old_value # 変わらず
return normal_color
else # 弱くなる
return power_down_color
end
end
#--------------------------------------------------------------------------
# ● 能力値の描画
# x : 描画先 X 座標
# y : 描画先 Y 座標
# type : 能力値の種類 (0~3)
#--------------------------------------------------------------------------
def draw_parameter(x, y, type)
case type
when 0
name = Vocab::atk
value = @actor.atk
new_value = @new_atk
when 1
name = Vocab::def
value = @actor.def
new_value = @new_def
when 2
name = Vocab::spi
value = @actor.spi
new_value = @new_spi
when 3
name = Vocab::agi
value = @actor.agi
new_value = @new_agi
end
self.contents.font.color = system_color
self.contents.draw_text(x + 3, y, 80, WLH, name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 45, y, 86, WLH, value, 2)
self.contents.font.color = system_color
self.contents.draw_text(x + 140, y, 20, WLH, "→", 1)
if new_value != nil
self.contents.font.color = new_parameter_color(value, new_value)
self.contents.draw_text(x + 165, y, 86, WLH, new_value, 2)#122,55
end
end
#--------------------------------------------------------------------------
# ● 基本情報の描画
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, 90, 0)
draw_actor_hp(@actor, 210, 0) # (@actor, x, y + WLH * 1)
draw_actor_mp(@actor, 380, 0) # (@actor, x, y + WLH * 2)
end
end
[/code]
[attachment=1]名称未設定.png[/attachment]
2枚目の画像のような装備画面にしたいのですが、KGC様の「ヘルプウィンドウ拡張機能」を使っていて、VXデフォルトから、改良を試みたものの1枚目の画像になりました。
そこから、選択で縦一列の状態から、横に移動?選択?が可能にすることができなく、力尽きました。
なるべく、デフォルト(VX)から起用したいです。
[attachment=0]5235325.png[/attachment]
KGC様のヘルプウィンドウ拡張機能 にある、装備画面を改良したものです。
[color=#FF80BF]140行[/color]
[code]
#==============================================================================
# ■ Scene_Equip
#==============================================================================
class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias start_KGC_HelpExtension start
def start
start_KGC_HelpExtension
adjust_window_size
end
#--------------------------------------------------------------------------
# ● ウィンドウサイズ調整
#--------------------------------------------------------------------------
def adjust_window_size
@help_window.row_max = KGC::HelpExtension::ROW_MAX
@equip_window.y = 174 #@help_window.height
@status_window.y = @help_window.height
resize_item_windows
end
#--------------------------------------------------------------------------
# ● アイテムウィンドウのサイズ変更
#--------------------------------------------------------------------------
def resize_item_windows
@item_windows.each { |w|
dy = @help_window.height + @equip_window.height
w.y = dy
w.height = Graphics.height + dy
w.refresh
}
end
end
[/code]
[color=#FF80BF]175行[/color]
下記は、デフォルトのEquipです。(デフォルトのまま全て貼り付けてます)
[code]
#==============================================================================
# ■ Window_Equip
#------------------------------------------------------------------------------
# 装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
#==============================================================================
class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(0, y, 544, 100)#(x, y, 336, WLH * 5 + 32)装備可能アイテム一覧ウィンドウ
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● アイテムの取得
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
if @actor.two_swords_style
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)#4, WLH * 0, 92, WLH
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
else
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::armor1)
end
self.contents.draw_text(4, WLH * 2, 92, WLH, Vocab::armor2)#4, WLH * 2, 92
self.contents.draw_text(4, WLH * 3, 92, WLH, Vocab::armor3)
self.contents.draw_text(180, 20, 92, WLH, Vocab::armor4)#4, WLH * 4, 92, WLH,
draw_item_name(@data[0], 92, WLH * 0)
draw_item_name(@data[1], 92, WLH * 0)#1
draw_item_name(@data[2], 92, WLH * 1)#2
draw_item_name(@data[3], 92, WLH * 1)#3
draw_item_name(@data[4], 92, WLH * 2)#4
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(item == nil ? "" : item.description)
end
end
[/code]
下記、デフォルトのEquipStatusです。(デフォルトのまま全て貼り付けてます)
[code]
#==============================================================================
# ■ Window_EquipStatus
#------------------------------------------------------------------------------
# 装備画面で、アクターの能力値変化を表示するウィンドウです。
#==============================================================================
class Window_EquipStatus < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 544, 99)#(x, y, 208, WLH * 5 + 32)255 99
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)#4, 0
draw_parameter(0, WLH * 1, 0) # 攻撃 (0, WLH * 2, 0)
draw_parameter(255, 22, 1) # 防御 (0, WLH * 2, 1)
draw_parameter(0, 46, 2) # 魔攻 (0, WLH * 2, 2)
draw_parameter(255, 46, 3) # 速さ (0, WLH * 2, 3)
draw_basic_info(0, 0)
#draw_parameter(0, WLH * 5, 4)#追加
#draw_parameter(0, WLH * 6, 5)#追加
end
#--------------------------------------------------------------------------
# ● 装備変更後の能力値設定
# new_atk : 装備変更後の攻撃力
# new_def : 装備変更後の防御力
# new_spi : 装備変更後の精神力
# new_agi : 装備変更後の敏捷性
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_def, new_spi, new_agi)
if @new_atk != new_atk or @new_def != new_def or
@new_spi != new_spi or @new_agi != new_agi
@new_atk = new_atk
@new_def = new_def
@new_spi = new_spi
@new_agi = new_agi
refresh
end
end
#--------------------------------------------------------------------------
# ● 装備変更後の能力値の描画色取得
# old_value : 装備変更前の能力値
# new_value : 装備変更後の能力値
#--------------------------------------------------------------------------
def new_parameter_color(old_value, new_value)
if new_value > old_value # 強くなる
return power_up_color
elsif new_value == old_value # 変わらず
return normal_color
else # 弱くなる
return power_down_color
end
end
#--------------------------------------------------------------------------
# ● 能力値の描画
# x : 描画先 X 座標
# y : 描画先 Y 座標
# type : 能力値の種類 (0~3)
#--------------------------------------------------------------------------
def draw_parameter(x, y, type)
case type
when 0
name = Vocab::atk
value = @actor.atk
new_value = @new_atk
when 1
name = Vocab::def
value = @actor.def
new_value = @new_def
when 2
name = Vocab::spi
value = @actor.spi
new_value = @new_spi
when 3
name = Vocab::agi
value = @actor.agi
new_value = @new_agi
end
self.contents.font.color = system_color
self.contents.draw_text(x + 3, y, 80, WLH, name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 45, y, 86, WLH, value, 2)
self.contents.font.color = system_color
self.contents.draw_text(x + 140, y, 20, WLH, "→", 1)
if new_value != nil
self.contents.font.color = new_parameter_color(value, new_value)
self.contents.draw_text(x + 165, y, 86, WLH, new_value, 2)#122,55
end
end
#--------------------------------------------------------------------------
# ● 基本情報の描画
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, 90, 0)
draw_actor_hp(@actor, 210, 0) # (@actor, x, y + WLH * 1)
draw_actor_mp(@actor, 380, 0) # (@actor, x, y + WLH * 2)
end
end
[/code]
[attachment=1]名称未設定.png[/attachment]
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
Window_EquipとWindow_EquipItemのinitialize内に
を追加すれば横移動が可能なはずです
コード: 全て選択
@column_max = 2
現在サポート終了中
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
上げさせたスクリプトを入れたら動きました。(CACAO様の講座を見て理解しました。
また、別なのですが、「デフォルト(VX)他サイト様からのスクリプトなし」、
で盾を消すことは可能なのでしょうか?(下のような図面)
武器 頭
身体 装飾品
装飾品
みたいな感じはできか、どうか試しているんですが。。うまく行かず困ってます。
やはり盾は二刀流の為に存在してるのだけであって、消すことは出来ないのでしょうか?
上記のようなデザイン?は作れたのですが、装備選択がずれる状態になっています。
Window_Equipにある。
新たに追加した。
Scene_Equip内のここ。
Scene_Equipのアイテムウィンドウの作成or 更新をいじるのかな?と思ってますが、うまくいきません。
また、別なのですが、「デフォルト(VX)他サイト様からのスクリプトなし」、
で盾を消すことは可能なのでしょうか?(下のような図面)
武器 頭
身体 装飾品
装飾品
みたいな感じはできか、どうか試しているんですが。。うまく行かず困ってます。
やはり盾は二刀流の為に存在してるのだけであって、消すことは出来ないのでしょうか?
上記のようなデザイン?は作れたのですが、装備選択がずれる状態になっています。
Window_Equipにある。
コード: 全て選択
@column_max = 2
コード: 全て選択
@item_max = 5
コード: 全て選択
EQUIP_TYPE_MAX = 5 #定数5
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
別に二刀流や両手持ちを使わないなら、消しても大丈夫ですやはり盾は二刀流の為に存在してるのだけであって、消すことは出来ないのでしょうか?
使うとバグるけど
上記のようなデザイン?は作れたのですが、装備選択がずれる状態になっています。
コード: 全て選択
class Window_EquipItem < Window_Item
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# width : ウィンドウの幅
# height : ウィンドウの高さ
# actor : アクター
# equip_type : 装備部位 (0~4)
#--------------------------------------------------------------------------
alias tomo_ex_equip_types_initialize initialize
def initialize(x, y, width, height, actor, equip_type)
equip_type = [0,2,3,4,4][equip_type]
tomo_ex_equip_types_initialize(x, y, width, height, actor, equip_type)
@column_max = 2
end
end
Window_Equipの装備部位名はそちらで何とかしてください
現在サポート終了中
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
Window_Equipの装備部位名は、できてました。
コードを入れて確認ができ、理想、装備画面になってくれました。
ありがとうございます。
コードを入れて確認ができ、理想、装備画面になってくれました。
ありがとうございます。
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
装備画面で武具を装備したら、存在しない選択が左下に出て。決定を押すとエラーでてしまいました…。
それと、この素材は、有償に使ってもよろしいでしょうか?
現在、諸事情がありまして…。下記、装備画面になりました。(大変、申し訳ございません。
武器 身体
頭 装飾品
以前のスクリプトから[4]を1つ消して、名称を調整し終わっています。
Window_EquipItem
の「○アイテムをリストに含めるかどうか」というところだと思うのですが、
どう改変したらいいのかお手上げです。
部分的に
だと思う。
それと、この素材は、有償に使ってもよろしいでしょうか?
現在、諸事情がありまして…。下記、装備画面になりました。(大変、申し訳ございません。
武器 身体
頭 装飾品
以前のスクリプトから[4]を1つ消して、名称を調整し終わっています。
Window_EquipItem
の「○アイテムをリストに含めるかどうか」というところだと思うのですが、
どう改変したらいいのかお手上げです。
部分的に
コード: 全て選択
return false unless item.kind == @equip_type - 1
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
それだけだと分かりにくいので、
他サイト様(KAMESOFT様とか)の装備拡張系をベースにレイアウトを変更した方がいいんだが…
エラー等も、デフォルトの5個から4個(5個以外)にした辺が原因かな?
※追記
これ書いた後に思ったんだが、前回貼ったスクリプトのをそのままにしてる?
[0,2,3,4,4]の配列は、順番に「武器・頭・身体・装飾品・装飾品」なので、
この順番や個数を変更するならここを弄る必要があります
元のequip_typeは「装備の〇番目」なだけだったので、これを用に「(前述の)配列の〇番目」に変更しました
の実際のスクショと装備画面で武具を装備したら、存在しない選択が左下に出て。
で出たエラーメッセージを載せて欲しいです決定を押すとエラーでてしまいました…。
OKですそれと、この素材は、有償に使ってもよろしいでしょうか?
こういう時の為にも、現在、諸事情がありまして…。下記、装備画面になりました。(大変、申し訳ございません。
武器 身体
頭 装飾品
以前のスクリプトから[4]を1つ消して、名称を調整し終わっています。
他サイト様(KAMESOFT様とか)の装備拡張系をベースにレイアウトを変更した方がいいんだが…
エラー等も、デフォルトの5個から4個(5個以外)にした辺が原因かな?
※追記
これ書いた後に思ったんだが、前回貼ったスクリプトの
コード: 全て選択
equip_type = [0,2,3,4,4][equip_type]
[0,2,3,4,4]の配列は、順番に「武器・頭・身体・装飾品・装飾品」なので、
この順番や個数を変更するならここを弄る必要があります
元のequip_typeは「装備の〇番目」なだけだったので、これを
コード: 全て選択
return false unless item.kind == @equip_type - 1
現在サポート終了中
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
説明とスクショ忘れてしまい、すみません。
1: 2:エラー画面 エラーが履いた部分はイジっていません。
3:有償について、ありがとうございます。
4:装備拡張を最初使っていたのですが、ゲームバランスを考えた結果、装飾品は1つの方がいい+装備画面に1枠の空白が気になりまして…。レイアウトも短くするつもりです。
5:こういう感じになっています。
以前作って頂いたスクリプトの番号は変更しています。
にしてます。
VXデフォルトの
部分にある、
は、色々イジってません。
KAMESOFT様の「装備拡張」を利用でも再現は出来るのでしょうか?
(装備拡張画面ではない方です。装備選択で別画面を出すのではなく、デフォルト(VX純正)を改良した感じのほうが、画面が見やすくていいなと。)
aliasされたコードを自分なりに改良をしたいのですが、どこをどう改良したらいいのか、わからずじまいです…。
1: 2:エラー画面 エラーが履いた部分はイジっていません。
3:有償について、ありがとうございます。
4:装備拡張を最初使っていたのですが、ゲームバランスを考えた結果、装飾品は1つの方がいい+装備画面に1枠の空白が気になりまして…。レイアウトも短くするつもりです。
5:こういう感じになっています。
コード: 全て選択
class Window_EquipItem < Window_Item
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# width : ウィンドウの幅
# height : ウィンドウの高さ
# actor : アクター
# equip_type : 装備部位 (0~4)
#--------------------------------------------------------------------------
alias tomo_ex_equip_types_initialize initialize
def initialize(x, y, width, height, actor, equip_type)
equip_type = [0, 3, 2, 4][equip_type]
tomo_ex_equip_types_initialize(x, y, width, height, actor, equip_type)
@column_max = 2
end
end
コード: 全て選択
equip_type = [0,2,3,4][equip_type]
VXデフォルトの
コード: 全て選択
Window_EquipItem
class Window_EquipItem < Window_Item
コード: 全て選択
return false unless item.kind == @equip_type - 1
KAMESOFT様の「装備拡張」を利用でも再現は出来るのでしょうか?
(装備拡張画面ではない方です。装備選択で別画面を出すのではなく、デフォルト(VX純正)を改良した感じのほうが、画面が見やすくていいなと。)
aliasされたコードを自分なりに改良をしたいのですが、どこをどう改良したらいいのか、わからずじまいです…。
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
> 1と2
調べようとしたけど、別のエラーが出たので現在調査中&修正中です
> 5
KAMESOFT様のを勧めたのは、
レイアウト自体はデフォルトとほぼ変わらず、
Mirinさんが改造した分を装備拡張の上に置けば、
いくつかはそのまま使える可能性があったからです
※私のは不要になるので使わないで下さい(エラーが出てるし)
あとは装備部位の数等を変更した際に生じる様々なバグがあるからです
だからその辺の対応が既に済んでるスクリプトを利用した方が早いのです
ちなみにaliasについては、
CACAO SOFT様の講座だと基礎編6にあります
あまり書かれてないので分かりにくいと思いますが、
aliasが使われてる部分の処理は基本弄らない方がいいです
それが邪魔だと思うならコメントアウトしてみて、エラー等が出なければ大体OKです
aliasはそれより上にある処理を壊さない為に使うものなので、
下に置くと上書きして消してしまいそうなのは、上に置きましょう
Mirinさんのは、
aliasをちゃんと使ってるなら装備拡張の下でいいですが、
使ってないなら上になります
調べようとしたけど、別のエラーが出たので現在調査中&修正中です
> 5
KAMESOFT様のを勧めたのは、
レイアウト自体はデフォルトとほぼ変わらず、
Mirinさんが改造した分を装備拡張の上に置けば、
いくつかはそのまま使える可能性があったからです
※私のは不要になるので使わないで下さい(エラーが出てるし)
あとは装備部位の数等を変更した際に生じる様々なバグがあるからです
だからその辺の対応が既に済んでるスクリプトを利用した方が早いのです
ちなみにaliasについては、
CACAO SOFT様の講座だと基礎編6にあります
あまり書かれてないので分かりにくいと思いますが、
aliasが使われてる部分の処理は基本弄らない方がいいです
それが邪魔だと思うならコメントアウトしてみて、エラー等が出なければ大体OKです
aliasはそれより上にある処理を壊さない為に使うものなので、
下に置くと上書きして消してしまいそうなのは、上に置きましょう
Mirinさんのは、
aliasをちゃんと使ってるなら装備拡張の下でいいですが、
使ってないなら上になります
現在サポート終了中
Re: RGSS2(VX製)デフォルトの装備画面を改良したい
ついでにKAMESOFT様対応ので作ってみました
これを装備拡張の上に置き、
を装備拡張の下に置いて下さい
細かい部分(描画位置等)の調整はそちらでして下さい
コード: 全て選択
class Window_EquipStatus
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_level(@actor, 144, 0)
draw_actor_hp_gauge(@actor, 220, 0)
draw_actor_hp(@actor, 220, 0)
draw_actor_mp_gauge(@actor, 350, 0)
draw_actor_mp(@actor, 350, 0)
width = (self.contents.width - 8) / 2
4.times {|i| draw_parameter(width * (i % 2), WLH * (i / 2 + 1), i) }
end
end
class Scene_Equip
#--------------------------------------------------------------------------
# ● アイテムウィンドウの作成
#--------------------------------------------------------------------------
def create_item_windows
@item_windows = []
width, height = Graphics.width, Graphics.height - 264
for i in 0...EQUIP_TYPE_MAX
@item_windows[i] = Window_EquipItem.new(0, 264, width, height, @actor, i)
@item_windows[i].help_window = @help_window
@item_windows[i].visible = (@equip_index == i)
@item_windows[i].y = 264
@item_windows[i].height = height
@item_windows[i].active = false
@item_windows[i].index = -1
end
end
end
コード: 全て選択
class Window_Equip < Window_Selectable
RowMax = 3
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, Graphics.width - x, WLH * RowMax + 32)
@actor = actor
@column_max = 2
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = @actor.equips.clone
@item_max = [@data.size, @actor.armor_number + 1].min
create_contents
# 装備箇所を描画
if @actor.two_swords_style
names = [Vocab::weapon1, Vocab::weapon2]
else
names = [Vocab::weapon, armor_slot_name(@actor.equip_type[0])]
end
(1...@actor.armor_number).each do |i|
names << armor_slot_name(@actor.equip_type[i])
end
@item_max.times do |i|
rect = item_rect(i)
self.contents.font.color = system_color
self.contents.draw_text(4 + rect.x, rect.y, 72, WLH, names[i])
draw_item_name(@data[i], rect.x + 72, rect.y)
rect.x += 92
rect.width -= 92
draw_equipment_ep_cost(@data[i], rect)
end
end
end
class Window_EquipStatus
RowMax = 3
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# actor : アクター
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, Graphics.width - x, WLH * RowMax + 32)
@actor = actor
@column_max = 2
refresh
end
end
class Scene_Equip
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@help_window = Window_Help.new
create_item_windows
@equip_window = Window_Equip.new(0, 56, @actor)
@equip_window.help_window = @help_window
@equip_window.index = @equip_index
@status_window = Window_EquipStatus.new(0, 56, @actor)
@equip_window.y = @status_window.y + @status_window.height
end
end
細かい部分(描画位置等)の調整はそちらでして下さい
現在サポート終了中