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

[TuT] Jak zrobić patcher


MaTvA

Rekomendowane odpowiedzi

Opublikowano

Poradnik: JAK ZROBIĆ PATCHER by MaTvA

 

 

 

Będziemy potrzebować

 

Notepad++ (DOWNLOAD | SKAN)

PatchBat (DOWNLOAD | SKAN)

 

 

Krok po kroku

 

1. Pobieramy to, co jest w Będziemy potrzebować.

2. Instalujemy Notepad++, wypakowujemy paczkę.

3. Edytujemy plik Patcher.bat za pomocą Notepad++.

4. W Notepad++ wchodzimy kolejno: Format >> Zestaw znaków >> Środkowoeuropejskie >> OEM 852.

5. Modyfikujemy kod do naszych potrzeb.

6. Zapisujemy i kompilujemy przez kompilator nasz plik Patcher.bat. (Więcej informacji w Kompliujemy)

7. Na serwer wgrywamy plik new.ini, którego zawartość, to wersja najnowszego programu. (np. 1.1.0.5)

8. Następnie wgrywamy nasze pliki, które będą się pobierać przez patcher.

9. Gotowe.

 

 

Kompliujemy

 

1. Otwieramy wcześniej pobrany kompliator.

2. W Batch file podajemy ścieżkę do edytowanego przez nas pliku Patcher.bat.

3. Klikamy w Compile.

4. Gotowe.

 

 

Wyjaśnienie kodu

 

@echo off

Ukrywa komendy, pokazuje tylko jej efekt. Polecam tutaj nic nie zmieniać.

 

title Patcher

Tytuł patchera.

 

echo Trwa sprawdzanie aktualizacji...

Informacja o sprawdzaniu aktualizacji.

 

wget.exe http://localhost/patcher/new.ini

Pobiera z serwera plik new.ini, który zawiera informacje o najnowszej wersji programu (np. 1.2.3.5)

 

if errorlevel 1 goto error0

Jeżeli błąd w w/w komendzie, to przenosi do error0.

 

fc new.ini ver.ini > nul

Porównywanie zawartości pliku new.ini i ver.ini.

 

if errorlevel 1 goto stara-wersja

Jeżeli zawartość pliku ver.ini różni się od tej z new.ini, to przenosi do stara-wersja.

 

:najnowsza-wersja

Etykieta.

 

cls

Czyści ekran.

 

echo Posiadasz najnowszą wersję.

Informacja o posiadaniu najnowszej wersji.

 

erase new.ini

Usuwanie pliku new.ini

 

pause > nul

Pauza bez komunikatu.

 

goto koniec

Przejście do koniec

 

:stara-wersja

Etykieta

 

cls

Czyści ekran.

 

erase plik.zip

Usuwa plik.zip (nasz program).

 

wget.exe http://localhost/patcher/plik.zip

Pobiera plik z serwera na dysk.

 

if errorlevel 1 goto error1

Jeżeli błąd, to przenosi do error1

 

erase ver.ini

Usuwa plik vew.ini

 

ren new.ini ver.ini

Zmienia nazwę new.ini na ver.ini

 

cls

Czyści ekran.

 

echo Aktualizacja została zakończona.

Informacja o zakończeniu aktualizacji.

 

cls

Czyści ekran

 

echo Aktualizacja została zakończona.

Informacja o zakończeniu aktualizacji.

 

echo Czy chcesz włączyć program?

Pytanie, czy włączyć program.

 

echo [T] Tak

...

 

echo [N] Nie

...

 

set /p "zak= >

Rozpoczęcie komendy /set - inaczej menu.

 

if %zak%==T goto otworz

Po kliknięciu T przeniesie do otworz.

 

if %zak%==N goto koniec

Po kliknięciu N przeniesie do koniec.

 

if %zak%==t goto otworz

Po kliknięciu t przeniesie do otworz.

 

if %zak%==n goto koniec

Po kliknięciu n przeniesie do koniec.

 

:otworz

Etykieta

 

start plik.zip

Włącza plik.zip

 

goto koniec

Przenosi do koniec.

 

:error0

Etykieta.

 

cls

Czyści ekran.

 

echo Wystąpił błąd podczas sprawdzania aktualizacji.

Informacja o błędzie.

 

pause > nul

Pauza bez komunikatu.

 

goto koniec

Przenosi do koniec.

 

:error1

Etykieta.

 

cls

Czyści ekran.

 

echo Nie można połączyć się z serwerem aktualizacji.

Informacja o błędzie.

 

pause > nul

Pauza bez komunikatu.

 

goto koniec

Przenosi do koniec.

 

:koniec

Etykieta.

 

exit

Koniec programu.

 

 

 

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

Wszelkie problemy, pytania i sugestie zgłaszać w tym temacie.

Zakaz kopiowania bez mojej zgody!


897771404427433574016.png

Opublikowano

sprawdź w słowniku słowo KOMPLIKOWAĆ i KOMPILOWAĆ i popraw jak należy ten skomplikowany tutorial

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Słabiutki bo w Notepad, wes lepiej w c++ zrob a nie w jakimś gównie.

Jak to napisał mjut, jest post, w którym nie robisz z siebie idioty?

Opublikowano

Słabiutki bo w Notepad, wes lepiej w c++ zrob a nie w jakimś gównie.

Słabiutki to ty jesteś - napisz lepszy poradnik, a nie hejtujesz innych.

//gif w sygnie

Opublikowano
Słabiutki bo w Notepad, wes lepiej w c++ zrob a nie w jakimś gównie.

Największym gównem jesteś ty :)

Z C++ umiem tylko podstawy, więc moje tuty były by na niższym poziomie niż kurs.

 

Poza tym Notepad to też program... kiedyś korzystałem z płatnego edytora, ale niestety koniec licencji i wtedy się przerzuciłem na Notepada i w tedy dopiero zauważyłem, że darmowy miał te same funkcje co płatny.


897771404427433574016.png

Opublikowano

@KalneR

 

To się nazywa batch, dziecko słońca.

 

'hobby'

  • c++ (Uczę się)

 

 

Jak się, uczysz (i tak wiem ,że hello'world'a nie zrobiłbyś) to przepisz to dla nas koderze. I myślisz ,że jak cpp jest urzywane przez hakeruff i pro skrypteruff to wszystko inne co nie jest w nim napisane to guffno? Ledwo z podstawówki wyszedł, podbus, a już pyskuje...

 

@Top

 

 

Co do tematu - 'ta' kompilacja gówno daje bo decrypt tego stolca to 5 minut. Mam taką sugestię: pokoloruj kod kolorem i zrób legendę bo tyle jest tych komentarzy ,że boli. Fajnie, fajnie tylko szkoda ,że bez GUI... no co tu się dziwić ;P. Kod przydatny, tylko ,że co jak ktoś nie będzie długo apdejtował i potem włączy? Nie pobierze mu się to wcześniejsze. Poza tym - nie ma opcji selfapdejt więc lipa jakby się chciało coś zmienić w patcher'ze. Reasumując: przyda się na serwy hamachi ;)

Opublikowano

"Słabiutki bo w Notepad, wes lepiej w c++ zrob a nie w jakimś gównie"

 

 

 

Zdanie nielogiczne , przecież można pisać kod C++ w notepad.

 

Nie jest tajemnicą, że KalneR to nasz forumowy programistyczny impotent. No ale masz 10 postów, mogłeś nie wiedzieć :D

mjut.png
Opublikowano
linki nie działają

Spakowalem kompiator i pack do 1 pliku - linki poprawione :)

 

Co do tematu - 'ta' kompilacja gówno daje bo decrypt tego stolca to 5 minut.

Ale zawsze lepiej jest mieć plik wykonywalny niż .bat, bynajmniej moim zdaniem.

 

Mam taką sugestię: pokoloruj kod kolorem i zrób legendę bo tyle jest tych komentarzy ,że boli.

Zrobiłem nowe komentarze komend, tym razem czytelniejsze.

 

Fajnie, fajnie tylko szkoda ,że bez GUI..

No cóż... patcher ma działać, a nie wyglądać :P

 

Poza tym - nie ma opcji selfapdejt więc lipa jakby się chciało coś zmienić w patcher'ze.

Kiedyś ktoś mądry powiedział, że najprostsze sposoby są najlepsze. Można patcher otwierać za pomocą np. start.exe :P

@echo off
title Patcher
erase patcher.exe
wget.exe http://localhost/patcher/patcher.exe
start patcher.exe
exit

 

PS: Wszelkie propozycje dot. patchera śmiało pisać tutaj :)


897771404427433574016.png

Opublikowano

Poradnik został zaktualizowany.

Przede wszystkim poprawiłem wszelkie błędy ortograficzne, ale i dodałem nową paczkę.

W paczcie znajdziecie: Kompliator, Pliki patchera, README i Wyjasnienie kodu. :)


897771404427433574016.png

  • 3 lata później...
Opublikowano

Szybki, prosty i dobry poradnik. :) Łap +sa. :)

 

P.S. Popraw ten błąd:

 

Kompliujemy

 

na

 

Kompilujemy

 

Edit:

 

Wait.. Dopiero teraz zczaiłem się jaki ten poradnik jest stary. :P

Koleś wyżej odświeżył, a ja nie patrzyłem na daty, myślałem, że jest świeży. Nevermind. :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...