Autor Zpráva
HawkSVK
Profil
Dobrý den,
snažím sa vytvoriť niejakú online hru (len tak pre zábavu a zlepšiť svoje programátorske schopnosti) a mám taky problém,mám niejaku premennú (napr.úroven štadiona) a chcem : po kliknutí na tlačidlo sa odráta cena vylepšenia od aktuálnej hotovosti penazí a nová hotovost sa zapíše do databázy a začne sa niejake odratávanie (napr. 1 hodina) a ked prejde ta hodina ,tak sa úroven štadiona zväčší o 1 a zapíše sa nová úroven štadiona do databázy.Je niečo také možné?:) Viem to urobiť bez odratávania ,že ked kliknem na tlačidlo tak sa odráta cena ,zvýši úroven a zapíše sa to do databázy.Mohol by mi niekto pomôct? Chcem vlastne vedieť niejaký skript (v php),v ktorom ked prejde určený čas tak sa vykoná príkaz.
Ďakujem za odpoveď.
Keeehi
Profil
HawkSVK:
Ono by se to mělo řešit asi jinak.
Při kliknutí se do databáze uloží čas, kdy se má té stavbě zvýšit úroveň. Poté, když bude někde nějaký script chtít zjistit, jakou úroveň má ta budova, tak se nejdřív koukne do databáze, zda je tam nějaký čas, pokud ano, zkontroluje ho s aktuálním, pokud je ten čas až v budoucnosti, tak se vypíše aktuální úroveň, pokud je ten čas shodný, nebo je to už minulost, tak se úroveň budovy zvýší o jedna, smaže se ten čas a vypíše se ta zvýšená úroveň.
mattyZEM
Profil
Keeehi:
Ono by se to mělo řešit asi jinak
Co když ta budova něco dává každých dejme tomu 5 minut? To pak než logne a ověří to, se bude dávat pořád stará hodnota, což je blbost. Nešel by použít CRON?
Keeehi
Profil
mattyZEM:
Pokud ta budova má něco dávat, tak potom co se logne, tak se to rozpočítá, jak dlouho měla dávat to staré, a jak dlouho to nové.
To samé, pokud mu někdo na tu budovu během toho třeba zaútočí, zase se to dopočítá.

Ono to není jenom o lognutí. Spíše je to o tom, že se to řeší, až když je to potřeba.
Dalo by se to samozřejmě řešit i cronem, ale taková řešení já prostě nemám rád (hlavně co když to nebude 5 minut, ale 5 sekund. Podle mě je lepší to zpětně všechno dopočítávat, než takto zbytečně zatěžovat server).

Je to však hodně obecná diskuze, záleželo by samozřejmě i na dalších věcech, které my ale neznáme.
mattyZEM
Profil
Keeehi:
tak se to rozpočítá
Imho zbytečně složité.
HawkSVK
Profil
Keeehi: spravil som to tak ako si mi poradil :) stlačím tlačidlo,odráta sa suma vylepšenia a zapíše do databázi nová suma aj s časom ku ktorému prirátam čas vylepšenia,potom mam súbor v ktorom sa zisti či je v databáze čas ,ak je tak sa porovná s aktuálnym ,ked je aktuálny čas rovný alebo vačší tak sa zvíši úroveň budovy a zapíše sa do databázi a vynuluje sa čas v databáze,ale ide mi to len ked to spustim ručne cez URL adresu ,skúšam tam niečo spraviť s cronom aby mi to každé 5 min spustilo ale nejde mi to :(

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0