Let the player access all leves for their level, and refresh this list every 36 hrs.
Once a leve is accepted, it is remove from the list of available leves, and will only be refreshed once the player completes/fails the leve after 36 hrs.

This is basically the idea in it's entirety to fix people gaming the system and encourage them to complete the leves.

First, Players will always have access to the leves they want each leve refresh. This will remove the need to abandon each leve and ensure desireable leves are retained. Secondly, Players, if they fail their leve, will be able to try the same leve again for the same rewards, but that leve will then not be available to the player the next reset. This then removes the possibility of double leves.

The combination of these two creates an environment where success is the highest priority, and failure is actually punished. However, SP is actually gained, if you do not game the system, and Most SP is fairly the same, if you are already gaming the system.

**BTW I have been failing leves for months levelling classes; it is the most effecient way to level, so I'm not suggesting this to punish people but to make the game less retarded**

A further advantage to changing the sytem this way, is it allows players to predict which leves are available and plan ahead of time, in addition it allows players to reliably leve link every leve.