What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Can someone help me fixing the plugin pls

Kekskruemel

Member
Joined
Jan 15, 2010
Messages
236
Hi,

since the changes to the new major honorbuddy version my modified unszuck plugin doesn't work (get errors during hb startup)

Can someone help me pls to fix this.

Code:
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(97,33) : error CS0246: The type or namespace name 'StuckHandler' could not be found (are you missing a using directive or an assembly reference?)
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(87,32) : error CS0535: 'NoMoveDetectorRezzRezz.NoMover' does not implement interface member 'IPlayerMover.MoveTowards(Vector3)'
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(101,34) : error CS0246: The type or namespace name 'StuckHandler' could not be found (are you missing a using directive or an assembly reference?)
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(103,34) : error CS0115: 'NoMoveDetectorRezzRezz.NoUnstuck.IsStuck()': no suitable method found to override
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(104,34) : error CS0115: 'NoMoveDetectorRezzRezz.NoUnstuck.Reset()': no suitable method found to override
[09:11:42.145 N] Compiler Error: C:\Users\Egis\Desktop\Miauz\Plugins\NoMoveDetector\NoMoveDetector.cs(105,34) : error CS0115: 'NoMoveDetectorRezzRezz.NoUnstuck.Unstick()': no suitable method found to override

Code:
using Styx.CommonBot;
using Styx.Common;
using Styx.Helpers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading;

using Styx.Common;
using Styx.Common.Helpers;
using Styx.CommonBot;
using Styx.CommonBot.Inventory;
using Styx.Plugins;
using Styx.WoWInternals;
using Styx.WoWInternals.WoWObjects;
using Styx.WoWInternals.WoWObjects;
using Styx.WoWInternals;
using Styx.Pathing;
using Styx;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
using System.Xml.Linq;
using System;

namespace HB.Plugins.NoMoveDetectorRezzRezz
{
    class NoMoveDetectorRezzRezz : HBPlugin
    {
        #region Overrides of HBPlugin

        public override void OnEnable()
        {
            Styx.CommonBot.BotEvents.OnBotStarted += _OnBotStart;
            _init();
        }
        public override void OnDisable()
        {
            Styx.CommonBot.BotEvents.OnBotStarted -= _OnBotStart;
        }
        public override string ButtonText { get { return "---"; } }
        public override bool WantButton { get { return false; } }
        public override void OnButtonPress(){}
        public override void Pulse(){_MainPulseProc();}
        public override string Name { get { return "No Move Detector Rezz"; } }
        public override string Author { get { return "cls15"; } }
        public override Version Version { get { return new Version(1, 2, 0); } }

        #endregion

        private Stopwatch LastOK ;
        private WoWPoint LastLoc;
        private int nBotRestart;
        private static Thread RestartThread;

        private static void _RestartThread()
        {
            TreeRoot.Stop();
            Thread.Sleep(2000);
            TreeRoot.Start();
        }

        private void _OnBotStart(EventArgs args)
        {
            Logging.Write(@"[NoMoveDetectorRezz] Bot started");
            LastLoc = StyxWoW.Me.Location;
            LastOK.Restart();
            RestartThread = new Thread(new ThreadStart(_RestartThread));
        }

        private void _init()
        {
            Logging.Write(@"[NoMoveDetectorRezz] init");
            LastOK = new Stopwatch();
            nBotRestart = 0;
        }
        
        public class NoMover : IPlayerMover
        {
            public void Move(WoWMovement.MovementDirection direction) { }
            public void MoveStop() { }
            public void MoveTowards(WoWPoint location)
            {
                int a = 4;
            }
        }

        private static readonly StuckHandler OriginalUnstuckHandler = Navigator.NavigationProvider.StuckHandler;

        #region Embedded Type - NoUnstuck

        public class NoUnstuck : StuckHandler
        {
            public override bool IsStuck() { return false; }
            public override void Reset() { }
            public override void Unstick() { }
        }

                #endregion
        
        private void _MainPulseProc()
        {
            // Must we go futher anyway?
            if (!TreeRoot.IsRunning)
            {
                if (LastOK.ElapsedMilliseconds > 1000 * 30)
                {
                    Logging.Write(@"[NoMoveDetectorRezz] LastPosition reseted, bot is not running (but pulse is called ???)");
                    LastOK.Restart();
                }
                return;
            } 
            
            WoWPlayer Me = StyxWoW.Me;
            //Cancel timer if move > 10 yards is detected
            if (LastLoc.Distance(Me.Location) > 10f)
            {
                if (LastOK.ElapsedMilliseconds > 1000 * 30)  Logging.Write(@"[NoMoveDetectorRezz] Move detected. LastPosition reseted");
                LastOK.Restart();
                LastLoc = Me.Location;
                return;
            }
           /* if (LastOK.ElapsedMilliseconds > 1000 * 5 && !StyxWoW.Me.HasAura("Food"))
            { 
                // BestFood detection correct
                ulong nCurrentFood = CharacterSettings.Instance.DrinkName.ToUInt32();
                WoWItem tp = ObjectManager.GetObjectByGuid<WoWItem>(nCurrentFood);
                if (nCurrentFood == 0)
                {
                    
                }
            } */
            if (LastOK.ElapsedMilliseconds > 1000*60*6)
            {
                if (Styx.CommonBot.Frames.AuctionFrame.Instance.IsVisible || Styx.CommonBot.Frames.MailFrame.Instance.IsVisible)
                {
                    Logging.Write(@"[NoMoveDetector] not mooving last {0} min but has open frame.  LastPosition reseted", nBotRestart * 5);
                    LastOK.Restart();
                    LastLoc = Me.Location;
                    return;
                }
                if (Me.HasAura("Resurrection Sickness"))
                {
                    LastOK.Restart();
                    return;
                }
                if (nBotRestart > 1) // Not mooving for 15 min, hope you have a reloger...
                {
                    Logging.Write(@"[NoMoveDetector] not mooving last 15 min : Stopping Wow...");
                                                        WoWMovement.MoveStop();
                Navigator.PlayerMover = new NoMover();
                Navigator.NavigationProvider.StuckHandler = new NoUnstuck();
                Thread.Sleep(1000);
                    Lua.DoString("UseItemByName(6948)");
                    Thread.Sleep(15000);
                                                        Navigator.PlayerMover = new ClickToMoveMover();
                Navigator.NavigationProvider.StuckHandler = OriginalUnstuckHandler;
                    Lua.DoString(@"ForceQuit()");
                }
                else
                {
                    nBotRestart++;
                    Logging.Write(@"[NoMoveDetector] not mooving last {0} min : Restarting bot...",nBotRestart*5);
                    LastOK.Restart();
                                    WoWMovement.MoveStop();
                Navigator.PlayerMover = new NoMover();
                Navigator.NavigationProvider.StuckHandler = new NoUnstuck();
                Thread.Sleep(1000);
                    Lua.DoString("UseItemByName(6948)");
                    Thread.Sleep(15000);
                                    Navigator.PlayerMover = new ClickToMoveMover();
                Navigator.NavigationProvider.StuckHandler = OriginalUnstuckHandler;
                    RestartThread.Start();
                }
                
            }
        }
    }
}
 
Back
Top