질문과 답변

Extra Form

class Scene_Battle < Scene_Base

  def invoke_item(target, item)

    if rand < target.item_cnt(@subject, item)

       apply_item_effects(apply_substitute(target, item), item)

       invoke_counter_attack(target, item)

    elsif rand < target.item_mrf(@subject, item)

       invoke_magic_reflection(target, item)

    else

       apply_item_effects(apply_substitute(target, item), item)

    end

    @subject.last_target_index = target.index

    end

end


위의 스크립트는 반격기능이 발동될시 공격을 회피하는게 아닌 피해를 받고 반격할 수 있게해주는 기능을 해줍니다.
지난번에 올렸었던 스크립트인데 몇몇 오류가 있긴했지만 다른 스크립트로 대부분 무마가 되었고
딱 한가지 문제가 발목을 잡고있네요ㅜ

원래 대상을 죽이게되면 해당 대상은 반격을 할 수 없어야하는데
이 스크립트를 이용하면 대상을 죽인 시점에서도 반격기능이 활성화 되면 반격을 하게됩니다.
스크립트가 돌아가는 원리를 보니 대략

1)    A가 B를 공격한다.
2)    A의 공격에 B의 반격기능이 활성화된다.
3)    A의 공격에 피해를 받고 B가 죽었다.
4)    활성화된 B의 반격기능이 작용하여 A에게 반격을 한다.

이렇게 되는것 같더라구요
전 여기서 4번을 없애고 싶습니다.
생각해보면 근본적인 문제일것 같기도한데 이게 고칠수 있는지 없는지에 따라
전투의 성향이 완전히 뒤바껴버리게 되서 쉽게 놓아버리기 힘든 처지네요.. 흑..

대상을 죽이면 그 대상이 반격 할 수 없게 만들 수 없을까요?




Comment '2'
  • profile
    9qxb6 2015.07.19 23:38

    올리신 스크립트를 아래의 스크립트로 교체하면 되지 않을까 싶습니다.


    class Scene_Battle < Scene_Base

      def invoke_item(target, item)

        if rand < target.item_cnt(@subject, item) #반격 가능 시에

          apply_item_effects(apply_substitute(target, item), item) #피해 적용

          if target.death_state? #공격 받는 대상(target)이 이미 죽었으면 그만둔다.

            return @subject.last_target_index = target.index

          end

          invoke_counter_attack(target, item) #반격!

        elsif rand < target.item_mrf(@subject, item)

          invoke_magic_reflection(target, item)

        else

          apply_item_effects(apply_substitute(target, item), item)

        end

        @subject.last_target_index = target.index

      end

    end

  • ?
    기폭 2015.07.24 23:22

    오오.. 감사합니다!!
    제대로 작동하는것이.. 스크립트 다루시는 분들은 정말로 대단하세요ㄷㄷ;
    기획자가 프로그래머에게 느끼는 감정이 이런게 아닐까 싶네요ㅎ 감사합니다.^^^


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12393
RMXP 게임하다가 일정 이벤트가 뜨면 게임 폴더 속 파일이 자동 실행되도록 할수 있나요? 2 찐콩땅콩 2015.11.15 339
RMVX 힐이 특정 상대 에게 데미지로 박히게 하는방법 3 OvercomE 2014.01.04 1032
RMVX 흰색없는 이미지 올리기? 13 file Thyella 2013.03.05 1441
기본툴 사용법 RMVXA 흡혈 스킬 만들기 3 겜만들고싶다앙 2021.01.06 290
RMVXA 흔들림 효과 질문 3 달밤에왈츠 2012.07.03 1677
기타 RMVXA 흑백 스킬 애니메이션을 만들었는데 검은 색이 계속 투명처리가 됩니다 2 file 오황불 2020.12.31 89
RMXP 흐읗읗 2 쿠크 2011.02.12 1076
RMVX 흐음..제가 액토이동경로 이벤트에대해 아쳐 2015.04.19 199
RMXP 흐엏엏 2 file 쿠크 2011.02.11 1146
RMXP 흐아아.. 맵칩 관련 질문 입니다. 4 미니쿠키 2011.01.22 1107
RM2k 흐미 1 알이즈웰 2011.01.13 1852
RMXP 훈장 시스템 3 솔로몬 2013.02.18 906
RMVX 훈덕 님이 올리신 스킬 사용 조건(번역) 사용방법 file 엿데브 2011.06.07 1677
RMVXA 후크 샷 스크립트 2 불청객 2013.01.17 1086
RMVX 후레시 같은거 어떻게 만들죠? 6 후라이팬샷 2013.08.19 1319
RMVXA 후레쉬효과? 1 아이디어창고 2015.07.11 265
RMVX 후레쉬같은 이벤트 질문 2 노이치 2012.07.08 3448
RMVX 후레쉬 스크립트..? 3 아인이다 2012.10.25 1410
기본툴 사용법 RMMV 효과음이나 브금 추가하는 법을 모르겠어요ㅜ 3 클라시메이트 2019.01.18 478
기본툴 사용법 RMMV 효과음을 끊기거나 겹치지 않게 반복시킬 수 있나요? 2 PPPL 2019.11.22 314
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 516 Next
/ 516