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(); }
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; }
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; }
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; } } }
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; } } }
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); }
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(); }
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; }
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(); } }
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); }
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(); }
public virtual void OnWorldGameObjectEvent(string EventName, Objects.GameObject Obj, object Data) { }
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; }