public bool AntiMacroCheck(Skill skill, object obj) { if (obj == null || m_AntiMacroTable == null || IsStaff()) { return true; } Hashtable tbl = (Hashtable)m_AntiMacroTable[skill]; if (tbl == null) { m_AntiMacroTable[skill] = tbl = new Hashtable(); } CountAndTimeStamp count = (CountAndTimeStamp)tbl[obj]; if (count != null) { if (count.TimeStamp + SkillCheck.AntiMacroExpire <= DateTime.UtcNow) { count.Count = 1; return true; } else { ++count.Count; if (count.Count <= SkillCheck.Allowance) { return true; } else { return false; } } } else { tbl[obj] = count = new CountAndTimeStamp(); count.Count = 1; return true; } }
public bool AntiMacroCheck(Skill skill, object obj) { if (obj == null || m_AntiMacroTable == null || this.AccessLevel != AccessLevel.Player) return true; Hashtable tbl = (Hashtable)m_AntiMacroTable[skill]; if (tbl == null) m_AntiMacroTable[skill] = tbl = new Hashtable(); CountAndTimeStamp count = (CountAndTimeStamp)tbl[obj]; if (count != null) { if (count.TimeStamp + SkillCheck.AntiMacroExpire <= DateTime.Now) { count.Count = 1; return true; } else { ++count.Count; if (count.Count <= SkillCheck.Allowance) return true; else return false; } } else { tbl[obj] = count = new CountAndTimeStamp(); count.Count = 1; return true; } }
public bool AntiMacroCheck(Skill skill, object obj) { if (obj == null || m_AntiMacroTable == null || AccessLevel != AccessLevel.Player) { return true; } var tbl = (Hashtable)m_AntiMacroTable[skill]; if (tbl == null) { m_AntiMacroTable[skill] = tbl = new Hashtable(); } var count = (CountAndTimeStamp)tbl[obj]; if (count != null) { if (count.TimeStamp + SkillCheck.AntiMacroExpire <= DateTime.UtcNow) { count.Count = 1; return true; } ++count.Count; return count.Count <= SkillCheck.Allowance; } tbl[obj] = count = new CountAndTimeStamp(); count.Count = 1; return true; }