질문과 답변

Extra Form
종류 스크립트 사용

 

 


이벤트 명령 > 스크립트에 


 $gameVariables.setValue($gameVariables.value(804), + 50);


문장을 넣었습니다.


변수 804의 값이 되는 번호 변수(이번 경우에는 1)를 불러와서 그 변수에 50을 더하고 싶습니다. 

그런데 저렇게 하니까 +50을 더해 100이 되지 않고 그냥 50을 대입해 50이 됩니다.

어떻게 수정해야 50을 대입한다가 50을 더한다로 바뀌나요?

 

  

 

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.

Comment '2'
  • profile
    러닝은빛 2019.10.17 17:28

    해당 기능은 단순 대입이며 자동으로 덧셈을 하진 않습니다.


    변수의 최댓값을 804 이상으로 늘리신 후, 해당 변수 번호의 값을 먼저 가지고 온 후, 그 값에 더해야 합니다. (예제에선 804가 아닌 40으로 테스트)


    1
    2
    3
    var someId = $gameVariables.value(40);
    var someValue = $gameVariables.value(someId);
    $gameVariables.setValue(someId, someValue + 50);
    cs


    추천하는 방법은 아니지만 getter/setter를 안쓰고, 그냥 아래와 같이 직접 값을 설정하는 것도 가능합니다.

    다만 직접 접근법은 변수 관련 플러그인과 호환이 되지 않을 수 있습니다.


    1
    2
    $gameVariables._data[$gameVariables._data[40]] += 50;
    $gameVariables.onChange();
    cs
  • ?
    귀객 2019.10.18 08:40
    아랫글에 달아주신 답변대로 해볼께요. 감사합니다

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12387
기타 공지 ※ 제목은 질문의 핵심 내용으로 작성합니다. 습작 2019.01.28 143
Board Pagination Prev 1 Next
/ 1