질문과 답변

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 12456
에러 해결 RMVXA 맵칩을 직접 찍었는데 캐릭터가 이동이 안 됩니다. 4 ㄲㅁ 2019.06.06 150
기타 RMVXA 애니메이션 끊김현상 문제 file 랑브 2022.05.11 150
RMVXA 엔터나 스페이스바를 누르면 없어지는 그림 2 데아곤 2018.02.11 151
RMVXA 이벤트가 적에게 닿을 시 적에게 데미지를 주도록 이벤트를 만드는 방법 2 제빵군 2015.02.02 151
RMVXA 불사 스테이터스가 먹히지 않습니다 폴라 2015.03.09 151
RMVXA 반격 스크립트 관련 질문입니다. 2 기폭 2015.07.16 151
RMVXA 아이템 특정갯수 조건을 맟추게 하는법있나요? 1 발악의시번 2016.04.21 151
RMVXA 액터 변경 질문 7 파랑빛 2017.04.19 151
액션 전투 RMVXA 특정 키를 눌렀을 때 조준점이 만들어져서 키보드 또는 마우스로 움직이고 조준할 수 있게 하려면 어떻게해야할까요 2 무명유실 2019.10.25 151
기타 RMVXA 아이템창의 아이템이 한줄에 한개씩 나오게 하는법 1 지박령귀목 2022.09.19 152
RMVXA 조건분기에 플레이어 맵 위치 넣는 방법은 없나요?ㅠㅠㅠ 2 DONKEY 2016.01.20 152
RMVXA 이벤트를 사용하여 맵칩을 두면 아랫쪽에 빈공간이 생깁니다 1 file KIM곰 2015.08.06 152
RMVXA 전투중에 BGM변경가능한가요? 3 민소라 2015.08.21 152
RMVXA Xas 초보자 질문.. 1 염나 2015.11.18 152
RMVXA 일정 시간을 버티면 살고, 시간 안에 닿으면 죽는 이벤트 2 바방 2018.03.31 152
RMVXA VXA에서 능력치를 변경하려면 어떻게 해야 되나요? 2 투척민 2016.06.25 152
스크립트 작성 RMVXA Ace에서 게임 파일이름과 아이콘 변경방법을 알고싶습니다. 1 file 홍홍이1 2020.06.21 152
기타 RMVXA vx ace) 크리터컬 피해 증가 패시브를 만들고 싶습니다 5 게임이만들고파 2020.12.31 152
턴제 전투 RMVXA 보스 몹의 잔기 만드는 법 5 슈필러 2019.02.24 152
기본툴 사용법 RMVXA 애니메이션 이펙트에 닿을시 게임오버 연출 6 file 4124214 2019.06.04 152
Board Pagination Prev 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 150 Next
/ 150