예제 #1
0
        public static void OnGameProcessPacket(GamePacketEventArgs args)
        {
            try
            {
                if (isComboing())
                {
                    if (args.PacketData[0] == 35 && Riven.Q.IsReady())
                    {
                        Console.WriteLine("Gott");
                        GamePacket gp = new GamePacket(args.PacketData);
                        gp.Position = 2;
                        int netId = gp.ReadInteger();
                        if (LXOrbwalker.GetPossibleTarget() == null || LXOrbwalker.GetPossibleTarget().NetworkId != netId)
                        {
                            return;
                        }
                        if (!LXOrbwalker.CanAttack())
                        {
                            Riven.Q.Cast(LXOrbwalker.GetPossibleTarget().Position);
                        }
                    }

                    if (args.PacketData[0] == 0x17)
                    {
                        Console.WriteLine("cancel");

                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 2;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            Console.WriteLine("cancel wawf");
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                Riven.moveTo(LXOrbwalker.GetPossibleTarget().Position);
                                //Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();

                                // LXOrbwalker.ResetAutoAttackTimer();
                                Riven.cancelAnim(true);
                            }
                        }
                    }

                    if (args.PacketData[0] == 0xDF && false)
                    {
                        Console.WriteLine("cancel");

                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 2;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            Console.WriteLine("cancel wawf");
                            Riven.moveTo(Game.CursorPos);
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            LXOrbwalker.ResetAutoAttackTimer();
                            Riven.cancelAnim();
                        }
                    }

                    if (args.PacketData[0] == 0x61) //move
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 12;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                //    Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();
                                LXOrbwalker.ResetAutoAttackTimer();
                            }
                        }
                    }
                    else if (args.PacketData[0] == 0x38) //animation2
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 1;
                        int sourceId = packet.ReadInteger();
                        if (packet.Size() == 9 && sourceId == Riven.Player.NetworkId)
                        {
                            Riven.moveTo(Game.CursorPos);
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            LXOrbwalker.ResetAutoAttackTimer();
                            Riven.cancelAnim();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
예제 #2
0
        public static void OnGameProcessPacket(GamePacketEventArgs args)
        {
            try
            {
                if (isComboing())
                {
                    if (args.PacketData[0] == 0x65 && Riven.Q.IsReady())
                    {
                        Packet.S2C.Damage.Struct dmg = Packet.S2C.Damage.Decoded(args.PacketData);

                        // LogPacket(args);
                        GamePacket gp = new GamePacket(args.PacketData);
                        gp.Position = 1;

                        int   targetID            = gp.ReadInteger();
                        int   dType               = (int)gp.ReadByte();
                        int   Unknown             = gp.ReadShort();
                        float DamageAmount        = gp.ReadFloat();
                        int   TargetNetworkIdCopy = gp.ReadInteger();
                        int   SourceNetworkId     = gp.ReadInteger();
                        if (Riven.Player.NetworkId != dmg.SourceNetworkId)
                        {
                            return;
                        }
                        Obj_AI_Base targ = ObjectManager.GetUnitByNetworkId <Obj_AI_Base>(dmg.TargetNetworkId);
                        if ((int)dmg.Type == 12 || (int)dmg.Type == 4 || (int)dmg.Type == 3 || (int)dmg.Type == 36 || (int)dmg.Type == 11)
                        {
                            Riven.Q.Cast(targ.Position);
                        }
                        else
                        {
                            Console.WriteLine("dtyoe: " + dType);
                        }
                    }
                    if (args.PacketData[0] == 0x34)// from yol0 :)
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 9;
                        int action = packet.ReadByte();
                        packet.Position = 1;
                        int sourceId = packet.ReadInteger();
                        if (action == 17 && sourceId == Riven.Player.NetworkId)
                        {
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                Riven.moveTo(LXOrbwalker.GetPossibleTarget().Position);
                                //Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();

                                // LXOrbwalker.ResetAutoAttackTimer();
                                Riven.cancelAnim(true);
                            }
                        }
                    }
                    else if (args.PacketData[0] == 0x61) //move
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 12;
                        int sourceId = packet.ReadInteger();
                        if (sourceId == Riven.Player.NetworkId)
                        {
                            if (LXOrbwalker.GetPossibleTarget() != null)
                            {
                                //    Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(LXOrbwalker.GetPossibleTarget().Position.X, LXOrbwalker.GetPossibleTarget().Position.Y)).Send();
                                LXOrbwalker.ResetAutoAttackTimer();
                            }
                        }
                    }
                    else if (args.PacketData[0] == 0x38) //animation2
                    {
                        GamePacket packet = new GamePacket(args.PacketData);
                        packet.Position = 1;
                        int sourceId = packet.ReadInteger();
                        if (packet.Size() == 9 && sourceId == Riven.Player.NetworkId)
                        {
                            Riven.moveTo(Game.CursorPos);
                            Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
                            LXOrbwalker.ResetAutoAttackTimer();
                            Riven.cancelAnim();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }