질문과 답변

Extra Form

왠만하면 혼자서 해결하고 싶었지만 하나 더 질문하게 되네요.

http://avangs.info/kin/1552659 에서 해결된 스크립트에서 전투때마다 전투 진형을 바꾸려고 한 변수를 지정해서 그 수를 조정해가며 하려고 계속 연구했습니다.

game_variables[1]랑 ACTOR_POSITION 2개는 해당 스크립트에 선언이 없는걸 보니 이미 전에서 선언 된듯 해서 c로 짠다면 이렇게 짰겠네요.

#include <stdio.h>

int main(void)

{

if (game_variables[1] == 1)

      ACTOR_POSITION =
 [[415,160, 0],[435,185, 0],[455,210, 0],[475,235, 0],[495,260, 0],[515,285, 0]]

else

~

end

}

 

if $game_variables[1] == 1

     ACTOR_POSITION =
 [[415,160, 0],[435,185, 0],[455,210, 0],[475,235, 0],[495,260, 0],[515,285, 0]]

else

~

 

if $game_variables[1] == 1?

     ACTOR_POSITION =
 [[415,160, 0],[435,185, 0],[455,210, 0],[475,235, 0],[495,260, 0],[515,285, 0]]

else

~

 

var = $game_variables[1]

if var == 1

     ACTOR_POSITION =
 [[415,160, 0],[435,185, 0],[455,210, 0],[475,235, 0],[495,260, 0],[515,285, 0]]

else

~

 

var = $game_variables[1]

if var == 1

     ACTOR_POSITION =
 [[415,160, 0],[435,185, 0],[455,210, 0],[475,235, 0],[495,260, 0],[515,285, 0]]

else

~

end

이런식으로 할 수 있는 방법이란 방법은 다 해봤는데도 성공하지 못합니다. []메소드가 없다는등, end가 뭐 어쨋다는등 어떻게 해야 할지 막막한 오류들이 뜹니다.

네이버나 질문과 답변을 보면 여러가지 스크립트를 볼 수 있어서 다 찾아봐도 단순히 if문을 쓰려니까 안되네요...

ACTOR_POSITION을 이벤트 창에다 스크립트를 붙여놔도 아무 변화가 없더군요. 도저히 답이 안보입니다. 도와주세요.

Comment '8'
  • ?
    일단 2016.03.09 17:44

    제가 질문을 잘 이해한 건지 모르겠네요. 루비 언어로 조건분기를 사용하고 싶다는 게 맞나요?

    vxa의 도움말(단축키 F1)을 누르시면 [RGSS레퍼런스 항목]이 있습니다.
    그 하위 항목에는 [Ruby의 문법]이라는 항목이 있으니, 그 부분을 참고해보세요.

     

    조건분기 등 루비 문법의 전반적인 사항이 있으니,

    한 번 전체적으로 훑어보시면,

    앞으로 스크립트 수정, 제작 관련해서 도움이 많이 되실 겁니다.

     

    혹시 도움말 한글화가 안 되어있다면,

    아방스 자료실에 해당부분에 대한 한글패치 파일이 있습니다.

    http://avangs.info/index.php?_filter=search&mid=pds_tools&search_keyword=ace&search_target=title_content&document_srl=927934

  • profile
    ifeve 2016.03.09 17:55
    사전이 영어라서 안보고 있었는데 스크립트도 있었군요. 보면서 다시 도전해 보겠습니다!
  • profile
    ifeve 2016.03.09 19:22
    도움말이 있어도 안되네요...
    도움말 써져 있는데로 class Game_Variables을 불러온다음에 game_variables[1]를 불러오려고 해도
    undefined method '[]' for nil:NilClass
    라는 오류가 뜨네요.
    분명 스크립트 에디터 Game_Variables칸에는 class에
    def []=(variable_id, value)
    @data[variable_id] = value
    on_change
    end
    라고 있으니 클래스를 불러오고 game_variables[1]을 쓰면 변수 1번의 값을 봐야하지 않나요? 2시간동안 이것만 잡고 있는데도 왜이리 안되는지 정말 답답하네요 으아...
  • ?
    일단 2016.03.09 21:19

    $game_variables[1] 로 써주셨나요? $를 붙여야합니다.
    알만툴 내에서 사용되는 변수, 스위치는 모두 전역변수로 선언되어있습니다.
    스크립트 상에서 ctrl + shift + 'F키'를 누르고,

    Game_Variables을 검색해보시면 알 수 있습니다.(아마 검색결과 첫 줄에 나올 겁니다.)

     

    참고로, 이외에도 대부분의 Game_???? 클래스들은 전역변수로 선언되어있습니다.

  • ?
    일단 2016.03.09 21:48

    아니면 혹시 $game_variables 변수가 배열로서 선언되기 이전에,
    [1] 코드를 넣으신 게 아닌가 싶네요.


    $game_variables 변수의 생성 시기는, 스크립트에디터 상에서 따지자면,
    rgss_main { SceneManager.run } 에 해당합니다. 즉 가장 끝부분이죠.

     

    추가한 코드가 만약 메소드 내부에 있지 않고 즉시 실행되는 위치에 있었다면,

    전역변수 $game_variables가 생성되기 이전에 코드가 실행되게 되며,

    배열로서 읽을 수 없다고 뜨게 됩니다.

    원하시는 코드를 스크립트에디터말고,
    일단 맵상의 이벤트 내의 [커맨드:스크립트]를 통해서 추가하신 후,
    게임을 실행하시면 되긴 될 겁니다.

    물론 전투 시작 전에 추가된 코드를 커맨드를 통해서 항상 실행시켜줘야겠죠.

    자세한 부분은, 제가 설명드리기는 어려울 거 같네요.
    도움말과 콘솔창을 통해 직접 배워가시는 걸 일단 추천해드립니다.

    저도 배우는 입장이라, 

    문법적인 부분으로 파고들게 되면 부정확한 정보를 전달할 여지가 있습니다.

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

    그리고 ACTOR_POSITION 은 N03::ACTOR_POSITION 으로 써주세요.

    모듈 내의 정수를 외부에서 참조할 때는 모듈명::정수명, 으로 표기해야합니다.

  • profile
    ifeve 2016.03.09 23:11
    정말 감사드립니다! N03::ACTOR_POSITION을 넣고 그걸 이벤트 창의 스크립트에다 갖다 넣었더니 변수에 따라 위치가 변경되네요.
    드디어 몇일동안 계속 막히던 전투 스크립트 부분이 전부 해결되었네요. 거의 다 짜주신것이나 다름없는 수준으로 도와주셔서 감사합니다. 꼭 게임을 완성하도록 할게요!
  • ?

    이벤트창에 그대로 넣으시라는 건... 사실 미봉책으로 말씀드린 겁니다.

    원하시는 부분이 코딩하는 법이라고 생각해서 위와 같이 답변드렸던 것이고요.


    그대로 게임만드시다가 수정할 일이 발생하면 번거로워질 수 있습니다.
    일일이 이벤트페이지 찾아가서 같은 코드 수정을 반복해야되니까요.

    첨부한 파일은 효과적으로 작업하실 수 있도록 만든 스크립트입니다.
    안에 설명이 있으니 참고하세요.

  • profile
    ifeve 2016.03.10 19:17
    이렇게 애매한 질문에 스크립트까지 짜주시다니ㄷㄷ;;
    감사히 사용하겠습니다!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12448
RMMV MV에는 이 칩셋이 없나요? 2 file 잠행인 2017.01.20 171
RMMV 정체불명의 버그 file 잠행인 2017.01.20 94
RMVXA UI를 수정하고 싶습니다..! 1 file 아랑리네 2017.01.20 1522
RMVXA 캐릭터 안움직이는것 2 은듕 2017.01.21 200
RMVXA 턴제 전투 중에 키 입력시 이벤트 발생 기폭 2017.01.21 63
RMVXA 타일셋적용법 민트초코우유 2017.01.21 116
RMVXA 타일셋 적용 질문 file 쑤수 2017.01.21 168
RMMV 새로운 세이브에도 적용되는 스위치 1 겜제작광 2017.01.22 112
RMVXA 알피지 만들기 vx ace질문이요 좀 급합니다 3 등심몬 2017.01.25 130
RMMV galv massage busts 질문 1 file 잠행인 2017.01.26 83
기타 렌 파이 구체적인 강좌 어디서 찾을수 있나요? 1 mijeuna123 2017.01.26 197
RMVXA 맵을 어둡게하고 내 주위만 밝게하는것이 궁금합니다 1 등심몬 2017.01.27 135
RMMV 아래 어떤분이 질문하셨던 주변 어둡게 하는 방법 2 잠행인 2017.01.28 127
기타 알만툴 실행 질문 1 fijifufi4859 2017.01.28 95
RMXP 액터 배치 2 퀼트 2017.01.30 94
RMVXA [질문추가]그림표시에 대해 다시 질문드립니다. 3 file 쑤수 2017.01.30 186
라이선스 기타 알피지 메이커의 다른 툴 끼리도 저작권 공유가 되나요? 1 PP 2017.01.30 198
RMMV Khas Advanced Graphics관련 질문 7 file nuclearjam 2017.02.01 159
RMMV 플러그인을 만들어보고 싶은데 혹시 open API 가 있을까요? 1 무르무르 2017.02.01 118
RMVXA 횡스크롤 형식의 게임을 어떻게 구현해야할지 질문드립니다. 2 황태 2017.02.02 982
Board Pagination Prev 1 ... 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 ... 516 Next
/ 516