Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Gry internetowe - pytanko
krzychu0808
post
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
kajzur
post
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)
Go to the top of the page
+Quote Post
Riklaunim
post
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.
Go to the top of the page
+Quote Post
wookieb
post
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
Go to the top of the page
+Quote Post
#luq
post
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.
Go to the top of the page
+Quote Post
ShadowD
post
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. ;]
Go to the top of the page
+Quote Post
krzychu0808
post
Post #7





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(ShadowD @ 10.07.2009, 13:04:49 ) *
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.
Go to the top of the page
+Quote Post
erix
post
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)
Go to the top of the page
+Quote Post
krzychu0808
post
Post #10





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
erix
post
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.
Go to the top of the page
+Quote Post
#luq
post
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)
Go to the top of the page
+Quote Post
krzychu0808
post
Post #13





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


juz mam:
  1. <?php
  2. ?>

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
Go to the top of the page
+Quote Post
erix
post
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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 11:46