질문과 답변

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 12452
RMXP 전투 도중에 몇턴지나면 캐릭터가 아무것도 안해요. 3 닉넴크 2012.12.22 762
RMXP 장소이동@ 아오니 겜오버 등등 3 더러운장미꽃 2010.12.24 763
RMXP mr.mo ABS 1.7(?) 로드 2 뭉개뭉개 2010.11.02 765
RMXP 메뉴 화면 변경 방법좀 2 찢어보니수표 2010.11.07 766
RMXP 아이템 사용으로 스킬이 나가게 하기., 아미상 2013.08.18 766
RMXP ABS_v3액션 알피지 쓰는법좀가르쳐주세요! 4 러쉬 2012.07.26 766
RMXP 액터와 이벤트, 8방향 스크립트 좀... 제작boy 2010.12.19 767
RMXP RTAB 스크립트 충돌나네요;;; 도와주세요 ㅠㅠ 3 file 듀오 2011.01.18 767
RMXP XAS Hero Edition 스크립트 (버전 : 3. 81) 3 Krrrr7 2011.02.27 767
RMXP 습작님 이벤트불러오기 스크립트 질문 4 조석진 2013.11.12 768
RMXP 게임이 1 신수 2010.11.02 768
RMXP ESC눌렀을때 나오는 메뉴창에 대해서.... 1 붉은갈색 2013.07.19 768
RMXP rmxp 애니메이션 랙을 줄여주는 스크립트 질문.. Lighna 2012.11.23 768
RMXP 키보드의 W키로 그림을 출력하고 싶습니다. 1 Andromeda 2014.02.07 768
RMXP 만들기XP 질문 2 로돌프 2010.10.21 769
RMXP RPG XP관련 질문입니다 1 오쿤 2011.03.01 769
RMXP 선택지 박스 질문 1 file 뮤러 2012.12.09 770
RMXP 재질문) 숫자가 아닌 문자 암호로 받기 24 file 제프 2014.05.04 770
RMXP 알피지EX튜토리얼 퀘 6 정복하자rpg 2010.10.25 771
RMXP 사진첨부) 자동 실행,병렬 처리 경우) 그렇게 했는데도 그림 표시하고 사라지지가 않는데요 2 file 마스카루 2013.07.05 772
Board Pagination Prev 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ... 90 Next
/ 90