Exemple #1
0
//==========================================================================================
//main
//==========================================================================================
        static void Main(string[] args)
        {
            string fileName     = "C:\\Users\\Justin\\Desktop\\antrail";
            string windRailFile = "C:\\Users\\Justin\\Desktop\\windrail";
            List <Tuple <int, int, int> > rail     = readRail(fileName);
            List <Tuple <int, int, int> > windRail = readRail(windRailFile);

            PlayerMobile Player    = PlayerMobile.GetPlayer();
            var          RUOconfig = new RuneBookConfig()
            {
                ScrollOffset  = 2,
                DropOffset    = 3,
                DefaultOffset = 4,
                RecallOffset  = 5,
                GateOffset    = 6,
                SacredOffset  = 7,
                Jumper        = 6
            };

            Item     runebookserial = GetTargetItem();
            Runebook rb             = new Runebook(runebookserial.Serial.Value, RUOconfig);


            Console.WriteLine("recalling to ant location");
            recallTo(Player, rb, "antHole");
            Stealth.Client.Wait(1000);
            Console.WriteLine("going into anthole");
            //===============================================================================
            //ant hole
            //===============================================================================
            int locX = Player.Location.X;
            int locY = Player.Location.Y;

            clickHole(Player, locX, locY);
            for (int i = 0; i < rail.Count(); i++)
            {
                Console.WriteLine("moving to: ");
                Console.WriteLine("\t" + rail.ElementAt(i).Item1 + "," + rail.ElementAt(i).Item2 + "," + rail.ElementAt(i).Item3);

                if (rail.ElementAt(i).Item1 == 0 &&
                    rail.ElementAt(i).Item2 == 0 &&
                    rail.ElementAt(i).Item3 == 0)
                {
                    int _X = Player.Location.X;
                    int _Y = Player.Location.Y;
                    Console.WriteLine("clicking hole 1...");
                    clickHoleTile(Player, _X, _Y, 5913, 1893, 1073886108);
                    Console.WriteLine("success.");
                    continue;
                }
                if (rail.ElementAt(i).Item1 == 1 &&
                    rail.ElementAt(i).Item2 == 1 &&
                    rail.ElementAt(i).Item3 == 1)
                {
                    int _X = Player.Location.X;
                    int _Y = Player.Location.Y;
                    Console.WriteLine("clicking hole 2...");
                    clickHoleTile(Player, _X, _Y, 5876, 1892, 1073886069);
                    Console.WriteLine("success.");
                    continue;
                }

                if (Player.Hits != Player.MaxHits)
                {
                    healSelf(Player);
                }
                Console.WriteLine("railNum: " + i + " out of " + rail.Count());
                Console.WriteLine((rail.Count - i) + " rail spots to go.");

                advancePosition(Player, rail.ElementAt(i));
            }
            //Console.ReadLine();
            //===========================================================================
            //find the matriarch
            //============================================================================
            SDK.Initialize();

            List <Mobile> npcs = Scanner.FindMobiles();

            foreach (Mobile m in npcs)
            {
                if (m.Serial.Value == 1640)
                {
                    ushort _locX = (ushort)m.Location.X;
                    ushort _locY = (ushort)m.Location.Y;
                    sbyte  _locZ = (sbyte)m.Location.Z;
                    Console.WriteLine("Npc found. Moving to location...");
                    Player.Movement.MoveXYZ(_locX, _locY, _locZ, 1, 1, true);
                    Stealth.Client.Wait(1000);
                    acceptQuesticle(Player, m);

                    break;
                }
            }
            //============================================================================
            //at wind passage. Need to kill 7 ants
            //============================================================================
            Console.WriteLine("recalling to wind");
            recallTo(Player, rb, "windTram");
            Console.WriteLine("begining rail...");
            List <Ants> ants = new List <Ants>();

            Scanner.Range         = 3;
            Scanner.VerticalRange = (uint)Player.Location.Z;
            for (int i = 0; i < windRail.Count(); i++)
            {
                if (Player.Hits != Player.MaxHits)
                {
                    healSelf(Player);
                }
                advancePosition(Player, windRail.ElementAt(i));
                SDK.Initialize();

                ants = Scanner.Find <Ants>(0x0, false).OrderBy(x => x.Distance).ToList();
                foreach (Ants m in ants)
                {
                    Player.Cast("Wither");
                    Thread.Sleep(1000);
                    if (Player.Hits != Player.MaxHits)
                    {
                        healSelf(Player);
                    }
                }
                if (ants.Count == 0)
                {
                    continue;
                }
            }
        }
Exemple #2
0
 private static void healSelf(PlayerMobile p)
 {
     Console.WriteLine("player damaged, Healing self.");
     p.Cast("heal");
     p.Targeting.AutoTargetSelf();
 }