질문과 답변

Extra Form
음.. 이걸 스크립트 제작의뢰로 남겨야할지 말아야할지 모르겠지만..
 
일단 가능여부부터 알고자 여쭙습니다.
 
아시겠지만 XP의 [이동경로설정]은 병렬이 조금만 늘어도 왠만하면 다 십혀버립니다.
 
그래서 [순간이동]이라는 시스템을 투명으로 빠른속도로 이동시키기 보다는
 
액터로부터 2칸 앞의 좌표를 계산해서 [장소이동]:변수를 시켜두었는데~
 
무분별하게 [장소이동]이 되다보니 벽속으로도 이동이 됩니다.. 일명 사기스킬이 되는거죠..
 
그래서 [장소이동]:변수 이용시에 해당 위치변수(X,Y)에 해당하는 맵칩이 이동불능옵션이 걸려있을때 제한했으면 하는데
 
스크립트로 가능한지 여쭙습니다.
 
스크립트 고수분들의 의견이 간절합니다.
 
 
 bandicam 2012-08-01 16-10-59-757.jpg
 
 p's - XP입니다.
 
 
 
아마도 이게 스크립트로 구현된다면
 
텔레포트 기능을 이용하는 많은 분들에게 큰 도움이 될거라 예상됩니다!!!
 
 
 
Comment '6'
  • profile
    습작 2012.08.01 16:34

    0.


      만일 스크립트 자체를 수정한다고 생각하면 아래의 코드를 새로운 스크립트 섹션에 추가하세요.


    class Game_Player < Game_Character

      alias teleport_moveto moveto

      def moveto(x, y)

        return unless passable?(x, y, 0)

        teleport_moveto(x, y)

      end

    end


      굳이 스크립트 자체를 수정하지 않고 조건분기에서 스크립트를 사용하여 판단하는 방법도 있습니다.


       예를들면 조건분기란에 특정 지형태그인경우를 판별하거나 이동불가 구역을 판별하는 것이지요.


      예를들어 이동할 장소에 대해서 변수 m번에 x좌표를, 변수 n번에 y좌표를 대입했다고 가정했을 경우 (x,y)좌표의 지형태그가 a일 경우를 판별하기 위해 조건분기에 적어야 할 내용은 아래와 같습니다.


      $game_map.terrain_tag($game_variables[n], $game_variables[m]) == a


      마찬가지로 이동할 장소에 대해서 변수 m번에 x좌표를, 변수 n번에 y좌표를 대입했다고 가정했을 경우 (x,y)좌표가 통행불가인 경우를 판별하는 것은 다음과 같습니다.


      $game_player.passable?($game_variables[n], $game_variables[m], 0)


      아무래도 XP유저가 아닌관계로 부족할 수도 있습니다. 그 부분은 다른 분들께서 채워주시라 생각되는군요. 아무쪼록 좋은 제작활동하세요.^^


  • profile
    칸타모 2012.08.01 19:06

    역시 습작님 ㅎㅎ 신경써주셔서 감사합니다 ^^
    자체 스크립트 수정으로는 통하는 것 같지 않았지만,
    조건분기에 스크립트 추가가 효과가 있는 것 같네요!

     

    복잡하지 않을거란 생각은 했지만 단 한줄에 해결될줄은 꿈에도 몰랐습니다 ㅋ

    $game_player.passable?($game_variables[n], $game_variables[m], 3)

    이렇게 뒤에 3인 경우가 이동가능맵타일인것 같아서,
    텔레포트를 하는 조건에 넣어주었고, 나머지 경우 텔레포트를 종료하게
    해두었더니 완벽하게 해결되었습니다 감사합니다 ^^

    그런데 통행가/불에는 가능과 불가능 2가지만 있는데 어찌

    통행가에 해당하는 숫자가 3인지 모르겠내요..
    그럼 0,1,2중에 통행불가는 무엇이며, 통행불가가아닌 나머진 무슨 숫자일지 조금 궁금하긴하네요 ㅋ

  • profile
    습작 2012.08.01 19:34

    1.

     

      뒤쪽에 추가되는 숫자는 통행 방향입니다. 숫자패드를 보시면 쉽게 이해하시겠습니다만, 대걔 방향에 할당된 번호들은 8방을 가리킵니다. 


     ⑦⑧⑨

     ④○⑥

     ①②③


      위와 같이 보시면 될꺼라 생각되는군요. 방향의 합치 판정을 해야 하는데, 4방향 보행이므로 2, 4, 6, 8이 사용되고, 0과 10은 전방향 통행불가시 사용된다고 합니다. 사용하신 3의 경우 해당되지 않으므로 통행가능으로 된 것이지요. 하지만 8방향 이동과 같이 사용된다면 문제의 소지가 있으리라 생각되는군요.


      !$game_player.passable?($game_variables[n], $game_variables[m], 0)


      이런식으로 적어주시는 편이 더 나으리라 생각됩니다.


      그럼 수고하세요.^^



  • profile
    칸타모 2012.08.01 20:53
    3으로도 큰 문제는 없었지만, 조언해주신대로 0을 사용하여 마찬가지
    아무문제 없이 잘 사용하고있습니다!
    친절한 답변에 항상 감사하고있습니다 습작님! ^^ㅋ

    수고하세요!
  • profile
    JACKY 2012.08.02 20:23
    습작님도 말씀을 해주셨지만
    이런경우에는 passable?(x,y,d) 함수를 쓰심 됩니다.
    passable 함수가 true 면 통행가능, false 면 통행불가니
    이걸로 이동의 여부를 판단하면 됩죠.
  • profile
    칸타모 2012.08.02 21:02
    아 그런 방법도 있군요 ㅎㅎ 둘의 차이는 크게 없겠죠? ㅋ

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 21125
RMVXA class스크립트 12 Ilike게임 2012.09.16 1131
RMVXA 후크 샷 스크립트 2 불청객 2013.01.17 1131
RMVX 말로 설명 못하는 힘듦. 4 인뎐뎬쟝 2011.07.07 1131
RMXP 번역 에러인것 같은데 1 담먹캐 2011.02.18 1130
툴선택 일러스트 위주로 활동하시는 분들~ 알려주세요 15 한련 2014.01.02 1129
RMVX 이렇게 전투스킬사용시 스킬마다 이미지가 나타나게하는 방법좀 알려주세요... 3 file 누룽누룽 2013.01.15 1129
RMVX 스크립트를 도중에 추가할 수 있나요? 2 우아니아랱치 2011.07.13 1129
RMXP 변수질문 1 Snow클라우드 2011.05.16 1129
RMXP 오니 메뉴 2 엑셀 2010.09.19 1129
RPG VX 판 메뉴창(ESC or x 키 누를시 나오는 메뉴시스템)을 전체 한글화 시키고싶은데요 4 유변세변능력자ek 2014.07.19 1128
RMVX [vx] 아이템에 치명타확률을 원하는만큼 부여해주는 스크립트 6 애플잼 2013.10.03 1128
RM2k 테스트플레이 오류 1 휘록 2013.07.07 1127
RMXP 위력과 공격력은 뭐가 다른 건가요? 2 아미상 2012.07.03 1127
RMVX 스크립트로 특정 액터만 데미지 공식 변경하기 2 뱀딸기 2012.02.18 1127
RMVX RPG VX 질문 글씨문제요 4 메이드모에 2010.09.23 1126
RMVXA vx ace는 암호화 해지 툴이 없나요? 1 emblock 2013.11.12 1126
RMVX 주인공 이름 입력에 따른 앤딩변화 3 Thyella 2013.02.27 1125
RMVX 메뉴 세이브 금지한 상태에서 okgeoym1215 2011.08.17 1125
RMVX 게임 시작 버튼을 누르니까 이상한 글이 나와요 2 newyork 2011.06.07 1125
한글 패치 RMVXA RPG VX ACE 한글 패치 3 채토 2019.02.12 1124
Board Pagination Prev 1 ... 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 ... 518 Next
/ 518