Um script de Banco para o RPG Maker XP, feito por Fireworks. Vamos descrever o código, e deixar as instruções de instalação nas próprias palavras do autor:
“Após pouco tempo sem fazer nenhum script em RGSS (5 ou 6 meses), resolvi esquentar os dedos. ^^
Esse script aqui está na versão 1 e é muito simples, ele funciona como um simples banco onde você pode depositar e retirar dinheiro. Nesta versão só é possivel ter uma conta, mas quanto a versão 2, e a final, serão diferentes. Cada personagem do seu grupo poderá criar uma conta e terá também senha, ou seja, esse script é só para eu ter uma base do que realmente será.
Então deêm opiniões e sugestões para ele.”
Para instalar o Game Banco, você precisará de inserir 3 scripts diferentes.
Coloque esse script acima do Sprite_Character
e o chame de Game_Banco
:
#====================================================== # # Game_Banco v-1.0 #------------------------------------------------------ # Esse script processa os principais comandos da # Scene_Banco. # Por Firewords #====================================================== class Game_Banco #Criando variáveis de classe attr_accessor :tarefa attr_accessor :dinheiro attr_accessor :deposito attr_accessor :retirada attr_accessor :conta def initialize #Definindo variáveis de classe @tarefa = nil @dinheiro = 0 @deposito = 0 @retirada = 0 @conta = 0 end #--------------------------------------------------# #Verificar Dinheiro depositado def Verificar_D() # Verificando se esta depositando #mais do que se pode if(self.deposito > self.dinheiro) then return false else return true end end # Verificar Retirada def Verificar_R() # Verificando se dinheiro retirado #é maior do que o que se tem if(self.retirada > self.conta) then return false else return true end end #--------------------------------------------------# #Executando script def Executar #Se está Retirando dinheiro if(self.tarefa == 1) then #Vendo se vc quer retirar mais do que pode if(Verificar_R() == false) print "Não é possível retirar esse dinheiro da conta.\nVocê não tem fundos suficientes." else Audio.se_play("Audio/SE/006-System06", 80, 100) #Tirando dinheiro da conta self.conta -= self.retirada #Adicionando dinheiro na equipe $game_party.gain_gold(self.retirada) print "Dinheiro retirado com sucesso!" end #Se está Depositando dinheiro elsif(self.tarefa == 2) then #Vendo se vc quer depositar mais do que pode if(Verificar_D() == false) print "Não é possível depositar esse dinheiro na conta.\nVocê não tem todo esse dinheiro." else Audio.se_play("Audio/SE/006-System06", 80, 100) #Depositando dinheiro na conta self.conta += self.deposito #Retirando dinheiro de personagem $game_party.lose_gold(self.deposito) print "Dinheiro depositado com sucesso!" end end end end
Coloque esse script acima do Arrow_Base
e o chame de Window_DR
:
#Janela que fica por traz da escolha de números class Window_DR < Window_Base attr_accessor :nome def initialize super(160, 320, 320, 80) self.contents = Bitmap.new(width - 32, height - 32) @nome = "" mostrar end def mostrar self.contents.clear end end
Coloque esse acima do Main
e o chame de Scene_Banco
:
class Scene_Banco def main @fundo = Window_DR.new @fundo.visible = false @op = Window_Command.new(125, ["Retirar", "Depositar"]) @op.x = 320 - @op.width/2 @op.y = 160 @op.active = true @din = Window_InputNumber.new(8) @din.x = 340 - @din.width/2 @din.y = 340 @din.visible = false @din.active = false Graphics.transition while $scene == self Graphics.update Input.update atualizar end Graphics.freeze @fundo.dispose @din.dispose @op.dispose end def atualizar @op.update @din.update if(@op.active) then escolha return end if(@din.active) then numero return end end def escolha if(Input.trigger?(Input::B)) then $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if(Input.trigger?(Input::C)) then @fundo.nome = (@op.index == 0 ? "Retirar" : "Depositar") cx = @fundo.contents.text_size(@fundo.nome).width @fundo.contents.draw_text(0, 0, cx, 32, @fundo.nome, 2) @fundo.visible = true @op.active = false @din.visible = true @din.active = true return end end def numero if(Input.trigger?(Input::B)) then @fundo.visible = false @fundo.contents.clear @op.active = true @din.visible = false @din.active = false @din.contents.clear return end if(Input.trigger?(Input::C)) then $game_banco.dinheiro = $game_party.gold if(@op.index == 0) then $game_banco.tarefa = 1 $game_banco.retirada = @din.number $game_banco.Executar return elsif(@op.index == 1) then $game_banco.tarefa = 2 $game_banco.deposito = @din.number $game_banco.Executar return end end end end
Vá até o Scene_Title e procure por:
$game_player = Game_Player.new
Coloque abaixo desta linha:
$game_banco = Game_Banco.new
Para chamar é só fazer um $scene = Scene_Banco.new
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!