el.zwierzakko Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Witam wszystkich jako że jestem tutaj nowy ;] Mam problem z kodem: if (item==5) { game_end(); } //old code: if (item==5) room_goto(close); Gra teoretycznie się wyłącza ale jej proces już nie. Nadal działa on w tle. Co widać po wciśnięciu CAD w okienku procesy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Slash (Pental) Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Nie jestem pewien, czy to kwestia tego, ale przy okazji zapodam ciekawostkę, którą odkryłem: Kod znajdujący się po funkcji game_end(), rzekomo kończącej grę, wykonywany jest przed zakończeniem gry. Różne dziwactwa przez to wychodzą. Po funkcji game_end zaleca dopisywania się instrukcji "exit;". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 dlla jakiegos uzywasz? dajmy na to zwlaszcza takiego od dzwiekow? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
el.zwierzakko Opublikowano 2 Stycznia 2010 Autor Udostępnij Opublikowano 2 Stycznia 2010 Nie jestem pewien, czy to kwestia tego, ale przy okazji zapodam ciekawostkę, którą odkryłem: Kod znajdujący się po funkcji game_end(), rzekomo kończącej grę, wykonywany jest przed zakończeniem gry. Różne dziwactwa przez to wychodzą. Po funkcji game_end zaleca dopisywania się instrukcji "exit;". Dzięki za szybką odpowiedź. Niestety dodanie tej instrukcji nie rozwiązało problemu. :crying: dlla jakiegos uzywasz? dajmy na to zwlaszcza takiego od dzwiekow? Tak "audiow32.dll". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 To po game_end() dodaj kod który zamknie dll i jego procesy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Nie zwalniasz go po wyłączeniu gry? E:bluks szybszy bo zamknąłem kartę przypadkowo :3 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Raczej nie, bo jest oddzielny od gry (co się przydaje, czasem). Ale jeżeli się mylę poprawcie mnie. A tego nie napisał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
el.zwierzakko Opublikowano 2 Stycznia 2010 Autor Udostępnij Opublikowano 2 Stycznia 2010 zapisałem to tak: BP_StopModule() BP_CloseAudioSystem() game_end() exit; Nadal to samo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 dodaj show_message() przed tym co masz do sprawdzenia czy na pewno ten kod sie wykonuje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
el.zwierzakko Opublikowano 2 Stycznia 2010 Autor Udostępnij Opublikowano 2 Stycznia 2010 Tak. Wiadomość wyświetla się jak należy. Jest jeszcze jakaś metoda na zakończenie pracy dlla?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Musisz usunąć/zwolnić wszystkie utwory z pamięci zanim zamkniesz grę, ja ten sam problem miałem w XeAudiere i dałem automatyczne usuwanie ich przy zwolnieniu dlla i pomogło, Ty też zwalniaj wszystkie utwory przed zwolnieniem dlla Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
el.zwierzakko Opublikowano 2 Stycznia 2010 Autor Udostępnij Opublikowano 2 Stycznia 2010 A jak to zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 nie znam Twojego dlla więc nie wime jakie są funkcje od usuwania muzyki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
el.zwierzakko Opublikowano 2 Stycznia 2010 Autor Udostępnij Opublikowano 2 Stycznia 2010 Ok. Dzięki wszystkim za pomoc. Pogrzebie jeszcze ;] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Easeful Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Zrób w folderze z grą plik game_end.bat, a w nim: taskkill /f /im twojagra.exe I potem zamiast game_end() dawaj execute_shell("game_end.bat",0); :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 nie polecam robic tego co kolega wyzej napisal Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Slash (Pental) Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 To uzasadnij YXE, bo mi się to wydaje ciekawym rozwiązaniem :) . W Almorze chyba był taki trick :P . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 gra powinna zakonczyc wszystkie swoje procesy zanim zakonczy sie sama gra, w GM nie bez powodu zastosowany jest ten sposob z opoznieniem, bo gra konczy wtedy wszystkie eventy oraz wywoluje te ktore koncza rooma i gre i wszystko sie cacy ladnie zamyka. a jesli ubijesz proces to co z tego ze zakonczysz gre szybciej, gra moze Ci sypnac czyms nieoczekiwanym w pesymistycznym przypadku. pamiec i tak zwolni system za Ciebie, ale karta dzwiekowa/graficzna to delikatne elementy, i nie zakanczanie aktywnych trybow pracy jak nalezy moze naszkodzic, a tego nie chcemy, nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Stycznia 2010 Administratorzy Udostępnij Opublikowano 2 Stycznia 2010 To uzasadnij YXE, bo mi się to wydaje ciekawym rozwiązaniem :) . W Almorze chyba był taki trick :P . Ja nic nie wiem na ten temat. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Slash (Pental) Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Czyli kolejny dowód na to, że Mark Overmars ostro uprościł GMa i omijanie tych ułatwień czy pisanie na nowo mija się kompletnie z celem :P ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 akurat to byla jedna z jego najlepszych decyzji Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Slash (Pental) Opublikowano 2 Stycznia 2010 Udostępnij Opublikowano 2 Stycznia 2010 Ok, ok, nie do końca zrozumiałem. A w przypadku, gdy w grze multiplayer wyłącza się serwer, to czy GM zaczeka, aż zostaną wysłane odpowiednie sockety, czy raczej nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
4tk Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 nie czytałem całego tematu, ale musisz też zakończyć działanie dllki GML dllfree() //Zwalniamy z pamieci DLL game_end() exit; Możliwe że ten dll ma inne funkcje ale spróbować warto Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Easeful Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 dllfree() to z 39dll chyba a poza tym już wyżej pisali że trzeba zwolnić dll, ale nie pomogło i tak. więc czytaj cały temat a potem odpowiadaj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 Bo na pewno dllka przy konczeniu pracy nie zwalnia sama swoich zasobow, a powinna, inaczej chlopak sam musi je recznie zwalniac - to tyle na temat jego problemu 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ę