질문과 답변

Extra Form

전투 시작시 전투/도주 선택 없이 바로 전투로 넘어가는 것과

 

전투 커맨드에서 아예 공격/방어를 삭제하고 싶은데 어떻게 할 수 없을까요?

 

한참동안 스크립트를 만져봤는데 결국 에러만 떠서 포기했네요... 방법 없나요?

Comment '1'
  • profile
    습작 2012.09.30 16:26

    0.

     

      질문하신 내용은 간단해보이지만, 실은 여러곳을 건드려줘야 하는 내용입니다. 일단 기본 기능상에서 지원하지 않는 커스텀이며 스크립트 수정을 통해서 구현이 가능합니다. 다만 이스피나님께서 언급하신 바와 같이 스크립트를 직접 수정하기 어려우신 분께는 다소 힘든 부분이라 생각됩니다. 제작의뢰쪽에 어울리는 질문내용이라고 할 수 있겠네요.^^


      아래 해당 기능 구현을 위해서 가볍게 수정된 코드를 적어드립니다. 충분한 테스트를 거치지 않았기 때문에 예외사항에 대해서는 불안정 할 수 도 있습니다. 더불어 요청하신 부분은 기존의 전투처리 과정을 뒤바꾸는 내용이기 때문에 아마도 다른 전투 관련 스크립트 사용시 충돌 등의 오작동 여지가 있으니 이점 참고하시면 감사하겠습니다.


      그럼 좋은 게임 제작 활동 부탁드립니다.^^


    #==============================================================================

    #==============================================================================

    module BattleManager

      #--------------------------------------------------------------------------

      def self.init_members

        @phase = :init

        @can_escape = false

        @can_lose = false

        @event_proc = nil

        @preemptive = false

        @surprise = false

        @actor_index = 0

        @action_forced = nil

        @map_bgm = nil

        @map_bgs = nil

        @action_battlers = []

      end

      #--------------------------------------------------------------------------

      def self.clear_actor

        @actor_index = 0

      end

      #--------------------------------------------------------------------------

      def self.prior_command

        begin

          if !actor || !actor.prior_command

            @actor_index = [0, @actor_index -= 1].max

          end

        end until actor.inputable?

        return true

      end

      #--------------------------------------------------------------------------

    end

    #==============================================================================

    #==============================================================================

    class Window_ActorCommand < Window_Command

      #--------------------------------------------------------------------------

      def make_command_list

        return unless @actor

        add_skill_commands

        add_item_command

      end

      #--------------------------------------------------------------------------

    end

    #==============================================================================

    #==============================================================================


    class Scene_Battle < Scene_Base

      #--------------------------------------------------------------------------

      def update_message_open

        if $game_message.busy? && !@status_window.close?

          @message_window.openness = 0

          @status_window.close

          @actor_command_window.close

        end

      end

      #--------------------------------------------------------------------------

      def create_all_windows

        create_message_window

        create_scroll_text_window

        create_log_window

        create_status_window

        create_info_viewport

        create_actor_command_window

        create_help_window

        create_skill_window

        create_item_window

        create_actor_window

        create_enemy_window

      end

      #--------------------------------------------------------------------------

      def create_actor_command_window

        @actor_command_window = Window_ActorCommand.new

        @actor_command_window.viewport = @info_viewport

        @actor_command_window.set_handler(:skill,  method(:command_skill))

        @actor_command_window.set_handler(:item,   method(:command_item))

        @actor_command_window.set_handler(:cancel, method(:prior_command))

        @actor_command_window.x = Graphics.width

      end

      #--------------------------------------------------------------------------

      def prior_command

        if BattleManager.prior_command

          start_actor_command_selection    

        end

      end

      #--------------------------------------------------------------------------

      def start_actor_command_selection

        unless scene_changing?

          refresh_status

          @status_window.unselect

          @status_window.open

          if BattleManager.input_start

            @status_window.select(BattleManager.actor.index)

            @actor_command_window.setup(BattleManager.actor)

          else

            turn_start

          end

        end

      end

      #--------------------------------------------------------------------------

      def battle_start

        BattleManager.battle_start

        process_event

        start_actor_command_selection

      end

      #--------------------------------------------------------------------------

      def turn_start

        @actor_command_window.close

        @status_window.unselect

        @subject =  nil

        BattleManager.turn_start

        @log_window.wait

        @log_window.clear

      end

      #--------------------------------------------------------------------------

      def turn_end

        all_battle_members.each do |battler|

          battler.on_turn_end

          refresh_status

          @log_window.display_auto_affected_status(battler)

          @log_window.wait_and_clear

        end

        BattleManager.turn_end

        process_event

        start_actor_command_selection

      end

      #--------------------------------------------------------------------------

      def update_info_viewport

        move_info_viewport(128) if @actor_command_window.active

        move_info_viewport(64)  if BattleManager.in_turn?

      end

      #--------------------------------------------------------------------------

    end





List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12456
RMVXA 특정 스크립트를 이벤트를 통해 마음대로 켜거나 끄기 2 양갱님 2015.03.29 215
RMVXA 특정 스탯을 안보이게 하고 싶어요 1 file GOETSU 2016.09.09 197
RMVXA 특정 시간, 복수변수, 스위치 조건에 발동하는 이벤트. 4 레스트 2012.11.01 1296
RMVXA 특정 아이탬을 가지고 있으면 대쉬 기능 가능하게 하는 법 5 707 2018.06.25 160
RMVXA 특정 아이템끼리 모아놓기 2 길라잡이 2015.06.21 143
RMVXA 특정 아이템을 선택하면 이벤트가 실행되게 하고싶습니다. 2 휠체어운전기사 2016.06.13 132
이벤트 작성 RMVXA 특정 아이템을 일정량 소지해야 사용할 수 있는 스킬을 구현하고 싶습니다. 2 AAAA. 2023.10.07 35
스크립트 작성 RMVXA 특정 위치 위에 있을 때 방향키나 기타 특정 키를 입력받았을때 정해진 기능이 실행되게 하려고 합니다. 1 무명유실 2019.12.09 68
이벤트 작성 RMVXA 특정 이벤트때 물체가 움직이게 하고 싶습니다 3 노드러브 2020.06.10 68
RMVXA 특정 이벤트를 보면 조작키가 안 먹힙니다.... 4 니야 2017.04.29 97
RMVXA 특정 이벤트에서 셧다운(게임 강제종료) 후에 다시 게임을 키고 시작했을 때 게임 내용의 변화 주기 2 동네Dn 2018.02.24 547
RMVXA 특정 이벤트의 좌표 알아내는 법. 1 불새우 2015.09.27 180
RMVXA 특정 장비는 해제불가능하게 만들기 2 Arees 2017.02.20 115
RMVXA 특정 장비를 착용했을때 내성 무효 이런 기능은 어떻게 집어넣나요? 4 AccelHacker 2016.11.17 128
RMVXA 특정 장소로 달려가는 이벤트를 많이 만들고 싶습니다 1 커세어리버 2014.11.24 273
RMVXA 특정 장소에서 인카운트 변경 2 레비엔 2012.09.23 1388
이벤트 작성 RMVXA 특정 조건 달성시 게임 폴더에 메모장 추가하기 5 무해 2022.01.26 252
RMVXA 특정 조건에서 일부 스크립트를 잠시 사용하지 않게 하는 방법이 있나요? 1 DisCat 2017.06.29 91
RMVXA 특정 좌표에서 아이템 사용시 이벤트 발생이 나오려면? 11 카온 2012.12.24 914
액션 전투 RMVXA 특정 키를 눌렀을 때 조준점이 만들어져서 키보드 또는 마우스로 움직이고 조준할 수 있게 하려면 어떻게해야할까요 2 무명유실 2019.10.25 151
Board Pagination Prev 1 ... 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 ... 150 Next
/ 150