public void StartBotting() { if (!ValidateKeys.AutoLoot) { Logging.Write(LogType.Error, "Please enable auto loot"); return; } if (ValidateKeys.ClickToMove) { Logging.Write(LogType.Error, "Please disable click to move"); return; } BarMapper.MapBars(); KeyHelper.LoadKeys(); if (!ValidateKeys.Validate()) { Thread.Sleep(2000); } Langs.Load(); if (EngineHandler.EngineStart()) { LazySettings.SaveSettings(); if (CombatEngine.StartOk) { CombatEngine.BotStarted(); } else { Logging.Write(LogType.Warning, "CustomClass returned false on StartOk not starting"); return; } Logging.Debug("Relogger: " + ReloggerSettings.ReloggingEnabled); Logging.Debug("Engine: " + EngineHandler.Name); Logging.Write("Bot started"); Logging.Debug("CurrentFlyingProfile: " + FlyingSettings.Profile); Logging.Debug("CurrentGrindingProfile: " + GrindingSettings.Profile); UpdateText(StartStopEngine, "Stop botting"); ShouldRelog = ReloggerSettings.ReloggingEnabled; LazyForm.Engine = EngineHandler.Name; DisableItems(); Engine.StartEngine(EngineHandler); StopAfter.BotStarted(); PeriodicRelogger.BotStarted(); PluginManager.BotStart(); PluginManager.StartPulseThread(true); } else { Logging.Write(LogType.Warning, "Engine returned false on load"); } }