Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
이동 및 탈것
2009.02.22 12:23

Maplinks - 맵연결을 쉽게 하기

백호
조회 수 1648 추천 수 0 댓글 1
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄
Maplinks script by Wachunga@rmxp.net  (이 @이 e-mail주소를 가리키는 것이 아니란 것을 염두에 두시길)

  스크립트를 이용해서 맵의 가장자리로 갔을 때 다음 맵으로 워프하게 하는 것입니다.(맵의 가장자리를 이벤트로 도배하는 것보다 효율적이다?)


=begin

 ============

  Maplinks - version 0.95 (2005-11-10)

 ============

  by Wachunga


 This script simplifies linking maps together: a single event sets up an

 entire edge of the map as a teleport to another map. Players trying to

 leave that edge of the current map are automatically teleported.


 (This can also be achieved with many copies of teleport events along the edges

 of a map or with a parallel-process event that sets variables and uses them to

 teleport, but these methods are not optimal -- causing lag and/or inconvenience

 for the mapper.)


 To link a map with another on a specific edge (north, east, south or west),

 create an event with <maplink> included in its name on the appropriate edge of

 the map. (To avoid confusion, maplink events on corners of the map are

 not valid.) Then, add a teleport ("Transfer Player") command to the event

 to specify the destination map and other details (e.g. player direction,

 fading on/off). If the destination is an east or west edge, then the Y

 coordinate is calculated based on the player's Y coordinate when

 teleporting; likewise, the X coordinate is calculated automatically when

 the destination is a north or south edge.

 

 Note: unlike normal teleport events, maplinks are activated when the player

 tries to leave the screen instead of when stepping on the last tile. This

 behaviour could be changed, but I feel that it's more natural this way:

 it leaves the whole map open for actual exploration, instead of "wasting"

 the outer tiles of a map.


=end


#-------------------------------------------------------------------------------


class Game_Event < Game_Character

  alias ml_ge_init initialize

  def initialize(map_id, event)

    ml_ge_init(map_id, event)

    if @event.name.upcase.include?('<MAPLINK>')

      dir = nil

      if @event.y == $game_map.height-1

        dir = 2 unless @event.x == 0 or @event.x == $game_map.width-1

      elsif @event.x == 0

        dir = 4 unless @event.y == 0 or @event.y == $game_map.height-1

      elsif @event.x == $game_map.width-1

        dir = 6 unless @event.y == 0 or @event.y == $game_map.height-1

      elsif @event.y == 0

        dir = 8 unless @event.x == 0 or @event.x == $game_map.width-1

      end

      if dir != nil

        @list.each { |command|

          if command.code == 201

            # make sure new location isn't be specified by variables

            if command.parameters[0] == 0

              $game_map.maplinks[dir] = Maplink.new(command.parameters)

              break

            end

          end

        }

      end

    end

  end

end


#-------------------------------------------------------------------------------


class Game_Map

  attr_accessor :maplinks

 

  alias ml_gm_setup setup

  def setup(map_id)

    @maplinks = {}

    ml_gm_setup(map_id)

  end

 

  def width(map_id = @map_id)

    if map_id == @map_id

      return @map.width

    else

      return load_data(sprintf("Data/Map%03d.rxdata", map_id)).width     

    end

  end 


  def height(map_id = @map_id)

    if map_id == @map_id

      return @map.height

    else

      return load_data(sprintf("Data/Map%03d.rxdata", map_id)).height

    end

  end   

 

end


#-------------------------------------------------------------------------------


class Maplink

 

  def initialize(parameters)

    @param = parameters

  end


  def activate

    width = $game_map.width(@param[1])

    height = $game_map.height(@param[1])

    # modify x (p[2]) or y (p[3]) coordinates appropriately

    if @param[2] == 0 or @param[2] == width-1

      @param[3] = $game_player.y

    elsif @param[3] == 0 or @param[3] == height-1

      @param[2] = $game_player.x

    end

    # set up a dummy interpreter just for teleport

    interpreter = Interpreter.new

    interpreter.parameters = @param

    interpreter.index = 0

    interpreter.command_201

  end

 

end


#-------------------------------------------------------------------------------


class Game_Player


  alias ml_cett check_event_trigger_touch

  def check_event_trigger_touch(x, y)

    check_maplinks(x,y)

    ml_cett(x,y)

  end

 

  def check_maplinks(x,y)

    if $game_map.valid?(x, y) then return end

    dir = nil

    if y == $game_map.height then dir = 2

    elsif x == -1 then dir = 4

    elsif x == $game_map.width then dir = 6

    elsif y == -1 then dir = 8

    end

    if dir != nil

      if $game_map.maplinks[dir] != nil

        $game_map.maplinks[dir].activate

      end

    end

  end


end


#-------------------------------------------------------------------------------


class Interpreter

  attr_accessor :parameters

  attr_accessor :index

end

Who's 백호

?

이상혁입니다.

http://elab.kr

0 추천 0 비추천
Facebook Twitter Google Pinterest KakaoStory Band
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '1'
  • ?
    다운받기용 2010.01.28 20:50

    좌표를 이용해서 이동해도 되겠죠?

    댓글

Category
  • 그래픽(16)
  • 맵/타일(15)
  • 메뉴(88)
  • 메시지(26)
  • 미니맵(9)
  • 버그픽스(0)
  • 변수/스위치(10)
  • 상점(14)
  • 상태/속성(8)
  • 스킬(49)
  • 아이템(34)
  • 액터(4)
  • 원경(0)
  • 영상(7)
  • 오디오(8)
  • 온라인(23)
  • 이동 및 탈것(62)
  • 이름입력(10)
  • 장비(34)
  • 저장(34)
  • 전투(174)
  • 제작도구(1)
  • 직업(2)
  • 퀘스트(3)
  • 키입력(18)
  • 타이틀/게임오버(24)
  • 파티(11)
  • HUD(34)
  • 기타(254)
List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 10171
1021 제작도구 [XP/VX/VXA] Doodad's Editor by newold Alkaid 2020.07.12 600
1020 메시지 Taylor's Simple Message System 2000 Alkaid 2020.07.05 436
1019 이름입력 한글조합입력기(영어가능) file 조규진1 2019.11.10 743
1018 맵/타일 맵연결 스크립트 (데모첨부) file 게임애호가 2018.06.15 909
1017 전투 전투중에 장비들 교체하기 file 레이스89 2017.08.19 940
1016 온라인 인터넷 웹 상에서의 시간을 취득하는 스크립트 1 이우 2016.05.24 1099
1015 장비 착용한 장비에 따라 모습이 달라지는 스크립트 예제 5 file 게임애호가 2015.02.14 2258
1014 기타 [All RGSS] File-Ex file Cheapmunk 2014.12.29 1108
1013 기타 [All RGSS] FileTest (Unicode) file Cheapmunk 2014.12.29 749
1012 기타 [RGSS XP] 게임 해상도 조절 스크립트 (*2) 11 file Cheapmunk 2014.10.03 2867
1011 그래픽 Drago - Custom Resolution II 1 Alkaid 2014.09.10 1267
1010 기타 레벨업스크립트(xp) 2 게임을만들자! 2014.08.05 1950
1009 메뉴 MOG - Scroll Bar for XP file 습작 2014.07.06 1731
1008 기타 [All RGSS] 윈도우 메세지박스 스크립트 (Completed ver) 5 file Cheapmunk 2014.06.22 2396
1007 기타 [All RGSS] 게임 다중 실행 방지 스크립트 1 file Cheapmunk 2014.05.24 1567
1006 기타 RM2kXP file 습작 2014.03.17 1712
1005 기타 [All RGSS] 윈도우 커서 숨기기/보이기 1 file Cheapmunk 2014.03.02 2161
1004 기타 Drago - Custom Resolution by LiTTleDRAgo Alkaid 2014.02.13 1316
1003 그래픽 [XP/VX/VXA] Drago - Transition Pack Alkaid 2014.02.13 1386
1002 기타 [XP/VX/VXA] Map Screenshot by LiTTleDRAgo 1 Alkaid 2014.02.13 1045
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs