말그대로 비행선을 더 높이 뜨게 하는 스크립트 입니다.
기존의 비행선은 캐릭터의 바로 위를 날아 다녔잖아요?(사람 키만큼밖에 안뜨는 비행선이라니... 말도 안돼! <퍽!)
그래서! 비행선의 비행 높이를 증가시키는 스크립트를 소개하겠습니다~
여기서 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/
#----------------------------------------------------------------------------