Registre-se gratuitamente e tenha o mundo do RPG na sua mão!
 
PortalInícioCalendárioGaleriaFAQBuscarRegistrar-seGruposConectar-se

Compartilhe | 
 

 --Scene Inn--

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Sorcer Loko
Cientista
Cientista


Número de Mensagens : 51
Data de inscrição : 01/02/2008

Estatísticas
Alertas Alertas:
0/5  (0/5)
Pontos Pontos: 10 / RST: 360 XD!!
Minhas Moedas! Minhas Moedas!: 210

MensagemAssunto: --Scene Inn--   Qua 2 Abr - 20:51:44

Descrição: Chama uma janela que cobra um preço, faz o personagem dormir por um custo e recupera sua vida.

PARA Funcionar:
$scene = Scene_Inn.new(custo)
O custo é o valor que tem que pagar para dormir.
Necessário esta imagem na pasta pictures:
http://img255.imageshack.us/img255/743/fundopretopj7.png

Creditos à João Neto


Código:
class Window_Gold3 < Window_Base
  def initialize
    super(480, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
        self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
  end
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
  def update
    super
    refresh
  end
end
class Window_Text_Inn < Window_Base
  def initialize(custo)
    super(0, 0, 480, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
        self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh(custo)
  end
  def refresh(custo)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 440, 32, "Gostaria de Descansar?  É apenas " + custo.to_s + " " + $data_system.words.gold.to_s, 1)
  end
end
class Scene_Inn
  def initialize(custo=10)
    @custo = custo
  end
  def main
    $TYPE = 1
    @final = false
    @spriteset = Spriteset_Map.new
    @grana = Window_Gold.new
    @grana.x = 480
    @pic = Sprite.new
    @pic.bitmap = RPG::Cache.picture("Fundo_preto")
    @pic.opacity = 0
    @pic.z = 120
    s1 = "  Sim"
    s2 = "  Não"
    @cmd = Window_Command.new(100,[s1,s2])
    @cmd.y = 64
   
    @txt = Window_Text_Inn.new(@custo)
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @spriteset.dispose
    @grana.dispose
    @cmd.dispose
    @txt.dispose
    @pic.dispose
  end
  def update
    if @final != true
      @spriteset.update
      @grana.update
      @cmd.update
      @txt.update
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        case @cmd.index
        when 0
          if $game_party.gold < @custo
            $game_system.se_play($data_system.buzzer_se)
            return
          else
            $game_system.se_play($data_system.decision_se)
            Audio.me_play("Audio/ME/010-Item01")
            @final = true
            return
          end
        when 1
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Map.new
          return
        end
      end
    else
      if @pic.opacity >= 250
        $game_party.lose_gold(@custo)
        for i in 0...$game_party.actors.size
          $game_party.actors[i].recover_all
        end
        $scene = Scene_Map.new
        return
      end
      if @pic.opacity < 250
        @pic.opacity += 2
      end
    end
  end
end
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
--Scene Inn--
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
King RPG :: RPG Maker XP :: Scripts (RGSS)-
Ir para: