A moze baza posiada swoj licznik zwiekszany do kilka minut, ew. przeliczany w momencie zakupu budowli z dokladnosci co do sekundy, a u usera jest tylko 'dummy counter', naliczajacy surowne z podobna predkoscia ale nie majacy zadnego wplywu na gre.
Powiedzmy surowce sa naliczane co godzine. Wlasnie teraz. Po 10ciu sekundach kupujesz Costam. Baza nalicza ci surowcow za 10sekund = X i sprawdza czy mozesz kupic, itd. A w ciagu tych 10sekund licznik u usera wzrosl o X. Tylko to komplikuje sprawe przy cogodzinnym updacie bazy -- bo czesci userom juz zostala naliczona pewna ilosc surowca. Ale 50 nowych if() ow powinno wystarczyc

Tylko zgaduje bo nie sprawdzalem.