public unsafe void Cast(LOLObject obj) { if (this.IsReady) { var castSpell = (DetourCastSpell.CastSpell)Marshal.GetDelegateForFunctionPointer(new IntPtr(Memory.LOLBaseAddress + Offsets.CastSpell), typeof(DetourCastSpell.CastSpell)); *(uint *)(Frame.Client.Me.Champion_SCIPointer + Offsets.SpellSlot) = this.SpellSlot; castSpell(Frame.Client.Me.Champion_SCIPointer, obj.BaseAddress + Offsets.Position, obj.BaseAddress + Offsets.Position, (uint)obj.NetworkId, 0x0); } }
private unsafe void PopulateLOLObjects() { try { uint firstObj = *(uint *)(Memory.LOLBaseAddress + Offsets.ObjectManager); uint lastObj = *(uint *)(Memory.LOLBaseAddress + Offsets.ObjectManager + 0x4); while (firstObj < lastObj) { var obj = new LOLObject(firstObj); switch (obj.ObjectType) { case ObjectType.Player: obj = new LOLPlayer(firstObj); break; case ObjectType.Minion: obj = new LOLMinion(firstObj); break; case ObjectType.Ward: obj = new LOLWard(firstObj); break; } if (obj.BaseAddress != Me.BaseAddress) { LOLObjectBag.Add(obj); } firstObj += 0x4; } } catch (Exception ex) { Frame.Log(ex.StackTrace); } }
public void SmiteBuffs() { double smiteDamage = Frame.Client.Me.SmiteDamage; LOLObject buff = null; buff = Frame.Client.GetNearestLOLObjects(3, ObjectType.Minion).FirstOrDefault(s => (s.Name.Equals(StaticEnums.JungleCreeps.Team.Blue.RedBuff) || s.Name.Equals(StaticEnums.JungleCreeps.Team.Blue.BlueBuff) || s.Name.Equals(StaticEnums.JungleCreeps.Team.Red.RedBuff) || s.Name.Equals(StaticEnums.JungleCreeps.Team.Red.BlueBuff) || s.Name.Equals(StaticEnums.JungleCreeps.Team.Neutral.Drake) || s.Name.Equals(StaticEnums.JungleCreeps.Team.Neutral.Baron)) && s.Distance < 760 && s.Health < smiteDamage && !s.IsDead); if (buff != null) { if (HasSmiteSummoner && !Frame.Client.Me.IsDead) { SmiteSummoner.Cast(buff); Frame.Log("Smite casted!"); } } }
public unsafe void Cast(LOLObject obj) { if (this.IsReady) { var castSpell = (DetourCastSpell.CastSpell)Marshal.GetDelegateForFunctionPointer(new IntPtr(Memory.LOLBaseAddress + Offsets.CastSpell), typeof(DetourCastSpell.CastSpell)); *(uint*)(Frame.Client.Me.Champion_SCIPointer + Offsets.SpellSlot) = this.SpellSlot; castSpell(Frame.Client.Me.Champion_SCIPointer, obj.BaseAddress + Offsets.Position, obj.BaseAddress + Offsets.Position, (uint)obj.NetworkId, 0x0); } }
public void PrintObjDetails(LOLObject obj) { Frame.Log("Name: " + obj.Name +" Address: " + obj.BaseAddress.ToString("X") + " Type: " + obj.ObjectType.ToString() + " Dist: " + obj.Distance + " ObjectTypeInt: " + obj.ObjectTypeInt + " IsDead: " + obj.IsDead + " IsEnemy: " + obj.IsEnemy ); }
public void PrintObjDetails(LOLObject obj) { Frame.Log("Name: " + obj.Name + " Address: " + obj.BaseAddress.ToString("X") + " Type: " + obj.ObjectType.ToString() + " Dist: " + obj.Distance + " ObjectTypeInt: " + obj.ObjectTypeInt + " IsDead: " + obj.IsDead + " IsEnemy: " + obj.IsEnemy); }
private unsafe void PopulateLOLObjects() { try { uint firstObj = *(uint*)(Memory.LOLBaseAddress + Offsets.ObjectManager); uint lastObj = *(uint*)(Memory.LOLBaseAddress + Offsets.ObjectManager + 0x4); while(firstObj < lastObj) { var obj = new LOLObject(firstObj); switch (obj.ObjectType) { case ObjectType.Player: obj = new LOLPlayer(firstObj); break; case ObjectType.Minion: obj = new LOLMinion(firstObj); break; case ObjectType.Ward: obj = new LOLWard(firstObj); break; } if( obj.BaseAddress != Me.BaseAddress ) LOLObjectBag.Add(obj); firstObj += 0x4; } } catch (Exception ex) { Frame.Log(ex.StackTrace); } }