You last visited: Today at 10:37
Advertisement
[Bot] PBDO Bot - Support Thread
Discussion on [Bot] PBDO Bot - Support Thread within the DarkOrbit forum part of the Browsergames category.
03/27/2013, 21:31
#1
elite*gold: 83
Join Date: May 2011
Posts: 11,029
Received Thanks: 6,037
[Bot] PBDO Bot - Support Thread
Well, this is more of a test to see if it works or not.
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");
}
}
}
}
03/27/2013, 21:32
#2
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Good Idea. Never thought about sth like that
I'll help as much as i can.
Put the website and download link here.
And make it sticky. That everyone sees it.
03/27/2013, 21:50
#3
elite*gold: 0
Join Date: Jan 2011
Posts: 1,130
Received Thanks: 3,260
Something likes 'Request for a task' and for prevent spam thread? Good Idea.
03/27/2013, 21:56
#4
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Yeah, a PBDO-Taks Thread where several tasks are stored would be great... but someone has to update it every day
03/27/2013, 21:59
#5
elite*gold: 83
Join Date: May 2011
Posts: 11,029
Received Thanks: 6,037
Quote:
Originally Posted by
'Heaven.
Yeah, a PBDO-Taks Thread where several tasks are stored would be great... but someone has to update it every day
I'll put in some of the important "well-known" ones as time goes by. Most things will probably be quite different, so you can't really add "everything".
But as said before, if someone has a task/question, they can post it here. Usually we can have some very helpful people around here, and tasks aren't all that hard to create. Most of the time anyway.
03/27/2013, 22:16
#6
elite*gold: 0
Join Date: Jan 2013
Posts: 2,125
Received Thanks: 1,181
Nice idea.
I hope that this thread will prevent board spamming. Nice job Fear.
03/27/2013, 22:24
#7
elite*gold: 0
Join Date: Jan 2012
Posts: 1,997
Received Thanks: 3,422
Great idea !
03/27/2013, 23:21
#8
elite*gold: 13
Join Date: Apr 2010
Posts: 612
Received Thanks: 233
I thought I would break the chain of colored names :P
Good idea though.
03/27/2013, 23:41
#9
elite*gold: 1
Join Date: Feb 2012
Posts: 642
Received Thanks: 378
Well, here I come with the first task and taskscript
Enjoy
(When PBDO is online again
)
Lower maps task:
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[] protectedCollection = new Enums.ResourceType[] {
};
this.ProtectResourcesList.AddRange(protectedCollection);
Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
//boostCollection.Add("Speed", Enums.ResourceType.ore_);
//boostCollection.Add("Shield", Enums.ResourceType.ore_);
//boostCollection.Add("Lasers", Enums.ResourceType.ore_);
//boostCollection.Add("Rockets", Enums.ResourceType.ore_);
this.BoostDictionary = boostCollection;
}
public override void ChooseLogic()
{
if (!ActionList.Contains("PBDO-Bot Task"))
{
BMain.WriteLog("Task created with Taskcreator by Dr. Moc || Tweaked and edited by ZzEndayZz @ ePvp ;)");
Reset();
//Have fun with this task :)
//IMPORTANT: If you use ECO-10, buy 2 rocket buy CPU:s. 1st CPU on 1st config and 2nd on 2nd, 1st should buy ECO while 2nd should buy the regular rocket type.
//USE THE AUTO ECO BUY TASKSCRIPT INCLUDED!
TaskMap = "3-4"; //Change to any lower map
HuntNpcsList.Add(BMain.Npc.Streuner);
HuntNpcsList.Add(BMain.Npc.Lordakia);
HuntNpcsList.Add(BMain.Npc.Mordon);
HuntNpcsList.Add(BMain.Npc.Saimon);
HuntNpcsList.Add(BMain.Npc.BossStreuner);
HuntNpcsList.Add(BMain.Npc.BossLordakia);
HuntNpcsList.Add(BMain.Npc.BossSaimon);
HuntNpcsList.Add(BMain.Npc.BossMordon);
AttackNpcs = true;
AttackTaggedNpcs = false;
AttackBossNpcs = true;
MinFightDistance = 0; // }
// ---- For safety ;)
MaxFightDistance = 0; // }
AnswerAttacks = true; //Funny sometimes :P
CloudBoxesCollectRadius = 5000;
TimeBetweenBoxes = 0;
BoxesPerHour = 10000;
Repair = true;
MinDurability = 80;
StandardConfiguration = 1; //My config: (Leonov) 2 shields on drones, rest lasers.
FleeOnAttacked = true;
SwitchConfigWhileFleeing = true;
DroneFormation = Enums.DroneFormation.Chevron; //Change to some formation you want
CollectBonusBoxes = true;
CollectSpecialBoxes = true;
SafeBotting = false;
LaserAmmoType = Enums.LaserAmmoType.LCB_10;
RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10; //Delete this line if you don't want to waste ECO rockets
CollectPirateBoxes = false;
ActionList.Add("PBDO-Bot Task");
}
}
}
}
Auto buy ECO task script:
Code:
using System;
using PBDOBot.Helper;
namespace PBDOBot.Api.Task
{
public class AutoEcoBuyTaskScript : ITaskScript
{
public AutoEcoBuyTaskScript() : base("AutoEcoBuyTaskScript", 5000, 1)
{
}
public override bool NeedRun()
{
return true;
}
public override int Run()
{
int rocketAmmo = Task.BMain.Me.GetAmmoCount(Enums.RocketAmmoType.PLT_2026);
if (rocketAmmo < 10)
{
Task.StandardConfiguration = 2;
Task.SwitchConfigWhenShieldLow = false;
}
else
{
Task.StandardConfiguration = 1;
Task.SwitchConfigWhenShieldLow = false;
}
return -1;
}
}
}
03/28/2013, 02:35
#10
elite*gold: 8
Join Date: Nov 2012
Posts: 486
Received Thanks: 161
Very good idea. In the last days i saw a new pbdo thread every 2 hours. This was kind of annoying. I hope this thread will help to reduce these kinds of threads
03/28/2013, 08:02
#11
elite*gold: 0
Join Date: May 2011
Posts: 1,764
Received Thanks: 1,577
Hmm, kinda sad people dont try to read the hole pbdo website ..
ENOUGH info there :P
But anyways, i think this is good idea fearful=)
03/28/2013, 09:43
#12
elite*gold: 0
Join Date: Jul 2011
Posts: 1,276
Received Thanks: 408
I use this task for x2 boxes+npcs .. and when have another event npc in the map, this task kill the event npc.. now this hunt for cubikid,protekid, too.
{dont use eco, and rocket, when you reactivate in your ship the auto rocket cpu, and the cpu what is shoot the rockets
}
Code:
using System.Threading;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;
using System.Collections.Generic;
namespace Tasks
{
public class Task : BBaseTask
{
public override void OnReset()
{
}
public override void ChooseLogic()
{
if (!ActionList.Contains("x-2"))
{
BMain.WriteLog("x-2 hunt & farm");
//*SYSTEM* reset must be called for reseting, possible existing, data
Reset();
TaskMap = "x-2";
AttackNpcs = true;
AttackBossNpcs = true;
AttackTaggedNpcs = false;
MinFightDistance = 150;
MaxFightDistance = 450;
BuyInvisibleAddon = false;
Refine = false;
Sell = false;
SellSkylabPromerium = false;
Restock = false;
AnswerAttacks = true;
LaserAmmoType = Enums.LaserAmmoType.LCB_10;
RocketAmmoType = Enums.RocketAmmoType.R310;
RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10;
Restock = false;
AnswerAttacks = true;
DroneFormation = Enums.DroneFormation.Moth;
SafeBotting = false;
CollectResources = false;
CollectBonusBoxes = true;
CollectCargoBoxes = false;
CollectSpecialBoxes = true;
CollectPirateBoxes = false;
DroneFormation = Enums.DroneFormation.Moth;
FleeOnEnemyInRadius = true;
FleeRadius = 5000;
StandardConfiguration = 2;
SwitchConfigWhileFleeing = true;
Repair = true;
MinDurability = 45;
UsePet = false;
PetMode = Enums.PetMode.Auto_Looter;
BMain.WriteLog("We will use PET in Auto_Looter mode");
PetMinDurability = 10;
RestockPetFuel = true;
RepairPetWhenDead = true;
ActionList.Add("x-2");
}
}
}
}
03/28/2013, 13:03
#13
elite*gold: 83
Join Date: May 2011
Posts: 11,029
Received Thanks: 6,037
I updated the layout a bit, it still looks very messy, however, it has some things added to it.
I think it's best to just add the code on it, if you find tasks you like in PBDO (you can always add an attachment).
Also, it's nice if you add the thread for the source from there, if you got it from the site
03/28/2013, 20:13
#14
elite*gold: 0
Join Date: Mar 2012
Posts: 80
Received Thanks: 11
Hello epvp!
I'm searching one script.
It have to do the next:
When i shot kamikaces on x-7 if I kill 2 eic beetween the first kamikace and after the second it stops shotting kamikaces during 1h and 30m.
If some one can share it with me I will thnk you
Pd: i have posted on pbdobot forums too and i have searched it toñ
03/28/2013, 20:23
#15
elite*gold: 0
Join Date: Mar 2013
Posts: 593
Received Thanks: 74
this problem ocurred me in the trial version?
13:20:08: Login request on bot authentication server started..
13:20:11: Authentication failed (no matching user data found).
13:20:11: Received no usable answer. Going into sleep mode.
13:23:00: Login request on bot authentication server started..
13:23:03: Authentication failed (no matching user data found).
13:23:03: Received no usable answer. Going into sleep mode.
Similar Threads
[Release] PBDO Bot - Official Thread
06/09/2013 - DarkOrbit - 2774 Replies
Hallo Community!
Habe etwas Zeit gefunden diesen Post zu unserem Bot zu machen.
Wir sind ja schon eine Weile released und der alte Thread nur für die Beta war.
Ich hoffe, der wurde auch schon geclosed.
Hier finden Sie dann immer wieder Patchnews und andere nützliche Informationen zu unserem Bot.
Unsere Homepage:PBDO Darkorbit Bot - Portal
Für die Mods: Hier ist der URL ... hört mit dem Scheiß Verwarnen auf, lernt lesen.
Links
Trade good acc for PBDO Silver [More details in thread]
02/28/2013 - Browsergames Trading - 6 Replies
Acc have: 20 Lf4, much ammo, 18 lvl, usa 3 east, 1.000.000.000 exp, KBot nogg.
I would like to change this to pbdo silver and 10E psc or silver +1.
Skype: jestem.pr02
@Edit
My bad, move this to trading section ;d
[INFO] PBDO Thread All in One
01/14/2013 - DarkOrbit - 10 Replies
I create this thread for all PBDO Bot users. Here you can find all you need :
-PBDO BOTRELEASE PAGE
-PBDO BOTHOMEPAGE
http://i.epvpimg.com/MzC6b.png PBDO TASKCREATOR:
TASKCREATOR BY DR. MOC
All times are GMT +2. The time now is 10:38 .