Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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)
Link para o post
Compartilhar em outros sites

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

 

Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

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

 

Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

Ah agora intendi direito, achei que ele iria baixar tudo kk

Então o sistema ta bacana, e ajuda muitos donos de otserv (pokemon principalmente) a atualizar e alertar os players sobre atualizações de maneira mais eficiente...

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

 

Link para o post
Compartilhar em outros sites

Ah agora intendi direito, achei que ele iria baixar tudo kk

Então o sistema ta bacana, e ajuda muitos donos de otserv (pokemon principalmente) a atualizar e alertar os players sobre atualizações de maneira mais eficiente...

Então isso que eu falei é a logica para um "updater" eu só vou fazer a biblioteca que torna ela possível a parte em lua, quem quiser usar a biblioteca vai ter que se virar.

mas mesmo assim a parte em lua se for bem feita não da mais que 15 linhas.e deixa tudo automatizado e também não é tão complicado de fazer a parte mais chata é mexer com a biblioteca IO, aprendendo isso fica tudo bem fácil...

Link para o post
Compartilhar em outros sites
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Tryller
      Crystal Server
       
      Olá rapaziada, pra quem não me conhece sou Tryller.
      Eu desenvolvia por volta de 2010 - 2015 uma distro conhecida como Crystal Server.
      Utilizando de base o OpenTibia SVN e o The Forgotten Server.

      Faz um tempo e venho pensando em voltar com a distro do Crystal Server.
      Hoje o Crystal Server está de volta, com o bom e velho mapa SadSoul..

      Mas resolvi vir até aqui para convidar vocês amantes do OpenTibia e do Crystal Server a visitarem nosso repositório no GitHub  https://github.com/jprzimba/crystalserver e dar  uma conferida de como está indo o andamento do server e quem se sentir a vontade de contribuir fique a vontade, basta criar um pull request que estarei analisando.

      Agradeço a todos que lerem está matéria, não esqueçam de voltar na enquete.
      Atenciosamente, Tryller.
    • Por Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo