4º Script: [SYS] Banco
cole em qualuqer lugar acima do Main_Netplay esse script:
- Código:
#--------------------------------------------------------------------#
# * Sistema de Deposito e Saque
# Scripted By: Nanzin
# Funçao: Permite o Player depositar e sacar dinheiro
# Equipe: Wolf Dragon Makers
# Creditos: Nanzin
#--------------------------------------------------------------------#
class Window_Deposito < Window_Base
def initialize
super(50,50,207,110)
self.contents = Bitmap.new(width - 32,height - 32)
self.z = 9999
self.opacity = 200
@dragable = true
@closable = true
conteudo
end
def conteudo
self.contents.clear
self.contents.draw_text(32,-10,132,32,"Quanto Deseja Depositar?")
self.contents.draw_text(22,10,132,32,"Gold: #{$game_party.item_number(Item_Ouro::Item_Id.to_i)}")
self.contents.draw_text(102,10,132,32,"Saldo: #{$game_party.conta}")
@ok = Button.new(self,123,60,"Depositar"){deposito}
@qt = Text_Box.new(self,45,60,75,10,1)
icone1 = RPG::Cache.icon("Gold")
icone1_rect = Rect.new(0,0,icone1.width,icone1.height)
self.contents.blt(-2,40,icone1,icone1_rect)
self.contents.draw_text(18,36,132,32,"R$: ")
self.contents.draw_text(0,53,132,32,"Status: ")
end
def deposito
if @qt.text == ""
msg_erro = "Informe Uma Quantia"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
if $game_party.item_number(Item_Ouro::Item_Id.to_i) != 0 and $game_party.item_number(Item_Ouro::Item_Id.to_i) >= (@qt.text).to_i and @qt.text != ""
$game_party.lose_gold((@qt.text).to_i)
$game_party.guarda_conta((@qt.text).to_i)
msg_sucess = "Deposito Efetuado Com Sucesso"
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(37,53,132,32,"#{msg_sucess}")
elsif $game_party.item_number(Item_Ouro::Item_Id.to_i) == 0 and @qt.text != "" or $game_party.item_number(Item_Ouro::Item_Id.to_i) < (@qt.text).to_i and @qt.text != ""
msg_erro = "Voce nao Possui essa Quantia"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
end
end
class Window_Saque < Window_Base
def initialize
super(50,50,207,86)
self.contents = Bitmap.new(width - 32,height - 32)
self.z = 9999
self.opacity = 200
@dragable = true
@closable = true
conteudo
end
def conteudo
self.contents.clear
self.contents.draw_text(32,-10,132,32,"Quanto Deseja Retirar?")
self.contents.draw_text(22,10,132,32,"Gold: #{$game_party.item_number(Item_Ouro::Item_Id.to_i)}")
self.contents.draw_text(102,10,132,32,"Saldo: #{$game_party.conta}")
@ok = Button.new(self,123,60,"Retirar"){sacar}
@qt = Text_Box.new(self,45,60,75,10,1)
icone1 = RPG::Cache.icon("Gold")
icone1_rect = Rect.new(0,0,icone1.width,icone1.height)
self.contents.blt(-2,40,icone1,icone1_rect)
self.contents.draw_text(18,36,132,32,"R$: ")
self.contents.draw_text(0,53,132,32,"Status: ")
end
def sacar
if @qt.text == ""
msg_erro = "Informe Uma Quantia"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
if $game_party.conta != 0 and $game_party.conta >= (@qt.text).to_i and @qt.text != ""
$game_party.retira_conta((@qt.text).to_i)
$game_party.gain_gold((@qt.text).to_i)
msg_sucess = "Saque Efetuado Com Sucesso"
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(37,53,132,32,"#{msg_sucess}")
elsif $game_party.conta == 0 and @qt.text != "" or $game_party.conta < (@qt.text).to_i and @qt.text != ""
msg_erro = "Saldo Insuficiente!"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
end
end
class Window_Banco < Window_Base
def initialize
super(100,100,200,90)
self.contents = Bitmap.new(width - 32, height - 32)
self.z = 99999
self.opacity = 200
@dragable = true
@closable = true
conteudo
end
def conteudo
self.contents.draw_text(30,0,132,32,"Bem vindo ao Banco!")
@sacar = Button.new(self,30,50,"Retirar"){$banco.visible = false,$banco.active = false,$saque.visible = true}
@depositar = Button.new(self,90,50,"Depositar"){$banco.visible = false,$banco.active = false,$deposito.visible = true}
end
end
-> linha 16 e 17
- Código:
@dragable = true
@closable = true
-> linha 25
- Código:
self.contents.draw_text(102,10,132,32,"Saldo: #{$game_party.conta}")
-> linha 26 e 27
- Código:
@ok = Button.new(self,123,60,"Depositar"){deposito}
@qt = Text_Box.new(self,45,60,75,10,1)
um botao se faz pelos seguintes parametros:
- Código:
Button.new(win,x,y,"texto_aqui")
onde win e a janela que o botao está x,y sao as coordenadas!
e text_box se declara assim:
- Código:
Text_Box.new(win,x,y,width,max_caracteres,linhas)
- > linha 35
- Código:
def deposito
if @qt.text == ""
msg_erro = "Informe Uma Quantia"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
if $game_party.item_number(Item_Ouro::Item_Id.to_i) != 0 and $game_party.item_number(Item_Ouro::Item_Id.to_i) >= (@qt.text).to_i and @qt.text != ""
$game_party.lose_gold((@qt.text).to_i)
$game_party.guarda_conta((@qt.text).to_i)
msg_sucess = "Deposito Efetuado Com Sucesso"
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(37,53,132,32,"#{msg_sucess}")
elsif $game_party.item_number(Item_Ouro::Item_Id.to_i) == 0 and @qt.text != "" or $game_party.item_number(Item_Ouro::Item_Id.to_i) < (@qt.text).to_i and @qt.text != ""
msg_erro = "Voce nao Possui essa Quantia"
self.contents.font.color = Color.new(255,-255,-255,255)
self.contents.draw_text(37,53,132,32,"#{msg_erro}")
end
end
- aqui estamos criando o sistema d deposito, que fica dessa forma:
se o box de texto estiver vazio um aviso é enviado: "Informe uma Quantia"
se o seu dinheiro é diferente de 0 e ele é maior que a quantidade que voce escreveu no box, e que box e diferente de "" (vazio)" entao:
- Código:
$game_party.lose_gold((@qt.text).to_i)
$game_party.guarda_conta((@qt.text).to_i)
msg_sucess = "Deposito Efetuado Com Sucesso"
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(37,53,132,32,"#{msg_sucess}")
voce perde a quantidade de gold informada no box, lembra do procedimento: guada_conta? que criamos 2 vezes?, enta ele esta sendo usado agora: para que na variavel @conta fique guardado a quantia que voce digito a ser depositada!;
depois a mensagem "Deposito efetuado com sucesso" é mostrada!
caso voce nao tenha a quantia que deseja depositar, uma mensagem será mostrada!
os mesmos principios matematicos sao utilizados no procedimento Saque!
Download Aqui
Versao com Auto-Atualizador: Aqui!
Nanzin -> Pelo Tutorial/Aula e o Sistema
Anubyes -> Por Recolorir os Rubys utilizados por min para fazer os Buttons
Última edição por Nanzin em Qua Nov 30, 2011 2:59 pm, editado 2 vez(es)