VX 스크립트

말그대로 비행선을 더 높이 뜨게 하는 스크립트 입니다.

기존의 비행선은 캐릭터의 바로 위를 날아 다녔잖아요?(사람 키만큼밖에 안뜨는 비행선이라니... 말도 안돼! <퍽!)

그래서! 비행선의 비행 높이를 증가시키는 스크립트를 소개하겠습니다~

여기서 MAX AlTITUDE라고 표시되어 있는 곳의 값을 변경 시키면 어떤 높이로든 날게할 수 있습니다.

아래부터 복사

==============================================================================
# Fly High 1.0
#------------------------------------------------------------------------------
# Este script permite que você modifique a altura em que o AirShip voa.
# Para entender melhor este script, leia as modificações em baixo.
#==============================================================================

class Game_Vehicle < Game_Character
  #--------------------------------------------------------------------------
  # Constantes (Altura do Vôo)
  #--------------------------------------------------------------------------
  MAX_ALTITUDE = 100
 
#Procedimento:
  # Se quiser que a AirShip vôo mais alto, basta modificar o
  #algarismo 100 por um mais elevado como por exemplo: 200.
  #Se quiser que a AirShip vôo mais baixo, basta fazer o oposto, modificando
  #o algarismo 100 por um inferior como por exemplo: 60.
  #--------------------------------------------------------------------------
  # Variáveis públicas
  #--------------------------------------------------------------------------
  attr_reader   :type                     # Tipo de veículo (0 .. 2)
  attr_reader   :altitude                 # Altitude para airship
  attr_reader   :driving                  # Marca execução
  #--------------------------------------------------------------------------
  # Inicialização do objeto
  #     type : Tipo de veículo (0:barco 1:navio 2:airship)
  #--------------------------------------------------------------------------
  def initialize(type)
    super()
    @type = type
    @altitude = 0
    @driving = false
    @direction = 4
    @walk_anime = false
    @step_anime = false
    load_system_settings
  end
  #--------------------------------------------------------------------------
  # Carregamento da construção de sistema
  #--------------------------------------------------------------------------
  def load_system_settings
    case @type
    when 0;  sys_vehicle = $data_system.boat
    when 1;  sys_vehicle = $data_system.ship
    when 2;  sys_vehicle = $data_system.airship
    else;    sys_vehicle = nil
    end
    if sys_vehicle != nil
      @character_name = sys_vehicle.character_name
      @character_index = sys_vehicle.character_index
      @bgm = sys_vehicle.bgm
      @map_id = sys_vehicle.start_map_id
      @x = sys_vehicle.start_x
      @y = sys_vehicle.start_y
    end
  end
  #--------------------------------------------------------------------------
  # Atualização
  #--------------------------------------------------------------------------
  def refresh
    if @driving
      @map_id = $game_map.map_id
      sync_with_player
    elsif @map_id == $game_map.map_id
      moveto(@x, @y)
    end
    case @type
    when 0;
      @priority_type = 1
      @move_speed = 4
    when 1;
      @priority_type = 1
      @move_speed = 5
    when 2;
      @priority_type = @driving ? 2 : 0
      @move_speed = 6
    end
    @walk_anime = @driving
    @step_anime = @driving
  end
  #--------------------------------------------------------------------------
  # Mudar posição
  #     map_id : ID do mapa
  #     x      : coordenada X
  #     y      : xoordenada Y
  #--------------------------------------------------------------------------
  def set_location(map_id, x, y)
    @map_id = map_id
    @x = x
    @y = y
    refresh
  end
  #--------------------------------------------------------------------------
  # Verificando coincidências de coordenadas
  #     x : coordenada X
  #     y : xoordenada Y
  #--------------------------------------------------------------------------
  def pos?(x, y)
    return (@map_id == $game_map.map_id and super(x, y))
  end
  #--------------------------------------------------------------------------
  # Transparência
  #--------------------------------------------------------------------------
  def transparent
    return (@map_id != $game_map.map_id or super)
  end
  #--------------------------------------------------------------------------
  # Entrar no veículo
  #--------------------------------------------------------------------------
  def get_on
    @driving = true
    @walk_anime = true
    @step_anime = true
    if @type == 2               # Caso seja uma airship
      @priority_type = 2        # Mudar prioridade para "junto ao herói"
    end
    @bgm.play                   # Reproduz música
  end
  #--------------------------------------------------------------------------
  # Sair do veículo
  #--------------------------------------------------------------------------
  def get_off
    @driving = false
    @walk_anime = false
    @step_anime = false
    @direction = 4
  end
  #--------------------------------------------------------------------------
  # Sincronização com o jogador
  #--------------------------------------------------------------------------
  def sync_with_player
    @x = $game_player.x
    @y = $game_player.y
    @real_x = $game_player.real_x
    @real_y = $game_player.real_y
    @direction = $game_player.direction
    update_bush_depth
  end
  #--------------------------------------------------------------------------
  # Velocidade
  #--------------------------------------------------------------------------
  def speed
    return @move_speed
  end
  #--------------------------------------------------------------------------
  # Coordenadas Y na tela
  #--------------------------------------------------------------------------
  def screen_y
    return super - altitude
  end
  #--------------------------------------------------------------------------
  # Verifica se é possível mover
  #--------------------------------------------------------------------------
  def movable?
    return false if (@type == 2 and @altitude < MAX_ALTITUDE)
    return (not moving?)
  end
  #--------------------------------------------------------------------------
  # Atualização da tela
  #--------------------------------------------------------------------------
  def update
    super
    if @type == 2               # Caso seja uma airship
      if @driving
        if @altitude < MAX_ALTITUDE
          @altitude += 1        # Aumenta a altitude
        end
      elsif @altitude > 0
        @altitude -= 1          # Diminui a altitude
        if @altitude == 0
          @priority_type = 0    # Retorna para prioridade "abaixo do herói"
        end
      end
    end
  end
end

#----------------------------------------------------------------------------
#                                 Fly High 1.0
#                       www.rpgmakerbrasil.com/forum/
#----------------------------------------------------------------------------

지금까지! 루시페르였습니다!~
Comment '8'
  • ?
    Zero_Som 2009.06.06 18:03

    높이? 어떻게 구현되나 궁금하군요 ㅎㅎ

     

  • ?
    IceSky 2009.06.06 20:13

    허.. 한번 테스트 해볼까?

  • ?
    백년술사 2009.06.09 22:52
    드레곤볼 게임 만들때 쓰면 좋을지도...
  • ?
    나이스goo 2009.06.20 15:27
    오진짜. 놉게난다/...
  • ?
    불독 2009.12.06 18:23

    이거... 그냥 스크립트 추가하지말고 Game_Vehicle스크립트 중에서 12번째 줄 32라고 나와있는 숫자를 늘리면 높이 날고 줄이면 낮게 납니다.

    괜히 스크립트 추가하실 필요가 전혀 없어요...ㅜㅜ

  • ?
    뾰롱뾰롱 2011.02.25 02:29

    ㅋㅋㅋㅋㅋ 레알 그렇네

  • ?
    언제나웃음 2010.01.01 22:23

    비행선 스피드도 빨라짐

  • ?
    모험소년 2010.01.07 18:02

    이게 어디가 어이없죠..? 은근 필요있는 녀석인데 ㅋㅋㅋ


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5410
30 기타 캐릭터 소개화면 16 file 좀비사냥꾼 2009.03.29 6044
29 기타 시야범위 스크립트 18 file 좀비사냥꾼 2009.03.19 4047
28 기타 액터선택지제작 간편화 스크립트 7 Evangelista 2009.02.26 4082
27 기타 [kcg] 슬립 데미지 상세화 19 BoneheadedAlien 2009.02.22 3242
26 기타 아키루냥님 요청 스크립트(자작) 4 file Last H 2009.02.22 2754
25 기타 태양 스크립트. 15 file 할렘 2009.02.20 4463
24 기타 Kylock 밤낮 스크립트 부분 한글화 + 달력 모드 (모드는 자작) 31 file RMdude 2009.02.15 4100
23 기타 게임시간&밤낮 54 file 허걱 2009.02.14 6111
22 기타 심플 마우스 시스템 1.5 애드온 11 file RMdude 2009.02.11 4325
21 기타 데이터베이스 자체 제한 해체 스크립트 [Database Limit Breaker] 13 file 할렘 2009.02.07 3562
20 기타 라이트 이펙트 스크립트 12 file 아방스 2009.02.07 3262
19 기타 Base Project 15 아방스 2009.02.05 3063
18 기타 작은 게이지바 표시 스크립트 44 file 허걱 2009.02.05 5979
17 기타 VX서비스팩1 6 훈덕 2009.02.03 2807
16 기타 Staff Roll 13 file 허걱 2009.01.31 3523
15 기타 책 읽기 스크립트. 19 허걱 2009.01.31 4490
14 기타 이벤트 위치 저장 스크립트 10 Tofuman 2008.12.11 2096
13 기타 디스크 체인져 VX!! (업데이트..) 30 file Tofuman 2008.12.02 3168
12 기타 Crissaegrim Farm BETA 1.0.0 10 Man... 2008.11.22 3094
11 기타 TagNote v2.0 5 Man... 2008.10.28 1996
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7