질문과 답변

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
RMVXA 기술을 사용할때 시전 시 그림이나 소리 삽입이요 1 AccelHacker 2016.11.23 130
기본툴 사용법 RMMV 기존 이미지 말고 컴퓨터에 있는 이미지 추가(초보) 2 지원_ 2020.09.27 343
기존 한글화 되있는게임 3 달빛가람 2015.01.07 349
기타 기존에 "게임스토어" 탭에 있던 "체험판" 메뉴 ... 2 TheEK 2012.04.25 2111
RMXP 기차 스크립트 투명 스위치에 관해서 1 darkman145 2011.06.15 1916
RMVX 기차스크립트.. 2 라스트루마 2011.10.08 1976
RMVX 기초 1 아방스친구 2011.01.08 424
RMVX 기초를 질문합니다 2 태우기 2010.12.08 565
기타 기획적인 문제에서 도움을 받고 싶습니다. 1 벌레황제 2018.08.11 75
플러그인 추천 RMMZ 긴 텍스트를 스크롤해서 볼 수 있는 플러그인이 있을까요? 2 하라아아암 2023.11.10 30
RMVXA 긴급 ) 액션 알피지 참깨빵위에순쇠고기패티두장특별한소스양상추치즈피클양파까지 2013.09.29 1045
RMVX 길드마크구현법 1 데쿠르 2011.07.12 1092
RMVX 길막는것좀 알려주세요.. 1 asd2 2011.03.07 661
RMVXA 길찾기 스크립트에서 변수값을 목표로 설정하고 싶습니다. 4 찬잎 2015.07.03 182
RMVXA 길찿기 프로그램 스크립트를 하고있는데 오류가 떠요. 도와주세요. 2 file slrjwk 2014.08.07 807
RMVX 까까까님이 예전에 올리신 "역동적인 타이틀 만들기" 에 관해서 3 TheEK 2012.04.18 4211
RMXP 깔끔한(심플한) xp용 픽셀이동 스크립트 없을까요..? 5 Lighna 2012.07.28 1646
RMVX 꼭 답변해주세요. 2 삼국지짱 2010.12.19 706
RMXP 꽃을 든 요플레 게임에 쓴 메뉴! 3 ungcul815 2011.02.01 641
기타 나무에 피가 묻은 표현을 하고싶은데 1 rkdalswjd12 2018.07.02 149
Board Pagination Prev 1 ... 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 ... 516 Next
/ 516