Jump to content

level up, Hearthstone, train and sell


morris79

Recommended Posts

Bin trying and trying, now give up. I want to make a plugin for my druid. When its lvl up and lvl is XX, then cast Teleport to moonglade. Do repair, sell and train new spells.

I know Droidz HS on full bags works. Droidzs

I know  "Level UP! Reload Fight Class.", is written in log

I know Train x lvl is working

So fare, its kinda works, but does not see the lvl up in log.

Help a noob out please ?

using System;
using System.ComponentModel;
using System.Threading;
using System.Windows.Forms;
using robotManager.Events;
using robotManager.FiniteStateMachine;
using robotManager.Helpful;
using wManager.Wow.Bot.Tasks;
using wManager.Wow.Enums;
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 != "Level UP!")
                return;

            Logging.WriteDebug("[HearthstoneToGoToTown] Use Hearthstone.");
            var o = wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported;
            wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;
            MovementManager.StopMove();
            Thread.Sleep(Usefuls.Latency + 150);
            SpellManager.CastSpellByNameLUA("Teleport: Moonglade");
            Thread.Sleep(Usefuls.Latency + 500);
            if (ObjectManager.Me.IsCast)
            {
                Usefuls.WaitIsCasting();
                Thread.Sleep(Usefuls.Latency + 10000); // wait load screen
            }
            if (wManager.Wow.Helpers.Usefuls.MapZoneName == "Moonglade")
            {
                Logging.WriteDebug("Let sell");
                GoToTask.ToPositionAndIntecractWithNpc(new Vector3(8030.57f, -2687.78f, 515.0596), 12023);
                Thread.Sleep(12000);
                Logging.WriteDebug("Go to Trainer");
                GoToTask.ToPositionAndIntecractWithNpc(new Vector3(7867.13, -2593.73, 486.8363), 12042);
                Thread.Sleep(12000);
                // Forces for to Train.
                if (ObjectManager.Me.WowClass == WoWClass.Druid)
                {
                    if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(new Vector3(7867.13, -2593.73, 486.8363), 12042, -1, false))
                    {
                        Thread.Sleep(5000);
                        wManager.Wow.Helpers.Lua.RunMacroText("/script SelectGossipOption(1)");
                        wManager.Wow.Helpers.Lua.LuaDoString("LoadAddOn'Blizzard_TrainerUI' f=ClassTrainerTrainButton f.e = 0 if f:GetScript'OnUpdate' then f:SetScript('OnUpdate', nil)else f:SetScript('OnUpdate', function(f,e) f.e=f.e+e if f.e>.01 then f.e=0 f:Click() end end)end");
                        Thread.Sleep(5000);
                    }
                }
                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);
        }
    }
}

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...