http://www.gamebaker.com/rmxp/script-xs/attack-break.htm
전투중 공격명령을 사용하지 못하도록 하는 상태로 만들 수 있게 합니다.
#==========================================================================
# ** SG Attack Break
#==========================================================================
# sandgolem
# Version 1
# 25.06.06
#==========================================================================
Scene_Battle::SG_AttackBreak_State = 21
#==========================================================================
#
# To check for updates or find more script-xs, visit:
# http://www.gamebaker.com/rmxp/script-xs/
#
# To use this script-x, copy it and insert it in a new section above "Main",
# under the default script-xs, and the SDK if you're using it.
#
# Have problems? You can leave me a message at:
# http://www.gamebaker.com/users/sandgolem
#
#==========================================================================
#--------------------------------------------------------------------------
# * SDK Log Script-x
#--------------------------------------------------------------------------
begin
SDK.log("SG Attack Break", "sandgolem", 1, "25.06.06")
if SDK.state("SG Attack Break") != true
@sg_attackbreak_disabled = true
end
rescue
end
#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if !@sg_attackbreak_disabled
class Scene_Battle
alias sandgolem_attackbreak_battle_startph4 start_phase4
def start_phase4
sandgolem_attackbreak_battle_startph4
for i in $game_party.actors
if i.current_action.kind == 0 && i.current_action.basic == 0 &&
i.state?(SG_AttackBreak_State)
i.current_action.basic = 3
end
end
end
alias sandgolem_attackbreak_battle_ph3setcom phase3_setup_command_window
def phase3_setup_command_window
sandgolem_attackbreak_battle_ph3setcom
if @active_battler.state?(SG_AttackBreak_State)
@actor_command_window.disable_item(0)
@active_battler.sg_command_broken = true
elsif !@active_battler.sg_command_broken
@actor_command_window.refresh
end
end
alias sandgolem_attackbreak_battle_uph3basic update_phase3_basic_command
def update_phase3_basic_command
if Input.trigger?(Input::C)
if @actor_command_window.index == 0 &&
@active_battler.state?(SG_AttackBreak_State)
$game_system.se_play($data_system.buzzer_se)
return
end
end
sandgolem_attackbreak_battle_uph3basic
end
end
#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
** 이하의 부분은 Attack Break, Item Break, Skill Break 스크립트 추가 후 추가하는 부분입니다.(단, 해당 스크립트를 하나 이상 쓰는 경우 이 부분을 중복해서 쓰지 않아야 합니다)
class Game_Actor
attr_accessor :sg_command_broken
end
class Scene_Battle
alias sandgolem_commandbreak_battle_sph2 start_phase2
def start_phase2
sandgolem_commandbreak_battle_sph2
$game_party.actors.each { |i| i.sg_command_broken = nil }
end
end
전투중 공격명령을 사용하지 못하도록 하는 상태로 만들 수 있게 합니다.
#==========================================================================
# ** SG Attack Break
#==========================================================================
# sandgolem
# Version 1
# 25.06.06
#==========================================================================
Scene_Battle::SG_AttackBreak_State = 21
#==========================================================================
#
# To check for updates or find more script-xs, visit:
# http://www.gamebaker.com/rmxp/script-xs/
#
# To use this script-x, copy it and insert it in a new section above "Main",
# under the default script-xs, and the SDK if you're using it.
#
# Have problems? You can leave me a message at:
# http://www.gamebaker.com/users/sandgolem
#
#==========================================================================
#--------------------------------------------------------------------------
# * SDK Log Script-x
#--------------------------------------------------------------------------
begin
SDK.log("SG Attack Break", "sandgolem", 1, "25.06.06")
if SDK.state("SG Attack Break") != true
@sg_attackbreak_disabled = true
end
rescue
end
#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if !@sg_attackbreak_disabled
class Scene_Battle
alias sandgolem_attackbreak_battle_startph4 start_phase4
def start_phase4
sandgolem_attackbreak_battle_startph4
for i in $game_party.actors
if i.current_action.kind == 0 && i.current_action.basic == 0 &&
i.state?(SG_AttackBreak_State)
i.current_action.basic = 3
end
end
end
alias sandgolem_attackbreak_battle_ph3setcom phase3_setup_command_window
def phase3_setup_command_window
sandgolem_attackbreak_battle_ph3setcom
if @active_battler.state?(SG_AttackBreak_State)
@actor_command_window.disable_item(0)
@active_battler.sg_command_broken = true
elsif !@active_battler.sg_command_broken
@actor_command_window.refresh
end
end
alias sandgolem_attackbreak_battle_uph3basic update_phase3_basic_command
def update_phase3_basic_command
if Input.trigger?(Input::C)
if @actor_command_window.index == 0 &&
@active_battler.state?(SG_AttackBreak_State)
$game_system.se_play($data_system.buzzer_se)
return
end
end
sandgolem_attackbreak_battle_uph3basic
end
end
#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
** 이하의 부분은 Attack Break, Item Break, Skill Break 스크립트 추가 후 추가하는 부분입니다.(단, 해당 스크립트를 하나 이상 쓰는 경우 이 부분을 중복해서 쓰지 않아야 합니다)
class Game_Actor
attr_accessor :sg_command_broken
end
class Scene_Battle
alias sandgolem_commandbreak_battle_sph2 start_phase2
def start_phase2
sandgolem_commandbreak_battle_sph2
$game_party.actors.each { |i| i.sg_command_broken = nil }
end
end