질문과 답변

Extra Form

안녕하세요^^

rpgvx 혼자서 만지작하다 아방스를 알게 되었어요!

너무 반갑습니다^^

혼자서 스크립트를 수정하지 않고는 게임을 만들어본 적이 있는데요.

하다보니 역시 스크립트에 욕심이 나더라고요

아직은 스크립트를 입문하고자 하는 단계라 뭐가 뭔지 잘 모르는데요,

검색하다 우연히 아이미르님께서 올리신 마나실드에 관한 글(?)을 보게 되고는

약간의 희망을 가지게 되었답니다! (감사합니다~)

데미지나 치명타 방어율 관련해서 battler 부분을 손대면 수정이 가능하다는 걸 알게 되었어요.

하지만 문법을 하나도 몰라서 어떻게 손을 대야 할 지 모르겠답니다....

구체적으로는

어떤 상태가 on이 되면 데미지나 치명타 공식이 바뀌는 걸

우선 만들어보고 싶어요. 20분 정도? 후엔 상태가 저절로 off가 될 수 있으면 좋겠어요.....일종의 버프(?) 같은거죠

만들고 있는 건 그냥 rpg고요..

 

여기에 관련해서 도움을 주실 고수님 계신가요.......?

그리고 문법에 관한 강좌나 몇가지 주요한 것들을 알고 싶은데 도와주실 분...간절간절

읽어주셔서 감사합니다^^

 

Comment '3'
  • ?
    신기 2012.02.02 10:13

    http://acoc.co.kr/rpgxp/help/rgss/ 


    xp 사양이지만 스크립트의 레퍼런스 북입니다.

    참고하실만한 내용이 있으실겁니다.

  • ?
    아이미르 2012.02.02 12:17

    Game_Battler 스크립트에서 def make_attack_damage_value(attacker)를 검색해줍니다

     def make_attack_damage_value(attacker)
        damage = attacker.atk * 4 - self.def * 2        # 기본계산
        damage = 0 if damage < 0                        # 데미지가 음수면 0으로
        damage *= elements_max_rate(attacker.element_set)   # 속성 뻥튀기
        damage /= 100
        if damage == 0                                  # 데미지가 0이면
          damage = rand(2)                              # 2분의 1 확률로 1로
        elsif damage > 0                                # 데미지가 0이상이면
          @critical = (rand(100) < attacker.cri)        # 크리티컬인가?
          @critical = false if prevent_critical         # 크리티컬 방지면 무효;
          damage *= 2 if @critical                      # 크리티컬이면 데미지 2배
        end
        damage = apply_variance(damage, 20)             # 분산도 계산
        damage = apply_guard(damage)                    # 방어수정
        @hp_damage = damage                             # HP에 데미지
      end

    에서 특정상태가 되면 데미지공식이나 크리티컬공식의 변환이라면 특정 상태를 30번 상태
    라고 해봅시다.

    30번 상태라면 크리티컬 데미지를 4배로 하고 싶다면? 

    damage *= 2 if @critical                      # 크리티컬이면 데미지 2배

    부분을

      if @critical
        if attacker.state?(30)
          damage *= 4
        else
          damage *= 2
        end
      end

    이렇게 바꿔주면 됩니다.

    31번 상태라면 정신력과 공격력을 합산해서 계산하고 싶다면

    damage = attacker.atk * 4 - self.def * 2        # 기본계산

    부분을

      if attacker.state?(31)
        damage = (attacker.atk + attacker.spi) * 4 - self.def * 2
      else
        damage = attacker.atk * 4 - self.def * 2
      end

    이렇게 바꿔주면 됩니다.

    상태가 좀 많아진다거나 하면 ( 31, 40, 42, 43번 상태가 똑같이 정신력+공격력 합산
    계산식을 하고 싶다... 같은...)

    저 같은 초보 방식으로는

      if attacker.state?(31) or attacker.state?(40) or attacker.state?(42) or attacker.state?(43)
        damage = (attacker.atk + attacker.spi) * 4 - self.def * 2
      else
        damage = attacker.atk * 4 - self.def * 2
      end

    이런 식으로 해도 가능은 합니다. 스크립트 잘 만지시는 분은 상태의 메모란에
    기입문구를 설정하셔서 하는 법도 있긴 한데 솔직히 저도 거긴 아직 애매해서 ㅎ;

     

  • ?
    딸기뱀 2012.02.02 22:32

    답변해주셔서 너무 감사합니다^^


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12390
RMVX vx에서 아이템 반짝이게 하기 4 3g 2012.02.03 2676
RMVX 스크립트 입문, 문법에 관한 질문 3 딸기뱀 2012.02.02 1671
RMVX 메뉴변경하는 방법과 hp,mp수치 변경 1 알거없다 2012.02.01 2469
RMVX 특정 메뉴에서 아이콘 크기 조절하는 방법을 알려주세요 mits 2012.02.01 2207
RMVX 대열행렬 사용할때 4명이상 따라다니게 할 수 있나요? 11 오백원 2012.01.31 1248
RMVX 캐릭터가 움직이지 않습니다. 3 투덜이스머프 2012.01.30 1959
RMVX 노트를 이용하는 스킬 데미지 공식의 관계도 추가 혹은 설정 좀 도와주세요 2 mits 2012.01.28 2081
RMVX Tile A를 다운받아서 쓰면 벽을 통과해요 2 아브렐라 2012.01.28 3087
RMVX 왕초보 강의(알켜주셈요)!!! 3 oo러브oo 2012.01.27 2674
RMVX 뱀파이어 액알에서 액터 방어율 설정 가능한가요? 닉네임은2와20 2012.01.21 2429
RMVX vx삭제 하는 방법 좀여 2 오매갓 2012.01.20 2377
RMVX vx 얼굴 만들기 사이트 질문이요!! 1 file daek77 2012.01.20 2854
RMVX 아이템 사용이 안됩니다 2 아브렐라 2012.01.19 3184
RMVX 퀘스트 무한반복 안되게 하는법. 3 니똥방구 2012.01.19 2911
RMVX 만렙을 40으로 하고 싶은데... 1 로타로리 2012.01.19 2630
RMVX 타이틀 메뉴 추가 방법 & 타이틀 메뉴 선택 시 팝업 뜨게하는 방법 1 mihael0539 2012.01.18 2882
RMVX 평상시에공격하게하는법을가치처주세여!!! 2 옥컴쌤 2012.01.18 2354
RMVX 대쉬 속도 변경 어떻게 하나요? 1 닉네임은2와20 2012.01.18 2653
RMVX 뱀파이어 액알을 사용 중인데 상태가 이상하게 먹히네요... 닉네임은2와20 2012.01.17 2745
RMVX 안녕하세요. VX 초보자라 좀 한심한 질문좀 할게요. 2 로키입니다 2012.01.17 2185
Board Pagination Prev 1 ... 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 ... 127 Next
/ 127