질문과 답변

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 12442
RMVXA 스크립트 에디터의 내용을 필드 이벤트에 있는 스크립트로 바꾸는 방법? 몽롱하다 2016.02.14 146
RMXP 스크립트 에디터에서 정해진 수치를 다양하게 변경할수 있는 방법(?)에 관해서 질문합니다 1 브라우니 2012.12.13 846
RMVXA 스크립트 에디터에서 게임오버시... 3 BeNew 2016.09.08 145
RMVXA 스크립트 에디터를 한글화 할수 없나요? 3 한한 2012.03.13 2616
RMXP 스크립트 에디터 둘다 먹통입니다 왜이런느지 아시는분? file 붉은 원숭이 2013.12.31 985
RMVXA 스크립트 에디터 내에서 조건분기를 사용하고 싶습니다. 8 ifeve 2016.03.09 193
RMVXA 스크립트 에디터 1 통룡전사 2018.04.29 186
RMVXA 스크립트 없이 체력 숫자 표시해주는 방법? 2 명상합시다 2013.09.24 976
RMVXA 스크립트 없이 전등에 불빛효과 넣는 방법 좀 알려주세요. 1 치느 2015.10.01 461
RMMV 스크립트 없이 이런건 불가능 한가요?? 3 라케냐 2015.12.28 206
RMVXA 스크립트 없이 8방향(대각선)이동 하는 법 없나요? 무명시절 2015.09.30 260
RMXP 스크립트 언어에대한 궁굼증 2 삼팸스튜디오 2013.05.12 726
RMXP 스크립트 액알에서 공격범위는 설정못하나요? 1 질풍처럼 2010.12.05 635
RMXP 스크립트 아시는분들 이부분 해석좀 해주세요 5 EE!! 2010.10.14 604
RMVX 스크립트 쓸때 alias 1 EuclidE 2011.10.15 1561
RMVXA 스크립트 수치 표기 연동 방법 질문. file 꼭해볼테다 2013.10.20 881
RMVXA 스크립트 수정해주실분 찾아요.. 환장 2015.08.04 150
RMXP 스크립트 수정하고 싶은데 도와주세요. 1 아미상 2014.04.05 610
RMXP 스크립트 소수(실수)를 정수로 하는 방법.. 3 코아 코스튬 2010.10.16 1007
RMVXA 스크립트 설명 좀 해주실분 ㅠ.ㅠ 1 메리리의 2014.06.27 520
Board Pagination Prev 1 ... 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 ... 516 Next
/ 516