private static void Drawing_OnDraw(EventArgs args)
{
if (Menu.Item("DrawItems").GetValue<bool>())
{
var startPos = new Vector2(Menu.Item("DrawItems.pos.x").GetValue<Slider>().Value,
Menu.Item("DrawItems.pos.y").GetValue<Slider>().Value);
var itemCount = 0;
var size = new Vector2(40, 25);
var extraButtonPos = startPos - new Vector2(0, 20);
var extraButtonSize = new Vector2(size.X*6*0.7f, 19);
var isIn = Utils.IsUnderRectangle(Game.MouseScreenPosition, extraButtonPos.X, extraButtonPos.Y,
extraButtonSize.X, extraButtonSize.Y);
if (isIn)
{
Drawing.DrawRect(extraButtonPos, extraButtonSize,
new Color(0, 155, 255, 255), true);
Drawing.DrawRect(extraButtonPos, extraButtonSize,
new Color(0, 0, 0, 140));
var textSize = Drawing.MeasureText("Move me", "Arial",
new Vector2((float) (extraButtonSize.Y*.90), extraButtonSize.Y/2), FontFlags.AntiAlias);
var textPos = extraButtonPos +
new Vector2((extraButtonSize.X - textSize.X)/2, (extraButtonSize.Y - textSize.Y)/2);
Drawing.DrawText(
"Move me",
textPos,
new Vector2(textSize.Y, 0),
Color.White,
FontFlags.AntiAlias | FontFlags.StrikeOut);
}
if (_keyState)
{
Menu.Item("DrawItems.pos.x").SetValue(new Slider((int) Game.MouseScreenPosition.X - 50, 0, 2500));
Menu.Item("DrawItems.pos.y")
.SetValue(new Slider((int) ((int) Game.MouseScreenPosition.Y + extraButtonSize.Y/2), 0, 2500));
}
Drawing.DrawRect(startPos, new Vector2(size.X*6*0.7f, size.Y*1.15f),
new Color(0, 155, 255, 255), true);
if (_drawType)
{
if (Menu.Item("AutoHeal.Enable").GetValue<KeyBind>().Active && !isIn)
{
Drawing.DrawRect(extraButtonPos, extraButtonSize,
new Color(0, 155, 255, 255), true);
var text = "Auto Heal " +
$"[{Utils.KeyToText(Menu.Item("AutoHeal.Enable").GetValue<KeyBind>().Key)}]";
var textSize = Drawing.MeasureText(text, "Arial",
new Vector2((float) (extraButtonSize.Y*.90), extraButtonSize.Y/2), FontFlags.AntiAlias);
var textPos = extraButtonPos +
new Vector2((extraButtonSize.X - textSize.X)/2, (extraButtonSize.Y - textSize.Y)/2);
Drawing.DrawText(
text,
textPos,
new Vector2(textSize.Y, 0),
Color.White,
FontFlags.AntiAlias | FontFlags.StrikeOut);
}
if (Menu.Item("hotkeyClone").GetValue<KeyBind>().Active)
{
extraButtonPos = startPos + new Vector2(0, size.Y);
var boxSize = new Vector2(size.X*6*0.7f, size.Y*1.15f);
Drawing.DrawRect(extraButtonPos, boxSize,
new Color(0, 155, 255, 255), true);
var text = "Clone Mode " +
$"[{Utils.KeyToText(Menu.Item("hotkeyClone").GetValue<KeyBind>().Key)}]";
var textSize = Drawing.MeasureText(text, "Arial",
new Vector2((float) (boxSize.Y*.6), boxSize.Y/2), FontFlags.AntiAlias);
var imageSize = new Vector2((float) (boxSize.Y*0.60 + 10), (float) (boxSize.Y*0.60));
textSize += new Vector2(imageSize.X, 0);
var textPos = extraButtonPos +
new Vector2((boxSize.X - textSize.X)/2, boxSize.Y/2 - textSize.Y/2);
//+ new Vector2(2, boxSize.Y / 2 - textSize.Y / 2);
Drawing.DrawText(
text,
textPos,
new Vector2(textSize.Y, 0),
Color.White,
FontFlags.AntiAlias | FontFlags.StrikeOut);
var itemPos = textPos + new Vector2(10 + textSize.X - imageSize.X, 0);
if (_globalTarget2 != null)
{
Drawing.DrawRect(itemPos, imageSize,
Textures.GetHeroTexture(_globalTarget2.StoredName()));
Drawing.DrawRect(itemPos, imageSize, Color.Black, true);
}
}
else if (Menu.Item("AutoPush.Enable").GetValue<KeyBind>().Active)
{
extraButtonPos = startPos + new Vector2(0, size.Y);
var boxSize = new Vector2(size.X*6*0.7f, size.Y*1.15f);
Drawing.DrawRect(extraButtonPos, boxSize,
new Color(0, 155, 255, 255), true);
var text = "Auto Push " +
$"[{Utils.KeyToText(Menu.Item("AutoPush.Enable").GetValue<KeyBind>().Key)}]";
var textSize = Drawing.MeasureText(text, "Arial",
new Vector2((float) (boxSize.Y*.6), boxSize.Y/2), FontFlags.AntiAlias);
var textPos = extraButtonPos +
new Vector2((boxSize.X - textSize.X)/2, boxSize.Y/2 - textSize.Y/2);
Drawing.DrawText(
text,
textPos,
new Vector2(textSize.Y, 0),
Color.White,
FontFlags.AntiAlias | FontFlags.StrikeOut);
}
}
foreach (var f in SpellBaseList)
{
if (itemCount>6)
continue;
var cd = f.GetLastCd() - Game.RawGameTime + f.GetLastTime() + 1;//f.GetCooldown();
if (cd > 0)
{
/*if (Utils.SleepCheck("draw_items_cooldown" + f.Name))
{
Utils.Sleep(1000, "draw_items_cooldown" + f.Name);
f.SetCooldown(f.GetCooldown()-1);
//var time = (f.GetLastTime()-Game.GameTime)%60;
//Print($"Time: {time}");
//f.SetCooldown(f.GetLastCd() + time);
}*/
var itemPos = startPos + new Vector2(2+size.X*itemCount*0.7f, 2);
Drawing.DrawRect(itemPos, size,
f.GetTexture());
var cooldown =
((int)Math.Min(cd, 999)).ToString(CultureInfo.InvariantCulture);
//((int)Math.Min(cd+1, 999)).ToString(CultureInfo.InvariantCulture);
var textSize = Drawing.MeasureText(cooldown, "Arial",
new Vector2((float) (size.Y*.75), size.Y/2), FontFlags.AntiAlias);
var textPos = itemPos + new Vector2(0, size.Y - textSize.Y);
Drawing.DrawRect(textPos - new Vector2(0, 0),
new Vector2(textSize.X, textSize.Y),
new Color(0, 0, 0, 200));
Drawing.DrawText(
cooldown,
textPos,
new Vector2(textSize.Y, 0),
Color.White,
FontFlags.AntiAlias | FontFlags.StrikeOut);
itemCount++;
}
}
var kek = SpellBaseList.Where(x => x.GetCooldown() <= 0 && x.GetCooldown() >= -5).ToList();
foreach (var item in kek)
{
SpellBaseList.Remove(item);
//Print("Kick from ItemCooldownBase: " + item.Name);
}
}
if (Menu.Item("AutoPush.DrawLine").GetValue<bool>() &&
Menu.Item("AutoPush.Enable").GetValue<KeyBind>().Active &&
!Menu.Item("hotkeyClone").GetValue<KeyBind>().Active)
{
var me = ObjectManager.LocalHero;
foreach (var hero in Objects.Tempest.GetCloneList(me))
{
var nearestTower =
Objects.Towers.GetTowers()
.Where(x => x.Team == hero.GetEnemyTeam())
.OrderBy(y => y.Distance2D(hero))
.FirstOrDefault() ?? Objects.Fountains.GetEnemyFountain();
var fountain = Objects.Fountains.GetAllyFountain();
var curlane = GetCurrentLane(hero);
var clospoint = GetClosestPoint(curlane);
var useThisShit = clospoint.Distance2D(fountain) - 250 > hero.Distance2D(fountain);
if (nearestTower == null) continue;
var pos222 = curlane == "mid" || !useThisShit ? nearestTower.Position : clospoint;
var w2Shero = Drawing.WorldToScreen(hero.Position);
var w2SPos = Drawing.WorldToScreen(pos222);
if ((w2Shero.X == 0 && w2Shero.Y == 0) || (w2SPos.X == 0 && w2SPos.Y == 0)) continue;
//Print($"w2shero: {w2shero.X}/{w2shero.Y}");
//Print($"w2sPos: {w2sPos.X}/{w2sPos.Y}");
Drawing.DrawLine(w2Shero, w2SPos, Color.YellowGreen);
}
}
/*var position = Game.MousePosition;
Drawing.DrawText($"{position.X},{position.Y},{position.Z}", Game.MouseScreenPosition, new Vector2(0, 50), Color.Red,
FontFlags.AntiAlias | FontFlags.DropShadow);*/
Vector2 pos;
if (Menu.Item("hotkeyClone").GetValue<KeyBind>().Active)
{
var startPos = new Vector2(Drawing.Width - 250, 100);
var size = new Vector2(180, 90);
if (!_drawType)
{
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 100));
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 255), true);
Drawing.DrawText(
"Clone Mode is Active" +
$"[{Utils.KeyToText(Menu.Item("hotkeyClone").GetValue<KeyBind>().Key)}]",
startPos + new Vector2(10, 10), new Vector2(20), new Color(0, 155, 255),
FontFlags.AntiAlias | FontFlags.DropShadow | FontFlags.Additive | FontFlags.Custom |
FontFlags.StrikeOut);
}
if (_globalTarget2 != null && _globalTarget2.IsAlive)
{
if (!_drawType)
{
pos = Drawing.WorldToScreen(_globalTarget2.Position);
Drawing.DrawText("CloneTarget", pos, new Vector2(0, 50), Color.Red,
FontFlags.AntiAlias | FontFlags.DropShadow);
var name = "materials/ensage_ui/heroes_horizontal/" +
_globalTarget2.Name.Replace("npc_dota_hero_", "") + ".vmat";
size = new Vector2(50, 50);
Drawing.DrawRect(startPos + new Vector2(10, 35), size + new Vector2(13, -6),
Textures.GetTexture(name));
Drawing.DrawRect(startPos + new Vector2(10, 35), size + new Vector2(14, -5),
new Color(0, 0, 0, 255), true);
}
foreach (var me in Objects.Tempest.GetCloneList(_mainHero).ToList())
{
DrawEffects(me,_globalTarget2);
}
foreach (var me in Objects.Necronomicon.GetNecronomicons(_mainHero).ToList())
{
DrawEffects(me,_globalTarget2);
}
}
}
else if (!_drawType && Menu.Item("AutoPush.Enable").GetValue<KeyBind>().Active)
{
var startPos = new Vector2(Drawing.Width - 250, 100);
var size = new Vector2(180, 40);
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 100));
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 255), true);
Drawing.DrawText("AutoPush is Active " + $"[{Utils.KeyToText(Menu.Item("AutoPush.Enable").GetValue<KeyBind>().Key)}]", startPos + new Vector2(10, 10), new Vector2(20), new Color(0, 155, 255),
FontFlags.AntiAlias | FontFlags.DropShadow | FontFlags.Additive | FontFlags.Custom |
FontFlags.StrikeOut);
}
if (!_drawType && Menu.Item("AutoHeal.Enable").GetValue<KeyBind>().Active)
{
var startPos = new Vector2(Drawing.Width - 250, 190);
var size = new Vector2(180, 30);
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 100));
Drawing.DrawRect(startPos, size, new Color(0, 0, 0, 255), true);
Drawing.DrawText("AutoHeal is Active" + $"[{Utils.KeyToText(Menu.Item("AutoHeal.Enable").GetValue<KeyBind>().Key)}]", startPos + new Vector2(10, 10), new Vector2(20), new Color(0, 155, 255),
FontFlags.AntiAlias | FontFlags.DropShadow | FontFlags.Additive | FontFlags.Custom |
FontFlags.StrikeOut);
}
if (_globalTarget == null || !_globalTarget.IsAlive) return;
pos = Drawing.WorldToScreen(_globalTarget.Position);
Drawing.DrawText("target", pos, new Vector2(0, 50), Color.Red, FontFlags.AntiAlias | FontFlags.DropShadow);
foreach (var me in Objects.Tempest.GetCloneList(_mainHero).ToList())
{
try
{
DrawEffects(me, _globalTarget);
}
catch { Print("error Type: 1"); }
}
foreach (var me in Objects.Necronomicon.GetNecronomicons(_mainHero).ToList())
{
try
{
DrawEffects(me, _globalTarget);
}
catch (Exception)
{
Print("error Type: 2");
}
}
try
{
DrawEffects(_mainHero, _globalTarget);
}
catch (Exception)
{
Print("error Type: 3");
}
}