질문과 답변

Extra Form

Scene_ItemBase의 가장 마지막 부분을 보면


  #--------------------------------------------------------------------------
  # ● アイテムの使用
  #--------------------------------------------------------------------------
  def use_item
    play_se_for_item
    user.use_item(item)
    use_item_to_actors
    check_common_event
    check_gameover
    @actor_window.refresh
  end
  #--------------------------------------------------------------------------
  # ● コモンイベント予約判定
  #    イベントの呼び出しが予約されているならマップ画面へ遷移する。
  #--------------------------------------------------------------------------
  def check_common_event
     SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved?
  end
end


이런 식으로 되어 있는데 효과 항목에 커먼이벤트가 존재하는 아이템(이하 스킬도 포함)을 사용한 뒤

씬매니저를 통해 메뉴를 닫고 필드 화면을 보여주는 작동을 하게 되어있습니다


이걸 특정 조건, 가령 스위치나 변수, 메모란에 키워드를 적어 넣는 것으로

커먼이벤트가 존재하더라도 메뉴창이 닫히지 않게끔 할 수는 없을까요?


밑에서 세번째 줄을 아예 없애버리면 커먼이벤트가 포함된 아이템을 사용해도 메뉴가 닫히지 않습니다만

메뉴가 닫혀야 하는 경우도 필요하기에 닫히는 경우, 닫히지 않는 경우를 조건부로 나눌 수 있게끔 도움을 요청해봅니다


if 이하의 조건을 바꾸면 될 것 같긴 한데 rgss 언어를 전혀 몰라서...

Comment '2'
  • profile
    러닝은빛 2015.02.15 00:02

    커먼 이벤트는 스크립트 구조상 Scene_Map 에서만 실행됩니다.


    그래서 (커먼 이벤트를 바로 실행하기 위해) 맵으로 돌아가는 겁니다.  


    class Scene_ItemBase < Scene_MenuBase

      def check_common_event

        return unless item.note.slice(/<Exit(?:=|= | = )(\d+)>/i)[$1].to_i == 1 rescue return

        return unless $game_temp.common_event_reserved?

        SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved?    

      end

    end


    일단 이런식으로 아이템 쪽에 있는 메모란을 체크해줄 수 있습니다.


    <Exit=1> 이면 커먼 이벤트가 설정되어있는 아이템 사용 시에 메뉴를 빠져나갑니다.


    그러나 <Exit=0> 이거나 설정되어있지 않으면 메뉴가 종료되지 않습니다.


    그런데 이렇게 되면, 메뉴를 수동으로 끈 후에나 커먼이벤트가 실행될 겁니다. 

  • ?
    복돌류 2015.02.15 17:24
    정말 감사합니다!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12451
Board Pagination Prev 1 ... 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 Next
/ 83