질문과 답변

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 13195
RMVX 메뉴창에 아이템,저장,게임종료만 남기고싶어요. 3 카온 2012.08.03 1239
RMVX 병렬처리로 나타난 오브젝트에 닿으면 죽어야해요.. 2 file 카온 2012.08.03 1126
RMVX RPG VX 한장비만 장비고정 할수있나요? 1 하찬영 2012.08.03 1256
RMVX 스크립트를 잘못 수정한 것 같아 질문드립니다. 5 미즈 2012.08.02 1020
RMVX RPGVX 동료 3 슬라임잡는 2012.08.02 1317
RMVX 스크립트 하나만 질문할게요. 4 미즈 2012.08.02 946
RMVXA 전투에서 공격할 수 없다는데... 4 file Tape 2012.08.02 1413
RMVX RPGVX 액알 몬스터 드랍질문 4 file 슬라임잡는 2012.08.02 1976
RMVX 게임아이콘변경법 3 우롸이언 2012.08.02 1574
RMVX RPGVX 액알 몬스터 질문점요 2 file 슬라임잡는 2012.08.01 2647
RMVXA 전투에서 데미지를 줄 수 없다는데... 3 Tape 2012.08.01 1379
RMXP [장소이동]:변수 <-- 이용시 조건달기? 6 file 칸타모 2012.08.01 1227
RMVXA 데이터베이스 초기화 후 스킬사용불가 2 file Hal 2012.08.01 1505
RMVXA ace 그림크기, 투명도 관련질문! 4 file 몽롱 2012.08.01 1556
RMVX 시작메뉴윈도우투명하게바꾸는법(VX) 2 우롸이언 2012.08.01 1770
RMVXA 퀘스트 스크립트 충돌문제 3 세븐체크 2012.07.31 1567
RMVX rpgvx 스크립트 언어 종류좀 4 rpg초보정말초보 2012.07.31 2370
RMVX 사이드뷰 적용법 질문입니다. 1 Xin 2012.07.30 1572
RMXP 스크립트 구문 이해 불가.. 6 말짱꽝이지롱 2012.07.29 1353
RMVX 사이드뷰 무기 던지기 1 Plossom 2012.07.29 1556
Board Pagination Prev 1 ... 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 ... 517 Next
/ 517