질문과 답변

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 12472
기타 받은 게임에서 RGSS몇이 없다 등의 말이 나오며 못 하면 어떻게 하나요? 2 file sl연어sl 2016.03.26 284
RMVXA 받은 rpg maker 파일이 외계어로 표시가 됩니다... 보드카짱 2017.06.10 159
기타 RMVXA 반투명 색 여러개 설정하는 방법 2 vertex 2020.01.24 80
RMXP 반짝이는 열쇠 만드는 법 2 whk123 2011.11.15 2445
RMXP 반짝거리는 효과 질문입니다 1 유영준짱 2013.06.15 599
기본툴 사용법 RMVXA 반응형 타이틀 화면 ? 2 mkccip 2020.05.04 220
RMVX 반사스테이트에 대한 질문입니다. 킥더노인 2011.06.17 707
RM2k 반복처리를 중첩할경우 1 아르피쥐 2011.12.11 1841
RMVXA 반복 움직임 질문 1 file 아쳐 2015.12.05 89
GM 반복 1 Jhon 2011.10.18 1742
기타 RMMV 반격기를 넣고싶습니다. 2 JDG 2020.04.27 118
RMVXA 반격, 마법반사 관련 (해결) 7 Vincent 2013.10.08 1018
RMVXA 반격 스크립트 관련 질문입니다. 2 기폭 2015.07.16 151
기타 기타 박살나거나 부숴지는 사운드 없나요? 1 후라이팬샷 2019.01.15 46
RMVXA 바이오 하자드 같은부류게임을 만들고싶습니다 1 아쳐 2015.11.11 277
Visual Novel 바실리어트에서 선택지 사용지 붉은 막대 길이 줄이기 3 file 하늘바라KSND 2012.12.21 1309
Visual Novel 바실리어트-음원조사실패. 2 file 하늘바라KSND 2013.05.10 1329
RMVX 바람의나라처럼 만랩때 경험치를 팔 수 없나요? 3 말벗 2011.01.04 646
RMXP 바람의나라 처럼 전투 방식 하는법좀.. 2 댕군 2011.02.08 782
RMVX 바람의 나라 처럼 턴방식 어떻게 없애지요 ? 2 널지킨다 2011.08.10 1442
Board Pagination Prev 1 ... 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 ... 517 Next
/ 517