Reset attendance rewards every day at 6:30 am.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment
2021-10-04 13:04:50 +00:00
parent 9840289ef6
commit 4e34494d03
18 changed files with 486 additions and 0 deletions

View File

@@ -74,6 +74,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
resetTrainingCamp();
resetVip();
onResetTimedHuntingZones();
onResetAttendanceRewards();
}
@ScheduleTarget
@@ -353,6 +354,32 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
LOGGER.info("Weekly Special Hunting Zones has been resetted.");
}
public void onResetAttendanceRewards()
{
// Update data for offline players.
try (Connection con = DatabaseFactory.getConnection())
{
try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_variables WHERE var=?"))
{
ps.setString(1, "ATTENDANCE_DATE");
ps.execute();
}
}
catch (Exception e)
{
LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Could not reset Attendance Rewards: " + e);
}
// Update data for online players.
for (PlayerInstance player : World.getInstance().getPlayers())
{
player.getVariables().remove("ATTENDANCE_DATE");
player.getVariables().storeMe();
}
LOGGER.info("Attendance Rewards has been resetted.");
}
public static DailyTaskManager getInstance()
{
return SingletonHolder.INSTANCE;