コード例 #1
0
        public static void OnTick(object sender, ElapsedEventArgs e)
        {
            BotAction.WalkTo(xescape, yescape);

            Timer  Timer2 = new Timer();
            double time   = (10 / Convert.ToInt64(Character.RunSpeed * 0.1f));

            Timer2.Elapsed += new ElapsedEventHandler(OnTick1);
            Timer2.Interval = time * 1000 + 1;
            Timer2.Start();
            Timer2.AutoReset = false;
            Timer2.Enabled   = true;
        }
コード例 #2
0
        public static void StuckMove()
        {
            int dist = (int)(Math.Abs(xcome - xstuck) + Math.Abs(ycome - ystuck));

            double xp = (10 * xcome - (dist + 10) * xstuck) / (0 - dist);
            double yp = (10 * ycome - (dist + 10) * ystuck) / (0 - dist);

            BotAction.WalkTo(xp, yp);

            Timer  Timer1 = new Timer();
            double time   = (10 / Convert.ToInt64(Character.RunSpeed * 0.1f));

            Timer1.Elapsed += new ElapsedEventHandler(OnTick);
            Timer1.Interval = time * 1000 + 1;
            Timer1.Start();
            Timer1.AutoReset = false;
            Timer1.Enabled   = true;

            xescape = xp - (yp - ystuck);
            yescape = (xp - xstuck) + yp;
        }
コード例 #3
0
        public static void OnTick(object sender, ElapsedEventArgs e)
        {
            Training.SelectMonster();

            if (Training.monster_selected == false)
            {
                int dist = (int)(Math.Abs((nextx - Character.X)) + Math.Abs((nexty - Character.Y)));
                BotAction.WalkTo(nextx, nexty);

                double time        = (dist / Convert.ToInt64(Character.RunSpeed * 0.12f));
                Timer  RandomTimer = new Timer();
                RandomTimer.Elapsed += new ElapsedEventHandler(OnTickSecond);
                RandomTimer.Interval = time * 1000 + 1;
                RandomTimer.Start();
                RandomTimer.AutoReset = false;
                RandomTimer.Enabled   = true;
            }
            else
            {
                running = false;
            }
        }
コード例 #4
0
        public static void WalkScript()
        {
            {
                if (Data.bot)
                {
                    if (i < count)
                    {
                        Data.loop = true;
                        i++;
                        try
                        {
                            string action = read.ReadLine();
                            if (action.StartsWith("go"))
                            {
                                Data.loopaction = "go";
                                Coordinates.x   = Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]);
                                Coordinates.y   = Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1]);
                                int dist = (int)(Math.Abs(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]) - Character.X) + Math.Abs(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1]) - Character.Y));
                                BotAction.WalkTo(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]), Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1]));
                                double time = 0;
                                if (Data.char_horseid == 0)
                                {
                                    time = (dist / Convert.ToInt64(Character.RunSpeed * 0.08));
                                }
                                else
                                {
                                    time = (dist / Convert.ToInt64(Data.char_horsespeed * 0.08));
                                }
                                Timer repeat = new Timer();
                                repeat.Elapsed += new ElapsedEventHandler(repeat_Elapsed);
                                repeat.Interval = time * 1000 + 1;
                                repeat.Start();
                                repeat.AutoReset = false;
                                repeat.Enabled   = true;
                            }
                            if (action.StartsWith("talk"))
                            {
                                if (action.Split('(')[1].Split(')')[0] == "Storage")
                                {
                                    Data.loopaction = "storage";
                                    StorageControl.OpenStorage();
                                }
                                if (action.Split('(')[1].Split(')')[0] == "Sell")
                                {
                                    Data.loopaction = "blacksmith";
                                    SellControl.OpenShop();
                                }
                                if (action.Split('(')[1].Split(')')[0] == "Stable")
                                {
                                    Data.loopaction = "stable";
                                    BuyControl.OpenShop();
                                }
                                if (action.Split('(')[1].Split(')')[0] == "Grocery")
                                {
                                    Data.loopaction = "accessory";
                                    BuyControl.OpenShop();
                                }
                                if (action.Split('(')[1].Split(')')[0] == "Potion")
                                {
                                    Data.loopaction = "potion";
                                    BuyControl.OpenShop();
                                }
                            }
                            if (action.StartsWith("delay"))
                            {
                                Timer timer = new Timer();
                                timer.Elapsed += new ElapsedEventHandler(OnTick);
                                timer.Interval = Convert.ToInt32(action.Split('(')[1].Split(')')[0]) + 1;
                                timer.Start();
                                timer.AutoReset = false;
                                timer.Enabled   = true;
                            }
                            if (action.StartsWith("teleport"))
                            {
                                string[] tmp = action.Split(',');
                                uint     id  = Spawns.NPCID[Spawns.NPCType.IndexOf(Mobs_Info.mobstypelist[Mobs_Info.mobsidlist.IndexOf(Convert.ToUInt32(tmp[1]))])];
                                Teleport.Tele(id, Convert.ToByte(tmp[2]), Convert.ToUInt32(tmp[3]));
                            }
                            if (action.StartsWith("set"))
                            {
                                Globals.MainWindow.SetText(Globals.MainWindow.x_setbox, action.Split('(')[1].Split(')')[0].Split(',')[0]);
                                Globals.MainWindow.SetText(Globals.MainWindow.y_setbox, action.Split('(')[1].Split(')')[0].Split(',')[1]);
                            }
                        }
                        catch { }
                        if (i == count)
                        {
                            Data.loopaction = null;
                            Data.loop       = false;
                            i = 0;
                            read.Close();
                            if (Data.loopend == 0)
                            {
                                InventoryControl.MergeItems();
                                System.Threading.Thread.Sleep(5000);

                                Globals.MainWindow.UpdateLogs("Townloop Ended");
                                if (Data.char_horseid == 0)
                                {
                                    Data.loopaction = "mounthorse";
                                    BotAction.MountHorse();
                                }
                                else
                                {
                                    Data.loopend = 1;
                                    StartLooping.LoadTrainScript();
                                }
                            }
                            else
                            {
                                Globals.MainWindow.UpdateLogs("Walkscript Ended");
                                Globals.MainWindow.SetText(Globals.MainWindow.x_setbox, Character.X.ToString());
                                Globals.MainWindow.SetText(Globals.MainWindow.y_setbox, Character.Y.ToString());
                                StartLooping.Start();
                            }
                        }
                    }
                }
            }
        }
コード例 #5
0
        public static void WalkManager()
        {
            {
                if (Globals.MainWindow.Checked(Globals.MainWindow.walkcenter) == true)
                {
                    int trainx = Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.x_setbox));
                    int trainy = Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.y_setbox));

                    if (!walking_center)
                    {
                        walking_center = true;
                        BotAction.WalkTo(trainx, trainy);
                        LogicControl.Manager();
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(1000);
                        LogicControl.Manager();
                    }
                }
                else if (Globals.MainWindow.Checked(Globals.MainWindow.walkaround) == true)
                {
                    if (walking_circle == true)
                    {
                        if (Walking.i == 24)
                        {
                            Walking.i = 0;
                        }

                        running = true;
                        int runangle = 0;
                        try
                        {
                            runangle = angle[i];
                        }
                        catch
                        {
                            i        = 0;
                            runangle = angle[i];
                        }

                        nextx = Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.x_setbox)) + Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.runningrangebox)) * Math.Cos(Math.PI * runangle / 180.0);
                        nexty = Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.y_setbox)) + Convert.ToInt32(Globals.MainWindow.ReadText(Globals.MainWindow.runningrangebox)) * Math.Sin(Math.PI * runangle / 180.0);

                        int dist = (int)(Math.Abs((nextx - Character.X)) + Math.Abs((nexty - Character.Y)));

                        BotAction.WalkTo((nextx + Character.X) / 2, (nexty + Character.Y) / 2);
                        i++;

                        double time = (dist / Convert.ToInt64(Character.RunSpeed * 0.12f));

                        Timer RandomTimer = new Timer();
                        RandomTimer.Elapsed += new ElapsedEventHandler(OnTick);
                        RandomTimer.Interval = time * 500 + 1;
                        RandomTimer.Start();
                        RandomTimer.AutoReset = false;
                        RandomTimer.Enabled   = true;
                    }
                }
                else if (Globals.MainWindow.Checked(Globals.MainWindow.walkpath) == true)
                {
                    if (Globals.MainWindow.trainbox.Items.Count > 0)
                    {
                        if (walking_path == true)
                        {
                            string line = Globals.MainWindow.trainbox.Items[j].ToString();
                            if (line.StartsWith("go"))
                            {
                                string coodinates = line.Split('(')[1].Split(')')[0];
                                nextx = Convert.ToDouble(coodinates.Split(',')[0]);
                                nexty = Convert.ToDouble(coodinates.Split(',')[1]);
                                int dist = (int)(Math.Abs((nextx - Character.X)) + Math.Abs((nexty - Character.Y)));

                                BotAction.WalkTo((nextx + Character.X) / 2, (nexty + Character.Y) / 2);

                                double time = (dist / Convert.ToInt64(Character.RunSpeed * 0.12f));

                                Timer RandomTimer = new Timer();
                                RandomTimer.Elapsed += new ElapsedEventHandler(OnTick);
                                RandomTimer.Interval = time * 500 + 1;
                                RandomTimer.Start();
                                RandomTimer.AutoReset = false;
                                RandomTimer.Enabled   = true;
                            }
                            j++;
                            if (j == Globals.MainWindow.trainbox.Items.Count)
                            {
                                j = 0;
                            }
                        }
                    }
                    else
                    {
                        Globals.MainWindow.UpdateLogs("Cannot find any coordinates to walk to during training!");
                    }
                }
            }
        }