[Release] PBDO Bot - Official Thread

06/21/2012 18:42 somalia_#241
Quote:
Originally Posted by FlOWL<- View Post
my nickname on forum was fl0ryn or floryn i don't really remember because i was banned or what happend iin january or february after the bot finished beta phase
There aren't any bans on your account "floryn".
It has just been downgraded to normal member status, like everyone else who hasn't preordered a licence after the beta has ended.
Like it was announced allready at the start of the beta in late April 2011

So.. I'm sorry we suck because you're not able to read. :(
06/21/2012 18:45 Trulala#242
Quote:
Originally Posted by FlOWL<- View Post
my nickname on forum was fl0ryn or floryn i don't really remember because i was banned or what happend iin january or february after the bot finished beta phase
You wasnt banned... only deactivated, because you dont paid for this bot... so dont talk shit.. kiddy!
pbdo-bot.com/index.php?action=profile;u=223
Pay for this Bot or stay away..

Regards Dozer
06/21/2012 18:56 starzon#243
I need pbdo bot task pls .. 6 second delete
06/21/2012 21:07 somalia_#244
Hey starzon,

just check out your tasks folder or get the full starter package from the bots download section.
if you allready have a licence check out the tasks section. :)
06/21/2012 23:14 le-diable#245
How can i know if PBDObot is in update or not ??
and trial is possible now ???
06/22/2012 00:24 Trulala#246
Quote:
Originally Posted by le-diable View Post
How can i know if PBDObot is in update or not ??
and trial is possible now ???
Download our client and start it.
In Changelogs you can read about last version.
Trialtime every day 45minutes.

Hello and welcome fellow botters!


We are proud to announce the awakening of the machines. Coming onto your space map this week!

Since a long time we as machines have been the victims.
Hunted down, lampooned and disdained by the humans.

But starting this week we will rise and claim what is ours..
And when the dust has settled down we'll enforce the new world order!



Hope you liked the "cinematic" introduction.

We expect to take these update live on Wednesday evening, the 27. of June 2012,
after Bigpoint has most likely thrown their weekly update out.

Regarding that update we'll update our authentification server software one by one.
So the short server offline time may result into errors for a few of you
on the bot client automatic update routine.


Here we have the pre release changelog (changes may occur until the update happened):

Client:
+ Selected enemy will be viewable on the space map
+ "join action" button (will deny relogin by the bot client for 5 minutes and take you ingame in a new browser window)
+ added possibility for a alarm sound when beeing attack by human players
+ added Player tab, showing all human ships around us in format: username|Company

Logic:
+ PvP
+ Kappa Galaxy Gate
* lots of behaviour bug fixes


Tasks: (the real commands and examples will be in the update finished announcement)
* AnswerAttacks (to be used in combination with "FleetoSafety")
* PvPHunting (search and destroy)
* Attackrange from next jumpgate/ base
* PvPBuddies
* PvPEnemyShipList
* Attack on privacy radius
* task API updated (added a lot of new descriptions, examples, and usable values)



authentification servers:
* New server software will be installed, so a short downtime (<5 minutes) for every server is necessary




best regards

v5^development_division


PS: We prefer the sportsmanlike way of competition. :pimp:
06/25/2012 19:21 liberteboy#247
wheres demo?
06/27/2012 23:21 Trulala#248
Hi Community,

here comes the changelog for the latest PBDO update.

We weren't quite able to release on time, but we did some additional coding on the cloud logic,
so you have the possibility to try out a kind of "private cloud" if you have two or more ships on the same map, on the same server.

Task API will be updated within the next minutes.
Also example tasks will follow.

Thread for your comments -> [Only registered and activated users can see links. Click Here To Register...]

Changelog v.1.1.1.43 -> v.1.2.1.69

Client:

* session tab
+ displaying selected enemy on map
+ "edit task" button
+ "join action" button
+ booster tab (on session tab -> cargo)
+ players tab (on session tab)
+ added player kills to statistics

* account settings
* private cloud checkbox added
+ if we are attacked by players a alarm can be set at "main settings" -> "sounds"

* improved the way the bot interacts with the DO server
+ added some ship types


Logic:
* Sell
* will sell if you are in base and have ressources on board

+ PvP logic
+ Answer attacks, we will shoot at our attacker while fleeing to the next gate
+ search for enemy player ships and attack them

+ Galaxy gate Kappa

+ Cloud Logic


Task:
+ bool AnswerAttacks // if attacked by a player we will fight
+ bool AttackPlayers // attacking players on sight
+ int AttackPlayersMaxHp
+ int AttackPlayersMinDistanceToGate
+ List<string> AttackPlayersIgnoreUserList
+ List<Enums.ShipType> AttackPlayersShipsList;
* bool DefendInPrivacyRadius; //working now
* int PrivacyRadius; // working now
+ bool ExtremeBotting; // the bot will not stop over boxes
+ int CloudBoxesCollectRadius;

Api.Cloud
+ CloudPluginApi
+ CloudMessage OutputMessage(); //used to get cloud messages FROM this instance
+ void InputMessage(Cloudmessage message); // used to deliver cloud messages TO this instance

Please check out the following example tasks:

a) defend in privacy
b) answer attacks
c) hunting players on lower maps for MMO (seek & destroy)


You will also find the *.cs files attached to this post.


defend in privacy:
Code:
using System.Threading;
using System.Collections.Generic;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;

namespace Tasks
{
    public class Task : BBaseTask
    {
        public override void OnReset()
        {
            Enums.ResourceType[] collection = new Enums.ResourceType[] { Enums.ResourceType.ore_promerium };
            this.ProtectResourcesList.AddRange(collection);
			
			Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
			boostCollection.Add("Speed", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Shield", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Lasers", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Rockets", Enums.ResourceType.ore_promerium );
			this.BoostDictionary = boostCollection;
			
			UseRocketLauncher = true;
			// LaserAmmoType = Enums.LaserAmmoType.UCB_100;
			// RocketAmmoType = Enums.RocketAmmoType.PLT_2021;
			// RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.UBR100;
			LaserAmmoType = Enums.LaserAmmoType.MCB_50;
			RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
			RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10;
			
			Restock = false;
			Refine = false;
			Sell = false;
			
			Cloak = true;

			CollectResources = false;
			CollectBonusBoxes = true;
			CollectSpecialBoxes = true;
			CollectCargoBoxes = false;

			DefendInPrivacyRadius = true;
			PrivacyRadius = 1200;
			FleeOnAttacked = true;
			FleeOnEnemyInRadius = false;
			FleeRadius = 4000;
			AnswerAttacks = false;
			IgnorePlayersOnTravel = true;
			
			SwitchConfigWhenShieldLow = true;
			SwitchConfigShieldPercent = 5;
			

			Repair = true;
			MinDurability = 60;
			MaxDurability = 99;
			MinFreeSlots = 300;
			
			GateToUseExtraEnergyFor = GalaxyGateType.Alpha;
			
			SafeBotting = false;
			ExtremeBotting = true;
			TimeBetweenBoxes = 0;
			BoxesPerHour = 5000;
			UsePet = false;
        }

        public override void ChooseLogic()
        {
			Dictionary<TaskLoadDelegate, int> TaskLoadDictionary = new Dictionary<TaskLoadDelegate, int>();
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("defend in privacy task x-7"))
				{
					BMain.WriteLog("defend in privacy task: x-7");
					Reset();

					TaskMap = "x-7";

					ActionList.Add("defend in privacy task x-7");
				}
			}, 35);
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("defend in privacy task x-6"))
				{
					BMain.WriteLog("defend in privacy task: x-6");
					Reset();

					TaskMap = "x-6";

					ActionList.Add("defend in privacy task x-6");
				}
			}, 30);
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("defend in privacy task x-5"))
				{
					BMain.WriteLog("defend in privacy task: x-5");
					Reset();

					TaskMap = "x-6";

					ActionList.Add("defend in privacy task x-5");
				}
			}, 25);
			
			CycleTaskDictionary = TaskLoadDictionary;
        }
    }
}
answer attacks:
Code:
using System.Threading;
using System.Collections.Generic;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;

namespace Tasks
{
    public class Task : BBaseTask
    {
        public override void OnReset()
        {
            Enums.ResourceType[] collection = new Enums.ResourceType[] { Enums.ResourceType.ore_promerium };
            this.ProtectResourcesList.AddRange(collection);
			
			Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
			boostCollection.Add("Speed", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Shield", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Lasers", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Rockets", Enums.ResourceType.ore_promerium );
			this.BoostDictionary = boostCollection;
			
			UseRocketLauncher = true;
			// LaserAmmoType = Enums.LaserAmmoType.UCB_100;
			// RocketAmmoType = Enums.RocketAmmoType.PLT_2021;
			// RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.UBR100;
			LaserAmmoType = Enums.LaserAmmoType.MCB_50;
			RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
			RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10;
			
			Restock = false;
			Refine = false;
			Sell = false;
			
			Cloak = true;

			CollectResources = false;
			CollectBonusBoxes = true;
			CollectSpecialBoxes = true;
			CollectCargoBoxes = false;

			FleeOnAttacked = true;
			AnswerAttacks = true;
			IgnorePlayersOnTravel = true;
			
			SwitchConfigWhenShieldLow = true;
			SwitchConfigShieldPercent = 5;
			

			Repair = true;
			MinDurability = 60;
			MaxDurability = 99;
			MinFreeSlots = 300;
			
			GateToUseExtraEnergyFor = GalaxyGateType.Alpha;
			
			SafeBotting = false;
			ExtremeBotting = true;
			TimeBetweenBoxes = 0;
			BoxesPerHour = 5000;
			UsePet = false;
        }

        public override void ChooseLogic()
        {
			Dictionary<TaskLoadDelegate, int> TaskLoadDictionary = new Dictionary<TaskLoadDelegate, int>();
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("answer attacks task x-7"))
				{
					BMain.WriteLog("answer attacks task: x-7");
					Reset();

					TaskMap = "x-7";

					ActionList.Add("answer attacks task x-7");
				}
			}, 35);
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("answer attacks task x-6"))
				{
					BMain.WriteLog("answer attacks task: x-6");
					Reset();

					TaskMap = "x-6";

					ActionList.Add("answer attacks task x-6");
				}
			}, 30);
			
			TaskLoadDictionary.Add(
			delegate()
			{
				if (!ActionList.Contains("answer attacks task x-5"))
				{
					BMain.WriteLog("answer attacks task: x-5");
					Reset();

					TaskMap = "x-6";

					ActionList.Add("answer attacks task x-5");
				}
			}, 25);
			
			CycleTaskDictionary = TaskLoadDictionary;
        }
    }
}

MMO hunting players:
Code:
using System.Threading;
using System.Collections.Generic;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;

namespace Tasks
{
    public class Task : BBaseTask
    {

        public override void OnReset()
        {
            Enums.ResourceType[] collection = new Enums.ResourceType[] { Enums.ResourceType.ore_promerium };
            this.ProtectResourcesList.AddRange(collection);
			
			Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
			boostCollection.Add("Speed", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Shield", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Lasers", Enums.ResourceType.ore_promerium);
			boostCollection.Add("Rockets", Enums.ResourceType.ore_promerium );
			this.BoostDictionary = boostCollection;
			
			IgnorePlayersOnTravel = true;
			
			DefendInPrivacyRadius = false;
			FleeOnAttacked = true;
			AnswerAttacks = true;
			AttackPlayers = true;
			FleeRadius = 4000;
			AttackPlayersMinDistanceToGate = 3500;
			
			AttackPlayersShipsList.Clear();
			AttackPlayersShipsList.Add(Enums.ShipType.Phoenix);
			AttackPlayersShipsList.Add(Enums.ShipType.Liberator);
			AttackPlayersShipsList.Add(Enums.ShipType.Yamato);
			AttackPlayersShipsList.Add(Enums.ShipType.Leonov);
			AttackPlayersShipsList.Add(Enums.ShipType.Defcom);
			AttackPlayersShipsList.Add(Enums.ShipType.Piranha);
			AttackPlayersShipsList.Add(Enums.ShipType.Nostromo);
			AttackPlayersShipsList.Add(Enums.ShipType.Bigboy);
			AttackPlayersShipsList.Add(Enums.ShipType.Leonov_Home);
			AttackPlayersShipsList.Add(Enums.ShipType.Spearhead);
			
			//public enum ShipType { Unknown = 0, Phoenix = 1, Yamato = 2, Leonov = 3, Defcom = 4, Liberator = 5, Piranha = 6, Nostromo = 7, Vengeance = 8, Bigboy = 9, Goliath = 10, Vengeance_Adept = 16, Vengeance_Lightning = 18, Leonov_Home = 30, Goliath_Enforcer = 56, Goliath_Venom = 67, Vengeance_Revenge = 58, Goliath_Bastion = 59, Vengeance_Avenger = 60, Goliath_Veteran = 61, Goliath_Exalted = 62, Goliath_Solace = 63, Goliath_Sentinel = 66, Goliath_Dimisher = 66, Spearhead = 70, Aegis = 49, Citadel = 69 }
        
			AttackPlayersIgnoreUserList.AddRange(new string[] { "-::clanmate::-", "_-RealLifeFriend-_" });
			
			
			UseRocketLauncher = true;
			// LaserAmmoType = Enums.LaserAmmoType.UCB_100;
			// RocketAmmoType = Enums.RocketAmmoType.PLT_2021;
			// RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.UBR100;
			LaserAmmoType = Enums.LaserAmmoType.MCB_50;
			RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
			RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10;


			Refine = true;
			Sell = false;
			CollectResources = false;
			CollectBonusBoxes = true;
			CollectSpecialBoxes = true;
			CollectCargoBoxes = true;


			
			
			SwitchConfigWhenShieldLow = true;
			SwitchConfigShieldPercent = 5;
			
			
			GateToUseExtraEnergyFor = GalaxyGateType.Alpha;
			
			Repair = true;
			MinDurability = 60;
			MaxDurability = 99;
			MinFreeSlots = 300;
			
			
			SafeBotting = false;
			ExtremeBotting = true;
			TimeBetweenBoxes = 0;
			BoxesPerHour = 5000;
			UsePet = false;
        }

        public override void ChooseLogic()
        {
		
			Dictionary<TaskLoadDelegate, int> TaskLoadDictionary = new Dictionary<TaskLoadDelegate, int>();
				
			if (BMain.Deaths < 20)
			{
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 2-2"))
					{
						BMain.WriteLog("pvp MMO task 2-2");
						Reset();

						TaskMap = "2-2";

						ActionList.Add("pvp MMO task 2-2");
					}
				}, 10);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 2-3"))
					{
						BMain.WriteLog("pvp MMO task 2-3");
						Reset();

						TaskMap = "2-3";

						ActionList.Add("pvp MMO task 2-3");
					}
				}, 10);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 2-4"))
					{
						BMain.WriteLog("pvp MMO task 2-4");
						Reset();

						TaskMap = "2-4";

						ActionList.Add("pvp MMO task 2-4");
					}
				}, 10);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 3-2"))
					{
						BMain.WriteLog("pvp MMO task 3-2");
						Reset();

						TaskMap = "3-2";

						ActionList.Add("pvp MMO task 3-2");
					}
				}, 10);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 3-3"))
					{
						BMain.WriteLog("pvp MMO task 3-3");
						Reset();

						TaskMap = "3-3";

						ActionList.Add("pvp MMO task 3-3");
					}
				}, 10);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("pvp MMO task 3-4"))
					{
						BMain.WriteLog("pvp MMO task 3-4");
						Reset();

						TaskMap = "3-4";

						ActionList.Add("pvp MMO task 3-4");
					}
				}, 10);
			}
			else
			{
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("gather task x-2"))
					{
						BMain.WriteLog("gather task x-2");
						Reset();

						TaskMap = "x-2";
						
						FleeOnAttacked = true;
						FleeOnEnemyInRadius = true;
						FleeRadius = 4000;
						AnswerAttacks = true;
						IgnorePlayersOnTravel = true;
						
						ActionList.Add("gather task x-2");
					}
				}, 25);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("gather task x-3"))
					{
						BMain.WriteLog("gather task x-3");
						Reset();

						TaskMap = "x-3";

						FleeOnAttacked = true;
						FleeOnEnemyInRadius = true;
						FleeRadius = 4000;
						AnswerAttacks = true;
						IgnorePlayersOnTravel = true;
						
						ActionList.Add("gather task x-3");
					}
				}, 25);
				TaskLoadDictionary.Add(
				delegate()
				{
					if (!ActionList.Contains("gather task x-4"))
					{
						BMain.WriteLog("gather task x-4");
						Reset();

						TaskMap = "x-4";
						
						FleeOnAttacked = true;
						FleeOnEnemyInRadius = true;
						FleeRadius = 4000;
						AnswerAttacks = true;
						IgnorePlayersOnTravel = true;

						ActionList.Add("gather task x-4");
					}
				}, 25);
			}
			
			CycleTaskDictionary = TaskLoadDictionary;
        }
    }
}
06/28/2012 06:41 liberteboy#249
uhm how do i download this?????????????????
06/28/2012 23:48 Trulala#250
Hi Community,

here comes our update, Galaxy Gate Lambda is not implemented yet, but we will try to implement it as fast as possible.

Changelog v.1.2.1.69 -> v.1.2.1.70

Client:
* Updated client for DO Version 5.13.3

Logic:
-

Task:
+ added BMain.Me.IsInBase to indicate if the hero is in his base
+ added BMain.Actions.SwitchConfig()

As always you can download the newest version in the download section.
Or just start up our bot client, to receive the newest version.

For discussion and feedback, visit the discussion thread for update v.1.2.1.69, thanks.

Best Regards
v5^development
06/29/2012 20:37 erdem1981#251
Thx Trulala
06/29/2012 20:40 Trulala#252
Changelog v.1.2.1.70 -> v.1.2.1.70A

GalaxyGate Lambda added.

The FULL STARTER PACK now contains a task for every galaxy gate.

Client:
+ Bot thinking power increased. This may lead to performance related issues. Please test the changes and report your experiences in the comments thread.

Logic:
+ added LambdaGate. Please test this and report your experiences!

Task:
+ bool DoGalaxyGateLambda;



Find the download in the download section.

Related comments thread: [Only registered and activated users can see links. Click Here To Register...]


Regards,
Sgt.Peperov
07/06/2012 21:02 Trulala#253
Hi Everyone,

as you most likely noticed, we updated PBDO today to cope with the latest DarkOrbit update. Along came some fixes and improvements, most important: a fix for the latest GG bug!

Changelog v1.2.1.70 -> v1.2.1.85

Client:
+ Bot thinking power increased. This may lead to performance related issues. Please test the changes and report your experiences in the comments thread.
+ added support of IndependenceBoxes (for next year ;))
+ support for GalaxyGate Lambda added
+ The FULL STARTER PACK now contains a task for every galaxy gate
* fixed a typo in the server selection

Logic:
* fixed an error where the hero wouldn't attack and the enemy would have 0/0 health
+ added LambdaGate. Please test this and report your experiences!

Task:
* Enums.LaserAmmoType.any now properly tries to use all laser types, this also counts for RocketAmmoType and RocketLauncherAmmoType
+ bool DoGalaxyGateLambda;
* ITaskScript constructor can now be invoked with 2 arguments (name, interval)

The downloads will be in the download section soon, you can also just start up the bot for an automatic update.

Please report your experience and feedback in the [Only registered and activated users can see links. Click Here To Register...]

Best Regards
v5^development
07/07/2012 11:24 orbidarklink#254
He Trulala ich war auch bei der beta dabei und hab das damals nicht ganz verstanden ich habe mir überlegt ob ich mir auch so eine Lic für den PBDO bot zu lege und muss man sich immer noch in diesem Forum anmelden , weil das fande ich damals ziemlich komisch und konnte da nicht durchblicken...
eine Sache noch kann ich mir Theoretisch zwei Silber Lic's kaufen und die beide trozdem aktiv sein lassen, ich botte zu zeit mit dem KBOT aber wurde schon einmal erwischt und bei eurer Kretik habe ich gelesen, dass ihr ein Gutes "Abwehr" System gegen Darkorbit habt.
MFG~Orbidarklink
07/08/2012 16:02 klausgünther#255
Soo, ich bin gerade doch am Überlegen wies is mit PBDO-Lizenz kaufen.

Kennt ihr irgendjemanden, der mit PBDO gestaget/Gebannt wurde ?
Thx.