질문과 답변

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 12392
스크립트 작성 RMVXA VXA 능력치 체크하는 스크립트가 따로 있나요? 2 Maketh 2019.12.19 54
스크립트 작성 RMVXA 메뉴를 열었을때 저장 못하게하는 방법이 있나요 1 PSG 2020.01.11 125
스크립트 작성 RMVXA 현재 장착하고있는 무기의 id는 어떻게 적나요? 2 딱딱이 2020.02.26 57
스크립트 작성 RMVXA 커먼이벤트를 스크립트에서 실행하려면 어떻게 해야 하나요? 2 이경로 2020.05.23 166
스크립트 작성 RMVXA 게임 도중 타이틀 bgm 변경 ㄷㄲㅇ 2020.03.01 125
스크립트 작성 RMVXA 윈도우 스킨 따로 적용하는 법 1 떼껄룩 2020.07.29 604
스크립트 작성 RMVXA 초보)이런 스킬트리는 어떻게 만들죠? file 겜만들고싶다앙 2020.10.14 229
스크립트 작성 RMVXA vx ace)특정 상태일 경우 추가 피해를 주는 패시브 5 게임이만들고파 2021.04.08 121
스크립트 작성 RMVXA 메시지박스 제목 못 바꾸나요? 2 file 설님 2021.09.01 112
스크립트 작성 RMVXA 게임에서 이기면 돈을 얻을 수 있게하고 싶어요... 1 김빡빡 2022.01.17 202
스크립트 작성 RMVXA 알만툴 가드 브레이크ㅠㅠㅠㅠ 1 2024.05.31 11
스크립트 작성 RMVXA 조건분기 스크립트에서 변수 조건 거는 법 4 홍홍이1 2023.08.22 53
스크립트 작성 RMVXA 조건분기 스크립트에서 이벤트의 위치가 해당 위치에 있을때 조건거는법 2 홍홍이1 2023.08.24 45
스크립트 작성 RMVXA 적의 다음 행동이 표시되도록 하는 스크립트는 없을까요? 2 아무개 2023.06.19 50
스크립트 작성 RMVXA 조건 분기에 스크립트를 사용해 적용하고 싶습니다. 7 AAAA. 2023.11.17 48
스크립트 작성 RMVXA 전투에서 상태 이상에 따라 액터 페이스가 변하게 할 수 있을까요? 5 아나바다 2024.05.23 34
스크립트 작성 RMVXA 뉴비 질문) 셀프 스위치로 이벤트 페이지를 넘어가게 하고 싶어요 4 file ㄱㅇㅇㅇ 2024.01.09 38
스크립트 추천 RMVXA 기본 스테이터스(능력치) 말고스테이터스를 추가하는법이 있을까요? 루네코 2020.05.04 110
스크립트 추천 RMVXA 지역(Region)을 이용하여 타일셋을 놓지 않고도 통행가능하게 하는 방법이 있나요? yoyo1515 2019.07.14 109
스크립트 추천 RMVXA 적이 쫓아오는 스크립트 2 겜만들고싶다앙 2020.12.25 191
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19