XP 스크립트

#==============================================================================
# ◆하이 데쉬 시스템 ver.1.0
# http://www.ac.cyberhome.ne.jp/~daydream/
#==============================================================================
# 설명
#  버튼을 누르면, 이동 속도가 빨라지게 됩니다.
#  쭉 데쉬 하고 있으면, 더욱 빨라집니다.
#==============================================================================
module DASH
  # ● 사용 키
  DASH_BUTTON = Input::C
  # ● 통상의 이동 속도
  NORMAL_SPEED = 4
  # ● 데쉬시의 이동 속도
  DASH_SPEED = 5
  # ● 하이 데쉬시의 이동 속도
  HIGH_SPEED = 5.5
 
  # ● 하이 데쉬를 사용
  HIGH_DASH = true
  # ● 하이 데쉬 이행 시간(20분의 1초)
  HIGH_TIME = 30
 
  # ● 데쉬 사용 불가 스윗치 ID
  NOT_SWITCH = 1
  # ● 하이 데쉬 사용 불가 스윗치 ID
  HIGH_NOT_SWITCH = 2
end
 
class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    @dash = 0        if @dash == nil
    # 로컬 변수에 이동중인지 어떤지를 기억
    last_moving = moving?
    # 이동중, 이벤트 실행중, 이동 루트 강제중,
    # 메세지 윈도우 표시중의 머지않아도 아닌 경우
    unless moving? or $game_system.map_interpreter.running? or
          @move_route_forcing or $game_temp.message_window_showing
      if $game_switches[DASH::NOT_SWITCH] == false
        if Input.press?(DASH::DASH_BUTTON)
          if @move_speed != DASH::DASH_SPEED
            @move_speed = DASH::DASH_SPEED
          end
          if $game_switches[DASH::HIGH_NOT_SWITCH] == false
            @dash += 1
            if @dash >= DASH::HIGH_TIME
              if @move_speed != DASH::HIGH_SPEED
                @move_speed = DASH::HIGH_SPEED
              end
            end
          end
        else
          if @move_speed != DASH::NORMAL_SPEED
            @move_speed = DASH::NORMAL_SPEED
          end
          @dash = 0
        end
      else
        if @move_speed != DASH::NORMAL_SPEED
          @move_speed = DASH::NORMAL_SPEED
        end
      end
      # 방향 버튼이 밀리고 있으면, 그 방향에 플레이어를 이동
      case Input.dir4
      when 2
        move_down
      when 4
        move_left
      when 6
        move_right
      when 8
        move_up
      end
    end
    # 로컬 변수에 좌표를 기억
    last_real_x = @real_x
    last_real_y = @real_y
    super
    # 캐릭터가 아래로 이동해, 한편 화면상의 위치가 중앙에서(보다) 아래의 경우
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      # 맵을 아래에 스크롤
      $game_map.scroll_down(@real_y - last_real_y)
    end
    # 캐릭터가 왼쪽으로 이동해, 한편 화면상의 위치가 중앙에서(보다) 왼쪽의 경우
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      # 맵을 왼쪽으로 스크롤
      $game_map.scroll_left(last_real_x - @real_x)
    end
    # 캐릭터가 오른쪽으로 이동해, 한편 화면상의 위치가 중앙에서(보다) 오른쪽의 경우
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      # 맵을 오른쪽으로 스크롤
      $game_map.scroll_right(@real_x - last_real_x)
    end
    # 캐릭터가 위로 이동해, 한편 화면상의 위치가 중앙에서(보다) 위의 경우
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      # 맵을 위에 스크롤
      $game_map.scroll_up(last_real_y - @real_y)
    end
    # 이동중이 아닌 경우
    unless moving?
      # 전회 플레이어가 이동중이었던 경우
      if last_moving
        # 동위치의 이벤트와의 접촉에 의한 이벤트 기동 판정
        result = check_event_trigger_here([1,2])
        # 기동한 이벤트가 없는 경우
        if result == false
          # 디버그 모드가 ON 한편 CTRL 키가 밀리고 있는 경우를 제외해
          unless $DEBUG and Input.press?(Input::CTRL)
            # 엔카운트카운트다운
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      # C 버튼이 밀렸을 경우
      if Input.trigger?(Input::C)
        # 이동위치 및 정면의 이벤트 기동 판정
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end

# 사용법은 생략. (이걸 사용할 줄 모르시면 정말 어이없는..)

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '15'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
621 시스템2C 4 file 글러브111 2011.01.15 2119
620 메뉴 화살표 모양 셀렉트 커서 사용 2 백호 2009.02.22 2118
619 메뉴 새로운 cms 4 file 백호 2009.02.22 2118
618 변수/스위치 Etude87_Variables_XP 2 습작 2011.12.26 2105
617 전투 액티브 타임 배틀(보행그래픽) file 백호 2009.02.21 2104
616 메뉴 Materia System 2.01v by SephirothSpawn 6 file 백호 2009.02.22 2104
615 기타 Note Editor for RMXP by NEWOLD 1 Alkaid 2012.01.15 2101
614 메뉴 Options System by slipknot 3 file 백호 2009.02.22 2101
613 타이틀/게임오버 죽었을떄 마을로이동하기&생명초 사용하기 9 WMN 2008.03.17 2098
612 영상 플래시 파일 재생 스크립트. 4 Bera 2010.10.16 2098
611 타이틀/게임오버 타이틀 화면에 옵션을 추가하는 스크립트 2 file 백호 2009.02.21 2093
610 메뉴 CoaMenu2탄Ver2.0 15 file 코아 코스튬 2010.10.03 2091
609 기타 [신기술 체험] 윈도우 은행시스템 12 file 백호 2009.02.22 2089
608 아이템 아이템 선택하기 5 레핀 2009.01.29 2084
607 키입력 新전체키 스크립트 예제 - 양키 7 file 백호 2009.02.21 2081
606 스킬 KGC_SkillMessage (스킬사용메세지) 1 file 백호 2009.02.22 2081
605 영상 AVI 동영상 파일 지원가능하게 하는 스크립트 5 아방스 2007.11.09 2071
604 퍼온것플레이시간을맵위에뜨게하기 3 file 아방스 2007.11.09 2069
603 기타 부활스크립트 4 캉쿤 2011.09.19 2067
602 펫시스탬 예제 첨부 11 WMN 2008.03.17 2065
Board Pagination Prev 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 52 Next
/ 52