Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PYTANIE] Sprawdzanie plików - następnie uruchamianie gry


Rekomendowane odpowiedzi

Opublikowano

EDIT @ POTRZEBUJĘ TERAZ POMOCY PRZY TYM SKRYPCIE

archiver.ExtractFiles(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & ".minecraft\")
 

 

pomożecie mi z tym kodem chce aby minecraft.zip wypakowalo do .minecraft oto cały kod:

  Public Shared Sub InstallPatch()
Try
            Dim lp As Integer = 0
            Form1.lblStats.Text = "Patch Install Status: Instalacja..."
            archiver = New ZipForge()
            ' The name of the ZIP file to unzip
            archiver.FileName = Application.StartupPath & "\minestrike.zip"
            ' Open an existing archive
            archiver.OpenArchive(System.IO.FileMode.Open)
            ' Default path for all operations                
            archiver.BaseDir = Application.StartupPath
            ' Extract all files from the archive to program root folder
            Do Until lp = 1
                lp = lp + 1
            Loop
            archiver.ExtractFiles(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & ".minecraft\")
            ' Close archive
            archiver.CloseArchive()
            Form1.lblStats.Text = "Patch Install Status: Instalacja przebiegła pomyślnie !"
            Process.Start("Launcher.exe")
            Form1.Close()
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: Błąd, przepraszamy napisz na forum"
        End Try
    End Sub
 
Opublikowano

Próbuję zrobić coś takiego aby sprawdzało plik w %appdata%/.minecraft/bin/minecraft1.jar - jeżeli nie będzie minecraft1.jar aby wyskoczyło msgbox("prawdopodobnie nie masz pobranej paczki serwera pobierz ją za pomocą przycisku")

jeżeli minecraft1.jar będzie na miejscu żaden komunikat nie wyskakiwał czyli msgbox(" ")

próbowałęm takim skryptem :

 

 

Try
              (Environment.SpecialFolder.ApplicationData), ".minecraft/bin/minecraft1.jar" Then

                    MsgBox("prawdopodobnie nie masz pobranej paczki serwera pobierz ją za pomocą przycisku")

                Else
                    
                End If
 

Jednak to nie działa :/ wszystko dodałem do form1 aby cały proces uruchomił się wraz z uruchomieniem launchera, pomoże ktoś bo mi jak widać nie wychodzi :(

Ma sprawdzać czy plik istnieje ?

 

My.computer.Filesystem.FileExist(Plik)

 

Opublikowano

Dzięki @UP teraz mam kolejne wyzwanie nieco trudniejsze chodzi o appdata edytowałem post zobaczcie sami !

Opublikowano

 

EDIT @ POTRZEBUJĘ TERAZ POMOCY PRZY TYM SKRYPCIE

archiver.ExtractFiles(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & ".minecraft\")
 

 

 

Dim appdata As String
appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
archiver.ExtractFiles(appdata & "\.minecraft")

Jeśli nie "\.minecraft" to "/.minecraft"

Bo sie juz pogubiłem.

Opublikowano
  Public Shared Sub InstallPatch()
        Try
            Dim lp As Integer = 0
            Form1.lblStats.Text = "Patch Install Status: Now Installing..."
            archiver = New ZipForge()
            ' The name of the ZIP file to unzip
            archiver.FileName = Application.StartupPath & "\minestrike.zip"
            ' Open an existing archive
            archiver.OpenArchive(System.IO.FileMode.Open)
            ' Default path for all operations                
            archiver.BaseDir = Application.StartupPath
            ' Extract all files from the archive to program root folder
            Do Until lp = 1
                lp = lp + 1
            Loop
            Dim appdata As String
            appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
            archiver.ExtractFiles(appdata & "\.minecraft")
            ' Close archive
            archiver.CloseArchive()
            Form1.lblStats.Text = "Patch Install Status: Instalacja zakończoła się powodzeniem !"
            Process.Start("Launcher.exe")
            Form1.Close()
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: Wystąpił błąd wejdź na forum"
        End Try
    End Sub

 

tak wygląda cały kod ale nadal nie działa :/ progres bar tylko przejedzie do końca i wyskoczy komunikat wystąpił błąd.. i tyle :(

Opublikowano

Dim zip As New ComponentAce.Compression.ZipForge.ZipForge

zip.FileName = "C:\plik.zip"

zip.OpenArchive(System.IO.FileMode.Open)

zip.BaseDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft"

zip.ExtractFiles()

zip.CloseArchive()

Opublikowano
 Public Shared Sub InstallPatch()
        Try
            Dim zip As New ComponentAce.Compression.ZipForge.ZipForge
            Dim lp As Integer = 0
            Form1.lblStats.Text = "Patch Install Status: Now Installing..."
            zip.FileName = "C:\plik.zip"
            zip.OpenArchive(System.IO.FileMode.Open)
            zip.BaseDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft"

            Do Until lp = 1
                lp = lp + 1
            Loop
            zip.ExtractFiles()
            zip.CloseArchive()
            Form1.lblStats.Text = "Patch Install Status: Installation Completed! Cronic is now ready to start!"
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: Installation Failed! "
        End Try
    End Sub

 

zrobiłem tak ale dalej nic nie ma w appdata\.minecraft czemuś tego pakować nie chce.

Opublikowano

 

 



 Public Shared Sub InstallPatch()
        Try
            Dim zip As New ComponentAce.Compression.ZipForge.ZipForge
            Dim lp As Integer = 0
            Form1.lblStats.Text = "Patch Install Status: Now Installing..."
            zip.FileName = "C:\plik.zip"
            zip.OpenArchive(System.IO.FileMode.Open)
            zip.BaseDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft"

            Do Until lp = 1
                lp = lp + 1
            Loop
            zip.ExtractFiles()
            zip.CloseArchive()
            Form1.lblStats.Text = "Patch Install Status: Installation Completed! Cronic is now ready to start!"
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: Installation Failed! "
        End Try
    End Sub

 
zrobiłem tak ale dalej nic nie ma w appdata\.minecraft czemuś tego pakować nie chce.

 

 

A masz C:\plik.zip?...

 

Poza tym po co Ci

Do Until lp = 1

lp = lp + 1

Loop

Opublikowano

A masz C:\plik.zip?...

 

Poza tym po co Ci

Do Until lp = 1

lp = lp + 1

Loop

Owszem mam C:\plik.zip

Ten skrypt mam z tuta tak wszystko śmigało kolesiowi ale on to wżucał do programfiles itp a nie do appdata.. potrzebuję pomocy jest mi to naprawdę potrzebne.

 

Opublikowano

Dziwna ta .dll użyj chllkata, sam nim wypakowywalem caly folder .minecraft .Nudzilo mi sie i sb zrobilem z tydzien temu wlasnego launchera i dziala swietnie!

Opublikowano

Hmm alebo zrobić np functions.vb i zrobić tam aby wyczyściło wpierw wszystko z .minecraft a potem niech pobiera do niego wszystko co potrzebne tylko roboty by było od cholery :/

działało by to na zasadzie pathera

Opublikowano

Hmm alebo zrobić np functions.vb i zrobić tam aby wyczyściło wpierw wszystko z .minecraft a potem niech pobiera do niego wszystko co potrzebne tylko roboty by było od cholery :/

działało by to na zasadzie pathera

Mało roboty :> mniej niż Ci się wydaje :)

Opublikowano
Public Shared Sub AutoUpdate2()
        httpclient = New WebClient
        Form1.lblStats.Text = "Patch Install Status: przygotowywanie..."

        'Sets the download location and where to save the patch.zip
        Dim directory As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), ".minecraft\bin\minecraft1.jar")
        Dim link As String = "http://xxx/paczka" & "/minecraft1.jar"

        'http://xxx/index.php
        'http://xxx.xx

        'Start downloading the patch setup
        Try
            Form1.lblStats.Text = "Patch Install Status: pobieranie patha..."
            httpclient.DownloadFileAsync(New Uri(link), directory)
            Do While httpclient.IsBusy
                Application.DoEvents()
            Loop
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: pobieranie zakończone"
        End Try
    End Sub

 

ten kod mi ma pobierać aktualizację czy da się go wykożystać np jeżeli dam:

 

Dim link As String = "http://xxx/paczka" & "/.minecraft/"
 

pobrało by mi w tedy całą zawartość tego folderu z ftp ?

Opublikowano

 

Public Shared Sub AutoUpdate2()
        httpclient = New WebClient
        Form1.lblStats.Text = "Patch Install Status: przygotowywanie..."

        'Sets the download location and where to save the patch.zip
        Dim directory As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), ".minecraft\bin\minecraft1.jar")
        Dim link As String = "http://xxx/paczka" & "/minecraft1.jar"

        'http://xxx/index.php
        'http://xxx.xx

        'Start downloading the patch setup
        Try
            Form1.lblStats.Text = "Patch Install Status: pobieranie patha..."
            httpclient.DownloadFileAsync(New Uri(link), directory)
            Do While httpclient.IsBusy
                Application.DoEvents()
            Loop
        Catch ex As Exception
            Form1.lblStats.Text = "Patch Install Status: pobieranie zakończone"
        End Try
    End Sub

 

ten kod mi ma pobierać aktualizację czy da się go wykożystać np jeżeli dam:

 

Dim link As String = "http://xxx/paczka" & "/.minecraft/"
 

pobrało by mi w tedy całą zawartość tego folderu z ftp ?

Nie pobierze tylko tylko jeden plik..

Źle napisałes to..

Lokalizacja na ftp

Dim link As String = "http://twojastrona.xaa.pl/akutalizacja/launcher.zip"

Lokalizacja na PC

Dim directory as string = C:\

[code]

Opublikowano

Straszny ten kod. Pobieranie zrób w innnym wątku, a co do ściągnięcia wszystkich plików, to zrób na serwerze identyczna strukturę jak w .minecraft i pętlą sprawdź wszystkie pliki przy okazji pobierając je.

  • 1 miesiąc temu...
Opublikowano

        If File.Exists("C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\bin\natives\OpenAL64.dll") = False Then

            File.AppendAllText("C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\files.txt", "jinput-dx8.dll" + Environment.NewLine + "jinput-dx8_64.dll" + Environment.NewLine + "jinput-raw.dll" + Environment.NewLine + "jinput-raw_64.dll" + Environment.NewLine + "lwjgl.dll" + Environment.NewLine + "lwjgl64.dll" + Environment.NewLine + "OpenAL32.dll" + Environment.NewLine + "OpenAL64.dll")

            Const url As String = "http://ang.obst.pl/files/natives/"

            Dim sr As New IO.StreamReader("C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\files.txt")
            Dim line As String = sr.ReadLine()

            Dim req As Net.WebRequest
            Dim resp As IO.Stream
            Dim out As IO.BinaryWriter

            Do While line IsNot Nothing
                req = Net.HttpWebRequest.Create(url & line)
                resp = req.GetResponse().GetResponseStream()

                out = New IO.BinaryWriter(New IO.FileStream("C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\bin\natives\" & line, IO.FileMode.OpenOrCreate))

                Dim buf(4096) As Byte
                Dim k As Int32 = resp.Read(buf, 0, 4096)

                Do While k > 0
                    out.Write(buf, 0, k)
                    k = resp.Read(buf, 0, 4096)
                Loop

                resp.Close()
                out.Close()

                line = sr.ReadLine()
            Loop

        End If

 

http://ang.obst.pl/files/natives/ Katalog na danej stronie, z ktorej program bedzie wyszukiwal pliki.

 

C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\files.txt Podaj lokalizacje pliku .txt w ktorym program bedzie szukal plikow, ktore ma pobrac z katalogu ze strony.

 

C:\Users\" & Environment.UserName & "\AppData\Roaming\.launcher\bin\natives\ Folder, do ktorego ma to wszystko wypakowac.

 

A oto zawartosc pliku files.txt :

 

jinput-dx8.dll
jinput-dx8_64.dll
jinput-raw.dll
jinput-raw_64.dll
lwjgl.dll
lwjgl64.dll
OpenAL32.dll
OpenAL64.dll

 

Czyli program szuka tych plikow w folderze na stronie i je pobiera.

 

Mysle, ze pomoglem i licze na + !

Mobilna Szkoła - https://m-szkola.pl/

  • 6 miesięcy temu...
Opublikowano

Up jak zrobić żeby w text box pokazywały się ile % już pobrano ? Że np jak jest

  1. jinput-raw.dll
    To wyświetla się 30% a jak
  2. OpenAL32.dll
    To 50% ?
PS.
Jak dam
out = New IO.BinaryWriter(New IO.FileStream(Launcher.LokalizacjaMC.Text & "\versions\natives\" & line, IO.FileMode.OpenOrCreate))
To mi wyświetla error że zła lokalizacja :(

371007.gif

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...