CoStandALone Source

10/10/2011 10:44 becko713#1
Hello , this is some of the CoStandalone Source code

see it and maybe it can help you

i got the full source if anyone interested to make it work better

this just example or what i have


MiningBot.cs
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ConquerStandAlone;
using System.Threading;
namespace ConquerMiningBot
{
    public class MiningBot
    {
        public ListViewItem Item;
        public IPlayer Player;
        Thread LogicThread;
        Thread UpdateThread;
        List<IItem> Items = new List<IItem>();
        DateTime lastminesend = DateTime.Now;
        void updatethread()
        {
            while (true)
            {
                Item.SubItems[1].Text = Player.Location.X + "," + Player.Location.Y + "," + Player.Location.MapID;
                Thread.Sleep(1000);
            }
        }

        void UpdateStatus(string Status)
        {
            Item.SubItems[2].Text = Status;
        }

        bool hasspecialitem()
        {
            IItem[] gems = Player.Inventory.GetGems(GemPureType.DragonGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.KylinGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.MoonGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.GloryGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.PheonixGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.RainbowGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.ThunderGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.TortoiseGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.VioletGem);
            if (gems.Length > 0) return true;
            gems = Player.Inventory.GetGems(GemPureType.FuryGem);
            if (gems.Length > 0) return true;
            if (Player.Inventory.GetItemFromName("Meteor") != null) return true;
            if (Player.Inventory.GetItemFromName("DragonBall") != null) return true;
            if (Player.Inventory.GetItemFromName("PermanentStone") != null) return true;
            if (Player.Inventory.GetItemFromName("BigPermanentStone") != null) return true;
            return false;
        }

        void CollectSpecialItems()
        {
            Form1.SpecialItems++;
            Form1.status.Text = "Got A Total of " + Form1.SpecialItems + " Special Items";
            Form1.BotCore.Login("ncamara33", "toronto2003", "208.96.34.46", "Leo", 9959);
            UpdateStatus("Waiting For Collector To Login");
            while (Form1.Collector == null)
            {
                Thread.Sleep(1000);

            }
            TradeSession session = Player.Screen.FindEntity("UltiShop").Interaction.StartTrade();
            UpdateStatus("Trading Items To Collector");
            while (!session.TradeAvaliable())
                Thread.Sleep(1000);
            List<IItem> ValuableItems = new List<IItem>();
            IItem[] gems = Player.Inventory.GetGems(GemPureType.DragonGem);
           
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.FuryGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.GloryGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.KylinGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.MoonGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.PheonixGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.RainbowGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.ThunderGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.TortoiseGem);
            ValuableItems.AddRange(gems);
            gems = Player.Inventory.GetGems(GemPureType.VioletGem);
            ValuableItems.AddRange(gems);
            string[] names = { "Meteor", "DragonBall", "PermanentStone", "BigPermanentStone","+1Stone" };
            foreach (string name in names)
            {
                IItem itm = Player.Inventory.GetItemFromName(name);
                if (itm != null)
                    ValuableItems.Add(itm);
            }
            foreach (IItem itm in ValuableItems.ToArray())
            {
                session.AddItem(itm);
            }

            if (Player.Inventory.Gold > 2000)
            {
                session.AddGold((int)(Player.Inventory.Gold - 1000));
            }
            session.AcceptTrade();
        }

        void logicthread()
        {
            IItem itm=null;

            while (true)
            {
                if (Player.Location.MapID == 1002)
                {
                    System.Threading.Thread.Sleep(4000);

                    UpdateStatus("Going To Pharmacist");
                    Player.Controls.GotoUnThreaded(466, 332);


                    UpdateStatus("Selling Useless Items");

                    IItem[] useless = Player.Inventory.GetOres(OreType.EuxeniteOre);
                    foreach (IItem use in useless)
                    {
                        Player.Screen.GetNPC("Pharmacist").SellItem(use);
                        Thread.Sleep(300);
                    }
                    useless = Player.Inventory.GetOres(OreType.CopperOre);
                    foreach (IItem use in useless)
                    {
                        Player.Screen.GetNPC("Pharmacist").SellItem(use);
                        Thread.Sleep(300);
                    }
                    useless = Player.Inventory.GetOres(OreType.IronOre);
                    foreach (IItem use in useless)
                    {
                        Player.Screen.GetNPC("Pharmacist").SellItem(use);
                        Thread.Sleep(300);
                    }
                    useless = Player.Inventory.GetOres(OreType.GoldOre);
                    foreach (IItem use in useless)
                    {
                        Player.Screen.GetNPC("Pharmacist").SellItem(use);

                    }
                    while (Player.Inventory.GetItemFromName("TwinCityGate") != null)
                    {
                        Player.Screen.GetNPC("Pharmacist").SellItem(Player.Inventory.GetItemFromName("TwinCityGate"));
                        Thread.Sleep(300);
                    }   
                    UpdateStatus("Heading To Conductress");
                    Player.Controls.GotoUnThreaded(441, 438);
                    UpdateStatus("Talking With Conductress");
                    INPCOption[] options = Player.Screen.GetNPC("Conductress").Communicate();
                    bool step1 = false;
                    foreach (INPCOption option in options)
                    {
                        if (option.OptionText == "Enter the Market.")
                        {
                            step1 = true;
                            INPCOption[] options2 = Player.Screen.GetNPC("Conductress").Communicate(option);
                            foreach (INPCOption opt in options2)
                            {
                                if (opt.OptionText == "Mine Cave")
                                {
                                    Player.Screen.GetNPC("Conductress").Communicate(opt);
                                }
                            }

                            break;
                        }
                    }

                    if (!step1)
                    {
                        foreach (INPCOption option in options)
                        {
                            if (option.OptionText == "Mine Cave")
                            {
                                Player.Screen.GetNPC("Conductress").Communicate(option);
                            }

                        }
                    }
                    System.Threading.Thread.Sleep(4000);
                    UpdateStatus("Entering Mine Cave");
                    while (Player.Location.MapID == 1002)
                    {
                        options = Player.Screen.GetNPC("Assistant").Communicate();
                        string text = Player.Screen.GetNPC("Assistant").DialogText;
                        foreach (INPCOption option in options)
                        {
                            if (option.OptionText == "No problem.")
                            {
                                INPCOption[] options2 = Player.Screen.GetNPC("Assistant").Communicate(option);
                                foreach (INPCOption opt in options2)
                                {
                                    if (text.ToLower().Contains(opt.OptionText.ToLower()))
                                    {
                                        Player.Screen.GetNPC("Assistant").Communicate(opt);
                                    }
                                }
                            }
                        }
                        System.Threading.Thread.Sleep(2000);
                    }

                }
                if (Player.Inventory.GetItemCount() < 39)
                {
                    UpdateStatus("Starting To Mine!");
                    Player.Controls.GotoUnThreaded(168, 112);
                    Player.Controls.StartMining();
                    lastminesend = DateTime.Now.AddMinutes(1);
                    Items.Clear();
                    foreach (IItem i in Player.Inventory.GetItemsFromInventory())
                    {
                        Items.Add(i);
                    }

                    while (Player.Inventory.GetItemCount() < 39)
                    {
                        if (lastminesend < DateTime.Now)
                        {
                            lastminesend = DateTime.Now.AddMinutes(1);
                            Player.Controls.StartMining();
                        }
                      
                        IItem[] inventoryitems = Player.Inventory.GetItemsFromInventory();
                        foreach (IItem i in inventoryitems)
                        {
                            if (!Items.Contains(i))
                            {
                                UpdateStatus("Mining Got (" + i.Name + ")");
                                Items.Add(i);
                            }
                        }


                        //fawk i dont need that XD
                        if (Form1.Collector == null && !Form1.Collecting)
                        {
                            if (hasspecialitem())
                            {
                                Form1.Collecting = true;
                                CollectSpecialItems();
                                UpdateStatus("Mining!");
                            }




                        }


                        Thread.Sleep(1000);
                    }

                    UpdateStatus("Inventory Full, Going To Twin City");
                    itm = Player.Inventory.GetItemFromName("TwinCityGate");
                    if (itm != null)
                        itm.UseItem();
                }
                else
                {
                    itm = Player.Inventory.GetItemFromName("TwinCityGate");
                    if (itm != null)
                        itm.UseItem();
                }
            }
        }
        public void Start()
        {
            if (LogicThread == null)
            {
                LogicThread = new Thread(logicthread);
                LogicThread.Start();
            }
            UpdateThread = new Thread(updatethread);
            UpdateThread.Start();
        }
    }
}
StaneAlone.cs
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConquerStandAlone
{

    public enum ConquerErrorCodes : int
    {
        InvalidUsername=1,
        UnableToConnect=2
    }
    public class StandAlone
    {
      
        public delegate void LoggedIn(IPlayer Player);
        public delegate void ConquerError(ConquerErrorCodes ErrorCode, string ErrorMessage, LoginPlayer Player);
        public delegate void SocketOperation(IPlayer Player);
        public delegate void MessagePacket(IPlayer Player, string From, string To, string Message, ChatID ChatID);
        public delegate void RequestTrade(IPlayer Player, IEntity Requester);
        public delegate void ItemChange(IPlayer Player, IItem Item);
        public delegate void PathComplete(IPlayer Player, int PathID);
        public delegate void Death(IPlayer Player);
        public delegate void CharacterCreation(IPlayer Player,string Username, ref string Name, ref Profession Profession, ref ModelType Model,string ErrorMessage);
        public delegate void MapChange(IPlayer Player, ushort NewMap);
        public delegate void StatusUpdate(IPlayer Player,IEntity Entity,StatusID ID,ulong Value);
        public delegate void PickupItem(IPlayer Player, IItem PickedUpItem,out bool KeepItem);
        public delegate void BotCheckPacket(IPlayer Player, uint BotCheckType,ulong Request, int index, int Response);
        public delegate void XPSkill(IPlayer player);
        public delegate void UnknownPacket(IPlayer Player, byte[] Packet);
        public event StatusUpdate OnStatusChange;
        public event SocketOperation OnPlayerDisconnect;
        public event CharacterCreation OnCharacterCreation;
        public event LoggedIn OnLoggedIn;
        public event MessagePacket OnChat;
        public event ConquerError OnLoginError;
        public event RequestTrade OnRequestTrade;
        public event ItemChange OnLowDura;
        public event PathComplete OnPathComplete;
        public event PickupItem OnPickupItem;
        public event Death OnDeath;
        public event MapChange OnMapChange;
        public event XPSkill OnXPSkill;
        public event BotCheckPacket OnBotCheck;
        public event UnknownPacket OnUnknownPacket;
        public bool CompleteLogin = true;
        public StandAlone()
        {
         
            Items.LoadItems();
            Spells.Load();
            Dmaps.Load();
            LongBotCheck.LoadBotchecks();
        }
        internal void DoUnknownPacket(IPlayer Player, byte[] Packet)
        {
            if (OnUnknownPacket != null)
                OnUnknownPacket.Invoke(Player, Packet);
        }
        internal void DoBotCheck(IPlayer Player, uint BotCheckType, ulong Request, int Index, int Response)
        {
            if (OnBotCheck != null)
                OnBotCheck.Invoke(Player, BotCheckType, Request, Index, Response);
        }
        internal void DoXPSkill(IPlayer player)
        {
            if (OnXPSkill != null)
                OnXPSkill.Invoke(player);
        }
        internal bool DoPickupItem(IPlayer Player, IItem PickedUpItem)
        {
            bool KeepItem = false;
            if (OnPickupItem != null)
                OnPickupItem.Invoke(Player, PickedUpItem,out KeepItem);
            return KeepItem;
        }
        internal void DoStatusUpdate(IPlayer Player, IEntity Entity, StatusID ID,ulong Value)
        {
            if (OnStatusChange != null)
            {
                OnStatusChange.Invoke(Player, Entity, ID,Value);
            }
        }
        internal void PlayerDeath(IPlayer Player)
        {
            if (OnDeath != null)
                OnDeath.Invoke(Player);
        }
        internal void mapchange(IPlayer Player, ushort newmap)
        {
            if (OnMapChange != null)
                OnMapChange.Invoke(Player, newmap);
        }
        internal void CreateCharacter(IPlayer Player,string Username, ref string Name, ref Profession Profession, ref ModelType Model,string ErrorMessage)
        {
            if (OnCharacterCreation != null)
                OnCharacterCreation.Invoke(Player,Username, ref Name, ref Profession, ref Model,ErrorMessage);
        }
        internal void pathcomplete(IPlayer Player, int pathid)
        {
            if (OnPathComplete != null)
                OnPathComplete.Invoke(Player, pathid);
        }
        internal void lowdura(IPlayer player, IItem itm)
        {
            if (OnLowDura != null)
                OnLowDura.Invoke(player, itm);
        }
        internal void LoginComplete(IPlayer Player)
        {
            if (OnLoggedIn != null)
                OnLoggedIn.Invoke(Player);
        }
        internal void Disconnect(IPlayer Player)
        {
        if (OnPlayerDisconnect != null)
            OnPlayerDisconnect.Invoke(Player);
        }
        internal void DoRequestTrade(IPlayer Player, IEntity From)
        {
            if (OnRequestTrade != null)
                OnRequestTrade.Invoke(Player, From);
        }
        internal void Message(IPlayer Player, string From, string To, string Message, ChatID ChatID)
        {
            if (OnChat != null)
                OnChat.Invoke(Player, From, To, Message, ChatID);
        }
      
        internal void reporterror(ConquerErrorCodes errorcode,string errormsg,LoginPlayer player)
        {
            if (OnLoginError != null)
                OnLoginError.Invoke(errorcode, errormsg, player);
        }
        public void Login(string Username, string Password, string ServerIP,string ServerName, int Port)
        {
            new LoginPlayer(Username, Password, ServerName, ServerIP, Port, this);
        }
    }
}
10/11/2011 22:26 aeldepaky#2
awesome you are so amazing keep up please
10/11/2011 22:38 backtomatrix#3
how i can test it if this source Good i will buy it
10/12/2011 03:56 pro4never#4
Interesting but what exactly is the purpose of this thread?

Is this a bot you plan to be selling, releasing... or just advertising some of the work you've done?

Not quite sure it should be in bots/macros vs co programming but I'll wait until the thread it a bit more specific
10/12/2011 09:41 Kiyono#5
So what exactly is CoStandAlone? Some kind of new bot?
10/12/2011 10:02 BaussHacker#6
Quote:
Originally Posted by Kiyono View Post
So what exactly is CoStandAlone? Some kind of new bot?
Obviously it is, when it contains "MiningBot".
10/12/2011 10:26 Warlax#7
think ull find hes decompiled some1s exe. . .
10/12/2011 11:05 BaussHacker#8
Quote:
Originally Posted by Warlax View Post
think ull find hes decompiled some1s exe. . .
That's what I thought lol. :)
10/12/2011 11:12 Kiyono#9
Quote:
Originally Posted by BaussHacker View Post
Obviously it is, when it contains "MiningBot".
Well I figured out that much but have you ever actually heard of it before?
10/12/2011 11:17 BaussHacker#10
Quote:
Originally Posted by Kiyono View Post
Well I figured out that much but have you ever actually heard of it before?
Nope and Google came up with nothing as well. :).
10/12/2011 18:49 © Haydz#11
It was Ultimation's, parts of it ended up on pastebin.
10/13/2011 05:35 Nitroxide#12
Seems like a pretty useless thread if you ask me, useless code is useless.
10/13/2011 12:50 Chalkie#13
Pretty sure it was this Clown that tried to sell it on CoAI as well.
10/17/2011 02:30 DeathByMoogles#14
[Only registered and activated users can see links. Click Here To Register...]