Piotrek1910 Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Jak zrobić prosty auto-update? Co potrzebujemy?: Game Maker 8 lub nowszy, Bibliotekę dll Httpdownloader.dll, I trochę cierpliwość. 1.Tworzymy nowy gmk lub gm81 i zapisujemy do jakiegoś folderu. Do tego folderu wrzucamy bibliotekę dll Httpdownloader.dll 2.Do naszego pliku (gmk,gm81) dajemy skrypt z Httpdownloader. Zapisujemy i wrzucamy do naszego auto-update. 3.Teraz robimy plik .ini np. config.ini Wpisujemy do niego np. coś takiego: [Update] wersja=0,1 (możemy dać coś innego np. 1,0 lub coś innego. 3.Następnie piszemy jakiś prosty skrypt którym będzie w pliku update.dll(może być np. .txt lub .dat lub co chcesz.) Mój wygląda tak: GML ini_open( 'config.ini' ) wersja1 = ini_read_real( 'Upadate', 'wersja', '0.1' ); //Sprawdza czy w pliku config.ini jest 0,1 lub 0,2 wersja2 = ini_read_real( 'Upadate', 'wersja', '0.2' ); if ( wersja1=0.1 ) //jeżeli jest to ta funkcja wykonuje co tylko chcesz. { download_to_file("http://www.uploduj.ugu.pl/upload/ciota.exe","ciota.exe"); //pobiera naszą nową //wersje. Ten plik co pobierze może być jakąś instalką. Niestety upload gmc nie obsluguje .exe ini_write_real('Upadate', 'wersja', 0.2); //zmienia wartość wersji na 0,2. game_end()//wyłancza grę execute_program('ciota.exe',1,false)//jest to opcja która uruchamia // //naszego instalatora gry. //Uwaga to jest opcja w której aktualizuje naszą gre na nową wersje jeżeli jej nie ma dajemy exit; lub //zostawiamy puste. }else { if ( wersja2=0.2 ) { file_delete('ciota.exe') //Jeżeli już się uruchomi nasza gra ponownie usuwa zbędny plik. } } ini_close(); Można dać też tak: GML ini_open( 'config.ini' ) wersja1 = ini_read_real( 'Upadate', 'wersja', '0.1' ); //Sprawdza czy w pliku config.ini jest 0,1 lub 0,2 wersja2 = ini_read_real( 'Upadate', 'wersja', '0.2' ); if ( wersja1=0.1 ) { if show_question('Dostępna jest nowa wersja pobrac teraz?') == true { download_to_file("http://www.uploduj.ugu.pl/upload/ciota.exe","ciota.exe"); ini_write_real('Upadate', 'wersja', 0.2); game_end() execute_program('ciota.exe',1,false) } else { exit; } }else { if ( wersja1=0.2 ) { file_delete('ciota.exe') //Jeżeli już się uruchomi nasza gra ponownie usuwa zbędny plik. } } ini_close(); W tedy gra będzie się pytała czy zaktualizować. Teraz zapisujemy to do pliku update.(co tam chcesz) i wrzucamy go gdzieś gdzie możemy go bieżąco edytować. Najlepiej jak jest to wasza strona. 4.Tworzymy jakiś nowy obiekt i w create dajemy: GMLdownload_to_file("http://www.uploduj.ugu.pl/update.dll ","update.dll");//pobiera go execute_file('update.dll'); //czyta jego zawartość jako skrypt Gotowe ale niestety trwa to jakieś 1 sek jak ktoś chce może to ładnie zrobić jak ktoś chce może to zostawić. A więc działa to teraz tak: Wszystko jest ok. kiedy powstaje jakaś nowa wersja wchodzisz w update.dll i zmieniasz . I gra załatwia resztę. Przykład:Download Mam nadzieje że nie popełniłem błędu w kodzie i mam nadzieje że się przydało :) . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
FanXX Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Jesteś pro na pewno skorzystam :)))) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Gdyby nie to że zapomniałeś o sprawdzaniu wersji dałbym 5, a tak to max 2 mogę ci postawić. I w ogóle nawet z ini nie potrafisz kożystać.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Gdyby nie to że zapomniałeś o sprawdzaniu wersji dałbym 5, a tak to max 2 mogę ci postawić. Jeszcze nie obcykałem sprawdzanie czy jest jakaś nowa wersja. A tak w ogóle to ma być prosty auto-update. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Ale co to za auto- update który za każdym razem pobiera exe. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Ale co to za auto- update który za każdym razem pobiera exe. Jak za każdym razem? Przecież pobierze jak będzie i w tedy zmienia na 0.2 i już nie pobierze następnym razem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Takich plików nie zapisuje się jako dll. Lepiej jako INI. @EDIT Właśnie, co to wgl ma być? GML wersja1 = ini_read_real( 'Upadate', 'wersja', '0.1' ); //Sprawdza czy w pliku config.ini jest 0,1 lub 0,2 wersja2 = ini_read_real( 'Upadate', 'wersja', '0.2' ); Kiedy do Ciebie dotrze, że 3 argument to jest DOMYŚLNA wartość. Czyli kiedy w INI nie ma Update/wersja to zwraca to. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Takich plików nie zapisuje się jako dll. Lepiej jako INI. No to sobie zapiszesz jak będziesz chciał, mi się podoba dll i kropka. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Ale i tak trzeba ręcznie wpisywać wersję lol. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Ale i tak trzeba ręcznie wpisywać wersję lol. No akurat z tym sobie nie potrawie poradzić trzeba ręcznie wpisać pół skryptu przynajmniej wartość wersja się sama zmienia :). @Edit: A może ty zrobisz kiedyś pro poradnik jak zrobić auto-update :D ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 A nie lepiej, aby gra pobierała najpierw plik w którym znajduje się aktualna wersja i URL do niego? [Update] ver=0.2 url=http://www.uploduj.ugu.pl/upload/ciota.exe A potem w grze sprawdzało czy ma taką wersje, a nie nowszą IFem? GML if wersja>mojawersja { //... } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 Jedyne co tu jest to wykożystanie czyjegoś dll'a do pobrania plliku, już bardziej by się opłacało okienko czy chcesz pobrać program. A wersję możesz sprawdzać na dwa sposoby: pobierać plik ini z wersją, lub najlepiej pobierać aktualną wersję z strony. Edit: A może ty zrobisz kiedyś pro poradnik jak zrobić auto-update ?? Jak będe mieł czas to oczywiście, w tym tygodniu powinnem się wyrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Ludzie dajcie mi spokój nie jestem pro. I nie znam się tak dobrze na gml. Zrobiłem po swojemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Maja 2012 Administratorzy Udostępnij Opublikowano 1 Maja 2012 Więc nie nazywaj tutorialem czegoś, o czym nie masz pojęcia... a jak już czegoś chcesz się uczyć, to ortografii. Nie ma słowa "wyłancza". Nie wiem jak wymawiasz to słowo, ale ja nawet w wymowie słyszę wyraźnie WyłĄcza. Nawet nie "on" a już tym bardziej nie "an". Wiedz również, że nie jesteś przez to bardziej pro, sty, trendy ani jazzy, gdy użyjesz słowa "ciota". To jest żałosna próba zwrócenia na siebie uwagi "patrzcie jaki jestem fajny, znam brzydkie słowo i mogę go użyć bo mama nie widzi". Pewnie nawet nie wiesz co ono znaczy. A przykład to nie jest auto-update, tylko pobranie pliku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Więc nie nazywaj tutorialem czegoś, o czym nie masz pojęcia... a jak już czegoś chcesz się uczyć, to ortografii. Nie ma słowa "wyłancza". Nie wiem jak wymawiasz to słowo, ale ja nawet w wymowie słyszę wyraźnie WyłĄcza. Nawet nie "on" a już tym bardziej nie "an". Wiedz również, że nie jesteś przez to bardziej pro, ######sty, trendy ani jazzy, gdy użyjesz słowa "ciota". To jest żałosna próba zwrócenia na siebie uwagi "patrzcie jaki jestem fajny, znam brzydkie słowo i mogę go użyć bo mama nie widzi". Pewnie nawet nie wiesz co ono znaczy. A przykład to nie jest auto-update, tylko pobranie pliku. Hmm, no cóż nie wiem co ci powiedzieć: Po pierwsze mam trochę pojęcia bo napisałem to. Po drugie to słowo "ciota" zrobiłem sobie tak dla hecy nie po to by być kool czy tam coś innego bo i tak nikt mnie nie lubi na tym forum. Po trzecie nie wiem co to znaczy :D. A tak w ogóle to po co się rejestrowałem na tym forum jeżeli każdy i tak mnie obraża, poniża, wyzywa. To ja z dobrej chęci wstawiam mały tutorialek a wy tak mnie traktujecie :D. Myślałem, że chociaż ty gnysek mi nic obrażającego nie powiesz. Już dajcie mi tego bana jak tak bardzo chcecie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Maja 2012 Administratorzy Udostępnij Opublikowano 1 Maja 2012 Sobie zadaj pytanie po co. Skoro nie jesteś pewien swojego rozwiązania i wiesz, że dało by się lepiej to się nim nie dziel. Co innego jakbyś zapytał, jak to ulepszyć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 No dobra to może macie jakieś fajne pomysły które udoskonalą mój projekt?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Sobie zadaj pytanie po co. Skoro nie jesteś pewien swojego rozwiązania i wiesz, że dało by się lepiej to się nim nie dziel. Co innego jakbyś zapytał, jak to ulepszyć. A tak w ogóle to jest max moich możliwości, no prawie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 1 Maja 2012 Administratorzy Udostępnij Opublikowano 1 Maja 2012 Dziś. Ja 9 lat temu nie potrafiłem zrobić w GM nic, a dziś pracuję w YYG. Dobrze, że próbujesz, ale nie wszystko od razu trzeba nazywać "przykładem/kursem". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piotrek1910 Opublikowano 1 Maja 2012 Autor Udostępnij Opublikowano 1 Maja 2012 Dziś. Ja 9 lat temu nie potrafiłem zrobić w GM nic, a dziś pracuję w YYG. Dobrze, że próbujesz, ale nie wszystko od razu trzeba nazywać "przykładem/kursem". No dobra ale to jest taki przykład lub kurs dla początkujących :). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jack D. Opublikowano 1 Maja 2012 Udostępnij Opublikowano 1 Maja 2012 No dobra ale to jest taki przykład lub kurs dla początkujących :). Kursy dla początkujących, powinny być robione przez minimum średnio zaawansowanych, a ty do nich raczej nie należysz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się