?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
RPG XP 사용중인데요..

--------------------------질문 1.------------------------------

atk = [attacker.atk - self.pdef / 1, 0]. max
      self.damage = atk * attacker.str

이게 원래는

atk = [attacker.atk - self.pdef / 2, 0]. max
      self.damage = atk * attacker.str /20


이었는데..

이게 기본공격데미지 계산식입니다!

그런데 아시다시피 데미지는 숫자가 가지가지잖습니까!

일정 범위 내에서만 나온다지만..

하지만 이 공식대로라면 항상 같은값이 나와야하는데

[attacker.atk - self.pdef / 2, 0]. max

이 부분때문에 여럿 갈리는건지..해서요.

self.pdef 나누기 2,0 이라니..

2 또는 0으로 나눈다인가.. 아니면 다른말인가..해서요.

아니 그리고 0으로 어떻게 나눈다는 말입니끄아아아!!

저의 능력으론 이해 불능이라서 이렇게 올립니다..ㅠㅠ

------------------질문 2.------------------------------

      # 분산
      if self.damage.abs > 0
        amp = [self.damage.abs * 15 / 100, 1]. max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end

요것은 기본공격데미지 분산의 공식입니다.


      eva = 8 * self.agi / attacker.dex + self.eva
      hit = self.damage < 0 ?  100 : 100 - eva
      hit = self.cant_evade?  ?  100 : hit
      hit_result = (rand(100) < hit)

이것은 기본공격데미지의 제2차명중판정입니다.

  def hit
    n = 100
    for i in @states
      n *= $data_states[i]. hit_rate / 100.0
    end
    return Integer(n)
  end

그리고 이것은 hit라는 값의 취득을 위한 부분인데..(Battler 1)

이 세 부분은 아무리 용을 써도 이해가 안됩니다 !!

질문 2-1.hit 라는 값을 어떻게 취득한것이며!!(스킬은 따로 명중율이 존재하지만, 기본공격은 그렇지 않다 이 말입니다..)

2-2.분산이란 무엇이며!! 어떤 결과를 불러 일으키는지!!

제 2차명중판정에서

      eva = 8 * self.agi / attacker.dex + self.eva

이 한줄 빼곤 도저히 해석이 안됩니다 ㅠㅠ

eva라는 값= 8곱하기 방어자의 agi값 나누기 공격자의 dex값더하기 방어자의 eva값

그 밑에서 방금 위에서 쓰인 eva 라는 값들이 쓰이는데!!

hit = self.damage < 0 ?  100 : 100 - eva
      hit = self.cant_evade?  ?  100 : hit
      hit_result = (rand(100) < hit)

요것들입니다.

2-3.그런데 도무~지 이 세 줄은 어떤 계산방식인지 이해가 안갑니다..ㅠㅠ

---------------------질문 3.--------------------------------------


    # 제일 명중 판정
    hit = skill.hit
    if skill.atk_f > 0
      hit *= user.hit / 100
    end
    hit_result = (rand(100) < hit)
    # 불확실한 스킬의 경우는 유효 플래그를 세트
    effective |= hit < 100
    # 명중의 경우
    if hit_result == true
      # 위력을 계산
      power = skill.power + user.atk * skill.atk_f / 100
      if power > 0
        power -= self.pdef * skill.pdef_f / 200
        power -= self.mdef * skill.mdef_f / 200
        power = [power, 0]. max
      end
      # 배율을 계산
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      # 기본 데미지를 계산
      self.damage = power * rate / 20

이것은 스킬의 제1명중판정부터 기본데미지까지입니다.

      # 분산
      if self.damage.abs > 0
        amp = [self.damage.abs * skill.variance / 100, 1]. max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # 제2 명중 판정
      eva = 8 * self.agi / user.dex + self.eva
      hit = self.damage < 0 ?  100 : 100 - eva * skill.eva_f / 100
      hit = self.cant_evade?  ?  100 : hit
      hit_result = (rand(100) < hit)

이것은 스킬의 분산과 제2명중판정입니다.

3-1.제1명중판정부터 계속 보이기 시작하는 특징이..

skill.atk_f , skill.atk_f ,skill.pdef_f

이런 값들인데..

기본공격데미지때 해석한결과 attacker.atk 면.. attacker 의 atk 값이라고 해석됬는데..똑같이 해보면..

skill의 (atk_f) 값 이라고 되는데,

atk_f 의 값은 어떤값인가요? 다른 값들도 똑같이 _f 만 붙이면 비슷한 방식으로 구해지는 값이 되는건가요?

3-2. 배율을 계산에서..

      # 배율을 계산
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      # 기본 데미지를 계산
      self.damage = power * rate / 20

인데.. rate를 20으로 지정해놓고..

rate += 유저의str값 곱하기 스킬의 str_f값 나누기 100
rate += 유저의dex값 곱하기 스킬의 dex_f값 나누기 100

이런식으로 되고있는데..

대체 이게 뭔뜻인가요?

---------------------질문 4.------------------------------

==
+=
-=
/=
*=

의 계산방식..이 뭔가요?

[XXX.SS /x, y]. max

는..무슨뜻이죠?

self.damage.abs

는 스킬의 분산과 기본공격의 분산에서 공통으로 보이는데요..

방어자의 데미지의 abs 값 이라는게 무슨뜻이죠..?

abs가 스크립트에 따로 지정되어있는건가요?
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 저번 글들과, 이전 글에 대해 묻고 싶습니다. idtptkd 2005.05.17 1315
8826 이전 작가들은 어떻게 되는 건가요? 아렉스 2005.05.17 1091
8825 이전 작가들은 어떻게 되는 건가요? 영원전설 2005.05.18 1152
8824 프루티룹스 질문... 신승일 2005.05.18 1472
8823 창작글만 있는데 감상문 같은 건 쓸수 없나요? 다르칸 2005.05.18 994
8822 창작글만 있는데 감상문 같은 건 쓸수 없나요? 아렉스 2005.05.18 1032
8821 창작글만 있는데 감상문 같은 건 쓸수 없나요? 천무 2005.05.18 820
8820 창작글만 있는데 감상문 같은 건 쓸수 없나요? 『水』신교 2005.05.18 869
8819 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 밀크마스터 2005.05.18 1166
8818 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 나랑놀자 2005.05.18 1111
8817 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 셉티찡 2005.05.18 1170
8816 릴레이 소설 말인데요... 외로운갈매기 2005.05.18 675
8815 이전의 창작글 게시판의 글은 어케되나요? 천무 2005.05.18 471
8814 이전의 창작글 게시판의 글은 어케되나요? Sir_아사히 2005.05.19 563
8813 윈도우 98에서는 rpgxp안돌아가요 ? 바람을 가르는 자 2005.05.19 767
8812 윈도우 98에서는 rpgxp안돌아가요 ? 미칼렌 2005.05.19 927
8811 패치 요청... Norid 2005.05.19 454
8810 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; black-angel 2005.05.19 1147
8809 [RPG XP] 게임 테스트 오류. 살려주세요// Norid 2005.05.19 939
8808 릴레이소설 사래신장전 완결했는데요.. 적랑 2005.05.20 648
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)