![[Script]Menu de Opções ShNc7Eh](https://i.imgur.com/ShNc7Eh.png)
Primeiro de tudo, quero informar que sou iniciante ainda em ruby(RGSS) mais esta script eu fiz com carinho e tentei por uns códigos que muitos membros podem querer utiliza-los. Prosseguindo... a script é simples, podem melhora-las como quiser, qualquer erro peço que os relate aqui. Ela é um menu com botão, que possuem funções bem legais, como por exemplo: "Sair do Jogo", "Selecionar Boneco", "Tutorial do Jogo", "Configurações" e "Ajuda".
Descrição de tudo:
Sair do Jogo -> Nome diz tudo, salva o jogo e saiSelecionar Boneco -> Volta para a seleção de personagemTutorial do Jogo -> Teletransporta usuário para um mapa, coordenadas especifica.Configurações -> Abre uma janela, para ativar e desativar musica/sonsAjuda -> Abre um sprite informando tudo na tela
- Será adicionado mais coisas -
- Spoiler:
- Screens:OBS: Foi adicionado outra check_box > "Sons"New
- Download de tudo que vamos utilizar:
- Se quiser utilizar uma demo:(Seria melhor você próprio instalar)
![[Script]Menu de Opções WeqVYk8](https://i.imgur.com/WeqVYk8.png)
Bem vamos lá !! Crie uma script nova e nela adicione:
- Código:
#================================================================
#|Autor: Singelinho| Menu de Opções =
#================================================================
# Version: 1.4 =
# Menu simples, com diversas funções. =
#================================================================
class Opções < Window_Base
def initialize
super(254,154,160,160)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 200
self.z = 50000
self.visible = false
self.active = false
@dragable = false
@closable = true
#Sprites
@sprite = Sprite.new
@sprite.bitmap = (RPG::Cache.picture("Ajuda"))
@sprite.visible = false
#Widgets
@button1 = Button.new(self, 35, 25, "Sair do Jogo") {click1}
@button2 = Button.new(self, 20, 50, "Selecionar Boneco") {click2}
@button3 = Button.new(self, 26, 75, "Tutorial do Jogo") {click3}
@button4 = Button.new(self, 30, 98, "Configurações") {click4}
@button5 = Button.new(self, 53, 120, "Ajuda") {click5}
end
#======= Métodos =======
def click1
autosave
Network::Main.close_socket
exit
end
def click2
$scene = Scene_Title.new
end
def click3
$scene.TutorialG.visible = true
$scene.TutorialG.active = true
end
def click4
$scene.Configurações.visible = true
$scene.Configurações.active = true
end
def click5
@sprite.visible = !@sprite.visible
end
#======================
#======================
def show
self.visible = true
refresh
end
def hide
self.visible = false
self.active = false
end
#=======================
end
class Scene_Map
attr_accessor('Opções')
alias cal main_draw
def main_draw
cal
@Opções = Opções.new
end
alias cali update
def update
cali
@Opções.update
#Input para abrir e fecha menu, neste caso é Esc
if Input.triggerd?(Input::Esc)
if @Opções.visible
@Opções.visible = false
else
@Opções.visible = true
end
end
end
end
Após criar a script "opções", crie outra e adicione:
- Código:
#================================================================
#|Autor: Singelinho| Menu de Teletransporte Tutu =
#================================================================
# Version: 1.0 =
# Para alterar o mapa e as cordenadas Linha -> 31, 34, 35, 36 =
#================================================================
class TutorialG < Window_Base
def initialize
super(423,154,179,85)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 200
self.z = 50000
self.visible = false
self.active = false
@dragable = false
@closable = true
#Widgets
@button1 = Button.new(self, 35, 50, "Sim") {click1}
@button2 = Button.new(self, 90, 50, "Não") {click2}
refresh
end
#======= Métodos ======
def refresh
@txt1 = self.contents.draw_text(0, 0, 480-32, 32, "Deseja mesmo ir ao tutorial?")
end
def click1
#Teletransporta para tal mapa e tal coordenadas (ID, X, Y)
if $game_temp.player_new_map_id == $game_temp.player_new_map_id = 1
p 'Você já esta no mapa'
else
$game_temp.player_new_map_id = 1
$game_temp.player_new_x = 12
$game_temp.player_new_y = 12
$game_temp.player_transferring = true
$game_map.update
$scene = Scene_Map.new
Network::Main.send_start
$game_temp.chat_log.push("Sistema: Bem Vindo ao tutorial, que seja bem útil.")
end
end
def click2
self.close
end
#======================
end
class Scene_Map
attr_accessor('TutorialG')
alias edca main_draw
def main_draw
edca
@TutorialG = TutorialG.new
end
alias edup update
def update
edup
@TutorialG.update
#Fechar com ESC
if Input.triggerd?(Input::Esc)
if @TutorialG.visible
@TutorialG.visible = false
end
end
end
end
Ultima > Tendo criada as duas acima, adicione mais uma script e nela ponha isto:
- Código:
#================================================================
#|Autor: Singelinho| Menu de Configurações do Jogo =
#================================================================
# Version: 1.0 =
#================================================================
class Configurações < Window_Base
def initialize
super(70,154,179,130)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 200
self.z = 50000
self.visible = false
self.active = false
@dragable = false
@closable = true
#Widgets
@button1 = Button.new(self, 35, 93, "Aplicar") {click1}
@button2 = Button.new(self, 100, 93, "Fechar") {click2}
@check1 = Check_Box.new(self, 30, 45)
@check2 = Check_Box.new(self, 30, 65)
refresh
end
#======= Métodos ======
def refresh
@txt1 = self.contents.draw_text(0, 0, 480-32, 32, "Menu de Configurações")
@txt2 = self.contents.draw_text(40, 20, 480-32, 32, "Musica")
@txt3 = self.contents.draw_text(40, 40, 480-32, 32, "Sons")
end
def click1
if @check1.checked
Audio.bgm_play("Audio/BGM/Base1")
$game_temp.chat_log.push("Sistema: Musica (ON)")
else
Audio.bgm_stop
$game_temp.chat_log.push("Sistema: Musica (OFF)")
end
if @check2.checked
Audio.bgm_play("Audio/BGM/Base2")
else
Audio.bgm_stop
$game_temp.chat_log.push("Sistema: Son desativado")
end
end
def click2
self.close
end
#======================
end
class Scene_Map
attr_accessor('Configurações')
alias edc main_draw
def main_draw
edc
@Configurações = Configurações.new
end
alias edu update
def update
edu
@Configurações.update
#Fechar com ESC
if Input.triggerd?(Input::Esc)
if @Configurações.visible
@Configurações.visible = false
end
end
end
end
Pronto o sistema foi devidamente instalado !!
Qualquer bug, error, alguma coisa que seria legal de por... Podem falar, quero que esta script vocês possam utilizar e abusar dela xD
créditos - Singelinho
Última edição por Singelinho em Sáb Fev 15, 2014 1:56 pm, editado 1 vez(es)