![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 4 Dołączył: 16.02.2007 Skąd: Leszno Ostrzeżenie: (20%) ![]() ![]() |
Witam,
mam do was pytanie. Zastanawiam się jak i w czym można wykonać coś na styl wykonywania zadań jak np na plemionach lub innych takich gier? Że jak użytkownik wchodzi to widzi ile zostało do końca, a jeśli go nie ma zalogowanego to system sam wykonuje odpowiedni skrypt który miał się wykonać? Zastanawiam się już od dłuższego czasu... -------------------- "This isn't Miami..., This isn't Music! This is power!!"
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
może cron ?
-------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dupcię trzeba czasem ruszyć. ignore_user_abort(true);
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 4 Dołączył: 16.02.2007 Skąd: Leszno Ostrzeżenie: (20%) ![]() ![]() |
Dupcię trzeba czasem ruszyć. ignore_user_abort(true); a mogę prosić o więcej informacji na ten temat? bo google coś ma ich mało :/ Może jakiś przykład, jak to stosować? -------------------- "This isn't Miami..., This isn't Music! This is power!!"
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tam masz ajax + cron ;d
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 8 Dołączył: 20.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, jak te gry są zaimplementowane, ale ja bym obstawiał, że na serwerze jest stale (nie wywoływana cronem) uruchomiona aplikacja (serwer), która przetwarza logikę gry. Ty wchodząc na stronę pobierasz bieżący stan "świata" gry, wysyłasz pewne polecenia, które następnie są przetwarzane przez tą aplikację.
Przykład: - uruchamiasz aplikację php (niekoniecznie przez apacha), która się nie kończy (serwer gry). Aplikacja w pętli przetwaraz logikę świata gry. - użytkownik loguje się, na serwerze wykonuje się skrypt php który z serwera gry pobiera aktualny stan świata i przedstawia go użytkownikowi - użytkownik klika polecenie budowy budynku, do serwera gry zostaje przekazana informacja, że budynek ma być wybudowany - serwer gry zmniejsza co sekundę pozostały czas potrzebny do wybudowania budynku - użytkownik po 15 minutach odświeża stronę i widzi, że do wybudowania budynku zostało jeszcze np 10 dni (z 20) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 4 Dołączył: 16.02.2007 Skąd: Leszno Ostrzeżenie: (20%) ![]() ![]() |
w manualu masz 2 przyklady http://us2.php.net/manual/en/function.ignore-user-abort.php w tym rozwiazaniu musisz jakos zawiadomic dzialajacy w tle skrypt ze ma wykonac abort inaczej bedzie dziala nonstop, jest opis w przykladzie manualu kilka dni temu bylo na forum o innej metodzie respawning czyli wywolanie skryptu przez samego siebie na lokalu tuz przed timeout, wykorzystuje to np system mailingowy pommo, wydawalo mi sie ze wykorzystywane do tego jest fsockopen aczkolwiek erix mial co do tego zastrzezenia, odsylam do tamtej klasy, podalem namiary w tamtym poscie hmm... jest w tym coś. Dosyć ciekawy pomysł. Nie wiem, jak te gry są zaimplementowane, ale ja bym obstawiał, że na serwerze jest stale (nie wywoływana cronem) uruchomiona aplikacja (serwer), która przetwarza logikę gry. Ty wchodząc na stronę pobierasz bieżący stan "świata" gry, wysyłasz pewne polecenia, które następnie są przetwarzane przez tą aplikację. Przykład: - uruchamiasz aplikację php (niekoniecznie przez apacha), która się nie kończy (serwer gry). Aplikacja w pętli przetwaraz logikę świata gry. - użytkownik loguje się, na serwerze wykonuje się skrypt php który z serwera gry pobiera aktualny stan świata i przedstawia go użytkownikowi - użytkownik klika polecenie budowy budynku, do serwera gry zostaje przekazana informacja, że budynek ma być wybudowany - serwer gry zmniejsza co sekundę pozostały czas potrzebny do wybudowania budynku - użytkownik po 15 minutach odświeża stronę i widzi, że do wybudowania budynku zostało jeszcze np 10 dni (z 20) interesujące i zarazem sprytne. Ale czy takie zastosowanie nie obciąży serwera? co do sposobu guitarnet.pl zastanawiam się jak zatrzymać wykonywanie, czy wystarczy break w pętli? @edit; Pobawiłem się i zrobiłem coś takiego: Plik 1:
i plik 2 (test.php):
Jak widać GET'em wysyłam do skryptu o której godzinie ma być koniec. Ale niestety skrypt działa dalej mimo tego że jest już ma być koniec :/ -------------------- "This isn't Miami..., This isn't Music! This is power!!"
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 8 Dołączył: 20.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zmienił warunek:
if($koniec == date("h:m:s")) na if($koniec <= date("h:m:s")) Przecież niekoniecznie musisz "wstrzelić" się w odpowiedni czas zakończenia. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:35 |