FAST COMMANDING SHADOW ESSENCES BOT ? (VOID AURA)
Hello, Is there any possible bot better than operation archlight? because it always disconnects and does not get drops on the 49 empowered essence.the bot is really buggy. thanks.
using RBot;
using RBot.Options;
using System;
using System.Timers;
using System.Windows.Forms;
using System.Collections.Generic;
// Don't steal my bots, can't stand you hoes -satan
// Will steal your hoe tho -kdog
// bot by verified botmakers @ *******.gg/aqwbots
public class Script{
//Config
public string OptionsStorage = "VAbot1";
public bool DontPreconfigure = false;
public List<IOption> Options = new List<IOption>()
{
new Option<string>("Farming1", "1) Farming Class:","Farming Class preferably with a heal","Legion Revenant"),
new Option<string>("Soloing1", "2) Soloing Class:","Soloing Class","LightCaster"),
new Option<OptionEnum>("Server","3) Server:", "Server to be reconnected to"),
new Option<bool>("Safe", "4) Safe Relogin:", "Do you want safe relogin? True or False", false),
new Option<bool>("Any", "5) Autorelogin Any:","Do you want to relogin to any server (good for overnight)", false)
};
ScriptOptionContainer Config;
string soloClass => Config.Get<string>("Soloing1");
string farmClass => Config.Get<string>("Farming1");
//string server => Config.Get<string>("Server");
bool safe => Config.Get<bool>("Safe");
bool any => Config.Get<bool>("Any");
int i_time = 0;
public void ScriptMain(ScriptInterface bot){
bot.Schedule(100, b => {
i_time++;
});
Config = bot.Config;
//Options
bot.Options.DisableFX = true;
bot.Options.LagKiller = true;
bot.Options.SafeTimings = true;
bot.Options.HidePlayers = true;
bot.Options.SkipCutsenes = true;
bot.Options.InfiniteRange = true;
bot.Options.GlitchedRooms = false;
bot.Options.ExitCombatBeforeQuest = true;
//Servers
bot.Options.AutoRelogin = true;
bot.Options.AutoReloginAny = any;
bot.Options.SafeRelogin = safe;
switch(bot.Config.Get<OptionEnum>("Server"))
{
case OptionEnum.Twilly:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Twilly");
break;
case OptionEnum.Twig:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Twig");
break;
case OptionEnum.Artix:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Artix");
break;
case OptionEnum.Sepulchure:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Sepulchure");
break;
case OptionEnum.Gravelyn:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Gravelyn");
break;
case OptionEnum.Safiria:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Safiria");
break;
case OptionEnum.Sir_Ver:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Sir Ver");
break;
case OptionEnum.Drakath:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Drakath");
break;
case OptionEnum.Galanoth:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Galanoth");
break;
case OptionEnum.Alteon:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Alteon");
break;
case OptionEnum.Yorumi:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Yorumi");
break;
case OptionEnum.Espada:
bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == "Espada");
break;
}
//bot.Options.LoginServer = ServerList.Servers.Find(x => x.Name == server);
//Custom
bot.Options.CustomName = "Bot by Satan";
bot.Options.CustomGuild = "satan#0265";
/*
//Skill
SkillDef def = new SkillDef();
def.Load("Skills/Generic.xml");
bot.Skills.OverrideSkills = def;
bot.Skills.StartTimer();
*/
//Requires
bot.Player.LoadBank();
bot.Runtime.Require("Malignant Essence");
bot.Runtime.Require("Empowered Essence");
bot.Runtime.Require("Void Aura");
bot.Runtime.Require(soloClass);
bot.Runtime.Require(farmClass);
/*
//Drops
bot.Drops.Add("Malignant Essence");
bot.Drops.Add("Empowered Essence");
bot.Drops.Start();
//If you ever want to add Whitelist stuff do it like this
*/
//Quests (not used)
//bot.Quests.Add(4439);
//bot.Quests.Start();
rejoin:
bot.Options.SafeTimings = true;
bot.Options.AggroMonsters = false;
if(bot.Map.Name != "shadowrealm"){
bot.Player.JoinGlitched("shadowrealm", "Enter", "Spawn");
bot.Wait.ForMapLoad("shadowrealm", 20);
i_time = 0;
}
/*
int pcount = bot.Map.PlayerCount;
if(pcount <= 2){
if(bot.Map.Name == "shadowrealm"){
bot.Player.Join("yulgar-1e99","Enter","Spawn");
}
goto rejoin;
}
*/
while(!bot.Inventory.Contains("Void Aura", 7500)){
if(!bot.Inventory.Contains("Empowered Essence", 50)){
EE(bot);
}
if(!bot.Inventory.Contains("Malignant Essence", 3)){
ME(bot);
}
bot.Options.SafeTimings = true;
//Complete
bot.Quests.Accept(4439);
bot.Quests.Complete(4439);
bot.Sleep(250);
//Anti-Ghost
if(bot.Quests.IsInProgress(4439)){
bot.Sleep(1000);
bot.Quests.Complete(4439);
bot.Sleep(1000);
if(bot.Quests.IsInProgress(4439)){
bot.Sleep(1000);
bot.Quests.Complete(4439);
bot.Sleep(1000);
if(bot.Quests.IsInProgress(4439)){
bot.Player.Logout();
}
}
}
//Count
int vacountb = bot.Inventory.GetQuantity("Void Aura");
bot.Wait.ForDrop("Void Aura");
bot.Player.Pickup("Void Aura");
int vacounta = bot.Inventory.GetQuantity("Void Aura");
int vacountc = vacounta - vacountb;
int vacountd = 7500 - vacounta;
string time = string.Format("{0:HH:mm:ss}", DateTime.Now);
i_time /= 10;
if(vacountc == 0){
bot.Log("["+ time +"] You got none... "+vacountd+" to go!");
i_time = 0;
}
else{
//bot.Log("["+ time +"] You got "+vacountc+" more, taking "+i_time+" seconds! "+vacountd+" to go!");
bot.Log("["+ time +"] You got "+vacountc+" more! "+vacountd+" to go!");
i_time = 0;
}
bot.Options.SafeTimings = true;
}
}
/*
private static void Timer_Elapsed(object sender, ElapsedEventArgs e, ScriptInterface bot)
{
DateTime time = e.SignalTime;
int vacount = bot.Inventory.GetQuantity("Void Aura");
bot.Log("VA: " + vacount + "AT" + time);
}
*/
/*
private string CreateWhitelistString(string[] items)
{
string text = "";
bool flag = items != null && items.Length != 0;
if (flag)
{
for (int i = 0; i < items.Length; i++)
{
text = text + ((i == 0) ? "" : ",") + items[i].ToLower();
}
}
return text;
}
public void Pickup(params string[] items)
{
string text = CreateWhitelistString(items);
List<string> list = new List<string>();
List<string> currentDrops = this.CurrentDrops;
for (int i = 0; i < items.Length; i++)
{
string item = items[i];
bool pflag = currentDrops.Find((string x) => x.Equals(item, StringComparison.OrdinalIgnoreCase)) != null;
if (pflag)
{
list.Add(item);
}
}
RBot.Call("pickupDrops", new object[]
{
text
});
bool safeTimings = ScriptInterface.Instance.Options.SafeTimings;
if (safeTimings)
{
foreach (string item2 in list)
{
ScriptInterface.Instance.Wait.ForPickup(item2, 10);
}
}
ScriptInterface.Instance.Stats.Drops += list.Count;
}
*/
public void getDrop(ScriptInterface bot, string drops){
if(bot.Player.DropExists(drops)){
bot.Skills.StopTimer();
bot.Options.AggroMonsters = false;
bot.Sleep(250);
bot.Player.Pickup(drops);
bot.Sleep(250);
bot.Options.AggroMonsters = true;
bot.Skills.StartTimer();
}
}
public void equipClass(ScriptInterface bot, string eclass){
//equips the desired class and selects the correct set of skills and/or combo respectively
//stolen from nix, creds to him
while(bot.Player.InCombat){
bot.Options.AggroMonsters = false;
bot.Player.Jump("Blank","Left");
bot.Sleep(250);
}
bot.Options.AggroMonsters = false;
bot.Skills.StopTimer();
bot.Skills.Clear();
bot.Player.EquipItem(eclass);
bot.Sleep(500);
bot.Player.EquipItem(eclass);
bot.Skills.Remove(1);
bot.Skills.Remove(2);
bot.Skills.Remove(3);
bot.Skills.Remove(4);
bot.Wait.ForItemEquip(eclass, 20);
bot.Skills.SkillTimer = 5;
if(eclass == "Abyssal Angel" || eclass == "Abyssal Angel's Shadow"){
bot.Skills.Add(2, 1f);
bot.Skills.Add(4, 1f);
bot.Skills.Add(3, .5f);
}
else if(eclass == "Shaman"){
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
}
else if(eclass == "Blaze Binder"){
bot.Skills.Add(4, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(1, 1f);
bot.Skills.Add(3, .5f);
}
else if(eclass == "ShadowScythe General"){
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(3, 1f);
}
else if(eclass == "Vampire Lord" || eclass == "Royal Vampire Lord" || eclass == "Enchanted Vampire Lord" || eclass == "Vampire"){
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(3, 1f);
bot.Skills.Add(4, 1f);
}
else if(eclass == "Chaos Slayer Berserker" || eclass == "Chaos Slayer Mystic" || eclass == "Chaos Slayer Thief" || eclass == "Chaos Slayer Cleric" || eclass == "Dark Chaos Berserker " || eclass == "Chaos Champion Prime" || eclass == "Chaos Slayer"){
bot.Skills.Add(2, 1f);
bot.Skills.Add(3, 1f);
bot.Skills.Add(4, 1f);
}
else if(eclass == "Scarlet Sorceress"){
bot.Skills.Add(3, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(1, 1f);
bot.Skills.Add(4, 1f);
}
else if(eclass == "LightCaster"){
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(3, 1f);
bot.Skills.Add(4, 1f);
}
else if(eclass == "Void HighLord"){
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(4, 1f);
}
else{
bot.Skills.Add(1, 1f);
bot.Skills.Add(2, 1f);
bot.Skills.Add(3, 1f);
bot.Skills.Add(4, 1f);
}
bot.Log("Equipped: "+eclass);
bot.Skills.StartTimer();
return;
}
public void EE(ScriptInterface bot){
equipClass(bot,farmClass);
/*
while(bot.Map.Name != "shadowrealm"){
bot.Options.SafeTimings = true;
bot.Options.AggroMonsters = false;
bot.Player.Join("shadowrealm", "Enter", "Spawn");
}
*/
EEre:
bot.Sleep(500);
bot.Player.Jump("Enter", "Spawn");
bot.Options.SafeTimings = true;
bot.Options.AggroMonsters = true;
bot.Player.SetSpawnPoint();
while(!bot.Inventory.Contains("Empowered Essence", 50)){
/*if(bot.Player.DropExists("Empowered Essence"))
{
bot.Player.PickupFast("Empowered Essence");
}*/
//bot.Player.Attack("*");
bot.Player.Kill("*");
bot.Sleep(1000);
if(bot.Player.DropExists("Empowered Essence")){
getDrop(bot, "Empowered Essence");
}
if(bot.Player.State != 2){
if(bot.Monsters.Exists("*")){
bot.Player.Attack("*");
bot.Sleep(1000);
if(bot.Player.State != 2){
bot.Player.Jump("Blank","Left");
bot.Sleep(2000);
goto EEre;
}
}
else{
bot.Wait.ForMonsterSpawn("*", 11);
}
}
while(bot.Player.State == 0){
bot.Options.AggroMonsters = false;
if(bot.Player.Cell != "Blank")
bot.Player.Jump("Blank", "Left");
bot.Sleep(2500);
}
if(bot.Player.Cell != "Enter"){
bot.Player.Jump("Enter", "Spawn");
}
bot.Options.AggroMonsters = true;
}
bot.Options.AggroMonsters = false;
bot.Options.SafeTimings = true;
bot.Player.Jump("Blank","Left");
}
public void ME(ScriptInterface bot){
equipClass(bot,soloClass);
/*
while(bot.Map.Name != "shadowrealm"){
bot.Options.SafeTimings = true;
bot.Options.AggroMonsters = false;
bot.Player.Join("shadowrealm", "Enter", "Spawn");
}
*/
MEre:
bot.Sleep(500);
bot.Player.Jump("r4", "Left");
bot.Options.SafeTimings = true;
bot.Options.AggroMonsters = true;
bot.Player.SetSpawnPoint();
while(!bot.Inventory.Contains("Malignant Essence", 3)){
//bot.SendPacket("%xt%zm%aggroMon%161452%11%");
//bot.Player.Attack("*");
bot.Player.Kill("*");
bot.Sleep(1000);
if(bot.Player.DropExists("Malignant Essence")){
getDrop(bot, "Malignant Essence");
}
if(bot.Player.State != 2){
if(bot.Monsters.Exists("*")){
bot.Player.Attack("*");
bot.Sleep(1000);
if(bot.Player.State != 2){
bot.Player.Jump("Blank","Left");
bot.Sleep(2000);
goto MEre;
}
}
else{
bot.Wait.ForMonsterSpawn("*", 11);
}
}
while(bot.Player.State == 0){
bot.Options.AggroMonsters = false;
if(bot.Player.Cell != "Blank")
bot.Player.Jump("Blank", "Left");
bot.Sleep(2500);
}
if(bot.Player.Cell != "r4"){
bot.Player.Jump("r4", "Left");
}
bot.Options.AggroMonsters = true;
}
bot.Options.AggroMonsters = false;
bot.Options.SafeTimings = true;
bot.Player.Jump("Blank","Left");
}
}
public enum OptionEnum
{
Twilly,
Twig,
Artix,
Sepulchure,
Gravelyn,
Safiria,
Sir_Ver,
Drakath,
Galanoth,
Alteon,
Yorumi,
Espada
}