질문과 답변

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
RMVXA 액션 rpg(xas) 아이템 판매문제. 약빨은ㄱㅏㅅㅣ 2018.04.29 91
기타 RPG만들기 툴로 실시간으로 외부데이터를 활용한 게임을 만들수 있나요? 3 santa0106 2018.04.28 187
RMMV secret passage(숨겨진 통로) 같은 것을 만들 수 있을까요? 4 파란소리 2018.04.27 174
RMMV 오늘 갑자기 실행하면 이상현상이 발생합니다. 2 killcoro 2018.04.27 119
RMVXA 타일셋 질문입니다. 2 file 도라지도라미디움 2018.04.27 179
RMMV 모게코 게임처럼 시작하는 동시에 이미지만 나올 수 있는 방법이 있나요? 1 에러는내친구 2018.04.26 195
RM2k3 추격 이벤트를 만들 때 1 인큐버스 2018.04.26 167
RMVXA 이동 경로의 설정에서 그래픽을 변경시 0.1초정도 투명 오류... 2 file onicole 2018.04.26 111
RMVXA RPG VX ACE 해상도 높이는 방법 아시나요?! 뉴리키 2018.04.26 325
RMMV 자료실에 있는 플러그인 호환문제입니다. 4 killcoro 2018.04.25 225
RMVXA 질문이 좀 많아요 ㅠㅠ (맵 만들기) 4 file 시니쓰 2018.04.24 170
RMVX 사람들과 주인공이 오브젝트를 뚫고다니지 못하게 하는 법 2 닉네임이없어요 2018.04.24 107
RMMV 몬스터(이벤트) 주변의 3거리 이하의 타일 범위 안에 들어왔을 때, 플레이어를 쫓아오는 방법 8 파란소리 2018.04.23 500
RMMV MOG Battle Hud 질문 드립니다. saury 2018.04.22 205
RMMV 케릭터 얼굴을 넣으려 하는데 2 Banwall087 2018.04.21 180
RMVXA npc를 이벤트상에서 이동하게 하는중에 질문드립니다. 1 killcoro 2018.04.21 400
RMMV 이런 Ui는 구현이 불가능할까요? 4 file 몽롱하다 2018.04.20 360
RMVXA rpg vx ace를 어떻게 실행하는지를 모르겠습니다. 2 file 바가베가 2018.04.19 261
RMMV 사이드 뷰 배틀의 케릭터 위치를 바뀌고 싶습니다. 1 만죠메군 2018.04.18 250
RMVX 한글 또는 영어 비밀번호를 쓰는 탈출 게임을 만들고 싶습니다 1 아야누 2018.04.16 2127
Board Pagination Prev 1 ... 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 516 Next
/ 516