public static string getBotModstring(BotMode c) { switch (c) { case BotMode.Classic: return("Classic"); case BotMode.Multibot: return("MultiBot"); case BotMode.Semi: return("Semi-Automated"); case BotMode.Xplayback: return("XPlayBack Mod"); case BotMode.BG: return("BG Farming"); case BotMode.Instance: return("Instance Farming"); default: return("None"); } }
private IBot _AddBotForMode(BotMode mode, BacktestResult backtestResult = null, PBot pBot = null, TBot tBot = null, IBot bot = null) { IAccount account; switch (mode) { case BotMode.Live: account = LiveAccount; break; case BotMode.Demo: account = DemoAccount; break; case BotMode.Scanner: account = ScannerAccount; break; case BotMode.Paper: account = PaperAccount; break; default: throw new ArgumentException(nameof(mode) + " unknown or is set to more than one mode."); } if (account == null) { Debug.WriteLine($"WARNING - _AddBotForMode({mode}) assigned no account"); } return(_AddBot(mode, account: account, backtestResult: backtestResult, pBot: pBot, tBot: tBot, bot: bot)); }
void UnStun() { rb.angularVelocity = Vector3.zero; rb.velocity = Vector3.zero; rb.useGravity = false; botmode = BotMode.Flipping; }
public void SetBotActive(bool isBotActive) { m_botMode = BotMode.NoAction; if (isBotActive) { m_botMode = m_defaultMode; } }
public void StartBotting(BotMode mode, SteamID target, ulong matchId) { _log.Debug("Checking if the index file contains a newer available index..."); ParseIndexFile(); // Before we bot, we parse the index file to get the latest available index _log.Debug("Starting botting using index {Index}.", _index); List <TitanAccount> accounts; if (_accounts.TryGetValue(_index, out accounts)) { try { Titan.Instance.ThreadManager.StartWatchdog(); } catch (Exception ex) { _log.Warning(ex, "Could not start Watchdog thread, starting to report without one!"); } foreach (var acc in accounts) { try { Titan.Instance.ThreadManager.Start(mode, acc, target.AccountID, matchId); } catch (Exception ex) { _log.Error(ex, "Could not start reporting for account {Account}: {Message}", acc.JsonAccount.Username, ex.Message); } } } else { _log.Error("Could not export accounts for current index {Index}. " + "Does it exist?", _index); return; } if (mode == BotMode.Report) { Titan.Instance.VictimTracker.AddVictim(target); } if (!_indexEntries.ContainsKey(_index)) { _indexEntries.Add(_index, TimeUtil.DateTimeToTicks(DateTime.Now.AddHours(6))); SaveIndexFile(); } _log.Debug("Index #{Index} has been used. It will be unlocked on {Unlock}. " + "Using index #{NextIndex} for next botting session.", _index, DateTime.Now.AddHours(6).ToLongTimeString(), ++_index); }
public static void SetMode(this IBot bot, BotMode modeFlag, bool isEnabled = true) { if (isEnabled) { bot.Modes |= modeFlag; } else { bot.Modes &= ~modeFlag; } }
public void SetMode(BotMode mode) { switch (mode) { default: case BotMode.Idle: Mode = "nimbusfox.worldedit.verb.idle"; break; case BotMode.Waiting: Mode = "nimbusfox.worldedit.verb.waiting"; break; } }
private static ConsoleInputEventManager GetConsoleManager(BotMode mode) { var inputEventManager = new ConsoleInputEventManager(); inputEventManager.ConsoleKeyDown += (_, key) => { if (key == ConsoleKey.Escape) { mode.Stop(); } }; return(inputEventManager); }
// Stop when colliding with another bot that's stopped private void BumpBot(BotMovement botScript) { if (botScript != null) { if (botScript.GetState() == BotMode.Stopped) { anim.SetBool("Walking", false); if (navMeshAgent.enabled) { navMeshAgent.isStopped = true; } botMode = BotMode.Stopped; bumpedBot = botScript; } } }
public void Start(BotMode mode) { if (mode == BotMode.Portal) { Portal(); } if (mode == BotMode.Dust) { Dust(); } if (mode == BotMode.Debug) { Debug(); } }
public void BotHit(string go) { if (!botKilled && !Stunned()) { //print(go); //if(go == "Hand_Left"){ // leftArm.SetActive(false); // brokenLeftArm.transform.parent = null; // brokenLeftArm.SetActive(true); // Destroy(brokenLeftArm, 3f); // brokenLeftArm = null; //} else if(go == "Hand_Right") { // rightArm.SetActive(false); // brokenRightArm.transform.parent = null; // brokenRightArm.SetActive(true); // Destroy(brokenRightArm, 3f); // brokenRightArm = null; //} stunTimer = stunTime; rb.useGravity = true; botmode = BotMode.Stunned; health -= 1; if (health < 1) { botKilled = true; gm.SetHealth(1); gm.enemiesKilled++; gm.SetKillText(); if (gm.IsLastRound() && gm.enemiesSpawned == gm.enemiesKilled) { UnStun(); attackTimer = Mathf.Infinity; } else { BreakBot(); } } else { Enemy.PlayOneShot(HurtSound); } } }
private static void drawMainMenu() { Console.Clear(); drawDuck(); if (currentBotMode == BotMode.None) { drawModeSelection(); } else if (canLoad) { configManager.RefreshConfig(); quaverManager.ConfigManager.RefreshConfig(); var map = quaverManager.QuaverBase.GameplayScreen.CurrentMap; var mods = quaverManager.QuaverBase.GameplayScreen.Ruleset.ScoreProcessor.CurrentMods; bool flipInputs = currentBotMode == BotMode.UserReplay && (Mods)Math.Abs(replay.Mods - mods) == Mods.Mirror; if (currentBotMode == BotMode.AutoplayReplay) { replay = Replay.GenerateAutoplayReplay(map); } Console.WriteLine($"\n\n~ Playing{(currentBotMode == BotMode.UserReplay ? $" {replay.PlayerName}'s replay on" : string.Empty)} {map.Artist} - {map.Title} [{map.DifficultyName}] by {map.Creator}"); bot.Start(replay, flipInputs); } else { Console.WriteLine("\n\n~ Waiting for player..."); Console.WriteLine("\n~ Press ESC to change mode."); while (!canLoad && !Console.KeyAvailable) { Thread.Sleep(150); } if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape) { currentBotMode = BotMode.None; } } drawMainMenu(); }
void FixedUpdate() { if (!Stunned() && !gm.hasGameEnded) { if (CheckOrientation()) { botmode = BotMode.Flipping; Flip(); } else if (CheckHoverHeight()) { botmode = BotMode.AdjustingHoverHeight; AdjustHoverHeight(); heightAdjusted = true; } else if (CheckDirection()) { botmode = BotMode.Turning; Turn(); } else if (CheckAttackDistance()) { if (heightAdjusted) { noiseTimer = 0; heightAdjusted = false; } botmode = BotMode.Hunting; huntEnded = false; Hunt(); } else { if (!huntEnded) { originalY = intact.transform.localPosition.y; huntEnded = true; } botmode = BotMode.Attacking; Attack(); } } }
public IEnumerable <IBot> AddBotForModes(BacktestResult backtestResult, BotMode modes) { if (modes.HasFlag(BotMode.Live)) { yield return(_AddBotForMode(BotMode.Live, backtestResult: backtestResult)); } if (modes.HasFlag(BotMode.Demo)) { yield return(_AddBotForMode(BotMode.Demo, backtestResult: backtestResult)); } if (modes.HasFlag(BotMode.Scanner)) { yield return(_AddBotForMode(BotMode.Scanner, backtestResult: backtestResult)); } if (modes.HasFlag(BotMode.Paper)) { yield return(_AddBotForMode(BotMode.Paper, backtestResult: backtestResult)); } }
private static void drawModeSelection() { Console.Clear(); drawDuck(); Console.WriteLine("\n\n~ Select bot mode:"); Console.WriteLine("\n~ 1. Autoplay"); Console.WriteLine("~ 2. Replay"); switch (Console.ReadKey(true).Key) { case ConsoleKey.D1: currentBotMode = BotMode.AutoplayReplay; break; case ConsoleKey.D2: using (var openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Quaver replay file (*.qr)|*.qr"; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { replay = Replay.Parse(openFileDialog.FileName); } else { goto default; } } currentBotMode = BotMode.UserReplay; break; default: drawModeSelection(); break; } drawMainMenu(); }
void OnTriggerEnter(Collider c) { if (c.gameObject.CompareTag("Player") && c.attachedRigidbody != null) { //NOTE: inventory script was deleted if more problems arise. This is what we changed //InventoryScript invent = c.attachedRigidbody.gameObject.GetComponent<InventoryScript>(); if (/*invent != null &&*/ botMode == BotMode.Idle) { botMode = BotMode.Follow; anim.SetBool("BootUp", true); BotCollector bc = c.attachedRigidbody.gameObject.GetComponent <BotCollector>(); if (bc != null) { bc.ReceiveBots(1, transform.gameObject); } followTarget = c.attachedRigidbody.transform; //invent.AddBot(); } } else if (c.gameObject.CompareTag("BotPart") && botMode == BotMode.Follow) { BotPart botPart = c.GetComponent <BotPart>(); if (botPart != null) { GameObject bot = botPart.GetParentBot(); if (bot != null) { BotMovement botScript = bot.GetComponent <BotMovement>(); if (botScript != null) { BumpBot(botScript); } } } } }
private IBot _AddBot(BotMode mode, BacktestResultHandle backtestResultHandle = null, IAccount account = null, BacktestResult backtestResult = null, PBot pBot = null, TBot tBot = null, IBot bot = null) { if (account == null) { throw new ArgumentNullException(nameof(account)); } if (backtestResult == null) { backtestResult = backtestResultHandle?.Object; } if (bot == null) { if (pBot != null) { bot = (IBot)pBot.Instantiate(); } else { if (tBot == null) { tBot = backtestResult.TBot; //if (backtestResult == null) { backtestResult = backtestResultHandle?.Object; } //var templateType = ResolveType(backtestResult.BotConfigType); ////var templateType = Type.GetType(result.BotConfigType); //if (templateType == null) //{ // throw new NotSupportedException($"Bot type not supported: {backtestResult.BotConfigType}"); //} //tBot = (TBot)((JObject)backtestResult.Config).ToObject(templateType); } if (tBot == null) { throw new ArgumentNullException(nameof(tBot)); } bot = (IBot)tBot.Create(); } } //bot.Modes = mode | BotMode.Paper; //var botVM = new BotVM() { Bot = bot }; //botVM.State = SupervisorBotState.Scanner; if (bot.Modes.HasFlag(BotMode.Live)) { throw new Exception("Not ready for live yet"); } bot.Account = account; //botVM.AddBacktestResult(backtestResult); //bool hasPaper = mode.HasFlag(BotMode.Paper); //if (mode != BotMode.Paper) //{ // mode = mode & ~BotMode.Paper; //} //if (mode.HasFlag(BotMode.Live)) { LiveBots.Add(bot); Template.LiveBots.Add(tBot.Id); } //if (mode.HasFlag(BotMode.Demo)) { DemoBots.Add(bot); Template.DemoBots.Add(tBot.Id); } //if (mode.HasFlag(BotMode.Scanner)) { Scanners.Add(bot); Template.Scanners.Add(tBot.Id); } //if (mode.HasFlag(BotMode.Paper)) { PaperBots.Add(bot); Template.PaperBots.Add(tBot.Id); } //if (mode.HasFlag(BotMode.Live)) { if (LiveBots == null) { LiveBots = new ObservableCollection<IBot>(); } LiveBots.Add(bot); } //if (mode.HasFlag(BotMode.Demo)) { if (DemoBots == null) { DemoBots = new ObservableCollection<IBot>(); } DemoBots.Add(bot); } if (Bots == null) { Bots = new ObservableCollection <IBot>(); } if (!BotIds.Contains(bot.Template.Id)) { BotIds.Add(bot.Template.Id); Bots.Add(bot); } //if (mode.HasFlag(BotMode.Paper)) { if (PaperBots==null) { PaperBots = new ObservableCollection<IBot>(); } PaperBots.Add(bot); } //if (pBot != null) //{ // bot.DesiredExecutionState = pBot.DesiredExecutionState; //} //switch (mode) //{ // case BotMode.Live: // LiveBots.Add(bot); // break; // case BotMode.Demo: // DemoBots.Add(bot); // break; // case BotMode.Scanner: // Scanners.Add(bot); // break; // case BotMode.Paper: // break; // default: // throw new ArgumentException(nameof(mode)); //} //if (mode.HasFlag(BotMode.Scanner)) //{ // Scanners.Add(bot); //} //if (mode.HasFlag(BotMode.Live)) //{ // LiveBots.Add(bot); //} //if (mode.HasFlag(BotMode.Demo)) //{ // DemoBots.Add(bot); //} //if (mode.HasFlag(BotMode.Paper)) //{ // PaperBots.Add(bot); //} //Task.Factory.StartNew(() => bot.Start()); return(bot); }
private IBot _AddBot(BacktestResult backtestResult, BotMode mode) { return(_AddBot(mode, backtestResult: backtestResult)); // REFACTOR }
private void LoadBots2(IEnumerable <IInstantiator> bots, ObservableCollection <IBot> target, BotMode mode) { foreach (var pBot in bots.ToArray()) { if (pBot == null) { Debug.WriteLine("WARN - LoadBots2: null instantiator in bots parameter"); continue; } var bot = (IBot)pBot.Instantiate(); // TODO: Use AddBotForModes NEXT _AddBotForMode(mode, bot: bot, pBot: pBot as PBot); } }
private Task LoadBots(IEnumerable <IInstantiator> bots, ref ObservableCollection <IBot> target, BotMode mode) { var target2 = target; if (bots == null || !bots.Any()) { return(Task.CompletedTask); } return(Task.Run(() => LoadBots2(bots, target2, mode))); }
void Update() { if (navMeshAgent.isOnOffMeshLink && !jumping) { StartCoroutine(JumpOffMesh()); } if (botMode == BotMode.Follow) { if (navMeshAgent.enabled) { if (Vector3.Distance(FlattenTransform(followTarget.position), FlattenTransform(navMeshAgent.destination)) > 0.5f) { if (!navMeshAgent.pathPending) { navMeshAgent.SetDestination((followTarget.position)); } anim.SetBool("IsBlock", false); anim.SetBool("Walking", true); if (navMeshAgent.isStopped) { anim.SetBool("Walking", false); botMode = BotMode.Stopped; } } else if (navMeshAgent.remainingDistance <= 3f) { anim.SetBool("Walking", false); navMeshAgent.isStopped = true; botMode = BotMode.Stopped; } } } else if (botMode == BotMode.Stopped) { if (bumpedBot != null) { if (bumpedBot.GetState() != BotMode.Stopped) { bumpedBot = null; botMode = BotMode.Follow; } } else { if (Vector3.Distance(FlattenTransform(followTarget.position), FlattenTransform(navMeshAgent.destination)) > 0.5f) { navMeshAgent.isStopped = false; anim.SetBool("Walking", true); botMode = BotMode.Follow; } } } if (botMode == BotMode.Build) { if (!jumping) { if (!readyToBuild) { Collider[] colliders = gameObject.GetComponentsInChildren <Collider>(); foreach (Collider c in colliders) { c.enabled = false; } if (navMeshAgent.enabled) { navMeshAgent.isStopped = true; } StartCoroutine(JumpToBuild()); } else { readyToBuild = false; transform.gameObject.SetActive(false); } } } if (gameObject.activeSelf) { anim.SetFloat("Y", navMeshAgent.velocity.magnitude / navMeshAgent.speed); } }
void OnChannelMessage(object sender, IrcEventArgs e) { try { //Message zusammenbauen string cbMessage=""; foreach(string i in e.Data.MessageArray) { cbMessage+=i+" "; } cbMessage=cbMessage.Trim(); //Message auswerten if(cbMessage=="!highscore") { if(highscore.Count==0) { SendMessage("Die Highscore ist zur Zeit leer."); } else { SendMessage("Die aktuelle Highscore sieht wie folgt aus:"); List<string> highscoreAsList=highscore.GetHighscoreSortedByPoints(); foreach(string entry in highscoreAsList) { SendMessage(entry); } } } else if(cbMessage=="!info") { SendMessage("Ich bin Arbiter und wurde 2013 am Lambert Institute von seeseekey entwickelt. Meine Versionskennung lautet {0}.", version); } else if(cbMessage=="!help") { SendMessage("Ich kann folgendes:"); SendMessage("!info"); SendMessage("!help"); SendMessage("!highscore"); SendMessage("!hint"); SendMessage("!joke"); SendMessage("!quiz"); SendMessage("!quote"); } else if(cbMessage=="!quote") { Quote quote=Quotes[rnd.Next(Quotes.Count)]; SendMessage("\"{0}\" von {1}", quote.QuoteText, quote.Author); } else if(cbMessage=="!joke") { Joke joke=Jokes[rnd.Next(Jokes.Count)]; SendMessage(joke.JokeText); } switch(botMode) { case BotMode.Idle: { if(cbMessage=="!quiz") { SendMessage(MultiRandomStrings.QuizStarts); botMode=BotMode.Quiz; Quiz.Start(10, ""); } break; } case BotMode.Quiz: { if(cbMessage=="!hint") { SendMessage(Quiz.GetCurrentHint()); } bool answerIsCorrect=Quiz.CheckMessageToAnswers(cbMessage); if(answerIsCorrect) { highscore.AddPoints(e.Data.Nick, Quiz.CurrentQuestion.Points); SendMessage(Quiz.GetCurrentSuccess()); SendMessage("{0} hat die Frage richtig beantwortet und erhält {1} Punkt(e).", e.Data.Nick, Quiz.CurrentQuestion.Points); Thread.Sleep(800); if(Quiz.SetCurrentQuestionAnswered()) { //Spiel zuende botMode=BotMode.Idle; SendMessage(MultiRandomStrings.QuizEnds); } } break; } } } catch(Exception ex) { string msg=String.Format("[{0:D2}:{1:D2}] {2}: {3}", DateTime.Now.Hour, DateTime.Now.Minute, e.Data.Nick, ex.Message.ToString()); Console.WriteLine(msg); } }
private int _count; // Amount of accounts that successfully reported or commended public void Start(BotMode mode, TitanAccount acc, uint target, ulong matchId) { acc.Feed(new Info { Mode = mode, Target = target, MatchID = matchId }); _count = 0; _log.Debug("Starting {Mode} thread for {Target} in match {MatchId} " + "using account {Account}.", mode.ToString().ToLower() + "ing", target, matchId, acc.JsonAccount.Username); _taskDic.Add(acc, Task.Run(() => { var timedOut = false; try { acc.StartTick = DateTime.Now.Ticks; // Timeout on Sentry Account: 3min (so the user has enough time to input the 2FA code), else 60sec. var result = WaitFor <Result> .Run(acc.JsonAccount.Sentry ? TimeSpan.FromMinutes(3) : TimeSpan.FromSeconds(60), acc.Start); switch (result) { case Result.Success: _count++; break; case Result.AlreadyLoggedInSomewhereElse: _log.Error("Could not report with account {Account}. The account is " + "already logged in somewhere else.", acc.JsonAccount.Username); break; case Result.AccountBanned: _log.Warning("Account {Account} has VAC or game bans on record. The report may " + "have not been submitted."); _count++; break; case Result.TimedOut: _log.Error("Processing thread for {Account} has timed out."); break; case Result.SentryRequired: _log.Error("The account has 2FA enabled. Please set {sentry} to {true} " + "in the accounts.json file.", "sentry", true); break; case Result.RateLimit: _log.Error("The Steam Rate Limit has been reached. Please try again in a " + "few minutes."); break; } } catch (TimeoutException) { var timeSpent = new DateTime(DateTime.Now.Ticks - acc.StartTick); _log.Error("Connection to account {Account} timed out. It was not possible to " + "report the target after {Timespan} seconds.", acc.JsonAccount.Username, timeSpent.Second); timedOut = true; } finally { if (timedOut) { acc.Stop(); } _taskDic.Remove(acc); } })); }
public string[] GetDefaultFGColors(BotMode mode) { return(FGColors.TryGetValue(mode)); }
public void SetBotMode(BotMode botmode) { m_botMode = botmode; }
public TSession(BotMode mode, string name = null) { this.Mode = mode; this.Name = name ?? mode.ToString(); }
private Task LoadBots(IEnumerable <string> botIds, ref ObservableCollection <IBot> target, BotMode mode) { return(LoadBots(botIds.Select(id => new PBot { Id = id }), ref target, mode)); }
private void OnUpdateReceived(object sender, BotApiService.TUpdateEventArgs e) { var chatId = e.Update.Message.Chat.Id; var text = e.Update.Message.Text; Trace.WriteLine($"Update: {e.Update.Id}\nMessage: {text}\nFrom: {e.Update.Message.From.UserName}"); if (string.IsNullOrEmpty(text)) service.SendMessage(chatId, notSupportedMessage); else { if (text.StartsWith("/")) { switch (text) { case "/quotes": mode = BotMode.Quotes; return; case "/answers": default: mode = BotMode.Answers; return; } } switch(mode) { case BotMode.Quotes: service.SendMessage(chatId, GetYodaSpeak(GetQuote(text))); break; case BotMode.Answers: default: service.SendMessage(chatId, GetYodaSpeak(GetAnswer(text))); break; } } }
public void SetState(BotMode mode) { botMode = mode; }