Bluemouse Plugin for COF2

05/04/2011 15:21 mircato#1
This is the source of the blue mouse plugin

PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using COFarmerPluginLibrary;

namespace 
COFarmerBlueMousePlugin
{
    public class 
Bluemouse
    
{
        public const 
int METEOR_ID 1088001;

        public static 
int[] MapOrder = { 2000,
                                            
2002
                                                
20062007,
                                            
2003,
                                                
20082009,
                                         
2001,
                                            
2004,
                                                
20102011,
                                            
2005,
                                                
20122013
                                       
};
        public static 
COFarmerPoint[] Search 
        {
            new 
COFarmerPoint(5171), 
            new 
COFarmerPoint(7490), 
            new 
COFarmerPoint(92131), 
            new 
COFarmerPoint(128142)
        };

        public 
int MapIdx;
        public 
int SearchIdx;
        public 
bool Active;
        public 
ICOFarmerUnit Mouse;
        public 
uint LocalTime;

        public static 
bool HasExchangableItem(COFarmerClient Client)
        {
            if (
BCOHelper.CountItemID(Client722512) > ||
                
BCOHelper.CountItemID(Client722513) > ||
                
BCOHelper.CountItemID(Client722514) > ||
                
BCOHelper.CountItemID(Client722515) > 0)
            {
                return 
true;
            }
            return 
false;
        }
        public static 
bool ForceLocation(COFarmerClient Clientint MapIDint Xint Y)
        {
            if (
Client.DynamicMapID == MapID && Client.Location.== && Client.Location.== Y)
            {
                return 
true;
            }
            
Client.TravelTo(MapIDXY);
            return 
false;
        }
        public static 
bool HasGoldGems(COFarmerClient Client)
        {
            return ( 
// gold
                
BCOHelper.CountItemID(Client700021) > ||
                
BCOHelper.CountItemID(Client700051) > ||
                
BCOHelper.CountItemID(Client700061) > 0
                
);
        }
        public static 
bool HasSilverGems(COFarmerClient Client)
        {
            return (  
// silver
                
BCOHelper.CountItemID(Client700011) > ||
                
BCOHelper.CountItemID(Client700031) > ||
                
BCOHelper.CountItemID(Client700001) > ||
                
BCOHelper.CountItemID(Client700041) > 0);
        }
        public static 
bool HasGems(COFarmerClient Client)
        {
            return 
HasGoldGems(Client) || HasSilverGems(Client);
        }
        public static 
bool HasNeedle(COFarmerClient Client)
        {
            return (
BCOHelper.CountItemID(Client722510) > ||
                    
BCOHelper.CountItemID(Client722511) > 0);
        }

        public 
void OnFindNPC(COFarmerClient ClientICOFarmerUnit Unit)
        {
            if (
this.Active)
            {
                if (
Client.DynamicMapID >= 2000 && Client.DynamicMapID <= 2013// in the mines!
                
{
                    if (
Unit.UID >= 1600 && Unit.UID <= 1630// this range should do, lol (bluemouse)
                    
{
                        
this.Mouse Unit// boo ya'!
                    
}
                }
            }
        }

        public 
void OnProcess(COFarmerClient Clientuint Time)
        {
            if (
Client.Traveling)
                return;
            if (!
Active)
                return;
            if (
Time this.LocalTime 1000// execute every 1s
                
return;
            
this.LocalTime Time;

            if (
Client.MapID == 1002)
            {
                if (
HasExchangableItem(Client))
                {
                    if (!
BCOHelper.HasInventorySpace(Client10))
                    {
                        if (
BCOHelper.CountItemID(ClientMETEOR_ID) >= 10)
                        {
                            
// we go to market to make some meteor scrollls
                            
Client.TravelTo(1036235239);
                            
Client.Log("[Bluemouse] Going to market to make some scrolls!");
                        }
                        else
                        {
                            
// nothing we can do, full inventory gg
                            
Client.TravelTo(1002400400);
                            
Active false;
                            
Client.Log("[Bluemouse] No more furthur tasks!");
                        }
                    }
                    else if (
ForceLocation(Client1002397236)) // general judd
                    
{
                        
Client.ClickNpc(1611);
                        
Client.AnswerNpc(0); // hook us up with some meteors bro'

                        
Client.ClickNpc(1611);
                        
Client.AnswerNpc(1);
                        
Client.AnswerNpc(0); // other dialog for meteors

                        
Client.Log("[Bluemouse] Exchanging items to meteors...");
                    }
                }
                else if (
BCOHelper.CountItemID(ClientMETEOR_ID) >= 10)
                {
                    
// go market make some scrollz
                    
Client.TravelTo(1036235239);
                    
Client.Log("[Bluemouse] Going to market to make some scrolls!");
                }
                else if (
HasGems(Client) && BCOHelper.HasInventorySpace(Client3))
                {
                    
// travel outside the mines
                    
Client.TravelTo(1011915550);
                    
Client.Log("[Bluemouse] Heading to phoenix castle mines!");
                }
                else
                {
                    
// go to our end point
                    
Client.TravelTo(1002400400);
                    
Active false;
                    
Client.Log("[Bluemouse] No more furthur tasks!");
                }
            }
            else if (
Client.MapID == 1011)
            {
                if (
HasGems(Client) || HasNeedle(Client))
                {
                    if (
HasNeedle(Client)) // we already have a needle
                    
{
                        
Client.TravelTo(10253270); // go inside the mines
                    
}
                    else if (
ForceLocation(Client1011915550))
                    {
                        
// obtain a needle...
                        
Client.ClickNpc(1610);
                        if (
HasGoldGems(Client))
                        {
                            
Client.AnswerNpc(0);
                            
Client.AnswerNpc(1);
                            
Client.AnswerNpc(0);
                            
Client.Log("[Bluemouse] Obtained a golden needle!");
                        }
                        else 
// logically should have silver gems otherwise
                        
{
                            
Client.AnswerNpc(0);
                            
Client.AnswerNpc(2);
                            
Client.AnswerNpc(0);
                            
Client.Log("[Bluemouse] Obtained a silver needle!");
                        }
                    }
                }
                else
                {
                    
// go back to twincity...
                    
Client.TravelTo(1002400400);
                    
Client.Log("[Bluemouse] No gems, or needle found, returning to twincity...");
                }
            }
            else if (
Client.MapID == 1036)
            {
                if (
BCOHelper.CountItemID(ClientMETEOR_ID) > 9// do we have meteors to convert?
                
{
                    if (
ForceLocation(Client1036235239)) // go to lee
                    
{
                        
// lee... (pack meteors)
                        
Client.ClickNpc(5004);
                        
Client.AnswerNpc(0);
                        
Client.AnswerNpc(0);
                        
Client.Log("[Bluemouse] Packed meteors!");
                    }
                }
                else
                {
                    
// go back to twincity...
                    
Client.TravelTo(1002400400);
                    
Client.Log("[Bluemouse] No more meteors to exchange! Returning to twincity...");
                }
            }
            else if (
Client.MapID == 1025 || (Client.MapID >= 1500 && Client.MapID <= 1513))
            {
                if (!
HasNeedle(Client)) // we don't have a needle
                
{
                    
// go back to phoenix castle
                    
Client.TravelTo(1011915550);
                    
Client.Log("[Bluemouse] No needle found. Returning to phoenix castle...");
                }
                else if (
BCOHelper.HasInventorySpace(Client3)) // <- means we also have a needle
                
{
                    if (
Client.MapID == 1025// start of mines
                    
{
                        
SearchIdx 0;
                        
MapIdx 0;
                        
Mouse null;
                        
Client.TravelTo(MapOrder[MapIdx], Search[SearchIdx++]);
                        
Client.Log("[Bluemouse] Synced bluemouse search.");
                    }
                    else
                    {
                        if (
Mouse != null)
                        {
                            if (
ForceLocation(ClientMouse.DynamicMapIDMouse.Location.XMouse.Location.Y))
                            {
                                
Client.ClickNpc(Mouse);
                                
Mouse null;
                                
Client.Log("[Bluemouse] Clicked a BlueMouse!");
                            }
                        }
                        else
                        {
                            
Client.TravelTo(MapOrder[MapIdx], Search[SearchIdx++]);
                            if (
SearchIdx == Search.Length)
                            {
                                
SearchIdx 0;
                                if (++
MapIdx == MapOrder.Length)
                                {
                                    
Client.TravelTo(10253270); // go back to start of mines
                                    
Client.Log("[Bluemouse] Finished searching, no luck. Returning to base mine.");
                                }
                            }
                        }
                    }
                }
                else
                {
                    
// go back to twincity...
                    
Client.TravelTo(1002400400);
                    
Client.Log("[Bluemouse] Insufficient inventory space to perform blue mouse. Returning to twincity...");
                }
            }
        }
    }

    public static class 
Plugin
    
{
        public static 
void Main(COFarmerClient Client)
        {
            
Bluemouse bm = new Bluemouse();
            
Client.Session.Add("Bluemouse_Session"bm);
            
Client.OnProcessNew += bm.OnProcess;
            
Client.OnNPC += bm.OnFindNPC;
            
Client.AddCommand("bluemouse"BluemouseCommand);
        }
        public static 
void ClientToServer(COFarmerClient ClientCOFarmerPacket Packet)
        { 
        }
        public static 
void ServerToClient(COFarmerClient ClientCOFarmerPacket Packet)
        {
        }
        public static 
void BluemouseCommand(COFarmerClient Clientstring[] args)
        {
            try
            {
                
Bluemouse bm;
                if (
Client.GetSessionVariable("Bluemouse_Session"out bm))
                {
                    
bm.Active true;
                    
Client.Log("[Bluemouse] Started bluemouse bot -- Special thanks: pogi2010!!!");
                }
            }
            catch (
Exception e)
            {
                
Client.Chat("Error: " e.MessageChatMode.SystemCOFarmerPacketSource.ToClient);
            }
        }
    }

05/06/2011 02:42 ConquerBotter#2
did i can compile this in C++ or VBS?
05/06/2011 02:51 OELABOELA#3
As far as i can see it's c#, but uses COfamers functions.
05/06/2011 07:24 Chalkie#4
OHHH MEEE GEEEE HIS IN OUR DATABASES STEALING OUR SHITZZZ
05/06/2011 21:31 OELABOELA#5
Quote:
Originally Posted by Chalkie View Post
OHHH MEEE GEEEE HIS IN OUR DATABASES STEALING OUR SHITZZZ
Totally trolled.
05/07/2011 10:50 DOITAGAIN201#6
its copied from cofarmer site.
05/07/2011 17:20 jeffmatheson#7
This is rediculous........................................ ...............................................



#request close
05/07/2011 22:21 brokenarrow_vip#8
any1 has CoF Source Code? :D