No dobra.
Na twoim miejscu zrobiłbym sobie w ostatniej linijce to tak:
set {event::%player%} to "%{x}% days" parsed as timespan
Dzięki temu mamy x dni czasu.
Jeszcze sobie ustawiamy jedną zmienną, w której zawieramy czas obecny.
Dalej w kodzie używamy periodicalu 'every 5 minutes' i sprawdzamy czy różnica między czasem w tej drugiej zmiennej a czasem obecnym (now) jest mniejsza niż 2 dni. Jeżeli tak, dodajemy 'loop-index' parse'owanemu na 'offline player' 10 kasy.
Kod ma jeszcze kilka innych wad, przykładowo jeżeli ktoś odbierze na 2 dni, a ktoś następnie na 1 dzień, to temu pierwszemu 2 dni nadpisze na jeden dzień.
Dlatego też lepiej byłoby przechwytywać ilość tych dni z nazwy kartki.
Co do tego periodicalu, ostatnio podrzuciłem ci kod. Możesz się na nim wzorować.