예제 #1
0
 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);
     }
 }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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!");
                }
            }
        }
예제 #4
0
 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);
     }
 }
예제 #5
0
 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 );
 }
예제 #6
0
 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);
 }
예제 #7
0
파일: LOLClient.cs 프로젝트: Nuro/LOLSmite
        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);
            }
        }