Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Floty i wojska - czasowe odliczanie
Forum PHP.pl > Forum > Bazy danych > MySQL
empuszek
Jak najprościej zrobić system, który by przechowywał informacje o czasie lotu floty lub wojska jak to jest np. w Ogame czy Plemiona. Zwracam sie tutaj do doświadczonych programistów.

THX
Firez
Nie jestem jeszcze specjalnie doświadczony ale interesowałem się kiedyś tą tematyką.

IMHO powinno się stworzyć tabelę z czterema kolumnami:
-id
-czas wydarzenia [zapisany w czasie unix]
-typ wydarzenia [atak, transport]
-argumenty 'wydarzenia' - oddzielone w jakiś sposób np. znakami | lub _, może da się tutaj także użyć funkcji serialize [ale nie jestem pewien, nie zgłębiałem się w jej działanie]


Przy każdym odświeżeniu strony przez gracza lub przy każdym uruchomieniu skryptu przez Cron należy sprawdzić czy są jakieś wydarzenia oczekujące na wykonanie - tzn. czas wydarzenia jest mniejszy od aktualnego czasu. Jeśli tak pobieramy typ wydarzenia oraz argumenty i przekazujemy je do odpowiedniej funkcji która obsłuży zadanie.

Np.
Typ wydarzenia: transport
Argumenty: Marek_Marta_100

Argumenty odzielamy od siebie uzywajac funkcji explode i zapisujemy w formie tablicy. Nastepnie przekazujemy te dane do odpowiedniej funkcji transport($tablica) ktora zadba o dodanie 100 sztuk złota dla Marty i wysłanie informacji o pomyślnym transporcie dla obu graczy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.