using RBot; public class Script { public readonly int [] quests = {794, 795, 797, 799, 800, 801, 802, 803, 804}; public readonly string [] drops = {"Elders' Blood", "Sparrow's Blood", "Viper's Blood"}; public void ScriptMain(ScriptInterface bot){ for (int i = 1; i < 5; i++) { bot.Skills.Add(i, 1f); } bot.Skills.StartTimer(); bot.Options.InfiniteRange = true; bot.Options.RestPackets = true; bot.Options.SafeTimings = true; bot.Options.ExitCombatBeforeQuest = true; bot.Options.PrivateRooms = true; // Arcangrove Rep Bot if (bot.Map.Name != "arcangrove") bot.Player.Join("arcangrove", "Enter", "Spawn"); while (!bot.ShouldExit()) { // Ensure that you've accepted each quest by id foreach (int i in quests) { if (!bot.Quests.IsInProgress(i) && !bot.Quests.IsDailyComplete(i)) bot.Quests.EnsureAccept(i); } // Proceed to do each quest foreach (int i in quests) { if (!bot.Quests.CanComplete(i) && !bot.Quests.IsDailyComplete(i)) { Grind(bot, i); // Returns the id of the quest to turn in bot.Quests.EnsureComplete(i); // Turn in the quest by id } } } } public void Grind (ScriptInterface bot, int id) { // Do a prelimiary check, you may have another quest finished already foreach (int i in quests) { while (bot.Quests.CanComplete(i) && !bot.Quests.IsDailyComplete(i)) { bot.Quests.EnsureComplete(i); bot.Quests.EnsureAccept(i); } } if (!bot.Quests.IsInProgress(id) && !bot.Quests.IsDailyComplete(id)) bot.Quests.EnsureAccept(id); bot.Player.SetSpawnPoint(); while (!bot.Quests.CanComplete(id)) { if (id == 794 || id == 797 || id == 800 || id == 803) bot.Player.Hunt("Seed Spitter"); else bot.Player.Hunt("Gorillaphant"); bot.Player.RejectExcept(drops); } } }