질문과 답변

Extra Form

먼저, 관련 스크립트는 아방스에서 전부 찾아봤지만 발견할 수가 없었습니다.

 

보통 특정 스킬을 사용하기 위해서 어떤 상태에 액터가 걸려 있어야만 하는 스크립트는 있습니다만, (예를들어 열혈이라는 기술을 쓰기 위해서 중독상태가 된다던지....)

 

어떤 스킬을 사용할 수 없게 하기위해 특정 상태가 되도록 하는 류의 스크립트는 없더라구요.

 

Queex님의 Requirements for Skill을 사용하고 있습니다만, 해당스크립트에서 충분히 구현이 가능한가요 아니면 다른 스크립트를 찾거나

만들어야 할까요??? ㅠㅠ

Comment '3'
  • profile
    습작 2012.06.01 17:42

    0.

     

      이제보니 아이미르님의 개조버전을 사용하고 계시는군요. Queex님 스크립트에는 특정 상태시 스킬 사용 가능 같은 경우가 없지요. 뭐 이건 질문 내용과 별로 관계 없는 내용이니 넘어가도록 하고, 어떻게 하면 특정 상태일때 스킬을 사용하지 못하게 만들지에 대해서 알려드리겠습니다.


      우선, 해당 스크립트에서 스킬 사용 가능을 판정하는 함수인 def skill_can_use?(skill) 를 검색하세요. 해당부분은 다음과 같은 구조로 적혀 있습니다.(연두색은 주석글입니다.)


      alias skill_req_skill_can_use? skill_can_use? # Game_Actor 클래스에서 skill_can_use? 함수가 작동시 같이 작동함요~

      def skill_can_use?(skill)

        if skill.id != 0 #스킬 ID가 0이 아닐때~

          skill_note=$data_skills[skill.id].note # 해당 스킬ID의 Tag를 읽습니다.

          (…이하 각종 조건 판정들  )

          return skill_req_skill_can_use?(skill) # 원본 skill_can_use? 함수로 돌아갑니다.

        end

      end


      요로코롬 위와 같이 되어 있으므로, 아래 내용을 적절히 (…이하 각종 조건 판정들  ) 부분에 삽입하시면 됩니다.


          skill_needs = get_tag(skill_note,"톰소여님의_이_상태론_스킬을_쓸_수_없게_되버렷") # 태그를 찾습니다.

          if skill_needs != nil # 해당 이름의 태그가 있는 경우~

            return false if state?(skill_needs.to_i) # 스킬을 거부하는 상태 ID 이므로 사용금지 판정시킵니다.

          end


      그러면 데이터 베이스에서 <톰소여님의_이_상태론_스킬을_쓸_수_없게_되버렷 n> 이라고 적혀 있으면 해당 스킬은 n번 상태일때는 사용금지가 됩니다.^^


  • ?
    톰소여동생 2012.06.01 17:50
    정말 되네요 감사합니다 ^ㅡ^
    이제 특정상태시 기술발동이 되는것과 안되는것 두가지가 만들어졌으니, 나중에 이 스크립트들을 모아서
    예제파일을 만들어도 손색이 없겠어요.
  • profile
    습작 2012.06.01 18:06
    가능하시다면, 질문 제목을 [특정상태에서 스킬 사용 금지방법]으로 수정해주시는 것은 어떨까요? 이쪽이 다른 질문자들 분께서 보다 이용하기 편하리라 생각이드네요.^^

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12389
Board Pagination Prev 1 ... 5 Next
/ 5