질문과 답변

Extra Form
종류 기타

 

 안녕하세요, 일전에 대타 패시브에 대해 질문했던 유저입니다.

 

현재 또 문제가 생겼습니다.... 다름이 아니라, 추가 능력치에 크리티컬 확률 증가 항목은 있지만, 크리티컬 증가 항목은 따로 없어, 이를 만들어 보고 싶습니다.

 

battler 항목을 수정하는 것이 아니라, 스크립트 등을 이용해서 기존 크리티컬 3배 + @의 형식으로 크리티컬 피해 증가 패시브를 만들어 보고 싶습니다.

 

방법이 없을까요?

 

 ex) 크리티컬 피해 12% 증가 = 기존 300% + 12% = 312% 이런 형식으로 만들고 싶습니다.

 

 

 

 

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.

Comment '5'
  • ?
    LuD 2020.12.31 10:38

    =begin

    스크립트를 새로 만들거나 구해야 할듯 합니다.
    이런건 제작의뢰에...?

     

    저녁인데 아직도 답이 없어서...

    상태에 <CRITICAL_DAMAGE : ...>

    ... 부분에는 스킬처럼 계산식 적어주면 기본크리티컬 + 계산들이 적용됩니다.

    a는 공격자, b는 대상자, d는 데미지(크리 적용전), v[n], s[n] ? a : b, 등등을 적용 가능합니다.

    <CRITICAL_DAMAGE : a.atk * a.luk - b.def> 이런식으로 계산식을...

     

    =end

     

    class Game_Battler < Game_BattlerBase
      DEFAULT_CRITICAL_DAMAGE_FORMULA = "d * 3"
      alias customCriticalDamage_make_damage_value make_damage_value
      def make_damage_value(user, item)
        @__user = user
        customCriticalDamage_make_damage_value(user, item)
      end
      def apply_critical(damage)
        calc_critical_damage(@__user, self, damage)
      end
      def calc_critical_damage(a, b, damage, v = $game_variables, s = $game_switches)
        d = damage
        result = 0
        a.states.each do |state|
          if state.note.scan(/\<CRITICAL_DAMAGE\s?(?:[ |:|\-|=|,])\s?(.*)\>/)
            next if $1 == nil || $1.empty?
            result += eval($1)
          end
        end
        eval(DEFAULT_CRITICAL_DAMAGE_FORMULA) + result
      end
    end

  • ?
    게임이만들고파 2021.01.01 22:59
    손수 만들어주시고, 감사합니다!

    <CRITICAL_DAMAGE : ...>의 경우엔 상태를 만든 후, 메모란에 기입하면 되는 건가요?

    그리고 만약, 크리티컬 데미지 5% 증가의 경우엔, 어떻게 기입하면 되는 건가요?

    자꾸 질문드려 죄송합니다
  • ?
    LuD 2021.01.01 23:36
    새해 복 많이 받으시고..ㅎ
    메모란에 기입하면 됩니다.
    그리고... 만약 데미지의 3배가 아니라 데미지의 5%를 하고 싶다면...
    DEFAULT_CRITICAL_DAMAGE_FORMULA = "d * 3"
    기본 데미지 공식 설정부분을
    DEFAULT_CRITICAL_DAMAGE_FORMULA = "0"
    으로 고치시고
    계산식에서 d * 0.05 라고 써주시면 데미지의 5%가 됩니다.
  • ?
    게임이만들고파 2021.01.02 00:13
    답변해 주셔서 감사합니다!

    ..........정말 죄송하지만, 질문 몇 가지만 더 하겠습니다...

    앞서 말한 것처럼, 데미지 5% 증가의 경우라면,
    <CRITICAL_DAMAGE : d * 3.5>이렇게 메모란에 기입한다고 한다면,
    만약 기존에 크리티컬 데미지가 100이 나온다고 하면, 5%가 증가되어 105의 데미지가 나오는 건가요?

    바쁘실 텐데 자꾸 질문드리고 마네요;; 정말 죄송합니다

    새해 복 많이 받으시고, 앞으로 하시는 일 잘 되시길 바랍니다!
  • ?
    LuD 2021.01.02 09:47
    DEFAULT_CRITICAL_DAMAGE_FORMULA = "d * 3"
    이걸 "0" 으로 수정했다면...
    <CRITICAL_DAMAGE : d * 3.5> 이렇게 쓴다면 350%의 데미지가 나옵니다.
    기존 크리티컬 데미지가 100이라면 크리티컬 되기전은 약 33정도겠고.. 그것의 350%된 115 정도의 데미지가 나올듯 합니다.
    어떻게든 기존 크리티컬 데미지의 5% 추가를 만들고 싶다면 d*3+d*3*0.05 라고 적어줘야 하나...?

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12387
기타 RMMV 이번에 뭐좀 만들어보려고 알만툴 사려는데요 3 화식조 2019.01.02 84
기타 RMMV 이벤트로 만든 npc에 시야범위표시를 하고 싶습니다 6 file 로뮤아 2019.01.02 218
기타 RMMV 맵 이동뒤에 플래이어 캐릭터가 움직이지 않아요 2 미이인트 2018.12.27 95
기타 툴선택 Inside 같은 3d 횡스크롤 게임 만들려면 뭐를 공부해야할까요? 1 몬티파이톤 2018.12.25 164
기타 툴선택 mv vs vx ace 2 이나다 2018.12.25 621
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 16 Next
/ 16