Due to the overwhelming amount of pbdo threads being made (asking for help), I thought, why not have a support thread, for users, by users.
We all know there is an information thread which can be located here.

The link above is more of an announcement thread.
Here is the official website

Backlinks can be found here:

Download links can be found here, but I think you need a PBDO account first.

This can be about anything regarding PBDO, from tasks, to problems logging on. However, I personally suggest you go to their website as you will probably get better information there.
So, anyways lets give it a shot? If it doesn't get any popularity, I'll close it.
Down below will be some of the tasks which I find are very useful, there will be a link to the PBDO thread for main discussion, and the download link to it.
Palladium Pro

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using PBDOBot.Helper;
using PBDOBot.Api;
/*
__________ .__ .__ .___.__ ___.
\______ \_____ | | | | _____ __| _/|__|__ __ _____ \_ |__ ___.__.
| ___/\__ \ | | | | \__ \ / __ | | | | \/ \ | __ < | |
| | / __ \| |_| |__/ __ \_/ /_/ | | | | / Y Y \ | \_\ \___ |
|____| (____ /____/____(____ /\____ | |__|____/|__|_| / |___ / ____|
\/ \/ \/ \/ \/\/
__ __ __________ __ __
\ \ \ \ |__\______ \ / / / /
\ \ \ \ | || | \ / / / /
/ / / / | || ` \ \ \ \ \
/_/ /_/ /\__| /_______ / \_\ \_\
\______| \/
____ ____
___ __ ___________ /_ | /_ |
\ \/ _/ __ \_ __ \ | | | |
\ /\ ___/| | \/ | | | |
\_/ \___ |__| |___| /\ |___|
\/ \/
*/
namespace PBDOBot.Api.Task
{
public class Task : BBaseTask
{
#region Task Configuration
/* You really should only need to change shiz here! */
bool UseHangarChange = false;
bool UseAmmoChanger = false;
bool UseShipAbilities = true;
bool UseTechCenter = false;
bool UseRocketBuyCPU = false;
bool UseRocketLauncher = true;
bool CloakOnSell = true;
public int CollectionHangar = 1;
public int SellHangar = 2;
public int RocketBuyConfig = 1;
public int HellstormBuyConfig = 2;
bool BoostLasersWithPromerium = true;
bool BoostRocketsWithSeprom = true;
bool BoostEnginesWithPromerium = true;
bool BoostShieldsWithSeprom = true;
public Enums.LaserAmmoType LaserAmmo = Enums.LaserAmmoType.LCB_10;
public Enums.RocketAmmoType RocketAmmo = Enums.RocketAmmoType.PLT_2026;
public Enums.RocketLauncherAmmoType RocketLauncherAmmo = Enums.RocketLauncherAmmoType.ECO10;
#endregion
#region ITaskScripts
/* ITaskScript Zone */
class IHangarChange : ITaskScript
{
public IHangarChange()
: base("HangarChange", 15000, 10)
{
}
public override int Run()
{
int hangarCollect = ((Task)Task).CollectionHangar;
int hangarSell = ((Task)Task).SellHangar;
int timer = Task.BMain.Me.Premium ? 5 : 20;
int cargo = Task.BMain.Me.FreeCargo - Task.MinFreeSlots;
// Fly to safety in 5-3
if (cargo <= 0 && Task.BMain.MapName == "5-3" && !Task.BMain.Me.InNoAttackZone && Task.BMain.LoggedIn)
{
Task.IdleInSafety = true;
Task.BMain.WriteLog("Flying to safety to change hangar");
}
// Logout when in safety
else if (cargo <= 0 && Task.BMain.MapName == "5-3" && Task.BMain.Me.InNoAttackZone && Task.BMain.LoggedIn)
{
Task.BMain.Actions.LogOff(180 + timer);
Task.BMain.WriteLog("Logging out to switch hangar");
}
// Trigger Selling in 5-3
else if (cargo <= 0 && Task.BMain.MapName == "5-2" && Task.BMain.LoggedIn)
{
Task.SellPalladium = true;
Task.Sell = true;
Task.BMain.WriteLog("Selling Palladium");
return 1500;
}
// Logout when sold
else if (cargo > 0 && Task.BMain.MapName == "5-2" && Task.BMain.Equip.Ship.CurrentHangar != hangarCollect && Task.BMain.Me.InNoAttackZone && Task.BMain.LoggedIn)
{
Task.IdleInSafety = true;
Task.BMain.Actions.LogOff(180 + timer);
Task.BMain.WriteLog("Logging out to switch hangar");
}
// Flee to safety to logout after selling
else if (cargo > 0 && Task.BMain.MapName == "5-2" && Task.BMain.Equip.Ship.CurrentHangar != hangarCollect && !Task.BMain.Me.InNoAttackZone && Task.BMain.LoggedIn)
{
Task.IdleInSafety = true;
Task.BMain.WriteLog("Flying to safety to change hangar");
}
// Login to selling hangar
if (!Task.BMain.LoggedIn && Task.BMain.MapName == "5-3")
{
Task.BMain.Equip.Ship.ChangeHangars(hangarSell);
Task.BMain.Actions.LogOn();
Task.BMain.WriteLog("Switching to chosen sell hangar");
}
// Login to collection hangar
else if (!Task.BMain.LoggedIn && Task.BMain.MapName == "5-2")
{
Task.BMain.Equip.Ship.ChangeHangars(hangarCollect);
Task.BMain.Actions.LogOn();
Task.BMain.WriteLog("Switching to chosen collect hangar");
}
return -1;
}
public override bool NeedRun()
{
return Task.BMain.EquipmentLoaded;
}
}
class IShootPeepz : ITaskScript
{
public IShootPeepz()
: base("AmmoChanger", 2000, 8)
{
}
public override int Run()
{
if (Task.BMain.Me.SelectedShip.IsNpc)
{
if (Task.BMain.Me.SelectedShip.Shield > 0) { Task.BMain.Actions.SetDroneFormation(Enums.DroneFormation.Crab); } else { Task.BMain.Actions.SetDroneFormation(Enums.DroneFormation.Diamond); }
if (Task.BMain.Me.SelectedShip.Shield > 0) { Task.BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.SAB); } else { Task.BMain.Me.SetLaserAmmo(((Task)Task).LaserAmmo); }
}
else
{
if (Task.BMain.Me.GetAmmoCount(Enums.LaserAmmoType.RSB_75) >= 1000 && Task.BMain.Me.GetAmmoCount(Enums.LaserAmmoType.UCB_100) >= 1000)
{
if (Task.LaserAmmoType != Enums.LaserAmmoType.RSB_75)
{
Task.BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.RSB_75);
return 500;
}
if (Task.LaserAmmoType != Enums.LaserAmmoType.UCB_100)
{
Task.BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.UCB_100);
return 3000;
}
}
if (Task.BMain.Actions.CanUseInstaShield && Task.BMain.Me.Hitpoints <= 50000) Task.BMain.Actions.UseInstaShield();
if (Task.BMain.Actions.CanUseEmp && Task.BMain.Me.Hitpoints <= 30000) Task.BMain.Actions.UseEmp();
if (Task.BMain.Me.Shield <= Task.BMain.Me.MaxShield * 0.1 && Task.BMain.Actions.CanUseTech(Enums.TechType.ShieldBackup)) Task.BMain.Actions.UseTech(Enums.TechType.ShieldBackup);
}
return -1;
}
public override bool NeedRun()
{
return Task.BMain.Me.SelectedShip != null;
}
}
class ISurvive : ITaskScript
{
public ISurvive()
: base("ShipAbilities", 5000, 9)
{
}
public override int Run()
{
if (Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair) && (Task.BMain.Me.Shield / (double)Task.BMain.Me.MaxShield) * 100 <= 70)
{
Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
}
if (Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair) && Task.BMain.Me.Hitpoints <= (Task.BMain.Me.MaxHitpoints - 100000))
{
Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Health_Repair);
}
if (Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Pod) && Task.BMain.Me.Hitpoints <= 100000)
{
Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Health_Pod);
}
return -1;
}
public override bool NeedRun()
{
return (Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair) || Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair) || Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Pod));
}
}
class ICanHazRocketz : ITaskScript
{
public ICanHazRocketz()
: base("RocketBuyCPU", 2000, 7)
{
}
public override int Run()
{
int RocketCount = Task.BMain.Me.GetAmmoCount(((Task)Task).RocketAmmo);
if (RocketCount < 10)
{
Task.StandardConfiguration = ((Task)Task).RocketBuyConfig;
Task.SwitchConfigWhenShieldLow = false;
return 5000; // Config Change Cooldown
}
else
{
Task.StandardConfiguration = ((Task)Task).HellstormBuyConfig;
Task.SwitchConfigWhenShieldLow = true;
}
if (RocketCount > 300)
return 120000; // I doubt we will use 300 rockets in less than 2 mins. This gives the CPU back some processing time!
return -1;
}
public override bool NeedRun()
{
return true;
}
}
class IHazSuperPowerz : ITaskScript
{
public IHazSuperPowerz()
: base("TechCenter", 1000, 6)
{
}
public override int Run()
{
Task.BMain.Actions.UseTech(Enums.TechType.RocketPrecision);
return 1200000; // Precision Targeter Duration and Cooldown
}
public override bool NeedRun()
{
return Task.BMain.Actions.CanUseTech(Enums.TechType.RocketPrecision) && Task.BMain.Actions.GetTechAmount(Enums.TechType.RocketPrecision) > 10;
}
}
#endregion
public override void OnReset()
{
this.BoostDictionary = new Dictionary<string, Enums.ResourceType> {
{ "Lasers", Enums.ResourceType.ore_promerium },
{ "Rockets", Enums.ResourceType.ore_seprom },
{ "Speed", Enums.ResourceType.ore_promerium },
{ "Shield", Enums.ResourceType.ore_seprom }
};
this.TaskScripts.Clear();
if (UseHangarChange)
this.TaskScripts.Add(new IHangarChange()); // Hangar Change
if (UseAmmoChanger)
this.TaskScripts.Add(new IShootPeepz()); // Ammo Changer
if (UseShipAbilities)
this.TaskScripts.Add(new ISurvive()); // Ship Abilities
if (UseRocketBuyCPU)
this.TaskScripts.Add(new ICanHazRocketz()); // Auto Rocket Buy
if (UseTechCenter)
this.TaskScripts.Add(new IHazSuperPowerz()); // Tech Center
}
public override void ChooseLogic()
{
if (!ActionList.Contains("Palladium Pro"))
{
BMain.WriteLog("Palladium Pro");
BMain.WriteLog("\u00A9 Made by -jD- with special thanks to ukjet");
Restock = false;
UseRocketLauncher = UseRocketLauncher;
LaserAmmoType = LaserAmmo;
RocketAmmoType = RocketAmmo;
RocketLauncherAmmoType = RocketLauncherAmmo;
AvoidNpcsRange = 3500;
CollectResources = true;
ExtremeBotting = false;
CollectBonusBoxes = false;
CollectCargoBoxes = false;
SwitchConfigWhenShieldLow = true;
SwitchConfigShieldPercent = 10;
AnswerAttacks = true;
FleeOnEnemyInRadius = false;
TaskMap = "5-3";
AttackNpcs = true;
DroneFormation = Enums.DroneFormation.Diamond;
if (BMain.MapName != "5-3") { UsePet = false; } else { UsePet = true; }
/* Confusing cloak logic FTW! :D */
if (!BMain.MapName.Contains("5-"))
if(BMain.MapName.Contains("-8"))
Cloak = false;
else if (CloakOnSell)
Cloak = true;
else
if (!UseHangarChange && CloakOnSell)
if (BMain.MapName != "5-3") { Cloak = true; } else { Cloak = false; }
PetMode = Enums.PetMode.Auto_Resource_Collector;
RestockPetFuel = true;
PetFuelMinAmount = 1000;
PetMinDurability = 1;
RepairPetWhenDead = true;
Repair = true;
MinDurability = 40;
MaxDurability = 100;
Refine = false;
if (UseHangarChange)
{
if (BMain.MapName == "5-3")
{
Sell = false;
SellPalladium = false;
SellSkylabPromerium = false;
}
else
{
Sell = true;
SellPalladium = true;
SellSkylabPromerium = true;
}
}
else
{
Sell = true;
SellPalladium = true;
SellSkylabPromerium = true;
}
MinFreeSlots = 0;
MinPalladiumAmountToSell = 15;
ActionList.Add("Palladium Pro");
}
}
}
}






