Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 12. 3. 2010, 12:55:53
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 |
#2 · Zasláno: 12. 3. 2010, 13:22:21
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 |
#3 · Zasláno: 12. 3. 2010, 13:23:50
Ano já vím, ale nevím jak ten kód napsat..
|
||
Alphard Profil |
#4 · Zasláno: 13. 3. 2010, 00:10:56
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 %. |
||
Časová prodleva: 14 let
|
0