public static bool CheckSkillGain(PlayerMobile pm, int minutesPerSkill, Skill skill) { if (minutesPerSkill == 0) { return(true); } var sk = skill.SkillName; if (ROTTable.ContainsKey(pm)) { if (ROTTable[pm].ContainsKey(sk)) { var lastGain = ROTTable[pm][sk]; if (lastGain + TimeSpan.FromMinutes(minutesPerSkill) < DateTime.Now) { ROTTable[pm][sk] = DateTime.Now; return(true); } return(false); } ROTTable[pm][sk] = DateTime.Now; return(true); } ROTTable[pm] = new Dictionary <SkillName, DateTime>(); ROTTable[pm][sk] = DateTime.Now; return(true); }
public static void CheckTime() { if (LastReset + TimeSpan.FromHours(24) < DateTime.Now) { DateTime reset = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 20, 0, 0); if (DateTime.Now < reset) { LastReset = reset - TimeSpan.FromHours(24); } else { ROTTable.Clear(); StatsTable.Clear(); LastReset = reset; } } }
public static void CheckTime() { var now = DateTime.Now; if (LastReset.AddHours(24) < now) { var reset = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); if (now < reset) { LastReset = reset - TimeSpan.FromHours(24); } else { ROTTable.Clear(); StatsTable.Clear(); LastReset = reset; } } }