Jump to content
Daniel Francisco

Atualizar patchs de um jogo pelo Form?

Recommended Posts

Oi   boa noite meus amigos..

estou a uns 10 dias mexendo com c# comprei 2 livros, to focado em aprende..

to tentando atualizar meu jogo através  do meu Windows form que criei..

queria saber se isto e possível e como proceder? ou procurar referencias.

 

Exemplo:  no update oficial do jogo ele atualiza a partir do ponto exemplo:

127.0.0.1/shaiya/patch

dentro da pasta patch fica os arquivos no formato.patch que serão atualizados

é dentro da pasta shaiya fica um arquivo version.ini que verificar cada atualização nova que eu adiciono na pasta, ( esse arquivo fica no jogo tb) pra verificar versão..

ai que fiz, criei uma tela de login etc.. personalizada com login é queria atualizar o jogo através dela..

Images:

jvk7tf

 

jvk7x1

jvk827

 

agradeço a todos que estão me ajudando, que Deus recompense 

Share this post


Link to post
Share on other sites
7 horas atrás, quintelab disse:

Antes de tentar fazer via código precisa entender como é feita a atualização. O que deve ser feito ? Apenas copiar os arquivos da pasta patch e mover pra pasta do jogo ?

Meu grande, obrigado pela resposta novamente!!

Então meu amigo no cliente do jogo possuí um arquivo chamado data.saf

onde fica os arquivos do jogo, a extração deveria ser feita pra dentro dele, mesmo q seja difícil me diga quais caminhos seguir..

dentro da pasta shaiya que fica no apache, ele verificar updateversion.ini , e na pasta do jogo também te uma version.ini

updateversion.inoi

[Version]
CheckVersion=3
UpdaterVersion=20
PatchFileVersion=10

version.ini

[Version]
CheckVersion=3
CurrentVersion=20
StartUpdate=UPDATE_END

eu possuo o update original.. dos servidores privados.. que faz atualização, pelo HxD tem alguns códigos

inclusive IP_127.0.0.1 por exemplo, que e onde ele vai buscar a atualização..

deixarei aqui o update caso você se interesse em olha pra ajuda

https://www.dropbox.com/s/if6d1bmpzz06gyl/update.rar?dl=0

amigo, desculpa pela mensagem grande demais.. 

 

ainda sim, se for muito difícil e você achar q n consigo :(..

teria como de alguma maneira fazer esse update rodar em Hide, oculto através do meu form?

pra fazer atualização em  2 plano sem que ninguém visse-o, só exibisse uma mensagem na form que está

atualizando...?

 

 

meu caro, ficarei agradecido muitíssimo de me ajuda nisto... 

sou esforçado, pra eu pedir e porque tenho tentado demais :( 

 

abraços, fica com Deus

 

Share this post


Link to post
Share on other sites

Meio complexo por que não esta claro o que deve ser feito pra atualização funcionar. De qualquer forma se o necessário for mover arquivos de um lado para outro, de uma olhada nesse link: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-copy-delete-and-move-files-and-folders

  • Gostei 1

Share this post


Link to post
Share on other sites

Boa noite amigo, ótimo agora " sei manipular arquivos, rsr.".

mais acho que tá complicado demais pra me iniciante :(

então vou tentar outra maneira, me ajuda?

 

Parte 1.

teria como pelo menos fazer seguinte.. quando clicasse pra abrir meu update,

ele verificaria se um arquivo tem atualização disponível, se sim ele ao inves de abrir meu update,

abriria o update original, faria a atualização que no caso modificaria o arquivo (.ini) dai então

tem 1 opção de jogar no update oficial, que só fica fica disponível qnd a atualização e concluída,

ou seja, não teria como abrir o meu update ( se não tiver atualizado o jogo.), meu update teria q verificar isso num arquivo .ini

Parte 2.

resumindo, toda vez que clicasse pra abrir meu update ele iria verificar, se ja ta atualizado se sim, ele abre o programa normalmente,

se não, ele abre outro programa ( o update original, no update original tem opção jogar, e so clica e pronto abre o meu UPDATE)

ai, qnd a pessoa fosse abrir meu update novamente, ele abriria direto porque no arquivo .ini consta que está atualizado

como proceder? me ajuda nessa amg você e a unica pessoa que tá me ajudando nesse inicio :/

 

mais uma vez te agradeço por tudo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lulicanunes
      - Escreva o programa em linguagem C - É permitido o uso do CodeBlocks - Envie o arquivo, no local apropriado Descrição. Faça um programa em C que calcule o imposto de renda para um conjunto de 5 pessoas (contribuintes). Os dados de cada pessoa devem ser manipulados através de uma estrutura que contém os campos para o nome (string), sobrenome (string), salário mensal (float), deduções (float) e saldo (float). A leitura será feita através de um arquivo texto contendo informações referentes aos três primeiros campos da estrutura. Ao final, o saldo de cada contribuinte deve ser exibido na tela junto com seu nome e sobrenome. OBS.: As instruções a seguir implementam a lógica para resolver esse problema.
      Instruções. 1.
      (1,0) Defina a estrutura para armazenar os dados dos contribuintes.
      2. (1,0) Declare um vetor de estruturas com 5 posições.
      3. (3,0) Faça a leitura dos dados do arquivo de entrada, armazenando-os nas respectivas posições do vetor criado.
      OBS.: Assuma que o arquivo de entrada tem o nome "imposto.txt" e que cada registro (ou linha) desse arquivo tem o formato "%s\t%s\t%f\t%f\n" (i.e., os dados estão separados pelo caractere TAB - "\t").
      Exemplos de possíveis registros do arquivo de entrada:
      Pedro      Silva      2200.00      980.00
      Paulo      Santos    5400.00     2230.00
       
      (3,0) Após concluir a leitura dos dados, crie uma função que será chamada somente uma vez e que receba o vetor de structs e, a partir das informações de salário e deduções, calcule o saldo (imposto devido ou restituição) a ser pago para cada pessoa de acordo com a seguinte fórmula Saldo = Deduções - (12 * Salário mensal * Alíquota)
      O valor da alíquota depende do salário mensal de cada pessoa, com a seguinte divisão:
       
      Salário Mensal                                           Alíquota
      Abaixo de R$ 2.826                                      0.075                            
      De R$ 2.826 até R$ 4.664                            0.225
      Acima de R$ 4.664                                        0.275
       
      (2,0) Imprima na tela um relatório contendo o nome, o sobrenome e o saldo de todos os contribuintes. Exemplo de execução. Resultado considerando o arquivo de entrada fornecido. Nome: João
      Sobrenome: Silva
      Saldo: 9820.00
       
      Nome: Osvaldo
      Sobrenome: Aranha
      Saldo: 6480.00
       
      Nome: Pedro
      Sobrenome: Alves
      Saldo: 4542.00
    • By Joseph Amupolo
      Eu estou começando aprender a linguagem C, alguem  pode me ajudar com esse excercício?
      Desenvolver um sistema para catálogo de produtos em um supermercado
       
      Os itens devem conter:
      • Código do produto
      • Descrição
      • Quantidade em estoque
      • Valor (Em Reais)
       
      O sistema deve oferecer um menu ao usuário, permitindo as seguintes operações:
      1. Cadastrar produto
      2. Remover produto
      3. Consultar produto
      4. Resumo do estoque
      5. Sair
    • By rl28
      Bom dia,
       
      Estou querendo ler todos arquivos que meu sistema gerou na minha máquina no formato .txt e carregar os mesmos em uma gridview, assim deixando apenas uma tela de consulta dos dados salvos nos arquivos txt, porém, meu código não está conseguindo consultar os arquivos, podem me ajudar?
       
      Obs.: Quando utilizo o nome fixo do arquivo, funciona.
       
      Código abaixo:

       
      Public Class formListaTransacao Private Sub formListaTransacao_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim dt As New DataTable dt.Columns.Add("Código") dt.Columns.Add("Descrição") dt.Columns.Add("Ação") Dim Arquivo As New System.IO.StreamReader("C:\Users\rl\Desktop\" & Me.Text & ".txt", System.Text.Encoding.Default) While Arquivo.Peek() <> -1 dt.Rows.Add(Arquivo.ReadLine()) End While DataGridView2.DataSource = dt End Sub  
      Tela do gridview:

       
      Informação que consta no txt e que deve carregar no gridview:
       
      Primeiro arquivo

       
      Segundo arquivo:

    • By luiz-om
      Estou começando a aprender c#, e estou com a seguinte duvida. Tenho as tabelas lote, leitura e consumo. A tabela leitura herda de lote o ID. um lote tem muitas leituras. E uma leitura tem um consumo.
      A real duvida e a seguinte: quando faço a inserção de uma leitura o consumo já é salvo automático, porém quero buscar a última leitura inserida com aquele ID fazer a subtração do número dela pra poder gerar o valor certo na tabela consumo. e não estou conseguindo fazer isso.
      [Table("Lote")] public class Lote { [Key] public int Id { get; set; } [Required] [MinLength(2, ErrorMessage ="O nome deve ter no minimo 2 caracters")] [MaxLength(140, ErrorMessage ="O nome pode ter no maximo 140 caracteres")] public string Proprietario { get; set; } public string CPF { get; set; } //Gera um checkbox public Boolean Socio { get; set; } public string Cavalete { get; set; } public virtual ICollection<Leitura> Leituras { get; set; } } [Table("Leitura")] public class Leitura { [Key] public int Id { get; set; } [ForeignKey("Lote")] public int LoteId { get; set; } public DateTime DataLeitura { get; set; } public int NumeroLeitura { get; set; } public virtual Lote Lote { get; set; } public virtual Consumo Consumo { get; set; } } public class Consumo { [Key, ForeignKey("Leitura")] public int Id { get; set; } public Double Valor { get; set; } public DateTime? DataPagamento { get; set; } public virtual Leitura Leitura { get; set; } } A parte de create da controller é essa
      [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Id,LoteId,DataLeitura,NumeroLeitura")] Leitura leitura) { if (ModelState.IsValid) { //aki tudo que ja tentei /* * var leitura2 = from l in db.Leitura select l; leitura2 = leitura2.OrderByDescending(l => l.Id); db.Leitura.Where(l => l.LoteId == leitura.LoteId).OrderByDescending(l=> l.NumeroLeitura); // db.Leitura.leitura2.NumeroLeitura = db.Leitura.Where(l => l.LoteId == leitura.LoteId).FirstAsync; // db2.Leitura.Find(leitura2.LoteId).; var sql = db.Leitura.SqlQuery("select ID from Leitura Order by ID DESC;"); */ var consumo = new Consumo(); consumo.Leitura = leitura; //Essa parte que faz a conta apra salvar o consumo consumo.Valor =( leitura.NumeroLeitura) * 0.71; //quero fazer +- isso //consumo.Valor = (leitura.NumeroLeitura< <- ESSE SERIA O VALOR DA LEITURA ANTERIOR> - leitura.NumeroLeitura) * 0.71; db.Leitura.Add(leitura); db.Consumo.Add(consumo); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.LoteId = new SelectList(db.Lote, "Id", "CPF", leitura.LoteId); return View(leitura); }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.