ich brauche dringend hilfe bei meinem updater für ein spiel.
ich will so ein updater machen wie bei z.b. World of Tanks.
das der nach updates sucht dann wen welche da sind runterläd und gleich da hin installiert wo es hin soll also in das game verzeichnis.
ich möchte eine progressbar haben und ein feld wo dann steht was bei dem update neu ist.
ich habe einen schon gemacht aber irgend wie geht das alles nicht ich hinterlege mal ein bild
und den code auch.
villeicht gibt es ja schon ein thema dazu oder ein tut wäre gut wenn ihr mir dann das zeigt.
(ich bin noch ein "anfänger" darin )
habe zwar schon ein bissel programmiert und so aber nicht sowas
Code:
Imports System.Net
Public Class Form1
Private WithEvents wc1 As WebClient
Private WithEvents wc2 As WebClient
Dim lbl_progress As Object
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text = "Suche..."
Button1.Enabled = False
update()
End Sub
Sub update()
wc1 = New WebClient
If wc1.DownloadString("") <> "1.0" Then
MsgBox("Es werden Updates heruntergeladen", MsgBoxStyle.Information, "Update-Ergebnis")
download("")
Else
MsgBox("keine updates vorhanden", MsgBoxStyle.Information, "update-Ergebnis")
Button1.Enabled = True
Button1.Text = "Nach Updates suchen"
End If
End Sub
Sub download(ByVal url As String)
wc2 = New WebClient
wc2.DownloadFileAsync(New Uri(url), "My.Computer.Network.DownloadFile(path, Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "/" & version & "" & "version.txt")
End Sub
Private Sub wc2_donloadcompleted(ByVal sender As Object, ByVal w As System.ComponentModel.AsyncCompletedEventArgs) Handles wc2.DownloadFileCompleted
MsgBox("Download abgeschlossen", MsgBoxStyle.Information, "Download")
Button1.Enabled = True
Button1.Text = "nach Updates suchen"
pgb_progress.Visible = False
lbl_progress.Visible = False
End Sub
Private Sub wc2_Downloadchanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles wc2.DownloadProgressChanged
pgb_progress.Visible = True
lbl_progress.Visible = True
pgb_progress.Value = e.ProgressPercentage
lbl_prgress.Text = e.ProgressPercentage.ToString & "%"
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
End
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Process.Start("http://www.google.de")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Programm As Long
Programm = Shell("notepad.exe", vbNormalFocus)
End
End Sub
End Class
das habe ich schon gemacht aber es soll ja automatisch instalieren und wenn noch kein game vorhanden ist das dann ausgesucht wird wohin das alles runtergeladen werden soll.
das rot umrandete ist wie es aussehen soll mit progressbar und % anzeige dadrüber soll dann stehen was neu ist im update.
Es gibt manche Programme (z.b. VLC-Mediaplayer oder FileZilla), wenn die ein Update durchführen wollen, wird die neue Setup-Anwendung runtergeladen und alles wird zusammen mit den Updates neu installiert.
Wenn du es so machen würdest, wäre es besser, solange die Game-Daten eine kleine Größe haben (z.b. zwischen 10-25 mb). Als Setup-Anwendung könntest du Programme like Nullsoft-Install-System benutzen. Nachteil ist du müsstest jeden Update eine neue Setup erstellen, was eigentlich nicht so schwierig ist.
Der Code für dein Update könnte dann ungefähr so aussehen:
Code:
Sub vUpdate()
Dim web As New Net.WebClient
If My.Computer.Network.IsAvailable = True Then
Try
If Not web.DownloadString("http://deineseite.com/update/neueversion.txt") = "1.1.0.1" Then
If MsgBox("Do you want to download the latest version?", MsgBoxStyle.YesNo, "New version available!") = MsgBoxResult.Yes Then
Try
My.Computer.Network.DownloadFile("http://deineseite.com/neueversion/setup.exe", Application.StartupPath & "\New Version.exe", "", "", True, 500, True)
MsgBox(web.DownloadString("http://deineseite.com/update/changelog.txt"))
Process.Start(Application.StartupPath & "\New Version.exe")
Me.Close()
Catch ex As Exception
MsgBox("Failed to download Updates!", MsgBoxStyle.Critical, "Error occured!")
End Try
End If
End If
Catch ex As Exception
Exit Sub
End Try
End If
End Sub
Mal den Code von >>x<< kopiert und meinen Senf dazu gegeben.
PHP Code:
Private Sub WC_DownloadProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs) Handles WC.DownloadProgressChanged ProgressBar1.Value = e.ProgressPercentage Me.Label1.Text = e.ProgressPercentage.ToString & "%" End Sub
Dim WithEvents WC As New WebClient Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Label1.Visible = True Me.Label1.Text = "0%" vUpdate() End Sub
Sub vUpdate() Dim web As New Net.WebClient If My.Computer.Network.IsAvailable = True Then Try If Not web.DownloadString("http://deineseite.com/update/neueversion.txt") = "1.1.0.1" Then If MsgBox("Do you want to download the latest version?", MsgBoxStyle.YesNo, "New version available!") = MsgBoxResult.Yes Then Try My.Computer.Network.DownloadFile("http://deineseite.com/neueversion/setup.exe", Application.StartupPath & "\New Version.exe", "", "", True, 500, True) MsgBox(web.DownloadString("http://deineseite.com/update/changelog.txt")) Process.Start(Application.StartupPath & "\New Version.exe") Me.Close() Catch ex As Exception MsgBox("Failed to download Updates!", MsgBoxStyle.Critical, "Error occured!") End Try End If End If Catch ex As Exception Exit Sub End Try End If End Sub
Das erste True steht dafür, dass ein Progressbar angezeigt werden soll, während des Downloads (aber wahrscheinlich ohne Prozentangabe)
Trotzdem könnte man es auch so machen, wie du es geschrieben hast.
Hab das ganze eben schnell in 2 Minuten überflogen, deinen Code gesehen und mein Senf dazu abgegeben, im Nachhinein das durchlesen nochmal, sieht man das einiges von mir gar nicht gebraucht wird. Dennoch erfüllt beides seinen zweck.
danke für die schnelle antwort
aber..
ich möchte das ich wen ich auf den button start gehe womit das spiel dann gestartet werden soll erst nach updates suchen soll dann wen updates da sind das er die automatisch gleich runterläd wen keine updates dann da sind das dann das spiel normal gestartet wird und ich weiß ja nicht wo die leute von meinem spiel den ordner hin packen also muss das programm ja irgend wie das automatisch installieren.
also bitte ein kleines tut machen oder erklären ich bin anfänger und weiß nicht richtig was ich damit anfangen soll
danke trotsdem für die hilfe
oder schickt ein link wo einer so ein updater schon gemacht hat und es da erklärt wie es geht.
Das könnte dir vielleicht weiterhelfen, falls du Englisch kannst. Du könntest es erweitern und nach deiner Vorstellungen nach anpassen.
Sollte auch dieses nicht helfen, solltest du Dir ein Buch Kaufen im Wert von max. 50€, darin fängst du an zu lernen.
Man sollte mit den Knochen was man hingeworfen bekommt, ein Skelet daraus basteln können.
Ein Tipp, versuch mal vUpdate() in ein Button_Click Event zu machen und schau mal was dann passiert.
ich will mir nicht extra ein buch dafür kaufen damit ich einen updater machen kann ich will nur das projeckt noch machen
..
also brauche ich lösungs beispiele
bitte
@vbcji
Downloade Dir den Anhang, ändere das was du brauchst, hab Dir alles so einfach wie möglich gemacht. Du kannst die Textbox auch weg lassen und den Link direkt in den Code setzen.
Ändere / version.txt zu deiner Webadresse.
Du kannst das ganze noch schöner machen, wenn der Download fertig ist, soll er das ganze normal Starten und den Updater Beenden.
[Brauche Hilfe]Brauche Hilfe beim einfügen der neuen Rüstungen 01/04/2013 - Metin2 Private Server - 3 Replies Brauche Hilfe!
Hallo epvp.
Ich habe mal ein paar Rüstungen gemoddet und dann wollte ich sie einfügen.
Es hat fast alles geklappt und ich war recht "happy", weil sie für den männlichen Krieger einbandfrei funktioniert haben.
Dann wollt ich gucken wie das bei den anderen Charaktern aussieht.
Ich habe mir die Rüstungen gerufen. Die icons der Rüstungen sind für den Ninja und den Krieger richtig. Bei der Sura und der Schami Rüstung sieht mal aber wieder die icons der Krieger und Ninja rüstung....
Suche kleine hilfe beim Programmieren / Biete 40 EGold 03/19/2012 - elite*gold Trading - 1 Replies Hi, ich habe vor ein Programm zu schreiben, komme aber nicht weiter:D
VB 2010
Also, ich möchte, das man in einer Form folgene Dingne eingibt:
ID, Email, usw., dann sollte man auf hinzufügen klicken können, und dann sollten die eingegebenen werte in einer anderen Form als Tabelle (Datenbank) auftauchen. Diese sollten auch nach beenden des programmes noch in der Tabelle (DB) vorhanden sein.
Jede erfolgreiche hilfe bekommt 40-50 EGold.
[HiLFE]Beim programmieren mit vb 03/16/2011 - Metin2 - 0 Replies Habe mir mal gestern das einfachste Programmiert:
Einen Pickupbot :P
Und jezz will ich euch ma fragen zu paar scripts/codes die man in vb eingeben muss damit der die und die taste drückt..
Z.b. Wenn ich jezz schreibe: sendkey.send ("{F4})"
Drückt der dann F4 ?
und wie kann ich einstellen das der die F4 taste nur alle 3 sekunden drückt`?
Und wenn man mehrere tasten drücken will,
brauche hilfe beim programmieren 04/07/2008 - Ragnarok Online - 8 Replies Ich brauche hilfe beim Programmieren eines Bots (Openkore) wäre nett wenn mich jemand der sich dmit aus kennt in icq adden würde (205-327-167)
mfg RedDragoon