?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

스크립트 쪽은 도저히 제가 다룰 부분이 아니네요.. (제 전공은 프로그래밍이 아니라 기ㅎ...)

 

 

저번에 올린 질문 글로 원하던 상황을 구현하려고 했고

 

친절하신 분들(?)의 많은 도움을 받았는데요.

 

우연히 아X스에서 lud라는 분의 스크립트를 발견하게 되었습니다.

 

class Game_Party < Game_Unit
 alias gameover_when_alive_only_hero_all_dead? all_dead?
 def all_dead?
 if $game_party.in_battle
 if $game_party.members[1..$game_party.members.size].all? {|m| m.dead?}
 return true
 end
 end
 gameover_when_alive_only_hero_all_dead?
 end
end

 

 

저와 비슷한 방식을 원한 분이 계셔서 그 질문에 대한 답을 스크립트로 만드셨더라고요...

 

저 스크립트를 쓰게 되면 파티원 1명만 남으면 게임오버됩니다. 그것도 바로...

 

 

 

그런데 문제가 있더군요.

 

안 그래도 전투시스템을 어떤 것으로 할지 고민이 많아서 얼굴이 나오는 프론트뷰 시스템을 쓰고 있는데

 

어찌어찌해서 다른 파티편성스크립트를 이용해 주인공(?)말고 다른 파티원들만 교체가 가능하게 만들었습니다.

 

(그래도 마음에 안 들어서 전투시스템을 기본으로 바꾸는게 어떨지 생각중이지만 이건 다음에 해결하기로 하고...)

 

 

그런데 그것이 의미가 없네요..

 

위 스크립트는 현재 전투에 나가 있는 파티원이 1명일때 게임오버가 되는 식이라서

 

교체할 수 있는 대기 멤버들이 아무리 많아도 전투에서 1명빼고 다 죽으면 바로 게임오버됩니다..

 

 

스크립트는 잘 모르지만 위 스크립트의 내용이

 

"언제 게임오버가 되는가? 영웅 1명만 살거나 혹은 다 죽거나할 떄"

 

그럼 이걸 다 죽는 범위를 대기멤버(전투원이 아닌 파티전원)까지 확장시키면 제대로 작동할 것 같은데

 

그걸 모르겠습니다. 

 

 

이걸 해결 못한다면 아예 파티교체를 못하는 게임으로 만들어야겠죠.

 

혹시모르니 추가로 말씀드리면 파티교체시스템으로는 Yanfly Engine Ace - Party System 이걸 쓰고 있습니다.

 

(전투에서도 쓰게 하고 싶은데 쓰고 있는 전투시스템과 호환이 안 되는지 이상하게 작동해버리는...)

 

 

저번에 도움주신 최저님께는 죄송하다는 말씀을...전합니다.

 

 

?
  • ?
    최저 2016.05.26 14:11
    한 번 전투 도중에 이벤트로 '조건 분기 -> if D(대기멤버)의 상태가 전투 불능이면, 대화창 "D 전투불능"을 띄운다.'를 테스트해보세요. 전투 중에 대기 멤버의 상태까지 인식될 지 어떨 지는 잘 모르겠지만, 만약 "D 전투불능"이 떠서 정말로 인식되는 것이 가능하다면, lud님이 만드신 스크립트 대신에 아래와 같이 하는 것도 괜찮을 것 같습니다.


    트레이너, 그리고 현재 전투 멤버인 A, B, C, 그리고 교체 가능한 멤버가 D, E이고, 지금 갖고 있지 않은 멤버들이 F, G, H, I라면,

    (0+1*X 턴 마다,)
    if A의 상태가 전투 불능이면 변수 Xa에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if B의 상태가 전투 불능이면 변수 Xb에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if C의 상태가 전투 불능이면 변수 Xc에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if D의 상태가 전투 불능이면 변수 Xd에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if E의 상태가 전투 불능이면 변수 Xe에 1을 대입한다. (그 밖의 경우라면 0을 대입)

    if F의 상태가 전투 불능이면 변수 Xf에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if G의 상태가 전투 불능이면 변수 Xg에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if H의 상태가 전투 불능이면 변수 Xh에 1을 대입한다. (그 밖의 경우라면 0을 대입)
    if I의 상태가 전투 불능이면 변수 Xi에 1을 대입한다. (그 밖의 경우라면 0을 대입)

    X = Xa + Xb + Xc + Xd + Xe + Xf + Xg + Xh + Xi


    if X가 [트레이너를 제외한 총 파티원들의 수(이 경우에 이 변수값은 5)]과 값이 같을 때 Game Over를 띄운다.



    (F, G, H, I를 이벤트에 넣은 이유는 모든 전투 이벤트에 적용시키기 위해서입니다. 이러면 현재 자신이 갖고 있는 멤버들이 어떻게 달라지더라도 적용되겠죠. 그런데 이게 전투 중에 대기멤버들의 상태를 읽어들일 수 있는 지 없는 지는 저도 아직 확인해보질 않아서 한 번 케이오피님이 테스트해보셔야 할 것 같습니다. 만약 읽혀지지 않는다면 이 코드는 의미 없어지는 거겠지만요ㅠ)
  • ?
    케이오피 2016.05.26 14:22
    한번 확인해보야겠네요.
    사실 lud님의 스크립트를 이용하려고 했던건 전투이벤트에 모든 액터를 넣어주는 것이 귀찮아서 손쉽게 하려던 것인데
    역시 쉽게 가려는 했던 것이 문제일까요...? 이 시스템이 구현되는 게임이 워낙 캐릭터가 많은 컨셉이라 사실 전투말고도 그런 식으로 모든 경우의 수를 집어넣어야 되는 상황이 많아서 일일히 하기 너무 귀찮아지는 부분이라...전투만이라도 쉽게 하고 싶었는데 어렵네요..
    한번 만들어놓으면 커먼이벤트로 불러오면 되니까 사실 시간만 있다면 어려운 건 없지만, 최근 이거 때문에 게임자체를 포기할까도 생각중이네요. 아무래도 알만툴 내에서 쉽게 만들 수 있는 시스템이 아니다보니(그렇다고 다른 툴을 사용하기에는 배울 시간이 없고..) 시간을 쏟아붓던가 아니면 빨리 포기하고 기획하고 있는 다른 게임으로 빨리 넘어가야겠습니다.
    여기다 푸념까지 적어서 죄송하네요...
  • ?
    최저 2016.05.26 14:29
    음...확실히 파티 멤버들이 수십명 단위 이상이면 이렇게 일일히 변수들을 적는 것도 힘들 것 같긴 하네요...
    그래도 제 생각엔 한 번 만들어 보시는 게 좋을 것 같아요. 일일히 적는데 시간이 좀 걸리긴 하겠지만 사실 그래봤자 대략 한두시간이나 두세시간 정도면 만들 수 있을테니까요. 그 정도 시간이면 그렇게 큰 문제는 아니지 않을까 조심스럽게 제 개인적인 생각을 적어봅니다.
  • ?
    케이오피 2016.05.26 14:41
    수십명이라면 저도 그냥 조금 귀찮구나 하면서 할텐데요...
    문제는 (적어도 현 단계에서 최종적으로 기획되어 있는) 나올 캐릭터가 수 백명 단위입니다. 캐릭터가 999명이 한계라서 그 이상 만들 수는 없지만 최대한 집어넣을 수 있는 만큼 집어넣는 것이 계획이라서요.
    아직 실험은 해보지 못 했는데, 위와 같은 이벤트를 활용하게 되면 수백의 변수를 버리게(?) 되어서, 다른 부분에 쓸 수 있는 변수가 또 적어지죠..
    그 일단 위에서도 '트레이너'라고 표현하셨고ㅡ 저도 전에 포켓몬을 예시로 들었기 때문에 더 설명하자면 '포켓몬'게임을 만드는 것은 아니지만 비슷한 부류의 게임인 건 맞습니다. 그런데 지금 포켓몬게임에서 나오는 포켓몬 종류만 해도 700이 넘고, 앞으로 더 나올 계획이지만, 제가 만드는 게임의 원작도 등장캐릭터(..라고 해야할지 뭐라 해야할지)가 1000종류 이상이다보니...
    물론 다 등장은 못 시키고, 유명한 것만 추려서 등장시켜도 500명 내외는 될 것 같습니다. (정작 그 원작을 바탕으로 한 정식게임 중 모바일을 제외한 게임 중에 캐릭터가 500종류 이상 등장한 적이 없다는 게..)
    만약 제가 말한 모든 문제를 다 해결하고 귀차니즘을 다 이겨낸다치더라도, 캐릭터들간의 밸런스문제가 심각하겠죠.??!!
    일단은 어렵게 계획했으니 당장은 진행을 못해도 언젠가 조금씩 만들 생각으로 알아보고 있는데, 진짜 전투만이라도 어떻게 해보고 싶네요. 그래도 좋은 의견주셔서 감사합니다. 질문글에 쓸데없이 올린 제 생각에 댓글도 주시고, 도움도 주시고..
  • ?
    최저 2016.05.26 14:46
    헉... 수백명 단위였구나... 그러면 확실히 이렇게 일일히 적는 건 무리가 있겠군요. 역시 그러면 lud님 같은 분들이 본문의 문제를 수정한 스크립트를 만드는 것 말고는 방법을 찾기 힘들 것 같네요ㅠ
  • ?
    케이오피 2016.05.26 14:55
    스..스크립트를 내놔!!!! (←정신이상증)
    스크립트 못 찾으면 이 게임은 잠시 보류하기로...
  • ?
    케이오피 2016.05.26 19:31
    아, 해결했습니다.

    class Game_Party < Game_Unit
    alias gameover_when_alive_only_hero_all_dead? all_dead?
    def all_dead?
    if $game_party.in_battle
    if $game_party.all_members[1..$game_party.all_members.size].all? {|m| m.dead?}
    return true
    end
    end
    gameover_when_alive_only_hero_all_dead?
    end
    end

    이렇게 하니까 '모든all'파티 멤버를 대상으로 인식하네요. 대기멤버가 살아있으면 절대 게임오버되지 않습니다.
    다만 무적 1명만 남겨두고, 계속 배틀을 진행할 수 있는데, 상대가 자해기술을 쓸 경우, 싸우지도 않고 이겨버릴 수도 있네요...
    이건 자해스킬을 없애면 되니까 문제 없습니다. 아니면 바꾸지 않으면 안 되는 암묵의 룰을 적용해서?!

    어쨌든 이것으로 해결했고, 이제 파티편성 가능한 전투시스템만 찾으면 스크립트를 활용하는 시스템은 거의 완성이네요.
  • ?
    최저 2016.05.26 20:10
    오 다행이군요!

  1. 선택지 타이머 관련 질문입니다.

    Date2016.06.02 By글그림2 Views653
    Read More
  2. MV에서, 몹에게 가까이 가면 쫒아오고, 멀어지면 안 쫒아오는 이벤트 만드는 방법좀 가르쳐주세요.

    Date2016.06.02 By천가이 Views1253
    Read More
  3. 알만툴 vx 테스트 실행시키면 검은색 화면이되요...

    Date2016.06.01 Byfate세이버 Views2019
    Read More
  4. 플레이어가 파티원을 통과하지 못하게 할 수 있나요?

    Date2016.05.31 By듀얼쇼크 Views546
    Read More
  5. 초보자.. MV 플러그인 질문입니다. (fade in/ out)

    Date2016.05.29 Byhuguduk Views637
    Read More
  6. 왕초보잔데 도저히 모르겠습니다... 도와주세요...

    Date2016.05.28 By소심한소시민 Views724
    Read More
  7. 주인공(파티원1명)만 남았을 때 게임오버되는 스크립트를 수정하고 싶습니다..(해결?!)

    Date2016.05.26 By케이오피 Views1346
    Read More
  8. 윈도우로 네코 플레이어 테스트 어떻게 하나요?

    Date2016.05.24 By이오리 Views623
    Read More
  9. 비전투 파티원을 만들고 싶습니다.

    Date2016.05.23 By케이오피 Views2566
    Read More
  10. 캐릭터 관련 스크립트 질문

    Date2016.05.19 By로우킥 Views617
    Read More
  11. 고요한 허무의서 질문드립니당! 레드드래곤 동굴있잔항요

    Date2016.05.17 By캐망 Views174
    Read More
  12. 네코쯔꾸르

    Date2016.05.16 By은비달빛 Views681
    Read More
  13. Rpg xp ,Rpg vx ,Rpg vx Ace 뭐가 다른거죠??

    Date2016.05.15 By코와이네~ Views1754
    Read More
  14. 아오오니다운링크

    Date2016.05.14 By박사다 Views2595
    Read More
  15. 링크주세요댄싱오니

    Date2016.05.14 By박사다 Views2153
    Read More
  16. 광고수익비 , 조회

    Date2016.05.14 By루시드림 Views240
    Read More
  17. 전투 중 위치에 대해 질문드립니다! (사진첨부)

    Date2016.05.14 ByDD434 Views893
    Read More
  18. MV에서, 전투중에 공격이나 피격시 스탠딩CG가 바뀌게 할 수 있을까요?

    Date2016.05.13 ByDD434 Views699
    Read More
  19. MV에 메시지창 스킵 기능이 있는지 궁금합니다

    Date2016.05.10 ByDD434 Views1859
    Read More
  20. 쯔꾸르겜 실행

    Date2016.05.09 By난도티 Views460
    Read More
Board Pagination Prev 1 ... 16 17 18 19 20 21 22 23 24 25 ... 442 Next
/ 442






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

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