Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Gra online - cogodzinna aktualizacja danych
Plikownik
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 19.01.2006

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


Witam

Zastanawiam się jak zrobić w grze online, aby np. co godzinę zwiększała się ilość złota? Czy wystarczy do tego sam php? Chodzi mi o takie coś co na Vallheru - gdzie zwiększa się energia gracza raz na jakiś czas.


--------------------
Windows XP | Telewizja, Radio
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


CRON
szczegoly na googlu


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Plikownik
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 19.01.2006

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


już gdzieś słyszałem, że trzeba użyć Corn -a, ale Vallheru chyba go nie używa - a nie można zrobić to w ten sposób, że tworzymy klasę obsługi sesji każdego użytkownika i po upływie np. 1 minuty nieruchomości użytkownika na stronie sesja wygasa, a w odpowiedniej tabeli zapisuje się data kiedy po raz ostatni był użytkownik na stronie, potem po zalogowaniu data jest porównywana z datą poprzedniego zalogowana , a odpowiednie dane (np. złoto) zostają odpowiednio uzupełnione na stronie.


--------------------
Windows XP | Telewizja, Radio
Go to the top of the page
+Quote Post
Jabol
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


możesz zrobić skrypt który robi jeden wielki update wszystkim przy każdym wejściu każdego użytkownika (tak jak z logowaniem na forum).
Go to the top of the page
+Quote Post
em1X
post
Post #5





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Ok, tyle, ze jak sie zarejestruje wiecej niz kilkanascie osob to sie zapcha serwer od takich wydajnych metód


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Jabol
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Czemu? Po prostu za każdym odnowieniem sesji:
  1. UPDATE .... WHERE lastupdate<(NOW()-1h);
Przy dobrym poindeksowaniu i oczywiściej dobrej bazie powinno iść szybciutko.

Możesz też zrobić tak, że update będzie spadał na przypadkowego użytkwnika:
  1. <?php
  2. //...
  3. if(czas_ostatniej_modyfikacji_pliku_semafora()<(teraz()-1h)){
  4. touch("plik_semafor");
  5. zrób_update();
  6. }
  7. //...
  8. ?>
Oczywiście będziesz musiał troszkę pokombinować z ciągami arytmetycznymi i geometryczynymi, bo update możę się dokonywać co godzine, może jednak też co 10h i na to trzeba uważać. Jest to jednak dobry sposób bo nie wymaga żadego rozwiązania po stronie serwera.

Ten post edytował Jabol 16.05.2006, 19:49:36
Go to the top of the page
+Quote Post
Kayne
post
Post #7





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 30.04.2006
Skąd: Kalisz

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


Vallheru używa Crona.
Wiem, bo sam używam Vallheru winksmiley.jpg


--------------------
Chcesz szybko i łatwo wygrać 100 zł?
Go to the top of the page
+Quote Post
Master Miko
post
Post #8





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


A wiecie jak jest to rozwiązane w grach o częstym odświerzaniu jak Ogame albo inne? Czy to jest np. co 10 sekund crone?


--------------------
Go to the top of the page
+Quote Post
Vogel
post
Post #9





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


rzeczy takie jak ogame robilbym raczej w CLI + DOBRZE przemyslane procedury w bazie.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 18:56