질문과 답변

Extra Form

이벤트와 플레이어 캐릭터의 충돌 시 데미지가 들어가는 시스템을 만드는 것에 관해 질문 드립니다.

일단 이벤트와 캐릭터의 충돌 시 단순하게 위치를 '캐릭터와 같음' 으로 설정해놓고

동작을 '이벤트가 접촉'으로 해놓을 시 플레이어와 접촉하면 이벤트의 이동에 딜레이가 걸리는 문제가 발생합니다.

그렇다고 '통과' 또는 위치를 '캐릭터의 아래, 또는 위'를 설정할 시 동작 조건이 '이벤트가 접촉'임에도 불구하고

동작 조건이 '플레이어가 접촉'인 양 실행되어 버립니다. 한동안 머리 잡고 고민했지만 도무지 답이

나오지 않아 혹시 해결방안이 생각나시는 분은 답변 부탁드립니다.

Who's 수프림

profile


현재 RPG XP 호러장르 ' 여왕의 성 ' 무기한중단.

현재 RPG XP 호러장르 ' 개미지옥 ' 완성.

현재 RPG XP 호러장르 ' 낙서군 ' 완성.

Comment '17'
  • ?
    무명시절 2017.05.07 11:13
    그럼 변수를 한번 써보세요.
    이벤트 실행조건을 병렬처리한 다음
    주인공의 x좌표, y좌표, 추격자의 x좌표, y좌표 를 각각 설정하고(총 4개)조건분기로
    -주인공 x=추격자 x
    -주인공 y=추격자 y
    주인공 체력 감소
    이렇게 하시면 될 것 같습니다...
  • profile
    수프림 2017.05.07 18:32
    저도 그 생각을 해 봤었는데 피하기 게임인지라 특성상 이벤트가 다수 필요하고
    그렇게 되니 지정할 변수가 너무 많아 사용하지 못했습니다.
    여튼 소중한 답변 감사합니다 :) 최후의 수단정도로는 생각해 봐야겠어요.
  • ?
    무명시절 2017.05.07 19:00
    그렇다면 이 스크립트를 쓰는 방법 밖에는 없군요.
    http://avangs.info/index.php?mid=rgss_vx_ace&category=969483&document_srl=915579

    셀프변수 라는 스크립트입니다. 셀프스위치처럼 한 이벤트 내에서만 처리하는 변수 입니다.




    추신:이 글의 댓글에 사용하고 싶은 조건이 나와 있으니 참조하셔서 만드시길 바람니다
  • profile
    수프림 2017.05.10 12:05
    스크립트 쪽은 문외한이라 예시작 같은 것이라도 없으면 적용 방법을 잘 모르겠습니다...
    계속 보고 해보면서 이해하려고는 해봤는데 도저히 안되네요 ㅠㅠ 죄송합니다..
  • ?
    무명시절 2017.05.10 13:49

    좀 힘들지만 설명 드릴께요
    우선 이벤트 페이지 3번에 스크립트를 누릅니다.
    거기에
    key = [map id, event id, variable nuder]
    self_var[key] = $game_map.events[@event_id].x
    이렇게 적으시면 해당 이벤트의 셀프변수가 해당 이벤트의 x좌표로 설정됩니다.
    가령 위에 부분을 key = [2, 7, 4]로 적는 다면 맵 id 2번 맵에 있는 7번 이벤트에 셀프변수 4번이 이 이벤트의 x좌표로 저장된다는 예기죠
    같은방식으로 y좌표를 설정하면
    key = [map id, event id, variable nuder]
    self_var[key] = $game_map.events[@event_id].y
    이렇게 됩니다.
    그 뒤 기존 변수를 사용해서 주인공의 좌표 또한 설정해주세요

    그다음 조건분기로 스크립트에 이렇게 적어주시면 됩니다.

    ◆self_var[sv_key(셀프변수번호x)] == $game_variables[주인공의 x좌표변수]
        ◆self_var[sv_key(셀프변수번호y)] == $game_variables[주인공의 y좌표변수]
            ◆(이벤트 내역)
    혹은 주인공의 좌표를 변수 설정하지 않고 바로 조건분기를 거는 방법도 있는데...
    그건 아마...
    'self_var[sv_key(셀프변수번호x)] == $game_map.player.x'일테지만...
    '$game_map.player.x'는 제가 정확하게 알고있는게 아니고 어림짐작이라 너무 믿진 마십시오.

  • profile
    수프림 2017.05.12 20:44

    답변에 감사드립니다. 괜찮으시다면 이해가지 못한 부분에 관해 조금 더 질문해봅니다.

    스크립트를 하나만 만들어 놓고 그 안에 모든 명령어를 넣는건가요?

    ◆self_var[sv_key(셀프변수번호x)] == $game_variables[주인공의 x좌표변수]라 한다면 주인공의 x좌표 변수 자리에는 변수번호가 바뀌어들어가는건가요?

    ◆(이벤트 내역) 안에는 또 명령어들을 입력해줘야 하는건가요?


  • ?
    무명시절 2017.05.12 22:38
    질문 하나당 하나씩 답변 드리겠습니다.

    '스크립트를 하나만 만들어 놓고 그 안에 모든 명령어를 넣는건가요?'
    :해보진 않아서 모르겠습니다. 해보시고 안되면 분리하세요

    '◆self_var[sv_key(셀프변수번호x)] == $game_variables[주인공의 x좌표변수]라 한다면 주인공의 x좌표 변수 자리에는 변수번호가 바뀌어들어가는건가요?'
    :네 주인공의 x좌표를 대입한 변수의 번호를 적어주면 됩니다

    '◆(이벤트 내역) 안에는 또 명령어들을 입력해줘야 하는건가요?'
    :음... 명령어가 아니고요, 실행하고자 하는 이벤트 내용 즉, 주인공 혹은 파티의 체력 감소시키면 됩니다.


    이정도면 이해 되실라나요?
  • profile
    수프림 2017.05.19 13:47
    될 듯 하면서도 잘 안 되네요..;; 조건 분기 스크립트에서 오류가 발생했는데
    이유를 알지를 못하여 답글 남깁니다.

    스크립트 :key = [26,1,1]
                  self_var[key] = $game_map.events[@event_id].x
    스크립트 :key = [26,1,2]
                  self_var[key] = $game_map.events[@event_id].y
    조건분기 : 스크립트 : self_var[sv_key(1)] == $game_variables[2]
     조건분기 : 스크립트 : self_var[sv_key(2)] == $game_variables[3]
      문장 : -,-, 일반, 아래쪽 
        : 어쩌고 저쩌고

      분기종료
    분기종료
    
    라고 설정시 

    Script 'Game_Interpreter' line 450: NoMethodError occurred.
    undefined method 'sv_key' for # <Game_Interpreter:0x53dd934>

    라는 오류가 발생합니다.
  • ?
    무명시절 2017.05.19 16:43
    대충...sv_key가 정의되어 있지 않다고 하는거 같네요...
    이상하네요 저는 잘만 작동되는데...
    혹시 스크립트를 위에다 뒀다던가 하신건 아니죠?
    (저도 문외한이라 오류뜨면 당황스럽긴 마찮가지...)
  • profile
    수프림 2017.05.19 22:35

    혹시 괜찮으시면 만드신 자료를 따로 보내주실 수 있으신가요? ㅠㅠ;

    스크립트를 위에 뒀다는 것이 정확히 어떤 의미인지...

  • ?
    무명시절 2017.05.20 00:22
    ace의 스크립트 창를 보시면 옆에 많은 항목들이 있는걸 보실수 있는데 그곳의 맨 밑으로 내려가시면
    여기에 유저 스크립트를 추가 하라는 문구가 적혀있을 겁니다.
    즉, ( Insert here ) 라고 적힌곳 아래 혹은 ( ▼ 여기에 추가 ▼ )와( ▲ 여기에 추가 ▲ )의 사이에
    스크립트를 넣어야만 제대로 작동합니다만... 여기에 넣지 않았다던지를 묻고 있던 겁니다.
  • profile
    수프림 2017.05.20 12:47

    (Insert here) 아래에 넣어져 있어도 같은 현상이 발생하네요...
    보내주신 자료의 Self_Variables.txt의 내용을 복사한 뒤 insert here 아래에 스크립트를 새로
    삽입하고 그 안의 빈 내용 안에 넣는 것 맞죠?

    조건 분기 스크립트 전 스크립트까지는 오류가 생기지 않는데

    조건 분기 스크립트를 만들면서 부터 오류가 생기는 것 같아요

  • ?
    무명시절 2017.05.20 13:00
    그럼 한번 sv_key(1)를 지우고 1로 대신 넣어보세요


    그렇게 해도 안된다면... 뭐 3개의 안이 있습니다
    1.새로 프로젝트를 만들고 스크립트를 삽입한다
    2.다른 셀프변수 스크립트를 찾는다
    3.포기한다
  • profile
    수프림 2017.05.21 20:07
    말씀하신 대로 해보니 오류는 사라졌으나 분기 안 이벤트가 실행되지 않네요..
    포기해야되나...
  • ?
    무명시절 2017.05.21 21:04
    음... 한번 새로운 프로젝트를 만들어서 거기서 해보세요
    현 프로젝트에 문제가 있어서 안되는 걸 수도 있으니 말이죠...
    만약 거기서도 안된다면...(안될리는 없을것 같지만) 그냥 포기 해야죠
    아니면 위에 2번 방법을 써보시는 것도...
  • profile
    수프림 2017.05.31 23:00
    새로운 프로젝트로 재시도해보았으나 여전히 실패합니다..
    정말 죄송하지만 혹여 성공하신 예제를 공유해주실 수는 없을까요 ㅠ
  • ?
    괴도키드 2017.05.18 16:41
    간단하게는 이벤트의 이동빈도를 올리는것이 딜레이를 감소시킬 수 있겠네요.

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12387
RMVXA 쯔꾸르창이 전체화면으로 됩니다... 4 마맨 2014.01.11 29506
에러 해결 RMMV NW.js 프로필 오류 해결법 아시는분 있나요? 2 file MSM 2019.03.05 18579
기타 RPG만들기로 만든 게임은 에디트를 사용못하나요? 5 키키두두키 2011.10.09 13476
RMVXA 요즘 혜성 같이 나타난 RPG VX ACE 치트오메틱에 대해서입니다. 1 g223k 2013.04.10 11959
RMVXA RPG VX ACE 에서 조작키 바꾸는 법 3 째워잉 2013.08.17 10804
RMVX RGSS202.dll좀 주실분 2 알피지매니아스 2010.11.14 10515
RMVX RVDATA2 파일은 어떤 프로그램으로 열어야하나요? 2 글쓰니안쓰니 2013.03.28 10132
RMVX rpgvx계 게임을 받았는데 1 하구하구 2010.11.08 9686
RM2k3 2003 그래픽 (캐릭터,몬스터) xp에서도 사용 가능 하나요? 2 마우리 2012.03.20 8895
RMVX 대화창 스킵하는법 6 kaisis 2013.05.06 8720
RMVXA RPG VX ACE 윈도우 7유저의 한글 깨짐 현상. 3 kila233 2012.07.07 8627
RMVX RGSS202E.dll 이 없어요.. 어디서 구하죠? 2 C1님 2011.04.18 8103
RMVX RPGVX 오류(?) 2 『호┠심』군 2010.12.01 8057
RMVXA RPG만들기 VX ACE 이거에서 rgss3a파일 어떻게 열어요? 2 시에마 2013.07.28 7907
한글이 네모로 뜨며 깨집니다.(해결!) 4 file 꺄훌 2012.11.19 7840
기타 rvdata2 확장자는 무슨 제작툴을 쓴건가요? 6 식인곰푸 2014.06.17 7779
RMMV ~~.rpgmvp가 뭔가요? 2 file 무슨상관이라도 2016.08.25 7391
기타 사이트 이용 사운드 소재 란에 있는 사운드/효과음 소재들은 써도 되는 건가요? 2 jojiwell 2019.11.30 7384
RMVX 뱀파이어 액알에서 Die Self Switch A 어떻게 사용하는 건가요? 3 닉네임은2와20 2012.01.16 7268
RMVX 애니메이션 한 프레임당 초가 몇인지 알고싶습니다. 4 톰소여동생 2012.06.29 7181
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 516 Next
/ 516