조회 수 673 추천 수 0 댓글 4
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

안녕하세요. 플러그인 이용하다 막혀서 질문드립니다!

MOG_CharSelect 플러그인이라고 해서 게임 시작시에 파티를 정하는 플러그인입니다.

 

총 액터는 6명이고 처음 플레이시 5명만 선택 가능하게 해놓고

엔딩을 보면 6번째 액터가 선택 가능해지는 이벤트를 만들고 싶은데요.

플러그인 기능에서 액터를 숨기는 기능은 있는데 숨김을 해제하는 커맨드가 없어서

스크립트 상으로 처리해야 할것 같은데 제가 이쪽은 문외한이라 ㅠㅠ

 

플러그인 파일이랑 파라미터 첨부할테니 봐주시면 감사하겠습니다!

 

 

-------------------------------------

  var Imported = Imported || {};
  Imported.MOG_CharSelect = true;
  var Moghunter = Moghunter || {}; 

   Moghunter.parameters = PluginManager.parameters('MOG_CharSelect');
    Moghunter.skipActorIDs = Object(Moghunter.parameters['Hide Actor IDs'] || 0);
    Moghunter.charSel_FaceX = Number(Moghunter.parameters['Face X-Axis'] || 30);
    Moghunter.charSel_FaceY = Number(Moghunter.parameters['Face Y-Axis'] || 0);
    
    Moghunter.charSel_Face2X = Number(Moghunter.parameters['Face 2 X-Axis'] || 690);
    Moghunter.charSel_Face2Y = Number(Moghunter.parameters['Face 2 Y-Axis'] || 150);
    Moghunter.charSel_Face2S = Number(Moghunter.parameters['Face 2 Space'] || 90);
    
    Moghunter.charSel_PictureX = Number(Moghunter.parameters['Picture X-Axis'] || 70);
    Moghunter.charSel_PictureY = Number(Moghunter.parameters['Picture Y-Axis'] || 0);
    Moghunter.charSel_CursorX = Number(Moghunter.parameters['Cursor X-Axis'] || 0);
    Moghunter.charSel_CursorY = Number(Moghunter.parameters['Cursor Y-Axis'] || 0);
    Moghunter.charSel_CursorR = Number(Moghunter.parameters['Cursor Rotation'] || 0.02);
    Moghunter.charSel_NameX = Number(Moghunter.parameters['Name X-Axis'] || 20);
    Moghunter.charSel_NameY = Number(Moghunter.parameters['Name Y-Axis'] || 525);
    Moghunter.charSel_parX = Number(Moghunter.parameters['Par X-Axis'] || 270);
    Moghunter.charSel_parY = Number(Moghunter.parameters['Par Y-Axis'] || 200);
    Moghunter.charSel_parFontSize = Number(Moghunter.parameters['Par Font Size'] || 22);
    Moghunter.charSel_initPartySize = Number(Moghunter.parameters['Initial Party Size'] || 4);
    Moghunter.charSel_rolRange = Number(Moghunter.parameters['Ring Size'] || 200);

------------------------------

?
  • profile
    lklslel 2016.05.20 15:57

    해당 스크립트를 살펴보니...

    240줄 부근에 원하시는 모든 부분에 대한 정보가 들어 있습니다.

    Scene_CharSelect.prototype.loadFiles = function() {
     this._faceBitmaps = [];
     this._faceBitmaps_S = [];
     this._pictureBitmaps = [];
     this._skipID = [];
     this.setvar(this._skipID,Moghunter.skipActorIDs);
     $gameParty._actors = [];
     for (var i = 1; i < $dataActors.length; i++) {$gameParty.addActor(i)};
     var membersTemp = $gameParty.members();
     $gameParty._actors = [];
     for (var i = 0; i < membersTemp.length; i++) {
      var enable = true;
      var actor = membersTemp[i];
      for (var s = 0; s < this._skipID.length; s++) {
       if (actor._actorId === this._skipID[s]) {enable = false};
      };
      if (enable) {
       this._actors.push(actor)
       var fileName = String("Actor_" + actor._actorId)
       this._faceBitmaps.push(ImageManager.loadACharSelectFaces(fileName));
       this._faceBitmaps_S.push(ImageManager.loadACharSelectFacesS(fileName));
       this._pictureBitmaps.push(ImageManager.loadPicture(fileName));
      };
     };
     this._maxPartySize = Math.min(Math.max(Moghunter.charSel_initPartySize,1),this._actors.length);
    };

    페이스칩과 캐릭터 이미지 등등이 지정되는 부분이 있습니다.

    여기에서 _skipID에 들어있는 숫자 중에 actorId에 해당하는

    숫자와 일치하면 ( if (actor._actorId === this._skipID[s]) {enable = false}; )

    false 상태로 아래의 if (enable) {} 안에 있는 처리.

    즉, 파티 멤버로 등록을 하지 않고 이미지를

    로딩하지도 않는 구조입니다.


    올려주신 스크립트의 기본적인 처리는 RPG MV의

    시스템을 확장한 것 뿐이라서 이미지들을 보여주기

    위한 효과만 들어가 있습니다.


    전투나 다른 스킬 등등에 대한 것은 일절 담겨있지 않습니다.

    그냥 파티 동료의 등장 / 퇴장만을 다루고 있습니다.


    240줄 부근에 있는 스크립트를 참고해서 작성해보시면

    원하시는 결과를 얻으실 수 있을 거라고 생각합니다.

     

     

    좀 더 설명을 드리자면 240줄 부근에 있는 loadFiles함수는

     

    필요한 때마다 파티관련 데이터를 초기화하는 방식으로

     

    $dataActors.length(등장하는 전체 캐릭터 전체 수)

     

    만큼을 미리 복사해두고 비교해서 실제로 쓸

     

    캐릭터에 대한 정보를 지정해주는 방식입니다.

     

     

    Moghunter.skipActorIDs의 값을 변경시켜주신 다음에

     

    Scene_CharSelect.loadFiles(); 로 함수를 실행시키면

     

    파티에 대한 모든 정보가 초기화 될 겁니다.

     

     

    게임 엔딩을 보았다는 판정은 어떻게 하는지는 모르습니다만

     

    알고 계신다면 적용하는데에는 크게 무리가 없으실 겁니다.

  • ?
    로우킥 2016.05.20 17:15
    답변 감사합니다!
    이게 플러그인 설정에 보면 'Hide Actor'에 6을 입력하면 6번째 액터가 캐릭터 셀렉시에 보이지 않게 되는 기능인데요.
    제가 구상중인건 액터 1부터 5까지 각각 시나리오를 정해놓고 처음에는 6을 안보이게 해놓은 후
    액터 1~5중 캐릭터 하나로 선택후 시작해서 캐릭 하나라도 끝을 보게 되면 6번째가 해제되는 고런 시스템을 생각하고 있습니다.

    0을 입력하면 모든 액터가 셀렉화면에서 보이게 되니까 엔딩 분기에서 스크립트로 저 부분(skipActorIDs)을 0으로 바꾸는걸
    짜면 될 것 같은데 문제는 스크립트를 전혀 작성할 줄 몰라서 ㅠㅠ
    특정 값을 변경하는 스크립트 부분 도움 주시면 감사하겠습니다..
  • profile
    lklslel 2016.05.20 20:26
    영어라서 어렵게 느껴지실 수 있습니다만,

    개인적으로 기능을 만드시거나, 플러그인을

    만드실 게 아니라면 깊은 이해 없이도 비교적

    간단하게 스트립트를 작성하실 수 있습니다.


    자바스크립트는 스크립트 중에서는 그다지

    어려운 편이 아니니 차분히 살펴보시면 공통적인

    부분들이 보이실 겁니다.


    특정 값을 변경하는 방법


    Moghunter.skipActorsID = "";


    과 같이 조작하려는


    플러그인/객체.변수 = 값


    같이 작성을 하시면 되겠습니다.


    게임의 엔딩 판정에 대해서는 모르겠습니다.

    실제로 MV를 구매한 다음에 툴을 사용해서

    간단한 게임을 만들어서 툴과 스크립트

    둘 다 모두를 분석한다면 모를까...

    현재로서는 게임의 엔딩 판정을 모르겠습니다.
  • ?
    로우킥 2016.05.20 22:41
    정말 감사합니다 ㅠㅠ
    Moghunter.skipActorIDs="0";
    요거 하나 넣으면 되는 거였네요...
    덕분에 조금이지만 스크립트 구조는 대충 이해하게 되었습니다 ㅋ

  1. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

    Date2023.01.14 By박하맛 Views1330
    Read More
  2. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

    Date2021.12.20 By백지씨 Views2626
    Read More
  3. apk포팅 승인 어케 하나요?

    Date2021.11.29 Bygame메이커xp Views1257
    Read More
  4. Yanfly님의 Action Sequence Pack 질문드립니다

    Date2021.07.15 ByNeuromancer Views1541
    Read More
  5. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

    Date2021.07.06 ByXatra Views1751
    Read More
  6. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

    Date2021.01.22 Byscribble Views1552
    Read More
  7. 아오오니를 하는 사람인데요 질문 두가지가 있어요

    Date2021.01.16 By오니개무서워 Views1634
    Read More
  8. 재밌는게임

    Date2020.12.07 Byland_tnt Views1455
    Read More
  9. c언어 질문

    Date2020.11.10 By세종기항19 Views1684
    Read More
  10. 코딩 질문

    Date2020.11.08 By세종기항19 Views1539
    Read More
  11. 혹시나 물어보는데

    Date2020.11.07 By드래곤규 Views1402
    Read More
  12. 오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금

    Date2020.09.09 By이부닝 Views1224
    Read More
  13. 상태이상 확률 결정

    Date2020.09.02 By스트레이보우 Views1006
    Read More
  14. 다음 인디사이드 제작대회는 언제쯤 열릴까요?

    Date2020.05.23 ByWOONAALAA Views963
    Read More
  15. xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다)

    Date2020.05.04 By라엔 Views1415
    Read More
  16. apk 포팅하는데 게임 이름이 필요합니다 뜨는데

    Date2020.05.03 Bykashu Views1349
    Read More
  17. 쯔꾸르VX Ace렉먹음 도와주세요...

    Date2020.03.22 By랖랖 Views1779
    Read More
  18. 안녕하세요

    Date2020.02.14 By청월령 Views834
    Read More
  19. 포팅 중 '게임 이름이 필요합니다' 오류

    Date2020.02.11 By아이비스 Views817
    Read More
  20. RPGMV 거리 추적

    Date2020.01.19 By정욱 Views930
    Read More
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(김원배) | 사신지(김병국)