January 10, 20179 yr Hi, can anyone tell me how to code the following? When bag are full use hearthstone to go to Town.
January 10, 20179 yr Hello, use plugin like HearthstoneToGoToTown.cs (not tested): using System; using System.ComponentModel; using System.Threading; using System.Windows.Forms; using robotManager.Events; using robotManager.FiniteStateMachine; using robotManager.Helpful; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class Main : wManager.Plugin.IPlugin { public void Initialize() { FiniteStateMachineEvents.OnRunState += FiniteStateMachineEventsOnOnRunState; Logging.Write("[HearthstoneToGoToTown] Loadded."); } public void Dispose() { Logging.Write("[HearthstoneToGoToTown] Disposed."); } public void Settings() { MessageBox.Show("[HearthstoneToGoToTown] No settings for this plugin."); } private void FiniteStateMachineEventsOnOnRunState(Engine engine, State state, CancelEventArgs cancelable) { try { if (string.IsNullOrWhiteSpace(state.DisplayName) || state.DisplayName != "To Town") return; Logging.WriteDebug("[HearthstoneToGoToTown] Use Hearthstone."); var o = wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported; wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false; MovementManager.StopMove(); Thread.Sleep(Usefuls.Latency + 150); Lua.LuaDoString("local itemName, _, _, _, _, _, _, _ = GetItemInfo(6948); RunMacroText('/use ' .. itemName);"); Thread.Sleep(Usefuls.Latency + 500); if (ObjectManager.Me.IsCast) { Usefuls.WaitIsCasting(); Thread.Sleep(Usefuls.Latency + 10000); // wait load screen } wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = o; } catch (Exception e) { Logging.WriteError("[HearthstoneToGoToTown] " + e); } } }
Create an account or sign in to comment