질문과 답변

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

Who's 칸타모

profile

3D 그래픽 디자이너 입니다. 하지만 디자이너라기 보단 개발자라는 명칭이 좋습니다.

기획에 목표가 있고, 그래픽에 몸담고 있으며, 팀관리에 적극적이며, 누구보다 열정적인 한 사람으로써...

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 12448
RMVX 플레이어의 자동 이동과 자동실행 6 행복해 2013.09.15 1113
RMVX 주인공 이름 입력에 따른 앤딩변화 3 Thyella 2013.02.27 1113
RMXP 위력과 공격력은 뭐가 다른 건가요? 2 아미상 2012.07.03 1113
RMXP 배틀종류후 화면멈춤현상 2 캬아악 2012.09.14 1112
RMXP 그림의 표시를 처음 해봤더니 도저히 모르겠네요 3 네네네duyd 2012.09.03 1112
RMVXA DB에 타일셋 적용하는데 짤리네요 4 file 알만툴 2012.12.23 1112
기타 저작권에대해서. 1 후미 2011.02.21 1112
RMXP 메이플같이 퀘스트가 있으면 머리 위에 아이콘이 뜨는 스크립트를 구합니다. 3 ssbest1015 2010.12.11 1112
기타 VX스크립트와 XP스크립트는 같은가요 2 퐁월드 2010.11.20 1112
RMVX 타이틀화면 바꾸기 3 산타오니 2011.05.09 1111
RMVXA RPG Maker vx ace 타일셋 적용을 못하겠습니다 1 file IzumiSagiri 2016.09.10 1110
RMXP 캐릭터칩사이트 2 밀키웨이 2014.03.02 1110
기타 기술대사 효과음 1 뱅뱅이 2013.09.06 1110
툴선택 일러스트 위주로 활동하시는 분들~ 알려주세요 15 한련 2014.01.02 1109
RMVX 스크립트로 특정 액터만 데미지 공식 변경하기 2 뱀딸기 2012.02.18 1109
기타 공사다...... 1 ★RPG마스터★ 2011.03.04 1109
RMVXA 게임 테스트플레이 오류 4 xzrjs 2012.09.13 1108
RMVX 스크립트 몇줄부터 충돌 아방스의강좌 2011.04.14 1108
RMVX Hud On 인터페이스 문제 1 Jung48 2012.06.18 1108
RMVXA vxa프로젝트파일이 열리지 않습니다. 3 file 죽은노예 2013.11.02 1107
Board Pagination Prev 1 ... 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 ... 516 Next
/ 516