public void OnUpdate() { if (sleeper.Sleeping) { return; } var allHeroes = ObjectManager.GetEntitiesParallel <Hero>().Where(x => x.IsValid && !x.IsIllusion); foreach (var hero in allHeroes) { if (!addedHeroes.Contains(hero.HeroId)) { menu.AddHeroMenu(hero); addedHeroes.Add(hero.HeroId); } if (menu.IsItemsMenuEnabled(hero)) { foreach (var item in hero.Inventory.Items) { var itemName = item.GetDefaultName(); if (string.IsNullOrEmpty(itemName) || addedItems.ContainsKey(hero.StoredName() + itemName)) { continue; } addedItems.Add(hero.StoredName() + itemName, item); if (item.GetRealCastRange() > 500) { menu.AddMenuItem(hero, item); } } } foreach (var drawnAbility in drawnAbilities.Where(x => x.Key.Equals(hero)) .SelectMany(x => x.Value) .Where(x => (x.ParticleEffect != null || !x.IsValid) && !x.Disabled && x.Level > 0)) { switch (drawnAbility.CustomRange) { case CustomRange.Experience: case CustomRange.Aggro: continue; case CustomRange.Attack: if (Math.Abs(drawnAbility.Range - hero.GetAttackRange()) > 10) { Redraw(drawnAbility); } continue; } var newAbility = false; if (!drawnAbility.IsValid) { drawnAbility.FindAbility(); if (drawnAbility.IsValid) { newAbility = true; } } if (drawnAbility.Ability == null && drawnAbility.ParticleEffect != null) { drawnAbility.ParticleEffect.Dispose(); drawnAbility.ParticleEffect = null; } else if ((newAbility || (drawnAbility.ParticleEffect != null && (Math.Abs( drawnAbility.RealCastRange - drawnAbility.Ability.GetRealCastRange()) > 5 || drawnAbility.RadiusOnly && Math.Abs( drawnAbility.Radius - drawnAbility.Ability.GetRadius() - 35) > 5))) && !drawnAbility.Disabled) { Redraw(drawnAbility); } } } sleeper.Sleep(3000); }
public async void OnUpdate() { if (sleeper.Sleeping || delay) { return; } delay = true; try { var allHeroes = Heroes.All.Where(x => x.IsValid && !x.IsIllusion); foreach (var hero in allHeroes) { if (!addedHeroes.Contains(hero.Handle)) { await menu.AddHeroMenu(hero); addedHeroes.Add(hero.Handle); } foreach (var item in hero.Inventory.Items) { var itemName = item.GetDefaultName(); if (string.IsNullOrEmpty(itemName) || addedItems.ContainsKey(hero.StoredName() + itemName)) { continue; } addedItems.Add(hero.StoredName() + itemName, item); if (item.GetRealCastRange() > 500) { await menu.AddMenuItem(hero, item); } } foreach (var drawedAbility in drawedAbilities.Where(x => x.Key.Equals(hero)) .SelectMany(x => x.Value) .Where(x => (x.ParticleEffect != null || !x.IsValid) && !x.Disabled && x.Level > 0)) { switch (drawedAbility.CustomRange) { case CustomRange.Expiriece: continue; case CustomRange.Attack: if (Math.Abs(drawedAbility.Range - hero.GetAttackRange()) > 10) { Redraw(drawedAbility); } continue; } var newAbility = false; if (!drawedAbility.IsValid) { drawedAbility.FindAbility(); if (drawedAbility.IsValid) { newAbility = true; } } if (drawedAbility.Ability == null && drawedAbility.ParticleEffect != null) { drawedAbility.ParticleEffect.Dispose(); drawedAbility.ParticleEffect = null; } else if ((newAbility || (drawedAbility.ParticleEffect != null && Math.Abs(drawedAbility.RealCastRange - drawedAbility.Ability.GetRealCastRange()) > 5)) && !drawedAbility.Disabled) { Redraw(drawedAbility); } } } } catch (Exception) { } delay = false; sleeper.Sleep(3000); }