E ai pessoal, tava quebrando a cabeça de como eu faria isso, mas não consegui, até porque não entendo nada de
scripts para RM.
Bem, eu estou utilizando um script de Teletransporte, que ao ser chamado, abre uma lista com os nomes das "cidades" para se teletransportar.
Ok.
Quando abre essa lista, o jogador pode escolher pra onde quer ir, ai é só selecionar, e ele aparece no novo mapa.
Eu queria, que ao selecionar a cidade, tocasse algum audio, e ele fosse para outra cidade.
(Quero isso porque tenho o som do teletransporte do jogo League of Legends).
Tentei fazer umas gambiarras no evento em que chama o script, mas nao da. Porque o som do teleporte toca, assim que abre a lista das cidades, e nao quando ele escolhe a cidade, que no caso é o que eu quero.
Se puderem me ajudar, vou ficar feliz demais, na boa kk
Obg pela atenção.
scripts para RM.
Bem, eu estou utilizando um script de Teletransporte, que ao ser chamado, abre uma lista com os nomes das "cidades" para se teletransportar.
Ok.
Quando abre essa lista, o jogador pode escolher pra onde quer ir, ai é só selecionar, e ele aparece no novo mapa.
Eu queria, que ao selecionar a cidade, tocasse algum audio, e ele fosse para outra cidade.
(Quero isso porque tenho o som do teletransporte do jogo League of Legends).
Tentei fazer umas gambiarras no evento em que chama o script, mas nao da. Porque o som do teleporte toca, assim que abre a lista das cidades, e nao quando ele escolhe a cidade, que no caso é o que eu quero.
Se puderem me ajudar, vou ficar feliz demais, na boa kk
Obg pela atenção.
Código:
#============================================================#
#--------------------- M+ SceneTeleport ---------------------#
#------------------------- por M3T --------------------------#
#============================================================#
=begin
Versão VX Ace 1.0 - Convertido em 14/06/2014
- Script feito em 2011 -
Como usar:
Para mostrar a janela, você deve chamar o seguinte script:
SceneManager.scene = Scene_Teleport.new([
["nome_do_mapa", id_do_mapa, coor_x, coor_y, custo]
])
Substitua:
nome_do_mapa pelo nome do mapa(mantenha as aspas)
id_do_mapa pelo id do mapa
coor_x pela coordenada x
coor_y pela coordenada y
custo pelo custo em dinheiro que o teleporte irá custar.
Para adicionar mais de um teleporte, coloque uma vírgula depois
do primeiro ], e coloque tudo novamente. Exemplo:
SceneManager.scene = Scene_Teleport.new([
["Delfos", 1, 5, 10, 200],
["Atena", 40, 53, 46, 1000]
])
E, se quiser adicionar mais de dois teleportes, repita o processo
anterior. Exemplo:
SceneManager.scene = Scene_Teleport.new([
["Delfos", 1, 5, 10, 200],
["Atena", 40, 53, 46, 1000],
["Esparta", 84, 23, 70, 5000]
])
E assim por diante.
Os teleportes padrões funcionam no mesmo esquema, mas somente
com o conteúdo dentro dos [].
Assim, quando você colocar no chamar script somente
SceneManager.scene = Scene_Teleport.new, os teleportes padrões serão
mostrados.
=end
module MPlus
# Configure aqui os teleportes padrões(sem ser definido quando
# a janela for chamada
Teleport_default_conf = [
["Delfos", 2, 5, 10, 200],
["Atena", 40, 53, 46, 1000],
["Esparta", 84, 23, 70, 5000]
]
# Configure aqui a mensagem que será mostrada em baixo dos
# teleportes
Teleport_message = "Selecione um local para ser teleportado."
# Configure aqui o comprimento e a largura da janela
Teleport_width = 500 #Comprimento
Teleport_height = 300 #Largura
# Não mexer
@teleport_data = []
def self.teleport_data=(data)
@teleport_data = data
end
def self.teleport_data
@teleport_data
end
end
#Fim das configurações
#=============================================================================#
module SceneManager
def self.scene=(scene)
@scene = scene
end
end
class Window_Teleport < Window_Selectable
include MPlus
def initialize
w = Teleport_width
h = Teleport_height
# Criar Janela
super(544 / 2 - w / 2, 416 / 2 - h / 2, w, h)
# Criar array das informações
@data = MPlus.teleport_data
# Colocar cursor no começo
@index = 0
@cursor_fix = false
@cursor_all = false
# Ativar a Janela
activate
# Desenhar informações
refresh
end
# Retorna o número de itens
def item_max
MPlus.teleport_data.size
end
# Retorna informações sobre uma escolha
def infos
return @data[self.index]
end
def refresh
# Moeda
currency = Vocab::currency_unit
for i in 0..@data.size-1
land_name = @data[i][0]
land_gold = @data[i][4]
rect = item_rect_for_text(i)
self.contents.clear_rect(rect)
# Nome do Teleporte
self.contents.draw_text(rect, land_name, 0)
# Preço do Teleporte
#~ rect.x = width - 95
#~ self.contents.draw_text(rect, land_gold.to_s + currency, 0)
end
# Mensagem
self.contents.draw_text(10, self.height-72, width-40, 32,
Teleport_message, 0)
end
end
class Scene_Teleport < Scene_Base
include MPlus
def initialize(array=Teleport_default_conf)
# Chamar o Mapa no fundo e a Janela
@array = array
@back = Spriteset_Map.new
MPlus.teleport_data = @array
@tele = Window_Teleport.new
end
def update
# Atualizar Janela e verificar comandos
update_basic
cmd_update
end
def cmd_update
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
Sound.play_cancel
# Alternar para a tela do Mapa
SceneManager.goto(Scene_Map)
@tele.contents.dispose
end
if Input.trigger?(Input::X)
# Reproduzir SE de cancelamento
Sound.play_ok
# Alternar para a tela do Mapa
SceneManager.goto(Scene_Map)
@tele.contents.dispose
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
informations = @tele.infos
if $game_party.gold >= informations[4]
# Reproduzir SE de OK
Sound.play_ok
$game_party.lose_gold(informations[4])
$game_map.setup(informations[1])
$game_player.moveto(informations[2], informations[3])
SceneManager.goto(Scene_Map)
@back.dispose
@tele.dispose
else
# Reproduzir SE de erro
Sound.play_buzzer
end
end
end
end
#---------------------- M+ Scripts 2011 ---------------------#
#============================================================#