질문과 답변

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 21107
RM2k3 RPG2003 프라임헌터즈 2010.12.18 1341
RM2k RPG2000한글화 관련 질문 1 히나나이 2012.03.17 2767
RM2k rpg2000타이틀,시스템없는깨진일본어게임실행필요파일 바람의포르테 2015.03.01 311
RM2k RPG2000총 3 곱등이를사냥하라 2011.03.26 1716
RMXP RPG2000일판 어플로케일 돌리는데 오류가... 1 영혀늬 2011.07.10 3955
RM2k rpg2000의 경우, ultimate 2009나 destiny를 이용해서 스크립트 입력이 가능한 걸로 아는데요. 7 미상 2015.04.05 319
기타 rpg2000오류 1 은성 2011.01.21 3150
RM2k rpg2000/rm2k 작품은 어떻게 한글화를 해야하나요..ㅠ.ㅠ 1 고봉도봉 2013.09.29 2664
RM2k RPG2000, RPG2003 게임을 실행하면 미친듯이 깜빡입니다 싸구려커피 2017.05.09 292
기타 RM2k RPG2000 폰트 관련 질문드립니다 1 라기 2020.01.02 420
기타 RPG2000 툴로 열지 못하게 하는방법!! 알려줏요 ;ㅁ;ㅁ 1 백귀신 2010.09.12 2071
RM2k RPG2000 턴제전투 적게이지 하는방법좀!! 백귀신 2010.09.25 1198
RM2k RPG2000 일본판이 전혀 설치가 안됩니다. file regidia89 2013.06.17 3901
RM2k RPG2000 그림 추가 후 문제가 생겼습니다. 9 file regidia89 2014.01.17 1459
RM2k Rpg2000 게임하는데 렉이 심해요 1 Be폭력 2010.11.08 1563
rpg2000 게임 이름입력의 처리를 한글화하고 싶습니다 3 고봉도봉 2017.04.23 205
라이선스 RM2k RPG2000 DL 일본 번역 한글화 배포 문제 3 라카에 2016.08.27 512
RMXP rpg-xp rtp데이터 말인데요 3 앙탈사랑냥 2013.07.12 1477
RMVX RPG-VX캐릭터 제작 어떻게 하죠? 2 넥신 2012.12.24 1245
RMVX rpg-vx칩적용시키기 2 게임광팬 2011.04.25 1239
Board Pagination Prev 1 ... 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 ... 518 Next
/ 518