조회 수 2008 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

VX Ace의 민첩성은 2K때처럼 명중률에 영향을 주는 것 같지 않더군요.


민첩성이 낮으면 명중률을 깎이고, 민첩성이 높으면 명중률이 높아지는 설정은 어떻게 하지요?


구글링을 해도 RGSS2 데이터만 나와서 질문을 올립니다.


( 참고했던 RGSS2 : http://www.rpgmakervx.net/index.php?showtopic=39467 )




VX Ace의 Battler스크립트에는 다음 부분이 명중률/회피율 계산과 관련있는 것 같아 보입니다.


  #--------------------------------------------------------------------------

  # ● スキル/アイテムの命中率計算

  #--------------------------------------------------------------------------

  def item_hit(user, item)

    rate = item.success_rate * 0.01         # 成功率を取得

    rate *= user.hit if item.physical?      # 物理攻撃:命中率を乗算

    return rate                             # 計算した命中率を返す

  end

  #--------------------------------------------------------------------------

  # ● スキル/アイテムの回避率計算

  #--------------------------------------------------------------------------

  def item_eva(user, item)

    return eva if item.physical?            # 物理攻撃なら回避率を返す

    return mev if item.magical?             # 魔法攻撃なら魔法回避率を返す

    return 0

  end




命中率計算칸의 rate *= 줄을


    rate *= user.hit * user.agi / self.agi  if item.physical?


로 바꾸어서 테스트 해 봤는데 agi 두배 높은 적을 상대로 적은 우리편을 맞추기만 하고 우리편은 빗나가기만 하네요.


계산식대로라면 우리편이 적에게 절반은 맞추어야 할텐데.


방법이 없을까요?

?
  • profile
    Vermond 2012.03.06 22:52

    명중률만 따지실게 아니라 회피율도 따지시고, 실제 명중을 결정하는 부분이 따로 있으리라고 보여지므로 그 부분도 수정하셔야 될 듯 싶습니다.


    명중률과 회피율을 따로 작성해 두었다면, 실질적인 명중 여부를 결정하는 계산식이 다른 곳에 있겠죠.


    체감상 2배가 안 나오는건 시도 횟수가 부족해서일 수도 있지만, 계산식에서 뭔가 결과가 달라질 수도 있지 않은가 하고 봅니다

  • ?
    올리브오일 2012.03.07 01:34
    적의 공격력을 낮추고 HP를 높게 세팅하여 테스트용 적을 만들어서 공격을 약 50회 주고받은 테스트를 했으니 시도 횟수가 너무 적은 탓은 아닌 것 같습니다.

    VX ace는 각 캐릭터와 몬스터의 명중률을 DB에서 직접 설정하는데, 제 짐작에는 이 값이 그대로 user.hit으로 가는 것 같습니다.

    hit은 Game_BattlerBase에서 정의됩니다. (기본 스크립트 65행)
    그리고 Game_Battler 중 본문에 나오는 命中率計算에서 hit값을 계산합니다.

    그리고 502-503행인데
        @result.missed = (@result.used && rand >= item_hit(user, item))
        @result.evaded = (!@result.missed && rand < item_eva(user, item))

    난수가 hit값과 같거나 이보다 크면 빗나가고, 안 빗나갔어도 난수가 eva값보다 작으면 회피당하는 것 같습니다.

    hit이 충분히 크면 난수가 hit보다 커질 일이 없으니 빗나가지 않을 텐데...
    혹시 기본 스크립트의 다른 곳에 제가 건드려야 할 계산식이 있으면 알려주세요.
    아니면 계산식 어디선가 제가 예측하지 못한 에러가 났을 수도 있고요.
  • ?
    올리브오일 2012.03.07 01:42
    다른 변수를 선언하고 보정된 명중률을 그 변수가 받아, user.hit 대신 쓰게 하는 쪽도 생각해 보았는데...
    저의 루비 실력이 미천해서 어디서부터 손을 대야 할 지 모르겠습니다.

    공격자의 agi가 적보다 높거나 같으면 hit값을 그대로 적용하고
    else에서만 위 식을 적용해볼 수도 있는데...
    命中率計算 내부에서 조건문을 만들었을 때는 에러가 나더군요.

    변수를 선언하면 에러 없이 조건문을 돌릴 수도 있을텐데 자신이 없습니다.
    명중-빗나감, 명중-회피당함을 결정하는 난수가 0에서 1 범위에서 움직이는지, 0에서 100범위에서 움직이는지도 잘 모르겠고요.
    변수 선언으로 해결할 수 있겠다 싶은 부분이 있으면 그쪽도 좀 조언해주셨으면 합니다.
  • profile
    Vermond 2012.03.07 01:50

    플밍은 부분적으로 보면 뭐가 뭔지 절대 알 수가 없습니다 -_-;;

    원 소스 보고 분석을 해봐야 자세한걸 알수 있을 듯 하네요

  • ?
    인파 2012.03.07 01:56

    VX Ace 디폴트 스크립트는

    http://rgss.9bu.org/c642eb4e4350df51988ac409cb341b81

    여기에 있습니다.


    hit으로 검색하면 white나 whiten도 섞여 나오지만 거의 Game_Battler에 모여 있습니다.

  • profile
    Vermond 2012.03.07 04:25

    rand는 0과 1사이의 실수를 반환합니다 (0.535235 같은)


    명중률 계산이 아이템 명중-미스계산-캐릭터회피-회피계산 으로 되어 있어서 수정하기 미묘한데

    일단 수정하기 전에 원본을 저장해두시거나 맨 앞에 #를 추가해두면 주석처리가 되어서 동작을 안 하니까

    변경하고 싶은 부분에 #를 넣으시고 수정해보시는걸 권합니다


    그리고 계산식에서 사용되는 값은 전부 0~1이므로 계산값이 1을 넘어가면 무조건 명중/회피가 됩니다

    값이 0~1 사이를 벗어나서 이상한 결과가 나온 것 같네요.


    이게 참 애매한게 적이 5고 내캐릭이 10이면 보정치 x2가 되는데

    이 경우 원래 명중률이 0.5 이상이 나오면 1이 넘어서 무조건 명중/회피가 되게 됩니다.

    위에서 언급하신건 내 어질의 2배가 적이라고 했으니 반대로 적만 무조건 명중했겠군요


    그러니 보정치를 넣어서 조정을 해줘야 되는데 지금은 배고파서 잘 생각이 안나네요 -_-;;



    나머지 말하신 부분은 대략 잘 이해하셨으니 괜찮다고 보고

    수식 연구를 좀 하시면 될 듯 합니다

    수학공부할 시간이네요 -_-;



    요약하자면 명중률이 0~1 사이로 나와야 되는데 이 범위를 넘어서서 이상한 결과가 나왔다고 보여집니다


  • ?
    올리브오일 2012.03.07 19:48

    정말 감사합니다. 0~1사이에서 나오게 식을 짜야겠군요.


    예전에 하던 게임이 X=0.5^N 같은 식을 썼습니다.

    N이 커지면 결과값이 쪼그라들고 [ X = 0.125 (N=3) ]

    N이 작아지면 결과값이 1에 수렴하는 [ X = 0.933 (N=0.1) ] 결과를 내줬습니다.


    적의 agi가 내 agi의 몇 배인가를 N으로 놓고, (적이 내 agi의 두 배면 2, 절반이면 0.5)

    N의 밑을 잘 조정하면 응용이 될 것 같습니다.

    이번엔 식이 꼬이지 않기를 ㅋㅋㅋㅋㅋㅋ


  1. [rpg2003] 기본 전투시 잘못된 적 캐릭터가 지정되었습니다 라는 오류메시지와 함께 튕기는 문제.

    Date2008.02.11 By닝구 Views2066
    Read More
  2. 모바일 지원 조작키 질문입니다.

    Date2014.07.26 Byneopop Views2062
    Read More
  3. VX] 주인공 캐릭터이미지 게임진행중 바꿀수있는 방법은?

    Date2010.11.15 By무묘랑 Views2060
    Read More
  4. 알만툴 vx 테스트 실행시키면 검은색 화면이되요...

    Date2016.06.01 Byfate세이버 Views2057
    Read More
  5. 알만툴 2000에서 DirectDraw Error가 뜹니다.

    Date2010.03.23 By Views2054
    Read More
  6. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

    Date2021.12.20 By백지씨 Views2049
    Read More
  7. '메모리 스트림 확대 중에 메모리가 부족해졌습니다' 그리고 데이터 손상.

    Date2011.02.11 By땡중 Views2039
    Read More
  8. [RPGVX]Bitmap, Sprite Class에 대한 질문입니다.

    Date2010.10.02 By녹색주머니 Views2032
    Read More
  9. 이거 오류인가여 해결법은 ㅜㅜ

    Date2013.12.06 By은지 Views2031
    Read More
  10. 드래곤라자 길드가 뭔가요?

    Date2010.06.17 ByBrainStew Views2029
    Read More
  11. 아래에 질문했던 대시에 문제가 생겼습니다.

    Date2010.11.24 ByVermond Views2026
    Read More
  12. 질문입니다.

    Date2011.01.25 By디아즈 Views2020
    Read More
  13. RPG2003 자작페이스셋 저장시 질문요.

    Date2009.07.11 Bylobotomy Views2019
    Read More
  14. 에디롤 오케스트라

    Date2007.11.29 By골룸들의합창 Views2015
    Read More
  15. VX Ace 명중률 계산에 Agi(민첩성) 적용 어떻게 하죠?

    Date2012.03.06 By올리브오일 Views2008
    Read More
  16. RPG MV 대화 중 세이브 기능..

    Date2016.03.11 By정궈니 Views2006
    Read More
  17. Vx ace 모바일런타임패키지 다운법

    Date2014.02.10 By하재오비잴부네채즙세탸빕 Views2006
    Read More
  18. 음악 작곡할때 좋은 프로그램좀 알려주세요.

    Date2010.10.24 By마루 Views2000
    Read More
  19. 미국노래중 신나는곡,데스메탈,리듬이좋은곡,중독성잇는곡 추천해주세요.

    Date2009.05.29 Byps인간 Views1998
    Read More
  20. 카론rpg전직 질문

    Date2014.04.26 By따분한대륙 Views1995
    Read More
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 442 Next
/ 442






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

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