Jump to content

Droidz

Administrators
  • Posts

    12579
  • Joined

  • Last visited

Posts posted by Droidz

  1. Hello,

    No tested, but you can try this plugin :  CastSpellByName to Cast Macro.cs

    using robotManager.Helpful;
    
    public class Main : wManager.Plugin.IPlugin
    {
        public void Initialize()
        {
            Logging.Write("CastSpellByName to /cast plugin loaded.");
            robotManager.Events.Events.OnCustomEvent += OnEventsOnOnCustomEvent;
        }
    
        private void OnEventsOnOnCustomEvent(string name, object[] args, System.ComponentModel.CancelEventArgs cancelable)
        {
            if (name.StartsWith("SpellManager.CastSpellByName") &&
                args.Length >= 1 &&
                args[0] is string)
            {
                var spellName = (string)args[0];
    
                if (!string.IsNullOrWhiteSpace(spellName)){
                    
                    string luaUnit = null;
                    if (args.Length >= 2 &&
                        args[1] is string)
                        luaUnit = (string)args[1];
    
                    cancelable.Cancel = true;
    
                    if (!string.IsNullOrWhiteSpace(luaUnit) && luaUnit != "player")
                    {
                        Logging.WriteDebug("Casting " + spellName + " on " + luaUnit + " with macro /cast");
                        wManager.Wow.Helpers.Lua.RunMacroText("/cast [@" + luaUnit + "] " + spellName);
                    }
                    else
                    {
                        Logging.WriteDebug("Casting " + spellName + " with macro /cast");
                        wManager.Wow.Helpers.Lua.RunMacroText("/cast " + spellName);
                    }
                }
            }
        }
    
        public void Dispose()
        {
            robotManager.Events.Events.OnCustomEvent -= OnEventsOnOnCustomEvent;
        }
    
        public void Settings()
        {
        }
    }

    I haven't tested, but this plugin should enable fight classes that use the bot method "CastSpellByNameOn" (which is the case for most fight classes) to force the bot to use "/cast ..." instead. Therefore, use this plugin with your fight class configured normally (without using "/cast").

  2. Hello,

    By default, GoToTask methods don't work when the character is dead.

    No tested but code should look like:

    robotManager.Events.FiniteStateMachineEvents.OnRunState += (engine, state, cancelable) =>
    {
        if (state is wManager.Wow.Bot.States.Resurrect && ObjectManager.Me.IsDead)
        {
            if (ObjectManager.Me.Position.DistanceTo2D(new Vector3(-14284.96f, 288.4472f, 32.33204f)) < 2) {
                var destination = new Vector3(-14283.13f, 293.2209f, 31.98451f);
                int npcEntryId = 1000128;
                var goToSuccess = wManager.Wow.Bot.Tasks.GoToTask.ToPosition(
                    destination, 
                    3.5f, 
                    false,
                    c => Conditions.InGameAndConnectedAndProductStartedNotInPause);
                
                if (goToSuccess)
                {
                    var npcs = ObjectManager.GetWoWUnitByEntry(npcEntryId);
                    var npcUnit = npcs.Where(n => n.IsValid).OrderBy(n => n.GetDistance).FirstOrDefault();
                    if (npcUnit != null)
                    {
                        Interact.InteractGameObject(npcUnit.GetBaseAddress);
                        System.Threading.Thread.Sleep(500);
                        Usefuls.SelectGossipOption(3);
                        System.Threading.Thread.Sleep(3000);
                        cancelable.Cancel = true;
                    }
                }
            }
        }
    };

     

  3. Hello,

    For mailbox and post all items in auction house use the product "Auction", for go to guild bank and deposit gold use "Custom Profile" or "Quester".

    To switch between "Auction" and "Custom Profile" / "Quester" products, you can use "Relogger" application or "Schedule" product.

  4. Hello,

    For the randomize profile selection, you can use this approach Random Step.xml

    To load quest profile (from quest profile) use step type "LoadProfile", put the profile file name (like it's appeared in "Product settings").

    In Battleground product settings you have the option to use another product during queue (that can cause problems with quester product, some profiles can be complexes)

×
×
  • Create New...