http://www.phylomortis.com/resource/script/scr018.html
class Scene_Menu를 저걸로 대체하라....고 되어 있습니다(단, 저기에는 걸음수 표시가 빠져 있음). 사실 Scene_Menu를 통째로 갈아엎을 필요 없이 관련 부분만 추가하면 됩니다.
class Scene_Menu
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# menu_index : コマンドのカーソル初期位置
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
@changer = 0 #Change Party Order by Yargovish
@where = 0 #
@checker = 0 #추가 끝
end
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# コマンドウィンドウを作成
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
#위의 부분을 편집해서 순서변경항목을 추가합니다.
...
if $game_party.actors.size == 1 #
@command_window.disable_item(순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
end
...
#--------------------------------------------------------------------------
# ● フレーム更新 (コマンドウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_command
...
# C ボタンが押された場合
if Input.trigger?(Input::C)
# パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
if $game_party.actors.size == 0 and @command_window.index < 4
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
if $game_party.actors.size <= 1 and @command_window.index == (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
$game_system.se_play($data_system.buzzer_se)
return
end #추가끝
...
case @command_window.index
...
when (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
#Change Party Order by Yargovish
$game_system.se_play($data_system.decision_se)
@checker = 0
@command_window.active = false
@status_window.active = true
@status_window.index = 0
...
#--------------------------------------------------------------------------
# ● フレーム更新 (ステータスウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_status
...
# C ボタンが押された場合
if Input.trigger?(Input::C)
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
...
when (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
#Change Party Order by Yargovish
$game_system.se_play($data_system.decision_se)
if @checker == 0
@changer = $game_party.actors[@status_window.index]
@where = @status_window.index
@checker = 1
else
$game_party.actors[@where] = $game_party.actors[@status_window.index]
$game_party.actors[@status_window.index] = @changer
@checker = 0
@status_window.refresh
...
**이 스크립트로 파티멤버들의 순서를 바꾸면 메뉴상이나 전투상에서는 순서가 바뀐 것으로 나오지만 맵상에 표시되는 선두캐릭터에는 영향을 주지 않습니다(누가 선두캐릭터도 바뀌게 해 보실 분?).
class Scene_Menu를 저걸로 대체하라....고 되어 있습니다(단, 저기에는 걸음수 표시가 빠져 있음). 사실 Scene_Menu를 통째로 갈아엎을 필요 없이 관련 부분만 추가하면 됩니다.
class Scene_Menu
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# menu_index : コマンドのカーソル初期位置
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
@changer = 0 #Change Party Order by Yargovish
@where = 0 #
@checker = 0 #추가 끝
end
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# コマンドウィンドウを作成
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
#위의 부분을 편집해서 순서변경항목을 추가합니다.
...
if $game_party.actors.size == 1 #
@command_window.disable_item(순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
end
...
#--------------------------------------------------------------------------
# ● フレーム更新 (コマンドウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_command
...
# C ボタンが押された場合
if Input.trigger?(Input::C)
# パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
if $game_party.actors.size == 0 and @command_window.index < 4
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
if $game_party.actors.size <= 1 and @command_window.index == (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
$game_system.se_play($data_system.buzzer_se)
return
end #추가끝
...
case @command_window.index
...
when (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
#Change Party Order by Yargovish
$game_system.se_play($data_system.decision_se)
@checker = 0
@command_window.active = false
@status_window.active = true
@status_window.index = 0
...
#--------------------------------------------------------------------------
# ● フレーム更新 (ステータスウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_status
...
# C ボタンが押された場合
if Input.trigger?(Input::C)
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
...
when (순서변경항목 인덱스번호) #인덱스 번호는 배열처럼 0에서 시작
#Change Party Order by Yargovish
$game_system.se_play($data_system.decision_se)
if @checker == 0
@changer = $game_party.actors[@status_window.index]
@where = @status_window.index
@checker = 1
else
$game_party.actors[@where] = $game_party.actors[@status_window.index]
$game_party.actors[@status_window.index] = @changer
@checker = 0
@status_window.refresh
...
**이 스크립트로 파티멤버들의 순서를 바꾸면 메뉴상이나 전투상에서는 순서가 바뀐 것으로 나오지만 맵상에 표시되는 선두캐릭터에는 영향을 주지 않습니다(누가 선두캐릭터도 바뀌게 해 보실 분?).