Ir para conteúdo

Featured Replies

Postado

Olá, a muito tempo atras eu desenvolvi uma "Auto-Updater" para se usar em conjunto com o "otclient", fiz ele em "vb.net" e na época era o máximo que eu podia fazer..., mas agora iniciei um novo projeto.

 

Biblioteca de atualização.

 

Oque é?: é uma ".dll" que estou desenvolvendo com funções para poder criar um "Auto-Updater" em lua no próprio "otclient", oque permite uma customização total na parte visual e na parte do script. E o mais importante é que vai ser da comunidade Open Tibia, oque significa que bem em breve já terá o download da ".dll" com as funções básicas para um teste de estabilidade .

 

Funções lua:

 

Basicas:

 

doDownloadFile (pronta) --  baixar arquivos por url.

doRemoveFile (pronta) -- remover um arquivo

doCheckFile (pronta) -- checar se um arquivo existe

getDownloadInfo (0%) --conseguir todas as informações do download atual tais como (Tamanho do arquivo, Velocidade de download, Total Baixado)

doExtractArchive(50%) -- extrair arquivos zip.

doOpenProgram(pronta) -abri qualquer arquivo. como (.exe, .txt, ...) 

 

Outras podem ser alteradas:

doClientUpdate(0%) --inicia um programa secundário para concluir a atualização, caso o Client precise ser fechado para conclusão da atualização. (exemplo caso a atualização é na própria .dll ou no executável do Client).

GetClientPath(0%) --Gera o caminho para o executável do Client (Ex: c://MeuClientFeliz)

 

Obs.: Logico que isso é só o necessário para ter um "Auto-Update" básico funcionar. com o tempo vou adicionar novas funções visando melhorar minha biblioteca.

 

Esse post é para instruir e divulgar as pessoas sobre meu projeto, gostaria muito de um feedback positivo e logico que criticas construtivas e ideias são sempre bem vindas :). caso alguém tenha alguma ideia que possa ser implementada. por favor é só deixar o seu post.

 

Por ultimo um pequeno exemplo de como ficaria um script para atualizar um arquivo:

if doRemoveFile("tibia.spr") then
    local download = doDownloadFile ("tibia.spr", "https://www.meusitecomosdownloads.com/Path1.0.zip")
    doExtractArchive(download, GetClientPath().."\Data\Things\854")
end

E a partir do momento que você tem uma tabela em lua com vários arquivos um simples for já faria todo o trabalho :). assim fazendo toda atualização bem fácil de se entender e de se scriptar.

Editado por vyctor17 (veja o histórico de edições)

  • Respostas 6
  • Visualizações 523
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Existe alguma função para verificar se há atualização?

Alguns scripts de Garry's Mod verificam um arquivo txt com somente a versão escrita, quando essa versão do txt é mudada ele compara com a do cliente e avisa sobre o update. Dai ele já automaticamente executa a atualização...

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Postado
  • Autor

Existe alguma função para verificar se há atualização?

Alguns scripts de Garry's Mod verificam um arquivo txt com somente a versão escrita, quando essa versão do txt é mudada ele compara com a do cliente e avisa sobre o update. Dai ele já automaticamente executa a atualização...

não existe porque, eu pensei o seguinte a pessoa pode facilmente colocar em seu domínio um arquivo text que ficaria para deixar a versão atual da atualização,  toda vez ao iniciar o Client ele baixa esse arquivo e usa uma biblioteca IO para comparar com o arquivo antigo. e para lista de download pode ate ser um tabela em lua em arquivo text novamente no domínio da pessoa, e depois só é preciso usar o IO e a LoadString. e dai como eu falei usar um for básico e pronto :). essa logica dos arquivos text é a mesma que eu uso em meu updater em vb ele sempre baixa um arquivo contendo o numero da ultima versão e compara com oque já tem no client.

Editado por vyctor17 (veja o histórico de edições)

Postado

Acho que se ele for baixar toda as vezes dependendo do arquivo fica muito pesado e não compensa acho...

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Postado
  • Autor

Acho que se ele for baixar toda as vezes dependendo do arquivo fica muito pesado e não compensa acho...

um arquivo text contendo um numero de versão não pesa mais que 1kb ele vai compara com o outro arquivo text se o arquivo existir, se não existir ele inicia o download do arquivo mais recente, e já inicia a atualização mas caso o arquivo exista ele compara o numero que contem dentro do arquivo que já esta no seu computador com o numero que existe no novo arquivo que foi baixado se for diferente ele baixa se não, não.., e isso é só uma logica deve ter muitas outras formas de fazer a mesma coisa.

Editado por vyctor17 (veja o histórico de edições)

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo