![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 2 Dołączył: 10.12.2011 Skąd: Stumilowy Las Ostrzeżenie: (0%) ![]() ![]() |
Witam. Pilnie potrzebuję licznik napisany w JS lub AJAX odliczający mi jakiś czas np 8 minut i 15 sekund. Po dojściu do zera zapytanie PHP dodające cyfry do bazy danych.
Mówiąc jaśniej, potrzebuję skrypt na grę, budowanie budynku, po wybudowaniu dodanie punktów. Bardzo dziękuję za każdy ułamek* kodu Pozdrawiam *proszę nie brać tego dosłownie ;P |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Głupota, głupota - masz wielki błąd zamysłowy, co powiesz na usera który wybuduje budynek i wyłączy przeglądarkę? Wchodząc ponownie ma znów zacząć go budować?
Takie rozwiązanie jest błędne, tworzysz tabelę w bazie "budowane" i gdy ktoś zacznie budować budynek zapisujesz do niej rekord z czasem w jakim budynek zostanie ukończony, cronem sprawdzasz co minutę czy czas aktualny jest równy z tym z bazy i jeśli tak dodajesz punkty. Jeśli chcesz licznik w js - pobierasz z tabeli "budowane" czas zakończenia i odliczasz od aktualnego. Najlepiej zapisywać czas typu time(), do obliczeń separatory - i +, zamiana na datę - date(), drugi argument. Jeśli chcesz bardziej profesjonalnie, tabela budujemy może mieć rekord "zbudowane", cron odświeża się co 1 min, a budynek może wybudować się w jej połowie więc user może mieć na liczniku 0, a cron odpali się za 30sec, w takim przypadku można ręcznie odświeżyć (po kliku od usera) jeśli czas ==0 dodajesz punkty i w tabele przy wpisie dodajesz zbudowane=1, do tego do crona potrzebujesz jeszcze jednego warunku by budynek nie skoczył o 2lvl do góry sprawdzający właśnie zbudowane=1. Cron może usuwać wpisy, ręczne odświeżanie też może usuwać zamiast dodawać =1. Opis działania masz, posługiwanie się if, time(), date() i proste polecenia mysql w sieci. ;-) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Głupota, głupota - masz wielki błąd zamysłowy, co powiesz na usera który wybuduje budynek i wyłączy przeglądarkę? Wchodząc ponownie ma znów zacząć go budować? Takie rozwiązanie jest błędne, tworzysz tabelę w bazie "budowane" i gdy ktoś zacznie budować budynek zapisujesz do niej rekord z czasem w jakim budynek zostanie ukończony, cronem sprawdzasz co minutę czy czas aktualny jest równy z tym z bazy i jeśli tak dodajesz punkty. Jeśli chcesz licznik w js - pobierasz z tabeli "budowane" czas zakończenia i odliczasz od aktualnego. Najlepiej zapisywać czas typu time(), do obliczeń separatory - i +, zamiana na datę - date(), drugi argument. Jeśli chcesz bardziej profesjonalnie, tabela budujemy może mieć rekord "zbudowane", cron odświeża się co 1 min, a budynek może wybudować się w jej połowie więc user może mieć na liczniku 0, a cron odpali się za 30sec, w takim przypadku można ręcznie odświeżyć (po kliku od usera) jeśli czas ==0 dodajesz punkty i w tabele przy wpisie dodajesz zbudowane=1, do tego do crona potrzebujesz jeszcze jednego warunku by budynek nie skoczył o 2lvl do góry sprawdzający właśnie zbudowane=1. Cron może usuwać wpisy, ręczne odświeżanie też może usuwać zamiast dodawać =1. Opis działania masz, posługiwanie się if, time(), date() i proste polecenia mysql w sieci. ;-) Po co tutaj crona wpychać. Można przecież zrobić to jeszcze łatwiej. Otóż tak jak napisałeś robi sobie tą tabelę budowane i przy ładowaniu strony te dane są pobierane, a JS odlicza czas do 0, gdy dojdzie do 0 po prostu odświeża przeglądarkę. Nawet jeżeli użytkownikowi komp zmuli to i tak nie wpłynie to na wynik budowy, bo czas zakończenia jest zapisany, a przy odświeżaniu strony można sprawdzać czy zakończona została budowa użytkownika o tym ID. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po co tutaj crona wpychać. Można przecież zrobić to jeszcze łatwiej. Otóż tak jak napisałeś robi sobie tą tabelę budowane i przy ładowaniu strony te dane są pobierane, a JS odlicza czas do 0, gdy dojdzie do 0 po prostu odświeża przeglądarkę. Nawet jeżeli użytkownikowi komp zmuli to i tak nie wpłynie to na wynik budowy, bo czas zakończenia jest zapisany, a przy odświeżaniu strony można sprawdzać czy zakończona została budowa użytkownika o tym ID. Ale budenk w grach on-line buduje się po to, aby mieć profit np. +10/h surowca. A tak to dostanę +10 dopiero jak się zaloguje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 22:54 |