Autor Zpráva
BuGeR
Profil
Zdravím.
Mám problém, vytvářím novou online hru, v ní každý uživatel má tzv. Energii která je uložena v DB.
Energie má rozmezí od 0% do 100%.
Chtěl bych, aby se energie doplnila o 1% každou 2 minutu. (za 4 minuty 2% energie atd.)
Nicméně můj hosting podporuje spouštění cronem pouze co 30 minut.
Chtěl bych, aby se každá náštěva uživatele uložila do DB a následně se po další aktulizaci spočítalo zda od té doby uběhlo 120 sekund, a pokud ano tak aby mu to přidalo těch 1% energie (pokud by uběhlo víc tak aby se přidalo víc energie, závisle na těch 2 minutach). Pokud máte jinačí řešení tak sem stím :).
Akorát mě nenapadá způsob jak toto napsat. Nemohl by mi někdo poradit/poslat kód?:)
Děkuji. S pozdravem BuGeR.
Budulinek
Profil
V podstatě sis odpověděl sám. Pokaždé, když budeš s daným uživatelem pracovat, můžeš zkontrolovat, jestli už uběhly 2 a více minut a připsat do DB požadovanou energii. Není potřeba CRON, protože pokud uživatel nebude online, nebo se nikdo nebude zabývat jeho profilem, je asi jedno, že má v DB uloženo míň energie. Pokud se přihlásí, či si někdo jeho profil rozklikne, energie se upraví a pak teprve zobrazí... Asi takhle bych to řešil já, představa, že mi každé dvě minuty CRON prolízá uživatele a upravuje záznamy by se mi ani za ák nelíbila
BuGeR
Profil
Ano já vím, ale nevím jak ten kód napsat..
Alphard
Profil
Proč bylo tohle vlákno zamknuté? Řešení zde není.

BuGeR:
Tak si spočítejte uplynulé sekundy, třeba MySQL :: MySQL 5.0 Reference Manual :: 11.6 Date and Time Functions.
Pak vynásobit konstantou a hned máte počet procent, které se mají přičíst. Stačí ošetřit, abyste nepřesáhl 100 %.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0