Ejemplo n.º 1
0
        private void Game_OnGameSendPacket(GamePacketEventArgs args)
        {
            if (!IsActive())
            {
                return;
            }

            try
            {
                decimal milli    = DateTime.Now.Ticks / (decimal)TimeSpan.TicksPerMillisecond;
                var     reader   = new BinaryReader(new MemoryStream(args.PacketData));
                byte    packetId = reader.ReadByte();
                if (packetId != Packet.C2S.Move.Header)
                {
                    return;
                }
                Packet.C2S.Move.Struct move = Packet.C2S.Move.Decoded(args.PacketData);
                if (move.MoveType == 2)
                {
                    if (move.SourceNetworkId == ObjectManager.Player.NetworkId)
                    {
                        _lastMove = new Vector2(move.X, move.Y);
                        if (_lastTime + 1 > Game.Time)
                        {
                            args.Process = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("MovementSend: " + ex);
            }
        }
Ejemplo n.º 2
0
        public static void IssueOrderEx(this Obj_AI_Base hero, GameObjectOrder order, Vector3 point, bool packet = false)
        {
            if (packet)
            {
                var p = new Packet.C2S.Move.Struct
                {
                    MoveType        = (byte)order,
                    SourceNetworkId = hero.NetworkId,
                    X = point.X,
                    Y = point.Y
                };

                switch (order)
                {
                case GameObjectOrder.HoldPosition:
                    p.X = hero.ServerPosition.X;
                    p.Y = hero.ServerPosition.Y;
                    break;
                }

                Packet.C2S.Move.Encoded(p).Send();
            }
            else
            {
                hero.IssueOrder(order, point);
            }
        }
Ejemplo n.º 3
0
        public static void IssueOrderEx(this Obj_AI_Base hero, GameObjectOrder order, GameObject target,
                                        bool packet = false)
        {
            if (packet)
            {
                var p = new Packet.C2S.Move.Struct
                {
                    MoveType        = (byte)order,
                    SourceNetworkId = hero.NetworkId
                };

                switch (order)
                {
                case GameObjectOrder.AttackUnit:
                    p.TargetNetworkId = target.NetworkId;
                    break;
                }

                Packet.C2S.Move.Encoded(p).Send();
            }
            else
            {
                hero.IssueOrder(order, target);
            }
        }
Ejemplo n.º 4
0
        private void OnGameSendPacket(GamePacketEventArgs args)
        {
            try
            {
                if (!Enabled)
                {
                    return;
                }

                var spellsDelay   = Menu.Item(Name + "DelaySpells").GetValue <Slider>().Value;
                var movementDelay = Menu.Item(Name + "DelayMovement").GetValue <Slider>().Value;

                if (spellsDelay > 0 && (new GamePacket(args.PacketData)).Header == Packet.C2S.Cast.Header)
                {
                    Packet.C2S.Cast.Struct castStruct = Packet.C2S.Cast.Decoded(args.PacketData);
                    if (castStruct.SourceNetworkId == ObjectManager.Player.NetworkId)
                    {
                        if (_lastSpell + spellsDelay > Environment.TickCount)
                        {
                            args.Process = false;
                        }
                        else
                        {
                            _lastSpell = Environment.TickCount;
                        }
                    }
                }

                if (movementDelay > 0 && (new GamePacket(args.PacketData)).Header == Packet.C2S.Move.Header)
                {
                    Packet.C2S.Move.Struct movementStruct = Packet.C2S.Move.Decoded(args.PacketData);
                    if (movementStruct.MoveType == 2)
                    {
                        if (movementStruct.SourceNetworkId == ObjectManager.Player.NetworkId)
                        {
                            if (_lastMovement + movementDelay > Environment.TickCount)
                            {
                                args.Process = false;
                            }
                            else
                            {
                                _lastMovement = Environment.TickCount;
                            }
                        }
                    }
                    else if (movementStruct.MoveType == 3)
                    {
                        _lastMovement = 0f;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteBlock(ex.Message, ex.ToString());
            }
        }
Ejemplo n.º 5
0
        private static void Game_OnGameSendPacket(GamePacketEventArgs args)
        {
            if (args.PacketData[0] != Packet.C2S.Move.Header)
            {
                return;
            }

            Packet.C2S.Move.Struct decodedPacket = Packet.C2S.Move.Decoded(args.PacketData);
            if (decodedPacket.MoveType == 3 &&
                (Orbwalker.GetTarget().IsMinion&& Config.Item("SupportMode").GetValue <bool>()))
            {
                args.Process = false;
            }
        }
Ejemplo n.º 6
0
        private void Game_OnGameSendPacket(GamePacketEventArgs args)
        {
            if (!IsActive())
            {
                return;
            }

            try
            {
                decimal milli    = DateTime.Now.Ticks / (decimal)TimeSpan.TicksPerMillisecond;
                var     reader   = new BinaryReader(new MemoryStream(args.PacketData));
                byte    packetId = reader.ReadByte();
                if (packetId != Packet.C2S.Move.Header)
                {
                    return;
                }
                Packet.C2S.Move.Struct move = Packet.C2S.Move.Decoded(args.PacketData);
                if (move.MoveType == 2)
                {
                    if (move.SourceNetworkId == ObjectManager.Player.NetworkId)
                    {
                        if (milli - _lastSend <
                            Menu.SafeMovement.GetMenuItem("SAwarenessSafeMovementBlockIntervall")
                            .GetValue <Slider>()
                            .Value)
                        {
                            args.Process = false;
                        }
                        else
                        {
                            _lastSend = milli;
                        }
                    }
                }
                else if (move.MoveType == 3)
                {
                    _lastSend = 0;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("MovementProcess: " + ex);
            }
        }