pragma solidity ^0.4.18; contract Subscription { bool public win; mapping (address => uint) public subscriptions; function renewSubscription() payable { uint months = msg.value / 1 ether; // 1 ether = 1 month subscriptions[msg.sender] += months; } modifier onlyMember() { require(now < now + subscriptions[msg.sender] * 4 weeks); _; } function winGame() onlyMember { win = true; // do whatever you want } }
0.4.19