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

Instalador automático de fontes

Iniciado por Raizen, 24/02/2013 às 18:25

Instalador de fontes automático

Compativel com: RMVX, RMXP
Compatibilidade :bom
Facilidade de uso: fácil
Lag gerado: baixo
[box class=titlebg]
Condições de Uso
[/box]
  Não especificado pelo autor

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

Ao iniciar o jogo pela primeira vez, o script automaticamente instala a fonte, MUITO útil na hora de distribuir o seu jogo.

[box class=titlebg]
Script.
[/box]

#==============================================================================
# ** Auto Instalar Fontes
#------------------------------------------------------------------------------
# Por Wachunga(2006-01-07)
# Editado,Adaptado e Revisado por Rafidelis ;D
# Versão 2.0
# 20/03/10
#------------------------------------------------------------------------------

module Rafidelis
  #==========================================================================
  # Modulo Auto Instalar Fonte
  #--------------------------------------------------------------------------
  # Nesse modulo é configurado o script de Auto Instalar Fontes do Jogo
  #==========================================================================
  module Auto_Instalar_Fontes
    # Adicionando Script ao Sistema
    Rafidelis.add_script("[Outros] - Wachunga: Instalar Fontes Automaticamentes - Edit","1.5")
    # Script Adicionado
   
    # Nome dos Arquivos de Fontes
    Nome_Dos_Arquivos = ['WillRobinson.ttf']
    # Nome das Fontes
    Nomes = ['Will Robinson']
    # Notificar as mensagens de erro e/ou sucesso?
    Notificar = true
    # Pasta, na pasta do jogo,com as fontes
    Pasta_Fonte = 'Fontes/'
    # Pasta do Sistema,aonde serão instalada as fontes.
    Pasta_Destino = ENV['SystemRoot'] + '/Fonts/'
   
    # Deletar a pasta com as fontes apos instala-las?
    Deletar_Pasta = false
   
    # Mensagem de Erro
    Mensagem_de_Erro = "    Erro ao instalar a fonte %s.
    A fonte não pode ser encontrada  na pasta %s.Por favor,entre em contato em:
    rafa_fidelis@hotmail.com ou baixe a fonte %s através de sites de download de fontes!."
 
    # Mensagem de Sucesso!
    Mensagem_de_Sucesso =
    "A Fonte %s  foi instalada com sucesso no seu computador.Na pasta %s.\nDivirta-se jogando!"
  end
end
#=============================================================================
# ** Instalar_Fontes                                                           
#=============================================================================
# Esta classe é responsavel por instalar as fontes do jogo no sistema.       
#=============================================================================
class Instalar_Fontes
  # Apis por Wachunga
  AFR = Win32API.new('gdi32', 'AddFontResource', ['P'], 'L')
  WPS = Win32API.new('kernel32', 'WriteProfileString', ['P'] * 3, 'L')
  SM = Win32API.new('user32', 'SendMessage', ['L'] * 4, 'L')
  WM_FONTCHANGE = 0x001D
  HWND_BROADCAST = 0xffff
  #===========================================================================
  # Inicialização do Objeto
  #===========================================================================
  def initialize
    success = []
    for i in 0...Auto_Instalar_Fontes::Nome_Dos_Arquivos.size
      f = Auto_Instalar_Fontes::Nome_Dos_Arquivos[i]
      # Se ja não estiver instalada a fonte
      if not FileTest.exist?(Auto_Instalar_Fontes::Pasta_Destino + f)
        # Verifica na pasta do jogo,se a fonte existe
        if FileTest.exists?(Auto_Instalar_Fontes::Pasta_Fonte + f)
          # Copia para o sistema
          File.rename(Auto_Instalar_Fontes::Pasta_Fonte + f, Auto_Instalar_Fontes::Pasta_Destino + f)
          AFR.call(Auto_Instalar_Fontes::Pasta_Destino + f)
          WPS.call('Auto_Instalar_Fontes', Auto_Instalar_Fontes::Nomes[i] + ' (TrueType)', f)
          SM.call(HWND_BROADCAST,WM_FONTCHANGE,0,0)
          if FileTest.exist?(Auto_Instalar_Fontes::Pasta_Destino + f)
            success.push(Auto_Instalar_Fontes::Nomes[i])
          end
          # Se a fonte não existir na pasta do Jogo
          else
            f = Auto_Instalar_Fontes::Nomes[i]
            message = sprintf(Auto_Instalar_Fontes::Mensagem_de_Erro,f,Auto_Instalar_Fontes::Pasta_Fonte,f)
            print message
            exit
          end
        end
      end
      if success != [] # Se uma fonte foi instalada
        if Auto_Instalar_Fontes::Notificar
          fonts = ''
          success.each do |f|
            fonts << f << ', '
          end
          message = sprintf(Auto_Instalar_Fontes::Mensagem_de_Sucesso,fonts[0..-3],Auto_Instalar_Fontes::Pasta_Destino)
          print message
          Dir.delete(Auto_Instalar_Fontes::Pasta_Fonte) if Auto_Instalar_Fontes::Deletar_Pasta
        end
        # Executar Game.exe novamente,para que as fontes sejam verificadas
        Thread.new { system('Game') }
        exit
     end
   end
end
Instalar_Fontes.new # Iniciando a Instalação


[box class=titlebg]
Imagens
[/box]

Não necessário

[box class=titlebg]
Download
[/box]

Não necessário

[box class=titlebg]
Créditos e Avisos
[/box]
Wachunga
Rafidelis