What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Plugin] Another auto farming plugin, now with farmID auto assignment!

Ok so now that this is covered, is there a way, to differentiate wait times between farms? for example lets say i got 2x 16x16 and 2 8x8. I plant rice on 16x16's and potato on 8x8's. Potato grow time is 10 minutes and rice is 2 hours so I would rather move between 8x8's more often as they need some action more often and visit 16's on longer interval but count them as a pair so that once I get to 1st 16 and harvest, replant I dont have to wait like 30 minutes but go to next 16 harvest, replant then go back to 8x8's and work on them in 5 minute interval few times and then when time comes go to 16's again to harvest, replant them. In other words, any way to link specific farms into pairs or any other random setup and set different timers to them?

p.s JOKE TIME!! as a matter of fact i'd like this plugin to plant my 16x16 with lavender to form sentence "NOT A BOT" and then surround this sentence with rice plants, this function seems mandatory to me for avoiding getting banned. Or I dunno "GM! Check Savannah"
Try adding this before each gather/plant phase instead
Code:
foreach (var d in getDoodads()) {   
               if (d.uniqOwnerId == me.uniqId && d.growthTime == 0 && d.name == farm1plant){
                   MoveToFarm1(); 
                }
           }
 
Hello. Here is my code of plugin:
Code:
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;

namespace YourNamespace {
    public class YourClass: Core { 
        
       public static string GetPluginAuthor()
       {
           return "amazingnessn";
       }
       public static string GetPluginVersion()
       {
           return "1.0";
       }

       public static string GetPluginDescription()
       {
           return "Farming Bot - Auto gather/plant your crops with auto farm ID";
       }
       
       private Gps gps;
       
       // ----------------------------------------------- if you have more/less # of farms, add/comment out what you need --------------------------------
       private long farm1id;
       private long farm2id;
       private long farm3id;
       private long farm4id;
       private long farm5id;  
       private long farm6id;
       private long farm7id;
       // ----------------------------------------------- gps file location, must be under /Plugins/Farms unless you alter pathname here to fit your file -----------------------------------------------
       string _gpsfile = "\\plugins\\Farming\\farming.db3";  // COMMENT OUT IF NOT USING GPS
       
       public void MoveToFarm1()        
        {
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm zero");                
         }
        public void MoveToFarm2()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm first");                
         }
        public void MoveToFarm3()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm second");                
         }
        public void MoveToFarm4()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm third");                
         }
        public void MoveToFarm5()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm fourth");                
         }
        public void MoveToFarm6()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm fifth");                
         }
        public void MoveToFarm7()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm sixth");                
         }
       
       public void MoveToVendor()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Seed Merchant");                
         }              
       
       public void GetFarmIds()
        {   
            // ------------------------------------------------- Change farm names here -------------------------------------------------------- 
            var farm1name = "Myfarm zero";
            var farm2name = "Myfarm first";
            var farm3name = "Myfarm second";
            var farm4name = "Myfarm third";
            var farm5name = "Myfarm fourth";
            var farm6name = "Myfarm fifth";
            var farm7name = "Myfarm sixth";
            
            
            // Don't edit this if you don't know what it does :p
            int p  = 0;
            long d = me.uniqId;
            List<long> farmids = new List<long>();
            List<string> farmnames = new List<string>();
            List<Creature> farms = getCreatures().Where(x => x.type == BotTypes.Housing).ToList();
            List<Creature> farms1 = farms.Where(x => x.ownerUniqId == d).ToList();
            foreach(var y in farms)   { 
               if (farms1.Count > 0) {     
                 Housing plnt = farms1.Where(crt => crt.ownerUniqId==me.uniqId).First() as Housing;
                 farmids.Add(plnt.uniqHousingId);
                 farmnames.Add(plnt.name);
                 farms1.RemoveAt(0);
                }             
            }
            // -------------------------------------------------------------- add/remove (only change numbers) as needed.  Keep number values consistent ------------------------------------------------------
            foreach(var i in farmnames){
                if (farmnames[p] == farm1name) { this.farm1id = farmids[p]; }
                if (farmnames[p] == farm2name) { this.farm2id = farmids[p]; }
                if (farmnames[p] == farm3name) { this.farm3id = farmids[p]; }
                if (farmnames[p] == farm4name) { this.farm4id = farmids[p]; }
                if (farmnames[p] == farm5name) { this.farm5id = farmids[p]; }
                if (farmnames[p] == farm6name) { this.farm6id = farmids[p]; }
                if (farmnames[p] == farm7name) { this.farm7id = farmids[p]; }
                p++;              
            }        
         } 
       
        public void PluginRun() { 
            ClearLogs();
            Log("Starting Farm Bot...");
            GetFarmIds();
            uint farm1id = (uint)this.farm1id;
            uint farm2id = (uint)this.farm2id;
            uint farm3id = (uint)this.farm3id;
            uint farm4id = (uint)this.farm4id;
            uint farm5id = (uint)this.farm5id; 
            uint farm6id = (uint)this.farm6id;
            uint farm7id = (uint)this.farm7id;
            // --------------------------------------- stops if under this much labor, change if desired---------------------------------------------------
            int laborstop = 200;
            // ------------------------------------- put farmID, seed, plant, collect strings here --------------------------------------
            //label1 ( helpful if you change what you plant later )
            var farm1seed    = "Зерна кукурузы";
            var farm1plant   = "Кукуруза";
            var farm1collect = "Gathering: Spend 1 Labor to gather materials.";
            //label2
            var farm2seed    = "Зерна кукурузы";
            var farm2plant   = "Кукуруза";
            var farm2collect = "Gathering: Spend 1 Labor to gather materials.";
            //label3
            var farm3seed    = "Зерна кукурузы";                
            var farm3plant   = "Кукуруза";               
            var farm3collect = "Gathering: Spend 1 Labor to gather materials.";
            //label4
            var farm4seed    = "Зерна кукурузы";                
            var farm4plant   = "Кукуруза";               
            var farm4collect = "Gathering: Spend 1 Labor to gather materials.";
            //label5
            var farm5seed    = "Зерна кукурузы";                
            var farm5plant   = "Кукуруза";               
            var farm5collect = "Gathering: Spend 1 Labor to gather materials.";
            //label6
            var farm6seed    = "Зерна кукурузы";                
            var farm6plant   = "Кукуруза";               
            var farm6collect = "Gathering: Spend 1 Labor to gather materials.";   
            //label7            
            var farm7seed    = "Зерна кукурузы";                
            var farm7plant   = "Кукуруза";               
            var farm7collect = "Gathering: Spend 1 Labor to gather materials.";
                
            // ----------------------------------------- how many seeds to buy when you get low -----------------------------------------
            var farm1seedcount = itemCount(farm1seed);  var farm1seedbuy = 2000;    
            var farm2seedcount = itemCount(farm2seed);  var farm2seedbuy = 2000;
            var farm3seedcount = itemCount(farm3seed);  var farm3seedbuy = 2000;
            var farm4seedcount = itemCount(farm4seed);  var farm4seedbuy = 2000;
            var farm5seedcount = itemCount(farm5seed);  var farm5seedbuy = 2000;
            var farm6seedcount = itemCount(farm6seed);  var farm6seedbuy = 2000;
            var farm7seedcount = itemCount(farm7seed);  var farm7seedbuy = 2000;
            
            while (true) {
                
                //Gather infos
                if (gameState == GameState.Ingame){
                //get Labor points 
                int labor = me.laborPoints;               
                //Start Doin Stuff
                //if Labor > 200
                if (labor > laborstop) {
                    
                    
                    
                    // ------------------------------------ COMMENT OUT IF NOT USING GPS ---------------------------------------
                    if (farm1seedcount < 200 | farm2seedcount < 200) {
                        MoveToVendor();                                                                                     //--
                        Thread.Sleep(2000);                                                                                 //--
                        if (farm1seedcount < (farm1seedbuy / 10)) {BuyItems(farm1seed, farm1seedbuy);}                      //--
                        if (farm2seedcount < (farm2seedbuy / 10)) {BuyItems(farm2seed, farm2seedbuy);}                      //--
                        if (farm3seedcount < (farm3seedbuy / 10)) {BuyItems(farm3seed, farm3seedbuy);}                      //--
                        if (farm4seedcount < (farm4seedbuy / 10)) {BuyItems(farm4seed, farm4seedbuy);}                      //--
                        if (farm5seedcount < (farm5seedbuy / 10)) {BuyItems(farm5seed, farm5seedbuy);}                      //--
                        if (farm6seedcount < (farm6seedbuy / 10)) {BuyItems(farm6seed, farm6seedbuy);}                      //--
                        if (farm7seedcount < (farm7seedbuy / 10)) {BuyItems(farm7seed, farm7seedbuy);}                      //--
                        Thread.Sleep(5000);                                                                                 //--
                        MoveToFarm1();
                        Thread.Sleep(5000);                                                                                 //--
                    }                                                                                                       //--
                    // ----------------------------------------------------------------------------------------------------------
                    
                    
                    
                    //add/remove farms here
                    //Plant farm 1
                    MoveToFarm1();
                    SetPlantMotionType(PlantMotionType.Standart);        // change motion type if needed
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id);
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id); 
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id); 
                    PlantItemsAtFarm(farm1seed, farm1id);                    
                    
                    //Plant farm 2
                    MoveToFarm2();                    
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    PlantItemsAtFarm(farm2seed, farm2id);                                         

                    //Plant farm 3
                    MoveToFarm3();
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id);
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id); 
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id);
                    PlantItemsAtFarm(farm3seed, farm3id); 

                    //Plant farm 4
                    MoveToFarm4();
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id);
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id); 
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id);
                    PlantItemsAtFarm(farm4seed, farm4id);
                    
                    //Plant farm 5
                    MoveToFarm5();
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id);
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id); 
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id);
                    PlantItemsAtFarm(farm5seed, farm5id); 
                    
                    //Plant farm 6
                    MoveToFarm6();
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id);
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id); 
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id);
                    PlantItemsAtFarm(farm6seed, farm6id);
                    
                    //Plant farm 7 
                    MoveToFarm7();
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id);
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id); 
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id);
                    PlantItemsAtFarm(farm7seed, farm7id);
                    
                    //if Labor < 200 wait 
                } else { 
                    PlantItemsAtFarm(farm1seed, farm1id);
                    PlantItemsAtFarm(farm2seed, farm2id);
                    PlantItemsAtFarm(farm3seed, farm3id);
                    PlantItemsAtFarm(farm4seed, farm4id);
                    PlantItemsAtFarm(farm5seed, farm5id); 
                    PlantItemsAtFarm(farm6seed, farm6id);
                    PlantItemsAtFarm(farm7seed, farm7id);
                    Log("Labor under 200, waiting to regen");
                }

                //Generate random time between 3-5 minutes       
                Random random    = new Random();
                decimal mseconds = random.Next(180, 300) * 1000;
                decimal seconds  = mseconds / 1000;
                decimal minutes  = seconds / 60;
                Log("Waiting for " + minutes.ToString() + " minutes");

                //sleep for random time
                Thread.Sleep((int)mseconds);
            }
            }
        }
       //Call on plugin stop
       public void PluginStop()
       { Log("Plugin Stopped...");
       }
    }
}
When I run it, it starts to just run through all the points in a circle and don't gathering or plant, just run, after stops at the last point, waiting for a while and then runs on the first point again and all over again, just run. What could be wrong? Thank you!
 
Is it "safe" to use such farm bots?

I got banned earlier by using those landgrab hacks / radar, but i dont know how safe this is compared to that?
 
Hello. Here is my code of plugin:
Code:
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;

namespace YourNamespace {
    public class YourClass: Core { 
        
       public static string GetPluginAuthor()
       {
           return "amazingnessn";
       }
       public static string GetPluginVersion()
       {
           return "1.0";
       }

       public static string GetPluginDescription()
       {
           return "Farming Bot - Auto gather/plant your crops with auto farm ID";
       }
       
       private Gps gps;
       
       // ----------------------------------------------- if you have more/less # of farms, add/comment out what you need --------------------------------
       private long farm1id;
       private long farm2id;
       private long farm3id;
       private long farm4id;
       private long farm5id;  
       private long farm6id;
       private long farm7id;
       // ----------------------------------------------- gps file location, must be under /Plugins/Farms unless you alter pathname here to fit your file -----------------------------------------------
       string _gpsfile = "\\plugins\\Farming\\farming.db3";  // COMMENT OUT IF NOT USING GPS
       
       public void MoveToFarm1()        
        {
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm zero");                
         }
        public void MoveToFarm2()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm first");                
         }
        public void MoveToFarm3()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm second");                
         }
        public void MoveToFarm4()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm third");                
         }
        public void MoveToFarm5()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm fourth");                
         }
        public void MoveToFarm6()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm fifth");                
         }
        public void MoveToFarm7()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Myfarm sixth");                
         }
       
       public void MoveToVendor()        
        {         
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + _gpsfile); 
           gps.GpsMove("Seed Merchant");                
         }              
       
       public void GetFarmIds()
        {   
            // ------------------------------------------------- Change farm names here -------------------------------------------------------- 
            var farm1name = "Myfarm zero";
            var farm2name = "Myfarm first";
            var farm3name = "Myfarm second";
            var farm4name = "Myfarm third";
            var farm5name = "Myfarm fourth";
            var farm6name = "Myfarm fifth";
            var farm7name = "Myfarm sixth";
            
            
            // Don't edit this if you don't know what it does :p
            int p  = 0;
            long d = me.uniqId;
            List<long> farmids = new List<long>();
            List<string> farmnames = new List<string>();
            List<Creature> farms = getCreatures().Where(x => x.type == BotTypes.Housing).ToList();
            List<Creature> farms1 = farms.Where(x => x.ownerUniqId == d).ToList();
            foreach(var y in farms)   { 
               if (farms1.Count > 0) {     
                 Housing plnt = farms1.Where(crt => crt.ownerUniqId==me.uniqId).First() as Housing;
                 farmids.Add(plnt.uniqHousingId);
                 farmnames.Add(plnt.name);
                 farms1.RemoveAt(0);
                }             
            }
            // -------------------------------------------------------------- add/remove (only change numbers) as needed.  Keep number values consistent ------------------------------------------------------
            foreach(var i in farmnames){
                if (farmnames[p] == farm1name) { this.farm1id = farmids[p]; }
                if (farmnames[p] == farm2name) { this.farm2id = farmids[p]; }
                if (farmnames[p] == farm3name) { this.farm3id = farmids[p]; }
                if (farmnames[p] == farm4name) { this.farm4id = farmids[p]; }
                if (farmnames[p] == farm5name) { this.farm5id = farmids[p]; }
                if (farmnames[p] == farm6name) { this.farm6id = farmids[p]; }
                if (farmnames[p] == farm7name) { this.farm7id = farmids[p]; }
                p++;              
            }        
         } 
       
        public void PluginRun() { 
            ClearLogs();
            Log("Starting Farm Bot...");
            GetFarmIds();
            uint farm1id = (uint)this.farm1id;
            uint farm2id = (uint)this.farm2id;
            uint farm3id = (uint)this.farm3id;
            uint farm4id = (uint)this.farm4id;
            uint farm5id = (uint)this.farm5id; 
            uint farm6id = (uint)this.farm6id;
            uint farm7id = (uint)this.farm7id;
            // --------------------------------------- stops if under this much labor, change if desired---------------------------------------------------
            int laborstop = 200;
            // ------------------------------------- put farmID, seed, plant, collect strings here --------------------------------------
            //label1 ( helpful if you change what you plant later )
            var farm1seed    = "Зерна кукурузы";
            var farm1plant   = "Кукуруза";
            var farm1collect = "Gathering: Spend 1 Labor to gather materials.";
            //label2
            var farm2seed    = "Зерна кукурузы";
            var farm2plant   = "Кукуруза";
            var farm2collect = "Gathering: Spend 1 Labor to gather materials.";
            //label3
            var farm3seed    = "Зерна кукурузы";                
            var farm3plant   = "Кукуруза";               
            var farm3collect = "Gathering: Spend 1 Labor to gather materials.";
            //label4
            var farm4seed    = "Зерна кукурузы";                
            var farm4plant   = "Кукуруза";               
            var farm4collect = "Gathering: Spend 1 Labor to gather materials.";
            //label5
            var farm5seed    = "Зерна кукурузы";                
            var farm5plant   = "Кукуруза";               
            var farm5collect = "Gathering: Spend 1 Labor to gather materials.";
            //label6
            var farm6seed    = "Зерна кукурузы";                
            var farm6plant   = "Кукуруза";               
            var farm6collect = "Gathering: Spend 1 Labor to gather materials.";   
            //label7            
            var farm7seed    = "Зерна кукурузы";                
            var farm7plant   = "Кукуруза";               
            var farm7collect = "Gathering: Spend 1 Labor to gather materials.";
                
            // ----------------------------------------- how many seeds to buy when you get low -----------------------------------------
            var farm1seedcount = itemCount(farm1seed);  var farm1seedbuy = 2000;    
            var farm2seedcount = itemCount(farm2seed);  var farm2seedbuy = 2000;
            var farm3seedcount = itemCount(farm3seed);  var farm3seedbuy = 2000;
            var farm4seedcount = itemCount(farm4seed);  var farm4seedbuy = 2000;
            var farm5seedcount = itemCount(farm5seed);  var farm5seedbuy = 2000;
            var farm6seedcount = itemCount(farm6seed);  var farm6seedbuy = 2000;
            var farm7seedcount = itemCount(farm7seed);  var farm7seedbuy = 2000;
            
            while (true) {
                
                //Gather infos
                if (gameState == GameState.Ingame){
                //get Labor points 
                int labor = me.laborPoints;               
                //Start Doin Stuff
                //if Labor > 200
                if (labor > laborstop) {
                    
                    
                    
                    // ------------------------------------ COMMENT OUT IF NOT USING GPS ---------------------------------------
                    if (farm1seedcount < 200 | farm2seedcount < 200) {
                        MoveToVendor();                                                                                     //--
                        Thread.Sleep(2000);                                                                                 //--
                        if (farm1seedcount < (farm1seedbuy / 10)) {BuyItems(farm1seed, farm1seedbuy);}                      //--
                        if (farm2seedcount < (farm2seedbuy / 10)) {BuyItems(farm2seed, farm2seedbuy);}                      //--
                        if (farm3seedcount < (farm3seedbuy / 10)) {BuyItems(farm3seed, farm3seedbuy);}                      //--
                        if (farm4seedcount < (farm4seedbuy / 10)) {BuyItems(farm4seed, farm4seedbuy);}                      //--
                        if (farm5seedcount < (farm5seedbuy / 10)) {BuyItems(farm5seed, farm5seedbuy);}                      //--
                        if (farm6seedcount < (farm6seedbuy / 10)) {BuyItems(farm6seed, farm6seedbuy);}                      //--
                        if (farm7seedcount < (farm7seedbuy / 10)) {BuyItems(farm7seed, farm7seedbuy);}                      //--
                        Thread.Sleep(5000);                                                                                 //--
                        MoveToFarm1();
                        Thread.Sleep(5000);                                                                                 //--
                    }                                                                                                       //--
                    // ----------------------------------------------------------------------------------------------------------
                    
                    
                    
                    //add/remove farms here
                    //Plant farm 1
                    MoveToFarm1();
                    SetPlantMotionType(PlantMotionType.Standart);        // change motion type if needed
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id);
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id); 
                    CollectItemsAtFarm(farm1plant, farm1collect, farm1id); 
                    PlantItemsAtFarm(farm1seed, farm1id);                    
                    
                    //Plant farm 2
                    MoveToFarm2();                    
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    CollectItemsAtFarm(farm2plant, farm2collect, farm2id);
                    PlantItemsAtFarm(farm2seed, farm2id);                                         

                    //Plant farm 3
                    MoveToFarm3();
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id);
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id); 
                    CollectItemsAtFarm(farm3plant, farm3collect, farm3id);
                    PlantItemsAtFarm(farm3seed, farm3id); 

                    //Plant farm 4
                    MoveToFarm4();
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id);
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id); 
                    CollectItemsAtFarm(farm4plant, farm4collect, farm4id);
                    PlantItemsAtFarm(farm4seed, farm4id);
                    
                    //Plant farm 5
                    MoveToFarm5();
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id);
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id); 
                    CollectItemsAtFarm(farm5plant, farm5collect, farm5id);
                    PlantItemsAtFarm(farm5seed, farm5id); 
                    
                    //Plant farm 6
                    MoveToFarm6();
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id);
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id); 
                    CollectItemsAtFarm(farm6plant, farm6collect, farm6id);
                    PlantItemsAtFarm(farm6seed, farm6id);
                    
                    //Plant farm 7 
                    MoveToFarm7();
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id);
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id); 
                    CollectItemsAtFarm(farm7plant, farm7collect, farm7id);
                    PlantItemsAtFarm(farm7seed, farm7id);
                    
                    //if Labor < 200 wait 
                } else { 
                    PlantItemsAtFarm(farm1seed, farm1id);
                    PlantItemsAtFarm(farm2seed, farm2id);
                    PlantItemsAtFarm(farm3seed, farm3id);
                    PlantItemsAtFarm(farm4seed, farm4id);
                    PlantItemsAtFarm(farm5seed, farm5id); 
                    PlantItemsAtFarm(farm6seed, farm6id);
                    PlantItemsAtFarm(farm7seed, farm7id);
                    Log("Labor under 200, waiting to regen");
                }

                //Generate random time between 3-5 minutes       
                Random random    = new Random();
                decimal mseconds = random.Next(180, 300) * 1000;
                decimal seconds  = mseconds / 1000;
                decimal minutes  = seconds / 60;
                Log("Waiting for " + minutes.ToString() + " minutes");

                //sleep for random time
                Thread.Sleep((int)mseconds);
            }
            }
        }
       //Call on plugin stop
       public void PluginStop()
       { Log("Plugin Stopped...");
       }
    }
}
When I run it, it starts to just run through all the points in a circle and don't gathering or plant, just run, after stops at the last point, waiting for a while and then runs on the first point again and all over again, just run. What could be wrong? Thank you!

Change your collect formula under //label from
var farmXcollect = "Gathering: Spend 1 Labor to gather materials.";

to

var farmXcollect = "Farming: Spend 1 Labor to harvest crops.";
 
All the same, nothing has changed. Character as running and running and nothing else does, only runs between the scarecrows
 
How can I find the correct name in the game client of skills for gather/farming ("Gathering: Spend 1 Labor to gather materials.") in RU server
 
Last edited:
How can I find the correct name in the game client of skills for gather/farming ("Gathering: Spend 1 Labor to gather materials.") in RU server

When you approach mature plant on your farm you got "interact" button ("F" or anything else you set in keybinds). When you mouse over that interact action toolop you get a text like "Farming: Spend X labor to harvest crops" or if its lets say mineral vein like iron or something you got "Gathering: Spend X labor to gather resources" etc etc. That apply to anything in game that require action, can be interacted with and cost labor. I guess its translated in RU localized client.
 
Russian server change - "Gathering: Spend 1 Labor to gather materials." = "Собрать урожай (1 оч. работы)"
The script does not correctly received scarecrows ID by name, change manually farmID's to int, get them from Scarecrow plugin, and now it WORKS!
 
Russian server change - "Gathering: Spend 1 Labor to gather materials." = "Собрать урожай (1 оч. работы)"
The script does not correctly received scarecrows ID by name, change manually farmID's to int, get them from Scarecrow plugin, and now it WORKS!
How far apart are your farms? Did you rename farms in-game to match what you set in code?>
 
Last edited:
Ah yea forgot to add that, I just tried setting it to work across large distance, farm1 and farm2 in White Arden, farm3 in solzreed, it would plant and harvest on farm 1 and farm 2 but completely ignore farm 3, it would go there just fine (15 minutes by foot) but won't harvest nor plant. I guess too far, no idea if its possible to alter it so distance isn't any factor?
 
Ofcourse I renamed them, some farms is near, some at distance 20-30m
 
If u're certain that ur farm names are the same ingame, in plugin code and in gps, then I would rly eye ur seed names, mature plant name and collect name (Farming: Spend... // Gathering: Spend... ) I learned that even SLIGHTEST mistype will make it don't work. Check if you don't miss some "." etc etc
 
Ah yea forgot to add that, I just tried setting it to work across large distance, farm1 and farm2 in White Arden, farm3 in solzreed, it would plant and harvest on farm 1 and farm 2 but completely ignore farm 3, it would go there just fine (15 minutes by foot) but won't harvest nor plant. I guess too far, no idea if its possible to alter it so distance isn't any factor?

At the moment it will only pick up the farms in range when you start plugin, I will work on this when I get home later today.
 
Ofcourse I renamed them, some farms is near, some at distance 20-30m

If you're sure that you've got the farm names set in code exactly as you set them in-game, then I'm not sure what the problem could be. Because you said it works if you manually set farmID, I can only assume it's some issue with russian client difference that I'm not familiar with.

I'll look over your code more when I get home, currently looking at this on my phone so I might have missed something.
 
Hey thanks for this plugin i didnt try it yet but i have a question. I have 1 gazebo and 1 villa side-by-side. Is it possible to farm, harvest both then go into my villa and sleep and re-do that every desired hours? Thanks
 
Hey thanks for this plugin i didnt try it yet but i have a question. I have 1 gazebo and 1 villa side-by-side. Is it possible to farm, harvest both then go into my villa and sleep and re-do that every desired hours? Thanks
Not at the moment as I haven't put any work into finding bot functions for opening doors to houses or sleeping in beds, when I have some more free time I'll try to add this.
 
Hey guys, I know its not related to this plugin but I need some help desperately. I started using more AB sessions as of late. When I used only 1 it was working good but after adding 2 more windows I got problem with AA crashing/dc often. I suspect its something to do with different settings maybe? Because my main window launches with different Archeage settings default (no sound, no tutorial etc) and my other boxes doesn't remember AA settings and always launch with sound on and tutorials. Is there any way to fix same Archeage config for all windows for good? If you got other ideas please help.
 
Would this work with illegal farms? For example, planting with one bot and gathering with another bot?
 
Back
Top