![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
Mam pytanie chce zacząć pisać grę internetową ale jest jedna rzecz która mnie męczy i bez której nie mogę zacząć każdy chyba grał w jakąś grę czy to plemiona czy ogame nie ma znaczenia w takich grach zawsze jest upgrade czy to lvl budynków czy postaci i ja nie wiem jak to się dzieje jak nie ma użytkownika zalogowanego a minie czas to automatycznie w bazie zachodzą zmiany... bo myślałem żeby zrobić że dodaje do czasu aktualnego czas ile ma trwać dany upgrade i później przy odświeżaniu strony porównuje aktualny czas z tym zapisanym w bazie i jak minie ten czas to robi upgrade ale do tego jest potrzebny użytkownik. Może to ktoś mi wyjaśnić może jest jakiś silnik na to... bo zainstalowałem sobie silnik Xnova(kopia ogame) ale mają ciężko kod strasznie do ogarnięcia
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 385 Pomógł: 26 Dołączył: 22.03.2008 Skąd: TM Ostrzeżenie: (0%) ![]() ![]() |
Automatycznie update bazy danych możesz robić np przez Cron'a (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Może chodzić cron, który odpala odpowiedni skrypt przeliczający dane, w tym dokonujący promocji na wyższy poziom. Rozwiązań jakie można zastosować jest wiele. Podstawa to dobry, grywalny pomysł na grę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A drugie to umiejętności programistyczne, dobry dobór narzędzi i technologii.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Ale crona można uruchomić raz na minutę, więc pozostaje opcja sleep, gdzie przy dużej ilości operacji w grze sie nie sprawdzi.
Bardziej obstawiam skrypt uruchomiony z linii komend i działający w nieskonczoność, gdzie na tym działaja tylko walki i budowle. Natomiast przeliczanie surowców to obstawiam na wywoływanie przeliczania przy takich operacjach jak rabowanie, odswiezenie strony przez wlasciciela konta itp. Ten post edytował wookieb 10.07.2009, 10:03:14 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Można by też nie wykorzystywać crona. Po wejściu na stronę następuje dopiero zapytanie czy data zakończenie budowy < aktualna data jeśli tak to update. Dla usera nie jest istotne to że w momencie gdy nie gra powinien mieć jakiś budynek na wyższym levelu.
Problem pojawia się dopiero gdy w zależności od levelu budynku, dostajemy jakąś kwotę surowca. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Surowce też można rozwiązać przy pogowaniu czy np grabieży więc to też nie problem, porównać czas w jakim powinno być o x większe wydobycie i dodać tyle ile trzeba. ;]
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
hmm w sumie cron to nawet dobry pomysł tylko coś mi cron nie chce działać na serwie bo napisałem dla innej strony skrypt i chciałem go odpalać co 5 minut wykonanie skryptu trwało od 5 do 120 sekund a gdy wykonywał to cron to było 0 sekund i wykonał tylko pierwszą operacje... nie wiem czy może include nie obsługuje
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Surowce też można rozwiązać przy pogowaniu ... Pogo, pogo, pogo ... (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) I 20 kryształów więcej. |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat nie wiem czy może include nie obsługuje Ałć, samochód nie umożliwia obracania się kół... Coś zepsułeś. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
wiem że z tym include to bez sensu powiedziałem ale już sam nie wiem ;p bo to dla mnie dziwne jest że wykonuje tylko pierwsze zapytanie do bazy
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Napisz to coś OD ZERA, tu nie ma co poprawiać, bo jest kompletny chaos.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
ShadowD mogę prosić abyś rozwinął swoją myśl?
Chyba wiesz o co mi chodzi, ale w gwoli ścisłości napisze jeszcze. User włącza upgrade budynku, który ma się zakończyć po 5h, wyłącza przeglądarkę, wchodzi za 10h. W momencie wejścia jest zwiększany poziom budynku, i należy dodać surowce za 5h po "starej cenie" oraz za 5h po nowej. W sumie nad tym się zastanawiam. Więc podsuń pomysł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
juz mam:
Cytat hmmm sorki że tutaj pisze ale za czołem testować crona bo jednak działa jakoś ale napotkałem kolejny problem: "Fatal error: Maximum execution time of 30 seconds exceeded in /home/aikon/domains/elaz.eu/public_html/wiadomosci/test.php on line 48" idzie to jakoś ominąć (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) czy trzeba zmienić w ustawieniach serwera śmialiście się ze mnie jak napisałem żę include nie obsługuje ale nie wiem czemu jak mam na początku skryptu include do pliku config gdzie jest zapisane łączenie sięz bazą danych to jak odpalę ręcznie skrypt to działa ładnie ale jak przez crona to nie działa ale usunąłem include i wkleiłem to z include do pliku to działa ;p może to kotoś wyjaśnić ja wywołuje plik w cronie w taki sposób: Kod /usr/local/php5/bin/php -q /home/aikon/domains/elaz.eu/public_html/x/x.php
Ten post edytował krzychu0808 10.07.2009, 16:52:34 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Masz plik w public_html, to nie komplikuj, tylko cronem wywołuj wget z odpowiednim URL-em.
Nie rób z igły wideł. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 11:46 |