Hast du es schon mal mit sourcequery ausprobiert?
Bin da selber etwas am rumprobieren.
Allerdings in VB.NET
MFG
Hast du es schon mal mit sourcequery ausprobiert?
Bin da selber etwas am rumprobieren.
Allerdings in VB.NET
MFG
Du solltest das vielleicht auch nicht im /root Verzeichnis machen, da hat nämlich der User steam keine Rechte . Du solltest einen eigenen Ordner dafür anlegen und dem user steam die entsprechenden Rechte geben. vielleicht sogar ihn zum besitzer machen
Das ergibt natürlich auch sinn.
Guten Tag liebe Leute
Ich habe mir den Launcher nochmal vorgenommen und ein paar Fehler beseitigt.
Dementsprechend kann ich euch nun auch sagen das ich wieder am Launcher arbeiten kann.
Ich weiß noch nicht genau wie lange es dauert bis mal ein paar Updates kommen aber in der Ruhe liegt ja die kraft
Um euch mal einen kleinen einblick zu verschaffen was ich gemacht habe.
John_Parker hat mich beauftragt ihm den Launcher zu erstellen da er nicht ganz damit klar kam.
Also hab ich mich dran gesetzt und ihm was feines gezaubert.
Wie ihr hier auf den Bildern sehen könnt sieht das ganze recht simpel aus.
Verwendet habe ich das "Metro Theme" für die Form.
Diese werde ich euch auch im Datei Anhang mit reinpacken wenn ihr dafür Verwendung haben wollt.
Ihr müsst aber nicht unbedingt dieses Theme nutzen und könnt den standard "style" von Visual Basic oder ein anderen "Style" eurer Wahl nehmen.
Den Code umzuschreiben auf "Standart" müsste auch für die Anfänger unter euch kein Problem darstellen.
Aber bei Problemen stehe ich euch auch gerne zu Verfügung.
Also zögert euch nicht mich zu Fragen
Kommen wir zum eigentlichen Code der jetzt auch Funktioniert und denke ohne Fehler ist.
Imports System.Net
Imports System.IO
Imports System.Text
Public Class Form1
Friend WithEvents MyWebClient As New Net.WebClient
Dim client As New Net.WebClient
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim iox As New IO.StreamReader(My.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim ot As String = iox.ReadToEnd
iox.Close()
My.MyProject.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\EUERNAME Launcher", "Version", "1.0") 'Bei einem Update bitte hier die version ändern
Me.client.DownloadFile("http://EUREIP/Launcher/version.txt", My.MyProject.Application.Info.DirectoryPath & "\version.txt")
Me.FlatTextBox1.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\pfad.txt")
Me.FlatTextBox2.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\para.txt")
Dim streamreader1 As System.IO.StreamReader = New System.IO.StreamReader(My.MyProject.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim str1 As String = streamreader1.ReadToEnd()
streamreader1.Close()
If ot = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Royal-Streets.de", "version", "1.0") Then 'Bei einem Update bitte hier die version ändern
Else
FlatAlertBox1.Show()
'Hier kann auch MsgBox.Show("") verwendet werden
End If
End Sub
Private Sub MyWebClient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles MyWebClient.DownloadProgressChanged
FlatProgressBar1.Value = e.ProgressPercentage
Dim totalbytes As Long = e.TotalBytesToReceive / 1024
Dim bytes As Long = e.BytesReceived / 1024
ToString()
FlatLabel2.Text = bytes.ToString & " kb von " & totalbytes.ToString & " kb"
If FlatProgressBar1.Value = 100 Then
FlatLabel2.Text = ("Fertig! Arma 3 wird gestartet.")
Process.Start(Me.FlatTextBox1.Text & "\arma3battleye.exe ", " 0 1 -connect=HIERIPEINTRAGEN " & FlatTextBox2.Text)
End If
End Sub
Private Sub DownloadProgress(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs)
Me.FlatProgressBar1.Value = e.ProgressPercentage
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
MyWebClient.DownloadFileAsync(New Uri("http://EUREIP/Launcher/Mission.pbo"), Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Arma 3\MPMissionsCache\Mission.pbo") 'Hier downloaded ihr direkt die Mission in euren MPMissionCache ordner
End Sub
Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click
Dim FolderBrowser As New FolderBrowserDialog
FolderBrowser.Description = "Bitte wähle deinen Pfad zu Arma 3..."
FolderBrowser.ShowNewFolderButton = True
FolderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop
FolderBrowser.SelectedPath = My.Computer.FileSystem.SpecialDirectories.Desktop
If FolderBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.FlatTextBox1.Text = FolderBrowser.SelectedPath
End If
End Sub
Private Sub FlatButton4_Click(sender As Object, e As EventArgs) Handles FlatButton4.Click
Dim iox As New IO.StreamReader(My.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim ot As String = iox.ReadToEnd
iox.Close()
If ot = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\EUERNAME Launcher", "version", "1.0") Then
MsgBox("Ihre version ist aktuell!")
Me.Hide()
Else
MsgBox("Update verfügbar!")
FlatButton5.BaseColor = Color.FromArgb(35, 168, 109)
FlatButton5.Visible = True
FlatButton5.Enabled = True
End If
End Sub
Private Sub FlatButton3_Click(sender As Object, e As EventArgs) Handles FlatButton3.Click
My.Computer.FileSystem.WriteAllText("pfad.txt", FlatTextBox1.Text, False)
My.Computer.FileSystem.WriteAllText("para.txt", FlatTextBox2.Text, False)
End Sub
Private Sub FlatButton6_Click(sender As Object, e As EventArgs) Handles FlatButton6.Click
Process.Start("ts3server://EURETSIP/")
End Sub
Private Sub FlatButton7_Click(sender As Object, e As EventArgs) Handles FlatButton7.Click
Process.Start("http://EUREHOMPAGE.de")
End Sub
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Process.Start("https://native-network.net/user/2322-devilcraft/") 'Bitte immer eine Verlinkung zu meinem Profil da lassen wenn ihr diesen Code nutzt
End Sub
End Class
Alles anzeigen
Ihr dürft wie gesagt den Source Code Frei verwenden und verändern.
Einzige bitte wäre wenn ihr immer eine kleine Verlinkung zu meinem Profil da lasst
Ich hoffe auf weitere Resonanz von euch oder auch Kritik.
Viel Spaß weiterhin mit dem Launcher.
MFG
Devilcraft
Kann mir jemand sagen wie ich das Programm jetzt in eine "Setup.exe" umwandeln kann ?
Habe in Visual Studio schon geschaut finde dort leider nichts, bin ein neuling was "Visual Studio" angeht. Und würde mich sehr freuen, wenn mir da eben jemand weiterhelfen könnte zur später Stunde
Ich habe im Internet auch schon gegoogelt, und bin auf dieses Programm gestoßen: Inno Setup Compiler
Wie gesagt ich würde mich sehr freuen, wenn mir da eben jemand weiterhelfen würde.
Wieso möchtest du denn den Launcher als "Setup.exe" haben?
Einfach dein Projekt als "Release" Starten und im Projekt Ordner unter "Release" die Datein in eine .rar oder .zip packen fertig.
Klar das müsste auch funktionieren
@Leon Kahler ja vom Design her schon aber leider vom programmieren her nicht so, hab da ein paar Punkte die ich nicht lösen kann
Wie wäre es auf die einfache art?
Copy + Paste.
Gibt sogar für die faulen die Option das zu downloaden
Mal ernsthaft, das waren keine 2 Sekunden Google!
Das ist natürlich in paar Sekunden gefunden.
Doch hätte man in dem jeweiligen Bereich etwas genauer nachgeschaut hätte er
sehen müssen das es ein Tutorial gibt, wo genau das gleiche drin steht
.
So hätte er Gar nicht erst das Thema aufmachen müssen^^
Zur Information...
Ich habe zurzeit nicht die Möglichkeit weiter daran zu arbeiten...
Mir fehlt gerade die zeit dafür
Hallo Leute,
ich muss euch hiermit mitteilen das ich zurzeit keine Internet habe und mich anderweitig melden muss.
Ich habe also jetzt erstmal die Gelegenheit mich dazu zu äußern bei Fehlern dieses Tutorials.
Ich habe es selber gemerkt das ich ein paar Fehler drin habe aber diese sind einfach zu lösen wenn ihr euch kurz damit beschäftigt.
ich werde auch sobald ich wieder Internet habe mich mit dem Fehler befassen und euch mitteilen wie ihr den beseitigt und das Tutorial bearbeiten.
Ich hoffe ihr habt Verständnis dafür
MFG
PS:
Ihr könnt mir gerne PN´s schicken...
Ich werde sobald ich die Möglichkeit habe mich bei euch melden und helfen.
Alles anzeigenIch finde den gar nicht mal so schlecht.
Auch vom Code her Du hast dir Mühe gegeben und soweit auch ganz gut geschrieben
Meine Empfehlung für dich als Coder aber noch -> strukturierter Arbeiten.
Klar es sind nur wenige Zeilen und es macht auch kaum großen Sinn hier mit #Region oder ähnliches zu arbeiten.
Allerdings mache ich es auch bei kleinere Projekten um einfach später mal Überblick zu behalten.
Man kann übrigens per VB noch ganz gemütlich die ZIP Datei noch entpacken lassen schau dir mal System.IO.Compression an
Für den Anfang her nicht schlecht.
Kurze Info, C# gleicht sich sehr mit VB.net. Daher sollte dir der Übergang relativ leicht fallen.
Zurzeit arbeite ich in einer Firma deren Programme hauptsächlich aus VB bestehen, für mich als C#`ler ein leichtes arbeiten (wenn auch Syntax sich abhebt)
Schau dir ruhig mal ein paar Tuts an.
~~~~~
Für den Rest die überlegen sich den zu holen, schaut ihn euch ruhig mal an er hat potenzial.
Danke für dein Feedback
"System.IO.Compression" habe ich mir schon angeschaut und habe das noch nicht in dem Launcher eingebaut.
Wenn ich ein zweiten teil mache werde ich dies mit einbauen aber um Fehler zu vermeiden möchte ich das erst einbauen wenn ich damit genau vertraut bin
Könnte man machen so Servernews die Admins in ihrem eigenen Launcher editieren können etc. Interessan
Server News kannst du mit dem "Webbrowser" machen... da kannst du halt Updatelogs für den Launcher machen oder aber auch die Server News...
Da erstellst du eine .php /.html datei und designst die Seite nach deinem ermessen... Verlinkst deinen Webbrowser auf die Datei und schon haste deine News
Um genau zu sagen ist dies einfach eine "User Funktion" damit sich User in den Launcher anmelden können und man denen Zusatzfunktionen anbietet wie Support,Infos über den Server, Donates oder sonstwas.
Einfach nur ein Panel wo man den Usern halt extra Funktionen bietet
Eine Super Grundlage und es ist auch nicht schwer diese zu gestalten, habe es gerade selber ausprobiert. Find ich super das sowas bereitgestellt wird auch wenn es kein C# Code ist.
Weiter so Potential hast du!
Vielen dank
Ich werde mich stets bemühen weiter zu lernen und wenn ich weitere feine sachen habe werde ich euch teilhaben lassen
Nachtrag für den Tutorial:
Ich kann auch gerne eine "User Funktion" in den Launcher einbauen.
Wenn Interesse besteht kann ich noch einen zweiten teil machen
lass es mich in den Kommentaren oder an likes wissen ob ihr Interesse habt.
Vielen dank
Immer hin hat jemand dazu ein Tutorial gemacht. n
Dankeschön werde es bestimmt im nächsten Jahrhundert mal ausprobieren.
Ist nicht der schönste bzw. nicht der schönste Code aber er funktioniert.
Ich bin ja Selber dabei da noch weiteres einzubauen.
Da muss ich aber noch etwas lernen
Ich selber kann kein C#
Ich wollt des mal lernen aber bin nie dazu gekommen deswegen bin ich bei VB geblieben
Guten Tag.
Ich möchte euch heute zeigen wie ihr ganz einfach euren eigenen "Arma III Launcher erstellt"
Vorab möchte ich euch sagen das ich in dem bereich ein absoluter Anfänger bin!
also verzeiht mir Fehler oder dumme Funktionen
PS:
Ihr könnt diesen Launcher Komplett für euch Nutzen und verändern!
Lasst doch einfach ein Kleines Dankeschön da wenn euch damit etwas geholfen wurde
Und wenn nicht dann Freu ich mich trotzdem auf eure Kritik/Verbesserungsvorschläge.
Was Braucht Ihr?
Einen Webspace
Visual Studio 20XX > Ich habe 2012
Brain.exe
Legen wir Los!
Als ersten braucht ihr eine Form die ihr in eurem ermessen gestalten könnt
5x Buttons
1x Progressbars
1x Labels
2x Textboxen
1x Picturebox * Für euer Logo
1x Webbrowser * Für eure kleinen Update Logs
*Optional ist kein muss!!!
Ich habe dies jetzt mal so gemacht:
Dann erstellt ihr als nächstes auf eurem Webspace eine "version.txt" diese wird genutzt um die version des Launchers abzufragen.
Und nun zum Code den ihr einfach kopieren könnt und nach euren angeben bearbeiten könnt.
Aber auch für die Faulen ist gesorgt!
Ihr könnt das Projekt einfach aus dem Dateianhang Downloaden
Imports System.IO
Imports System.Text
Imports System.Net
Public Class Form1
Friend WithEvents MyWebClient As New Net.WebClient
Dim client As New Net.WebClient
Private Sub DownloadProgress(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs)
Me.ProgressBar1.Value = e.ProgressPercentage
End Sub
Private Sub MyWebClient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles MyWebClient.DownloadProgressChanged
ProgressBar1.Value = e.ProgressPercentage
Dim totalbytes As Long = e.TotalBytesToReceive / 1024
Dim bytes As Long = e.BytesReceived / 1024
ToString()
Label1.Text = bytes.ToString & " kb von " & totalbytes.ToString & " kb"
If ProgressBar1.Value = 100 Then
Label1.Text = ("Fertig")
MsgBox("Dein Download war Erfolgreich!")
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim iox As New IO.StreamReader(My.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim ot As String = iox.ReadToEnd
iox.Close()
'Hier bitte euer Launcher namen einfügen
My.MyProject.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Launchertutorial", "Version", "1.0")
'hier bitte euren Link/Pfad angeben zur version.txt
Me.client.DownloadFile("http://tutorial.de/tut/version.txt", My.MyProject.Application.Info.DirectoryPath & "\version.txt")
Me.TextBox1.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\pfad.txt")
Me.TextBox2.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\para.txt")
Dim streamreader1 As System.IO.StreamReader = New System.IO.StreamReader(My.MyProject.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim str1 As String = streamreader1.ReadToEnd()
streamreader1.Close()
'Hier bitte euer Launcher namen einfügen
If ot = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Launchertutorial", "version", "1.0") Then
Else
MsgBox("Update Verfügbar")
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Sorgt dafür das ihr euren Pfad suchen könnt!
Dim FolderBrowser As New FolderBrowserDialog
FolderBrowser.Description = "Bitte wähle deinen Pfad zu Arma 3..."
FolderBrowser.ShowNewFolderButton = True
FolderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop
FolderBrowser.SelectedPath = My.Computer.FileSystem.SpecialDirectories.Desktop
If FolderBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.TextBox1.Text = FolderBrowser.SelectedPath
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'speichert euren Pfad und euer startparameter in einer textdatei
My.Computer.FileSystem.WriteAllText("pfad.txt", TextBox1.Text, False)
My.Computer.FileSystem.WriteAllText("para.txt", TextBox2.Text, False)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Hier euer/eure Modpack/s eingügen und eure IP
'Staret das spiel und lässt euch auf euren server connecten
Process.Start(Me.TextBox1.Text & "\arma3battleye.exe ", " 0 1 -mod=@Euer;@Modpack;@Was;@Ihr;@habt -connect=Eure IP " & TextBox2.Text)
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Hier könnt ihr euer Modpack Downlaoden
'hier bitte euer link/pfad zu eurem modpack/missionpbo file
client.DownloadFileAsync(New System.Uri("euer pfad zum modpack/Modpack.zip"), My.Application.Info.DirectoryPath & "\Modpack.zip")
AddHandler client.DownloadProgressChanged, AddressOf DownloadProgress
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'Fragt auf euren WEbspace die version ab und wenn es änderungen gab lädt er die neue version des Launcher runter
'Lässt euch wenn ihr änderungen am launcher habt eine neue version downlaoden
Dim iox As New IO.StreamReader(My.Application.Info.DirectoryPath & "\version.txt", System.Text.Encoding.Default)
Dim ot As String = iox.ReadToEnd
iox.Close()
If ot = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Launchertutorial", "version", "1.0") Then
MsgBox("Ihre version ist aktuell!")
Me.Hide()
Else
'Hier euer Link/Pfad zu eurem Launcher einfügen
client.DownloadFileAsync(New System.Uri("http://tutorial/tut/Launcher.zip"), My.Application.Info.DirectoryPath & "\Launcher.zip")
End If
End Sub
End Class
Alles anzeigen
Ich würd dir DA-FormMaker empfehlen.
da kannst du selber dein support ticket anfrage gestalten und diese kommen bei dir per email an
PS:
Kann man auch im Launcher einbauen
Bei meinem Launcher habe ich des so gemacht:
Wenn du auf Suchen klickst dann kannst du deinen Arma 3 Pfad in die Textbox hinzufügen.
wenn du auf speichern klickst dann speichert sich der Pfad in einer Textdatei
und sobald der Launcher startet holt der sich den Pfad direkt aus der Textdatei.
Arma 3 Suchen:
Dim FolderBrowser As New FolderBrowserDialog
FolderBrowser.Description = "Bitte wähle deinen Pfad zu Arma 3..."
FolderBrowser.ShowNewFolderButton = True
FolderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop
FolderBrowser.SelectedPath = My.Computer.FileSystem.SpecialDirectories.Desktop
If FolderBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.FlatTextBox1.Text = FolderBrowser.SelectedPath
End If
Speichern des Pfades und der Parameter:
My.Computer.FileSystem.WriteAllText("pfad.txt", FlatTextBox1.Text, False)
My.Computer.FileSystem.WriteAllText("para.txt", FlatTextBox2.Text, False)
Das auslesen der Pfad und Parameter Textdatei vom Laden des Launchers (Form1.Load)
Me.FlatTextBox1.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\pfad.txt")
Me.FlatTextBox2.Text = My.MyProject.Computer.FileSystem.ReadAllText(My.MyProject.Application.Info.DirectoryPath & "\para.txt")
und das starten von arma 3 läuft weiter über die arma3battleye.exe
Process.Start(Me.FlatTextBox1.Text & "\arma3battleye.exe ", " 0 1 -mod=@Mod1;@Mod2;@Mod3 -connect=DEINEIP " & FlatTextBox1.Text)
Ich hoffe ich konnte dir weiterhelfen.
Bei fragen kannst dich gerne melden
Ich nehme jede Hilfe dankend an