Register for your free account! | Forgot your password?

You last visited: Today at 04:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PBDO-Bot

Discussion on PBDO-Bot within the DarkOrbit forum part of the Browsergames category.

Closed Thread
 
Old   #1
 
elite*gold: 10
Join Date: Feb 2013
Posts: 41
Received Thanks: 1
PBDO-Bot

Hello can someone say me what a task is?
I want to bot Palladium
SolaCe|TheLegend is offline  
Old 03/05/2013, 18:15   #2
 
skeith_sk8's Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 3,053
Received Thanks: 2,658
Palladium Pro
skeith_sk8 is offline  
Old 03/05/2013, 20:17   #3
 
elite*gold: 0
Join Date: Dec 2010
Posts: 798
Received Thanks: 355
and why u post here ? ==' i thought PBDO has its own forum
sumnjiee is offline  
Old 03/05/2013, 22:11   #4

 
Arby's Avatar
 
elite*gold: 83
Join Date: May 2011
Posts: 11,029
Received Thanks: 6,037
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");
            }
        }
    }
}
You may have to make some changes to it.
Arby is offline  
Thanks
4 Users
Closed Thread

Tags
bot, darkorbit, skill


Similar Threads Similar Threads
PBDO-Bot - Change PBDO Login for Bot Client
12/02/2012 - DarkOrbit - 2 Replies
Hello, Can anyone help me, i want to change my PBDO-Bot Login. How does it work? I already tried to change my Profile password on pbdo-bot.com but, my password for the bot client is still the same. I hope somebody can help me. Greetings flay
error en pbdo-bot//bug in pbdo-bot
08/10/2012 - DarkOrbit - 1 Replies
Hola, tengo un error en el pbdo-bot; no puedo loguear mi cuenta silver del bot ni botear: debug log 17:48:44: +----- short sys info -----+ 17:48:44: _Kleinhirn: Could not load file or assembly 'System.Data.SQLite.dll' or one of its dependencies. No se puede encontrar el módulo especificado. el problema está en 'System.Data.SQLite.dll', pero no se que hacer. ---------------------------



All times are GMT +1. The time now is 04:59.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.