Exemplo n.º 1
0
 public static int GetPort()
 {
     try
     {
         var process = ClientApi.GetProcessByName("League of Legends");
         if (process != null)
         {
             LOLHandle = process.MainWindowHandle;
             var x = NativeMethods.GetAllTcpConnections();
             foreach (var a in x)
             {
                 if (process.Id == a.owningPid)
                 {
                     return(a.LocalPort);
                 }
             }
         }
         else
         {
             LOLHandle = IntPtr.Zero;
         }
     }
     catch (Exception x)
     {
         Logger.Log("getport error: " + x.Message);
     }
     return(0);
 }
Exemplo n.º 2
0
        private void GameTimerCallback(object state)
        {
            try
            {
                //Logger.Log("game tim: " + GameState.Started);
                GameTimerTry++;
                TimerTick = DateTime.Now.Ticks;
                // waiting for game to start
                if (GameState.Started == false)
                {
                    //Logger.Log("ee");
                    try
                    {
                        //Logger.Log("k1");
                        Player = new MainPlayer(((Port = GetPort()) != 0) ? Port : 2999);
                        //Logger.Log("k3 p: " + Port);

                        /*if (Player != null)
                         *  Logger.Log("gts p: " + Port + " currenthealth: " + Player.game.CurrentHealth + " money: " + Player.GetGold());
                         */
                        if (Player != null && Player?.game?.CurrentHealth != 1)
                        {
                            GameState.Started = Player.GetGold() != 0;
                            //er.Log("k4 "+ GameState.Started);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Log("Waiting for game to start... (err)");
                        Logger.Log("wait err: " + ex.Message);
                        Server.SetInfoText("Waiting for game to start... (err)");
                    }
                    if (GameTimerTry == 50)
                    {
                        Server.SetInfoText("Still waiting...");
                        Control();
                    }
                    //Logger.Log("gtfalse2");
                    if (GameTimerTry > 55)
                    {
                        Control();
                        if (LCU.SummonerID == 0)
                        {
                            if (Server.LoadedAccount != null)
                            {
                                GameTimerTry = 0;
                                ClientApi.Stop();
                                Logger.Log("Restarting bot...");
                                Server.SetInfoText("Restarting bot...");
                                Thread.Sleep(10000);
                                ClientApi.Start();
                            }
                            else
                            {
                                Logger.Log("Can't find the loaded account.");
                                Server.SetInfoText("Can't find the loaded account.");
                            }
                        }
                        else
                        {
                            var process = ClientApi.GetProcessByName("League of Legends");
                            if (process == null)
                            {
                                try
                                {
                                    Logger.Log("Trying to continue...");
                                    Server.SetInfoText("Trying to continue...");
                                    var bmp = PixelCache.GetScreenshot();
                                    bmp.Bitmap.Save("qr1.bmp");
                                    bmp.Dispose();
                                    ClientApi.TryToContinue();
                                    Logger.Log("Restarting queue...");
                                    Server.SetInfoText("Restarting queue...");
                                    GameTimerTry = 0;
                                    ClientApi.StartNewGame();
                                }
                                catch (Exception x)
                                {
                                    Logger.Log("queuerestart1 (1) image error..." + x.Message);
                                    Thread.Sleep(5000);
                                    ClientApi.Stop();
                                    Logger.Log("Can't take screenshots. Trying to continue...");
                                    Server.SetInfoText("Can't take screenshots. Trying to continue...");
                                    Control(false);
                                    ClientApi.Start();
                                }
                            }
                            else
                            {
                                bool flag = false;
                                try
                                {
                                    var bmp = PixelCache.GetScreenshot();
                                    bmp.Bitmap.Save("copen.bmp");
                                    if (bmp.GetPixel(495, 352) == Color.FromArgb(59, 45, 24) ||
                                        bmp.GetPixel(507, 344) == Color.FromArgb(255, 255, 255))
                                    {
                                        flag = true;
                                    }
                                    bmp.Dispose();
                                    if (flag)
                                    {
                                        Logger.Log("connection lost");
                                    }
                                    else
                                    {
                                        Logger.Log("copen ok");
                                    }
                                }
                                catch (Exception x)
                                {
                                    Logger.Log("copen (1) image error..." + x.Message);
                                    flag = true;
                                }
                                if (flag)
                                {
                                    ClientApi.Stop();
                                    Logger.Log("Connection lost. Trying to continue...");
                                    Server.SetInfoText("Connection lost. Trying to continue...");
                                    Thread.Sleep(5000);
                                    ClientApi.Restart = true;
                                    ClientApi.Start();
                                }
                            }
                        }
                    }
                    else if (GameTimer != null)
                    {
                        ClientApi.TimerChange(GameTimer, 8000);
                    }

                    //Logger.Log("gtfalse3");
                }
                else
                {
                    //Logger.Log("gttrue1");
                    if (LOLHandle != null)
                    {
                        NativeMethods.Focus(LOLHandle);
                    }
                    else
                    {
                        Logger.Log("LOLHandle = null (?)");
                    }
                    ClientApi.SetState(ClientStates.InGame);
                    Server.SetIndicator(IndicatorStates.On);
                    TimerTick = DateTime.Now.Ticks;
                    //Logger.Log("gttrue2");

                    if (Port != 0 && Player == null)
                    {
                        Player = new MainPlayer(Port);
                    }
                    Shop = new Shop();
                    if (Start == 0)
                    {
                        Logger.Log("Game started.");
                        Server.SetInfoText("Game started.");
                        try
                        {
                            int gold = Player.GetGold();
                            foreach (var x in items)
                            {
                                if (x.got == false)
                                {
                                    if (gold > x.cost)
                                    {
                                        if (!Shop.Opened)
                                        {
                                            //Logger.Log("opening shop");
                                            Shop.Toggle();
                                            Thread.Sleep(RandomTimeGenerator(500));/*
                                                                                    * MouseOperations.SetCursorPosition(420 + RandomTimeGenerator(5), 80 + RandomTimeGenerator(4));
                                                                                    * Thread.Sleep(RandomTimeGenerator(200));
                                                                                    * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown);
                                                                                    * Thread.Sleep(RandomTimeGenerator(50));
                                                                                    * MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp);*/
                                            Keyboard.ShortcutKeys(new System.Windows.Forms.Keys[] { System.Windows.Forms.Keys.ControlKey, System.Windows.Forms.Keys.L }, 40);
                                            Thread.Sleep(RandomTimeGenerator(1000));
                                        }
                                        Thread.Sleep(RandomTimeGenerator());
                                        string str = x.phrase;

                                        //Logger.Log("buying: " + x.name);
                                        foreach (char c in str)
                                        {
                                            Thread.Sleep(RandomTimeGenerator(150));
                                            Keyboard.KeyPress((System.Windows.Forms.Keys)Enum.Parse(typeof(System.Windows.Forms.Keys), c.ToString()), RandomTimeGenerator(50));
                                        }
                                        Thread.Sleep(RandomTimeGenerator(500));
                                        MouseOperations.SetCursorPosition(377 + RandomTimeGenerator(15), 146 + RandomTimeGenerator(8));

                                        Thread.Sleep(RandomTimeGenerator(150));
                                        MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightDown);
                                        Thread.Sleep(RandomTimeGenerator(40));
                                        MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.RightUp);
                                        Thread.Sleep(RandomTimeGenerator(500));
                                        Server.SetInfoText("Bought " + x.name);
                                        //Logger.Log("bought: " + x.name);

                                        for (int i = 0; i < str.Length; i++)
                                        {
                                            Thread.Sleep(RandomTimeGenerator(100));
                                            Keyboard.KeyPress(System.Windows.Forms.Keys.Back);
                                        }
                                        x.got = true;
                                        gold -= x.cost;
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                            Thread.Sleep(RandomTimeGenerator());

                            /*if (Shop.Opened)
                             *  Logger.Log("closing shop");*/
                            if (Shop.Opened)
                            {
                                Shop.Toggle();
                            }
                            Thread.Sleep(RandomTimeGenerator());
                            Server.SetInfoText("Bought first items.");
                            Thread.Sleep(RandomTimeGenerator(35000) + 7500);
                        }
                        catch (Exception x)
                        {
                            Logger.Log("gg: " + x.Message);
                        }
                    }
                    else
                    {
                        Thread.Sleep(RandomTimeGenerator(10000));
                        Logger.Log("Game (re)started.");
                        Server.SetInfoText("Game (re)started.");
                        Start        = 0;
                        items[0].got = true;
                    }
                    //Logger.Log("gttrue3 - after start");
                    try
                    {
                        var   bmp = PixelCache.GetScreenshot();
                        Color col = bmp.GetPixel(795, 756);
                        if (col.R != 0 && col.R != 255 && col.R != 165 && col.G != 142 && col.B != 99)
                        {
                            Keyboard.KeyPress(System.Windows.Forms.Keys.Y, RandomTimeGenerator(50));
                            string str = "Fixed camera." /* + Environment.NewLine + "R:" + col.R + " G:" + col.G + " B:" + col.B*/;
                            Server.SetInfoText(str);
                            Logger.Log(str);
                        }
                        if (bmp != null)
                        {
                            bmp.Dispose();
                        }
                    }
                    catch (Exception x)
                    {
                        Logger.Log("getscreen problem: " + x.Message);
                    }
                    Logger.Log("starting timers");
                    MinuteTimer     = new Timer(MinuteTimerCallback, null, MinuteTimerInterval, Timeout.Infinite);
                    HalfMinuteTimer = new Timer(HalfMinuteTimerCallback, null, 30000, Timeout.Infinite);
                    TenSecondsTimer = new Timer(TenSecondsTimerCallback, null, 10000, Timeout.Infinite);
                    SecondsTimer    = new Timer(SecondsTimerCallback, null, 1000, Timeout.Infinite);
                    Logger.Log("started");
                    SkillUp(2);
                    if (GameTimer != null)
                    {
                        GameTimer.Dispose();
                        GameTimer = null;
                    }
                    //Logger.Log("gtend");
                }
            }
            catch (Exception e)
            {
                try
                {
                    var bmp = PixelCache.GetScreenshot();
                    bmp.Bitmap.Save("fe1.bmp");
                    bmp.Dispose();
                }
                catch (Exception x)
                {
                    Logger.Log("fatal (1) image error..." + x.Message);
                }
                Logger.Log("fatal error: gametimer \r\n" + e.Message);

                /*
                 * MinuteTimer = new Timer(MinuteTimerCallback, null, MinuteTimerInterval, Timeout.Infinite);
                 * HalfMinuteTimer = new Timer(HalfMinuteTimerCallback, null, 30000, Timeout.Infinite);
                 * TenSecondsTimer = new Timer(TenSecondsTimerCallback, null, 10000, Timeout.Infinite);
                 * SecondsTimer = new Timer(SecondsTimerCallback, null, 1000, Timeout.Infinite);
                 * SkillUp(2);*/
                if (GameTimer != null)
                {
                    GameTimer.Dispose();
                    GameTimer = null;
                }
            }
        }