이벤트 명령 'Wait for Move Completion(이동 완료까지 대기)'가 특정상황(캐릭터나 이벤트에 이동경로를 할당한 뒤 그것을 반복시킬 때)에서 게임을 멈추게 하는 문제를 수정하는 스크립트입니다.
#==========================================================================
# ** SG Wait for Move Completion Fix
#==========================================================================
# sandgolem
# Version 1
# 22.07.06
#==========================================================================
#
# To use this script, copy it and insert it in a new section above "Main",
# but under the default scripts and the SDK if you're using it.
#
#==========================================================================
begin
SDK.log('SG Wait for Move Completion Fix', 'sandgolem', 1, '22.07.06')
if SDK.state('SG Wait for Move Completion Fix') != true
@sg_completionfix_disabled = true
end
rescue
end
if !@sg_completionfix_disabled
#--------------------------------------------------------------------------
class Game_Character
attr_accessor :sg_move_fix
alias sandgolem_completionfix_character_forcemr force_move_route
def force_move_route(move_route)
@sg_move_fix = nil
sandgolem_completionfix_character_forcemr(move_route)
end
alias sandgolem_completionfix_character_mtcustom move_type_custom
def move_type_custom
if @move_route.list[@move_route_index].code == 0
@sg_move_fix = true
end
sandgolem_completionfix_character_mtcustom
end
end
#--------------------------------------------------------------------------
end
스크립트를 삽입한 뒤 인터프리터부분에서 다음을 찾음:
class Interpreter
.........
def update
.........
# Loop (map events)
for event in $game_map.events.values
# If this event is forcing move route
if event.move_route_forcing #찾기
return
end
end
.........
해당 부분을 다음처럼 수정:
class Interpreter
.........
def update
.........
# Loop (map events)
for event in $game_map.events.values
# If this event is forcing move route
if event.move_route_forcing && !event.sg_move_fix #수정
return
end
end
.........
#==========================================================================
# ** SG Wait for Move Completion Fix
#==========================================================================
# sandgolem
# Version 1
# 22.07.06
#==========================================================================
#
# To use this script, copy it and insert it in a new section above "Main",
# but under the default scripts and the SDK if you're using it.
#
#==========================================================================
begin
SDK.log('SG Wait for Move Completion Fix', 'sandgolem', 1, '22.07.06')
if SDK.state('SG Wait for Move Completion Fix') != true
@sg_completionfix_disabled = true
end
rescue
end
if !@sg_completionfix_disabled
#--------------------------------------------------------------------------
class Game_Character
attr_accessor :sg_move_fix
alias sandgolem_completionfix_character_forcemr force_move_route
def force_move_route(move_route)
@sg_move_fix = nil
sandgolem_completionfix_character_forcemr(move_route)
end
alias sandgolem_completionfix_character_mtcustom move_type_custom
def move_type_custom
if @move_route.list[@move_route_index].code == 0
@sg_move_fix = true
end
sandgolem_completionfix_character_mtcustom
end
end
#--------------------------------------------------------------------------
end
스크립트를 삽입한 뒤 인터프리터부분에서 다음을 찾음:
class Interpreter
.........
def update
.........
# Loop (map events)
for event in $game_map.events.values
# If this event is forcing move route
if event.move_route_forcing #찾기
return
end
end
.........
해당 부분을 다음처럼 수정:
class Interpreter
.........
def update
.........
# Loop (map events)
for event in $game_map.events.values
# If this event is forcing move route
if event.move_route_forcing && !event.sg_move_fix #수정
return
end
end
.........