질문과 답변

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 12454
RMVX 데이타 베이스 스킬에 관한 질문 1 내가왔다 2011.01.30 858
RMVX 스킬 사용시 데미지 계산 1 헤카트 2011.01.30 1177
RMVX 적들이 배틀에서 움직이게하는방법은 없나요 5 헤이호 2011.01.31 625
RMVX 난수이용한 확률... 2 샤랄랄라진성 2011.01.31 675
RMVX SBS(사이드뷰) 배틀러(몬스터)위치 설정 1 file 에스테반 2011.01.31 777
RMVX Requiem SBABS Basic 질문드립니다! 2 위니크로스 2011.02.01 816
RMVX 링크에 올린 게임과 같은 배틀은 어떤방법으로 만드나요? 3 끵끵이 2011.02.02 940
RMVX 아이템 장착 하는법 2 놀다가 2011.02.02 569
RMVX 탈것그래픽변경 3 file 백개의검 2011.02.02 855
RMVX 게임이 갑자기 닫혀요 4 아무로와 샤아 2011.02.03 566
RMVX 말을 걸면 사라지는 상자 1 피이이인 2011.02.03 617
RMVX [루비관련]값을 변수에 저장하고 띄우는 방법 파이어 2011.02.03 691
RMVX 대규모 파티 전투는??? 세르나드 2011.02.04 755
RMVX vx로 전략시뮬 만들기 맥롤 2011.02.04 641
RMVX vx몬스터 포획 이벤트 잡초더미 2011.02.04 517
RMVX 사냥하는거 그런것들은 어떻게 만들죠? 3 넬판쥐 2011.02.04 702
RMVX 스크립트가 뭐죠? 1 모린아 2011.02.04 787
RMVX 그림의 표시 한계 늘리는법 있나요? 4 은둔자 2011.02.04 562
RMVX 문자 표시 스크립트 사용시 문제. 1 file 마에르드 2011.02.05 603
RMVX 두 스크립트의 충돌좀 막아주세요ㅜ(간단할듯한데 스크립트를 몰라서..) dcbuzz 2011.02.05 495
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ... 127 Next
/ 127