O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Ken Pause System

Iniciado por Kenyan, 02/04/2014 às 13:34

02/04/2014 às 13:34 Última edição: 20/01/2017 às 09:27 por King Gerar
Ken Pause System

Compativel com:RMVXA
Compatibilidade: média
Facilidade de uso: fácil
Lag gerado: desprezível

[box class=titlebg]
Condições de Uso
[/box]
Pode-se usar em projetos comerciais e não-comerciais. Pode-se modificar o script, mas por favor não poste em nenhum outro lugar sem me consultar.

[box class=titlebg]
Para que serve o script
[/box]

       
  • É possível configurar a tecla de ativação do pause
  • É possível usar imagens
  • É possível usar textos sem imagens, assim como configurar a sua fonte.
  • Window de nome do mapa atual
  • Window de gold
  • Window de tempo de jogo
[box class=titlebg]
Imagens
[/box]
Spoiler
[close]

[box class=titlebg]
Download e Script
[/box]
#===========================================================================
# Ken Pause System
#---------------------------------------------------------------------------
# O script adiciona a função de "pausar" o jogo.
#===========================================================================
#===========================================================================
# Configurações:
#===========================================================================
module KPSC
  
  KEY = :ALT                # Tecla que chama o pouse
  
  Image = false           # Usar imagem?
  ImageName = "Pause"      # Nome da imagem
  IX = 0
  IY = 139
  
  # Configure aqui apenas se não usar imagem
  Text = "Pausado" # Texto exibido no Pause
  
  TF = [      # Não mecha aqui
  
  TextS = 72, # Tamanho do texto
  
  TB = true,  # Contorno do texto
  
  TC = [255, 255, 255, 255], # Cor do texto
  
  TCB = [0, 0, 0, 128], # Cor do contorno do texto
  
  TS = true,  # Texto com sombra
  
  TN = false, # Texto em negrito
  
  TI = false, # Text em itálico
  
  TX = 0, # Posição X do texto
  
  TY = 0 # Posição Y do texto
#===========================================================================
#Fim das configurações
#===========================================================================
  ]
end
#---------------------------------------------------------------------------
# classe Window_Time, onde aparece o tempo total de jogo
#---------------------------------------------------------------------------
class Window_Time < Window_Base
  def initialize(x,y)
    super(x, y, 385, fitting_height(1))
    refresh
  end
  def update
    refresh
  end
  def refresh
    contents.clear
    playtime = $game_system.playtime_s
    change_color(system_color)
    draw_text(0, 0, self.contents.width, line_height, "Tempo de Jogo", 0)
    change_color(normal_color)
    draw_text(0, 0, self.contents.width, line_height, playtime, 2)
  end
end
#---------------------------------------------------------------------------
# classe Window_Map, onde aparece o nome do mapa atual
#---------------------------------------------------------------------------
class Window_Map < Window_Base
  def initialize(x,y)
    super(x, y, 544, fitting_height(1))
    refresh
  end
  def refresh
    self.contents.clear
    map = $game_map.display_name
    change_color(system_color)
    draw_text(0, 0, self.contents.width, line_height, "Mapa", 0)
    change_color(normal_color)
    draw_text(0, 0, self.contents.width, line_height, map, 2)
  end
end
#---------------------------------------------------------------------------
# classe Scene_Pause, onde ocorre todo o procedimento
#---------------------------------------------------------------------------
class Scene_Pause < Scene_Base
  include KPSC
#---------------------------------------------------------------------------
# método start, responsável por criar o background da scene, além do texto e
# das windows
#---------------------------------------------------------------------------
  def start
    super
    draw_windows
    draw_image
    create_background
  end
#---------------------------------------------------------------------------
# método "update", que checa se determinada tecla foi apertada e sai da scene
#---------------------------------------------------------------------------
  def update
    super
    SceneManager.return if Input.trigger?(KEY)
  end
#---------------------------------------------------------------------------
# método terminate, executado ao sair da scene, responsável por "apagar" as
# imagens
#---------------------------------------------------------------------------
  def terminate
    super
    dispose_images
  end
#---------------------------------------------------------------------------
# método draw_windows, responsável por criar as windows da scene
#---------------------------------------------------------------------------
  def draw_windows
    @w2 = Window_Gold.new
    @w2.x = 544 - @w2.width 
    @w2.y = 416 - @w2.height
    
    @w3 = Window_Time.new(0, 368)
        
    @w4 = Window_Map.new(0, 322)
    
  end
#---------------------------------------------------------------------------
# Método draw_image, onde é desenhada a imagem ou o texto da HUD.
#---------------------------------------------------------------------------
  def draw_image
    if Image
      @texto = Sprite.new
      @texto.bitmap = Cache.picture(ImageName)
      @texto.x = IX
      @texto.y = IY
      @texto.z = 999
    else  
      @texto = Sprite.new
      @texto.bitmap = Bitmap.new(500,500)
      @texto.bitmap.font.outline = TF[1]
      @texto.bitmap.font.color = Color.new(TF[2][0], TF[2][1], TF[2][2], TF[2][3])
      @texto.bitmap.font.out_color = Color.new(TF[3][0], TF[3][1], TF[3][2], TF[3][3])
      @texto.bitmap.font.shadow = TF[4]
      @texto.bitmap.font.bold = TF[5]
      @texto.bitmap.font.italic = TF[6]
      @texto.bitmap.font.size = TF[0]
      @texto.bitmap.draw_text(TF[-2], TF[-1], 550, 400, Text, 1)
      @texto.z = 99999
    end
  end
#---------------------------------------------------------------------------
# método create_backgronud, responsável por criar o background da scene
#---------------------------------------------------------------------------
  def create_background
    @background_sprite = Sprite.new
    @background_sprite.bitmap = SceneManager.background_bitmap
    @background_sprite.color.set(16, 16, 16, 128)
  end
#---------------------------------------------------------------------------
# método dispose_backgronud, responsável por "apagar" o background da scene
#---------------------------------------------------------------------------
  def dispose_images
    for i in 0..@texto.opacity
      if @texto.opacity == 0
        @texto.dispose
      else
        @texto.opacity -= 1
      end
    end
    @background_sprite.color.set(0, 0, 0, 0)
    @background_sprite.dispose
  end
end
#---------------------------------------------------------------------------
# classe Scene_Base, superclasse de todas as scenes
#---------------------------------------------------------------------------
class Scene_Map
  alias kps_update update
  def update
  kps_update
  SceneManager.call(Scene_Pause) if Input.trigger?(KPSC::KEY)
  end
end
#===========================================================================
# fim do script
# Créditos:
# Kenyan pelo script
# Khas pelas aulas
# Masked pelas aulas
# Raizen pela ajuda
#===========================================================================

imagem usada como exemplo
[close]

[box class=titlebg]
Créditos e Avisos
[/box]
Kenyan pelo script
Khas pelas aulas
Masked pelas aulas
Raizen pela ajuda

 :ok:
É um script bem interessante!