질문과 답변

Extra Form


저렇게 버튼을 누를시 플레이어가 스킬을 발동하게 하려고 하거든요

스크립트에 뭐라고 쓰면 될거 같긴한데 뭐라고 써야 되는지 모르겠네요

아 턴제가 아니고 xas입니다


Comment '5'
  • profile
    러닝은빛 2014.12.13 01:46

    XAS의 스킬 발동 구현부를 따로 빼서 새로운 메소드를 만들어봤습니다.


    $game_player.set_skill(스킬의 번호)


    이 메소드를 사용하려면 스크립트 커맨드를 추가하여 스킬의 번호를 적어주면 됩니다.


    스킬을 성공적으로 사용하려면 반드시 플레이어가 해당 스킬을 배운 상태여야 하며 


    $game_system.command_enable 값이 true 이여야 합니다.


    새롭게 정의된 메소드들을 XAS 스크립트들 보다 아래 쪽에 추가해주시기 바랍니다.




    새롭게 추가해야 할 스크립트



    class Game_Player

      def set_skill(skill_id)

        if $game_party.members[0].skill_learn?($data_skills[skill_id])

          $game_party.members[0].skill_id = skill_id

          create_skill

        end

      end

      def create_skill

        type = 2

        return unless can_use_skill_command?

        return if execute_combo?(type)

        check_equipped_action(type)

        action_id = self.battler.skill_id

        return if action_id == 0 

        return if state_seal_command?(type)         

        self.shoot(action_id)

      end

    end



  • ?
    BeNew 2014.12.13 04:05
    감사합니다! 잘되네요 ㅎ
  • ?
    BeNew 2014.12.13 15:06
    그런데 한가지 문제가 있네요 원래 장착해둔 스킬(1)이 커먼 이벤트가 발동해서 스킬(2)을 사용하면 장착된 스킬이 스킬(2)로 바뀌어 버리네요 ㅠ
  • profile
    러닝은빛 2014.12.13 17:45

    원래 그렇게 되있는거라, 잠깐 저장해두고 다시 돌려놓는 방법을 써야겠죠. 


      def set_skill(skill_id)

        if $game_party.members[0].skill_learn?($data_skills[skill_id])

          temp = $game_party.members[0].skill_id

          $game_party.members[0].skill_id = skill_id

          create_skill

          $game_party.members[0].skill_id = temp

        end

      end


    이런 식으로 수정하시면 될 것 같네요.

  • ?
    BeNew 2014.12.14 00:27
    됫네요 감사합니다 덕분에 대작하나 탄생하겟네요 ㅎ

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12447
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