Jump to content

Using mounts only to sell stuff


Recommended Posts

Here is a simple plugin that i made for you. (Untested.)

using System;
using robotManager.Helpful;
using wManager.Wow.Helpers;
using System.Threading;
using System.ComponentModel;
using wManager.Wow.ObjectManager;
using System.IO;
using robotManager;
using wManager.Plugin;

public class Main : IPlugin
{
    bool loaded;
    

    public void Initialize()
    {
        MountVender.Load();
        loaded = true;
        while(loaded)
        {
            try
            {
                robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) =>
                {
                    if (state.DisplayName == "To Town" && MountVender.CurrentSetting.MountName != string.Empty && !ObjectManager.Me.HaveBuff(MountVender.CurrentSetting.MountName) && ObjectManager.Me.Level >= 20)
                    {
                        SpellManager.CastSpellByNameLUA(MountVender.CurrentSetting.MountName);
                        Thread.Sleep(2000);
                        
                    }
                };

            }
            catch { }
            Thread.Sleep(100);
        }
    }

    public void Dispose()
    {
        loaded = false;
    }

    public void Settings()
    {
        MountVender.Load();
        MountVender.CurrentSetting.ToForm();
        MountVender.CurrentSetting.Save();
    }
}
[Serializable]
public class MountVender : Settings
{

    [DefaultValue(1000)]
    [Category("Mount")]
    [DisplayName("Name")]
    [Description("Mount Name you wish to use.")]
    
    public string MountName { get; set; }

    private MountVender()
    {
        MountName = "";

        ConfigWinForm(
            new System.Drawing.Point(300, 400), "ExamplePlugin " + Translate.Get("Settings")
           
        );
    }

    public static MountVender CurrentSetting { get; set; }

    public bool Save()
    {
        try
        {
            return Save(AdviserFilePathAndName("MountVender",
                ObjectManager.Me.Name + "." + Usefuls.RealmName));
        }
        catch (Exception e)
        {
            Logging.WriteError("MountVender > Save(): " + e);
            return false;
        }
    }

   
    public static bool Load()
    {
        try
        {
            if (File.Exists(AdviserFilePathAndName("MountVender",
                ObjectManager.Me.Name + "." + Usefuls.RealmName)))
            {
                CurrentSetting = Load<MountVender>(
                    AdviserFilePathAndName("MountVender",
                    ObjectManager.Me.Name + "." + Usefuls.RealmName));
                return true;
            }
            CurrentSetting = new MountVender();
        }
        catch (Exception e)
        {
            Logging.WriteError("MountVender > Load(): " + e);
        }
        return false;
    }
}

 

or if you want to use the normal settings of wrobot use this instead.

 

while(loaded)
        {
            try
            {
                robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) =>
                {
                    if (state.DisplayName == "To Town" && MountVender.CurrentSetting.MountName != string.Empty && !ObjectManager.Me.HaveBuff(MountVender.CurrentSetting.MountName) && ObjectManager.Me.Level >= 20)
                    {
                        SpellManager.CastSpellByNameLUA(MountVender.CurrentSetting.MountName);
                        Thread.Sleep(2000);
                        
                    }
                    else
                    if (state.DisplayName == "To Town" && wManager.wManagerSetting.CurrentSetting.GroundMountName != string.Empty && !ObjectManager.Me.HaveBuff(wManager.wManagerSetting.CurrentSetting.GroundMountName) && ObjectManager.Me.Level >= 20)
                    {
                        SpellManager.CastSpellByNameLUA(wManager.wManagerSetting.CurrentSetting.GroundMountName);
                        Thread.Sleep(2000);
                    }
                };

            }
            catch { }
            Thread.Sleep(100);
        }

 

Edited by AlexTheCarMan
Added wManager.wManagerSetting.CurrentSetting mount option.
Link to comment
Share on other sites

14 minutes ago, Uhtredsson said:

Thanks for that, rly, very kind of you to put all this work into this. But Im such a noob, where am I supose to use this? should I create a Plugin or something else? Should I insert my mount name somewhere?

download mount plugin, move into plugin file within wrobot/Plugin/Here

Mount Plugin.cs

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...