Пример #1
0
        public Highscore(Game1 game)
        {
            _game = game;
            _scoreboard = new Objects.GameObject(_game, new Vector2(300, 20))
            {
                Texture = AssetManager.Textures[Assets.HIGHSCORE_BACKGROUND]
            };

            _font = AssetManager.Fonts[Enums.Assets.FONT];

            _pointer = new Objects.GameObject(_game, new Vector2(930, 150))
            {
                Texture = AssetManager.Textures[Assets.MENU_POINTER],
                SpriteEffect = SpriteEffects.FlipHorizontally
            };

            _scoreLocations = new List<Vector2>()
            {
                new Vector2(450, 270),
                new Vector2(450, 385),
                new Vector2(450, 510)
            };
            LoadHighscore();

        }
Пример #2
0
        private void Run()
        {
            Ingame.Tele(spawnObject, 50, true);
            while (Running)
            {
                Objects.GameObject spawner = new Objects.GameObject(0, 0, 0);
                while (spawner.baseAdd == 0 && Running)
                    spawner = ObjectManager.GetGameObjectById(spawnObjectId);

                Calls.OnRightClickObject(spawner.baseAdd, 0);

                while (!(Calls.GetText(gossipOpenLua, "troll1", 10).Trim() == "true") && Running)
                {
                    Thread.Sleep(100);
                }
                Thread.Sleep(250);

                while ((Calls.GetText(gossipOpenLua, "troll1", 10).Trim() == "true") && Running)
                {
                    Calls.DoString("GossipTitleButton1:Click() QuestFrameCompleteQuestButton:Click()");
                }

            }

            Exchange.IsEngineRunning = false;
            Exchange.CurrentEngine = "None";
            DupeEngine.engine = null;
        }
Пример #3
0
        private void Run()
        {
            Ingame.Tele(spawnObject, 50, true);
            while (Running)
            {
                Objects.GameObject spawner = new Objects.GameObject(0, 0, 0);
                while (spawner.baseAdd == 0 && Running)
                {
                    spawner = ObjectManager.GetGameObjectById(spawnObjectId);
                }

                Calls.OnRightClickObject(spawner.baseAdd, 0);

                while (!(Calls.GetText(gossipOpenLua, "troll1", 10).Trim() == "true") && Running)
                {
                    Thread.Sleep(100);
                }
                Thread.Sleep(250);

                while ((Calls.GetText(gossipOpenLua, "troll1", 10).Trim() == "true") && Running)
                {
                    Calls.DoString("GossipTitleButton1:Click() QuestFrameCompleteQuestButton:Click()");
                }
            }

            Exchange.IsEngineRunning = false;
            Exchange.CurrentEngine   = "None";
            DupeEngine.engine        = null;
        }
Пример #4
0
 public override void Run()
 {
     if (!foundBobber)
     {
         int count = 0;
         List <Objects.GameObject> tmpList = ObjectManager.GetGameObjectsCreatedByPlayer();
         foreach (Objects.GameObject x in tmpList)
         {
             if (x.objectId == 35591)
             {
                 count  = count + 1;
                 bobber = x;
             }
         }
         if (count == 1)
         {
             foundBobber = true;
         }
     }
     else
     {
         if (bobber.isBusy == 1)
         {
             Calls.OnRightClickObject(bobber.baseAdd, 1);
             foundBobber = false;
         }
     }
 }
Пример #5
0
        public void OpenDoor(uint door)
        {
            foreach (Object o in Obj.ObjectsInRange)
            {
                Objects.GameObject go = o as Objects.GameObject;
                if (go != null && go.Spawn.Guid == door)
                {
                    go.Interactable = true;
                    go.OpenDoor(false);

                    foreach (Player player in go.PlayersInRange)
                    {
                        go.SendMeTo(player);
                    }

                    return;
                }
            }
        }
Пример #6
0
        public override void OnInteract(Object Obj, Player Target, InteractMenu Menu)
        {
            Objects.GameObject go = Obj.GetGameObject();

            float dx = go.Spawn.WorldX - Target._Value.WorldX;
            float dy = go.Spawn.WorldY - Target._Value.WorldY;

            double heading = Math.Atan2(-dx, dy);

            if (heading < 0)
            {
                heading += 4096;
            }

            const int distance = (int)((float)5 * 13.2f);
            double    angle    = heading;
            double    targetX  = go.Spawn.WorldX - (Math.Sin(angle) * distance);
            double    targetY  = go.Spawn.WorldY + (Math.Cos(angle) * distance);

            int newX;
            int newY;

            if (targetX > 0)
            {
                newX = (int)targetX;
            }
            else
            {
                newX = 0;
            }

            if (targetY > 0)
            {
                newY = (int)targetY;
            }
            else
            {
                newY = 0;
            }

            Target.IntraRegionTeleport((uint)newX, (uint)newY, (ushort)go.Spawn.WorldZ, (ushort)Target._Value.WorldO);
        }
Пример #7
0
        public StartScreen(Game1 game)
        {
            _game = game;
            _logo = new Objects.GameObject(_game, new Vector2(390, 20))
            {
                Texture = AssetManager.Textures[Assets.LOGO]
            };

            _btns = new Dictionary<ScreenType, GameObject>();

            var btn = new Objects.GameObject(_game, new Vector2(480, 390))
            {
                Texture = AssetManager.Textures[Assets.MENU_PLAY]
            };
            _btns.Add(Enums.ScreenType.STORY, btn);

            btn = new Objects.GameObject(_game, new Vector2(480, 445))
            {
                Texture = AssetManager.Textures[Assets.MENU_SCOREBOARD]
            };
            _btns.Add(Enums.ScreenType.HIGHSCORE, btn);

            btn = new Objects.GameObject(_game, new Vector2(480, 500))
            {
                Texture = AssetManager.Textures[Assets.MENU_OPTIONS]
            };
            //_btns.Add(Enums.ScreenType.OPTIONS, btn);

            btn = new Objects.GameObject(_game, new Vector2(480, 555))
            {
                Texture = AssetManager.Textures[Assets.MENU_STOP]
            };
            _btns.Add(Enums.ScreenType.STOP, btn);

            _pointer = new Objects.GameObject(_game, new Vector2(450, 390))
            {
                Texture = AssetManager.Textures[Assets.MENU_POINTER]
            };

            Screens.Highscore.LoadHighscore();
        }
Пример #8
0
        public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(overlay.sprite, Vector2.Zero, Color.White * 0.5f);
            selectedObjects = Game1.OBM.GetPlayer().selectedObjects;

            foreach (Objects.GameObject obj in selectedObjects)
            {
                if (selectedCount < selectedCapacity)
                {
                    if (stretchRect.X + stretchSize < selectRect.X + selectRect.Width)
                    {
                        spriteBatch.Draw(obj.texture.sprite, stretchRect, Color.White);
                        selectedCount++;
                        stretchRect.X += stretchSize + 1;
                    }
                    else
                    {
                        stretchRect.X = selectRect.X + stretchBuffer;
                        stretchRect.Y += stretchSize + 1;
                    }
                }
            }
            if (selectedObjects.Count > 0)
            {
                int i = 0;
                while (selectedObjects[i] as Objects.Structure == null)
                {
                    if (i == selectedObjects.Count - 1)
                        break;
                    i++;
                }
                selectedObject = selectedObjects[i];
                for (int x = 0; x < selectedObject.hotKeys.Count; x++)
                {
                    Rectangle drawRect = new Rectangle(1130 + (75 * x), 910 + (75 * x), 75, 75);
                    spriteBatch.Draw(selectedObject.hotKeyImages[x].Value.sprite, drawRect, Color.White);
                    spriteBatch.DrawString(Game1.testFont, selectedObject.hotKeyImages[x].Key.ToString(), new Vector2(drawRect.X, drawRect.Y), Color.White);
                }
                if (selectedObject as Objects.Structure != null)
                {
                    Objects.Structure structure = (Objects.Structure)selectedObject;
                    if (structure.loadQueue.Count > 0)
                    {
                        double percent = 1 - (double)structure.currentLoadTime / structure.loadQueue.Peek().Key;
                        loadBarRect.Width = (int)(170 * percent);
                        spriteBatch.Draw(loadBar.sprite, loadBarRect, Color.White);
                        spriteBatch.DrawString(Game1.testFont, ((structure.currentLoadTime + 999) / 1000).ToString(), new Vector2(830, loadBarRect.Y - 25), Color.Black);
                        for (int x = 0; x < structure.loadQueue.Count; x++)
                        {
                            spriteBatch.Draw(structure.loadQueue.Peek().Value.texture.sprite, loadQueueRects[x], Color.White);
                        }
                    }
                    spriteBatch.Draw(loadBox.sprite, loadRect, Color.White);
                }
            }
            selectedCount = 0;
        }
Пример #9
0
 public void StopBuilding()
 {
     if (buildObject as Structure != null)
     {
         Structure buildStruct = buildObject as Structure;
         if (buildStruct.workers.Contains(this))
             buildStruct.workers.Remove(this);
         building = false;
         buildObject = new Objects.GameObject();
     }
 }
Пример #10
0
 public override void RightClickAction(Vector2 mousePos)
 {
     StopBuilding();
     Point queryPoint = Game1.OBM.CalcChunkIndex(new Point((int)(mousePos.X + Game1.CAM.offset.X), (int)(mousePos.Y + Game1.CAM.offset.Y)));
     Rectangle queryRect = new Rectangle((int)mousePos.X, (int)mousePos.Y, hitBox.Width, hitBox.Height);
     List<GameObject> queryObjects = Game1.OBM.GetWorld().Query(queryPoint, queryRect);
     foreach(GameObject obj in queryObjects)
     {
         if (obj as Structure != null)
         {
             buildObject = obj;
             buildSet = true;
             mousePos = obj.position - Game1.CAM.offset;
             mousePos.X -= Game1.OBM.GetWorld().chunkSize;
             mousePos.Y -= Game1.OBM.GetWorld().chunkSize;
             break;
         }
     }
     i = 1;
     path.Clear();
     Game1.OBM.GetWorld().UpdateObject(this);
     Point chunkLoc = Game1.OBM.CalcChunkIndex(new Point(((int)(mousePos.X + Game1.CAM.offset.X)),
         ((int)(mousePos.Y + Game1.CAM.offset.Y))));
     GoTo(new Point(chunkLoc.X * 25, chunkLoc.Y * 25), position - Game1.CAM.offset);
 }
Пример #11
0
 public void QueueTownCenter()
 {
     StopBuilding();
     Point index = Game1.OBM.CalcChunkIndex(ToPoint(Game1.OBM.GetPlayer().mousePos.X + Game1.CAM.offset.X, Game1.OBM.GetPlayer().mousePos.Y + Game1.CAM.offset.Y));
     Objects.TownCenter tempCenter = new Objects.TownCenter("TownCenter", "Structure", new Vector2(index.X * Game1.OBM.GetWorld().chunkSize, index.Y * Game1.OBM.GetWorld().chunkSize));
     buildObject = tempCenter;
     buildSet = false;
         PushUpdate();
 }
Пример #12
0
 public virtual void OnWorldGameObjectEvent(string EventName, Objects.GameObject Obj, object Data)
 {
 }
Пример #13
0
        private void Run()
        {
            int runCounter = 0;

            while (Running)
            {
                try
                {
                    if (ObjectManager.isProcessOpen)
                    {
                        if (ObjectManager.IsWowCrashed())
                        {
                            Process.GetProcessById(BmWrapper.memory.ProcessId).Kill();
                            continue;
                        }

                        if (ObjectManager.LoginState == "login")
                        {
                            Calls.DoString("DefaultServerLogin('" + Data.AccName + "', '" + Data.AccPw + "');");
                            int wait = 0;
                            while (!ObjectManager.IsWowCrashed() && ObjectManager.characterCount() == 0)
                            {
                                Thread.Sleep(500);
                                wait++;
                                if (wait >= 120)
                                {
                                    Process.GetProcessById(BmWrapper.memory.ProcessId).Kill();
                                    break;
                                }
                            }
                            afterDc = true;
                        }
                        else if (ObjectManager.LoginState == "charselect" && afterDc)
                        {
                            if (!ObjectManager.IsWowCrashed())
                            {
                                // Enter -> Login
                                SendMessage(BmWrapper.memory.WindowHandle, WM_KEYDOWN, 0x0D, 0);
                                SendMessage(BmWrapper.memory.WindowHandle, WM_KEYUP, 0x0D, 0);
                            }

                            while (!ObjectManager.IsWowCrashed() && ObjectManager.playerPtr == 0 && Running)
                            {
                                Thread.Sleep(100);
                            }
                            while (!ObjectManager.IsWowCrashed() && ObjectManager.PlayerObject.Pos.x == 0 && Running)
                            {
                                Thread.Sleep(100);
                            }
                            if (!ObjectManager.IsWowCrashed())
                            {
                                Ingame.Tele(Mailbox, 60, true);
                                Calls.SendMovementUpdate(0xEE, (uint)Environment.TickCount);
                            }
                        }


                        if (runCounter < 60)
                        {
                            if (ObjectManager.playerPtr != 0)
                            {
                                while (!ObjectManager.IsWowCrashed() && ObjectManager.PlayerObject.Pos.differenceTo(Mailbox) > 2)
                                {
                                    Ingame.Tele(Mailbox, 60, true);
                                }
                                afterDc = false;
                                Calls.AntiAfk();
                                Objects.GameObject mailbox = new Objects.GameObject(0, 0, 0);
                                while (!ObjectManager.IsWowCrashed() && mailbox.baseAdd == 0 && Running && !(ObjectManager.LoginState == "login"))
                                {
                                    mailbox = ObjectManager.GetGameObjectById(mbId);
                                }

                                if (!ObjectManager.IsWowCrashed())
                                {
                                    Calls.OnRightClickObject(mailbox.baseAdd, 0);
                                }


                                while (!ObjectManager.IsWowCrashed() && !(Calls.GetText(mailLua, "troll1", 10).Trim() == "true") && Running && !(ObjectManager.LoginState == "login"))
                                {
                                    Thread.Sleep(100);
                                }
                                Thread.Sleep(1500);

                                if (!ObjectManager.IsWowCrashed())
                                {
                                    //Calls.DoString("TakeInboxItem(1, 1) Logout()");
                                    SendMessage(BmWrapper.memory.WindowHandle, WM_KEYDOWN, 0x31, 0);
                                    SendMessage(BmWrapper.memory.WindowHandle, WM_KEYUP, 0x31, 0);

                                    Calls.PacketZoneChange();
                                    Calls.PacketSendLogout();
                                }

                                while (!ObjectManager.IsWowCrashed() && ObjectManager.characterCount() == 0 && Running && !(ObjectManager.LoginState == "login"))
                                {
                                    Thread.Sleep(100);
                                }
                                Thread.Sleep(250);

                                if (!ObjectManager.IsWowCrashed())
                                {
                                    // Enter -> Login
                                    SendMessage(BmWrapper.memory.WindowHandle, WM_KEYDOWN, 0x0D, 0);
                                    SendMessage(BmWrapper.memory.WindowHandle, WM_KEYUP, 0x0D, 0);
                                }

                                while (!ObjectManager.IsWowCrashed() && ObjectManager.playerPtr == 0 && Running && !(ObjectManager.LoginState == "login"))
                                {
                                    Thread.Sleep(100);
                                }
                                runCounter++;
                            }
                        }
                        else
                        {
                            if (doVendor)
                            {
                                while (!ObjectManager.IsWowCrashed() && ObjectManager.PlayerObject.Pos.differenceTo(Vendor) > 2)
                                {
                                    Ingame.Tele(Vendor, 60, true);
                                }
                                if (!ObjectManager.IsWowCrashed())
                                {
                                    Calls.SendMovementUpdate(0xEE, (uint)Environment.TickCount);
                                }

                                Objects.UnitObject vendorObject = new Objects.UnitObject(0, 0, 0);
                                while (!ObjectManager.IsWowCrashed() && vendorObject.baseAdd == 0 && Running)
                                {
                                    vendorObject = ObjectManager.GetUnitByName(vendorName);
                                }

                                if (!ObjectManager.IsWowCrashed())
                                {
                                    Calls.OnRightClickUnit(vendorObject.baseAdd, 0);
                                }

                                while (!ObjectManager.IsWowCrashed() && !(Calls.GetText(vendorLua, "troll1", 10).Trim() == "true") && Running)
                                {
                                    Thread.Sleep(100);
                                }

                                if (!ObjectManager.IsWowCrashed())
                                {
                                    Ingame.SellAll();
                                }
                                while (!ObjectManager.IsWowCrashed() && ObjectManager.PlayerObject.Pos.differenceTo(Mailbox) > 2)
                                {
                                    Ingame.Tele(Mailbox, 60, true);
                                }
                                if (!ObjectManager.IsWowCrashed())
                                {
                                    Calls.SendMovementUpdate(0xEE, (uint)Environment.TickCount);
                                }
                                runCounter = 0;
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    else
                    {
                        if (!ObjectManager.isProcessOpen)
                        {
                            ObjectManager.runThread = false;
                            ChatReader.runThread    = false;
                            Inject.Restore();
                            BmWrapper.memory.Close();
                            Process WoW = Process.Start(@"C:\Users\Cody\Desktop\WoW 1.12.1\Feenix 1.12 client\WoW.exe");
                            Thread.Sleep(30000);
                            BmWrapper.memory.OpenProcessAndThread(WoW.Id);
                            Inject.Apply();
                            Inject.Init();

                            MoveWindow(BmWrapper.memory.WindowHandle, 0, 0, 153, 119, true);

                            ObjectManager.getObjThread = new Thread(ObjectManager.getObj);
                            ObjectManager.getObjThread.IsBackground = true;
                            ObjectManager.runThread = true;
                            ObjectManager.getObjThread.Start();

                            ChatReader.readChatThread = new Thread(ChatReader.readChat);
                            ChatReader.readChatThread.IsBackground = true;
                            ChatReader.runThread = true;
                            ChatReader.readChatThread.Start();
                        }
                    }
                }
                catch { }
            }
            Exchange.IsEngineRunning = false;
            Exchange.CurrentEngine   = "None";
            DupeEngine.engine        = null;
        }