질문과 답변

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 12446
RMVXA 로고 스크립트 아시는 분 계신가요? 3 민송 2017.06.21 169
RMVXA 몬스터가 주인공과 접촉시 몬스터가 총 움직인 거리 구하기! 3 file 니꺼해 2017.06.11 148
RMVXA 받은 rpg maker 파일이 외계어로 표시가 됩니다... 보드카짱 2017.06.10 155
RMVXA 허걱님의 셀프 변수 스크립트를 쓰는데 좌표가... 무명시절 2017.06.09 141
RMVXA main 스크립트를 실수로 지워버렸습니다. 어떻게 해야 하나요? 2 file 소류 2017.06.06 143
RMVXA 캐릭터 칩 질문있습니다!!!! 2 태떡 2017.06.05 149
RMVXA 상태이상에 커먼이벤트 적용하기 1 동생 2017.06.05 130
RMVXA 운이란 능력치에 부여된 설정(상태이상에 걸릴 확률의 조정)을 제거하는 방법 RPG란무엇인가? 2017.06.04 134
RMVXA 아이템을만들었는데 퀘스트할때 아무아이템이나 선택해도 다 진행이되요... 4 file 캬하학 2017.05.18 196
RMVXA 타일관련해서 한가지 여쭤보고싶습니다.. 2 file 고농축부추 2017.05.14 164
RMVXA VL 고딕 폰트를 갑자기 찾을 수 없다고 하네요 5 보드카짱 2017.05.13 1744
RMVXA 캐릭터 전용 장비(무기, 방어구) 시스템을 추가하고 싶습니다. 겜맨602 2017.05.08 117
RMVXA 아이템 설명 메뉴 스크립트 (Crazyninjaguy)를 썼는데, 아이템 이미지를 어떻게 넣나요? 2 file 개보쌈 2017.05.07 238
RMVXA 이벤트 접촉 시 데미지 처리 시스템 17 수프림 2017.05.07 395
RMVXA 버프 관련 스크립트 질문드립니다 MMM 2017.05.04 101
RMVXA 게임제작시 오마케제작 방법 알려주세요 1 고묘아 2017.05.02 179
RMVXA 속성내성 중첩에 관해 질문드립니다! 2 보드카짱 2017.05.02 115
RMVXA 상점의 처리 무기 방어구들의 능력치 표시에 대한 질문 1 겜맨602 2017.05.01 82
RMVXA 특정 이벤트를 보면 조작키가 안 먹힙니다.... 4 니야 2017.04.29 97
RMVXA 상태이상으로 적 죽이기 1 기폭 2017.04.28 164
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 149 Next
/ 149