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

[PLUGIN] World Farmer - An Open world farm plugin

Any luck with planting Cherry Saplings? i hit start and it dosent do anything character just stands there
 
Does this water out of curiosity?

And for those using this in unprotected land, do you get interrupted much? I mean, do people bother you?

Also, how obvious are farm bots? If I was to run a pen full of chickens and such, would it be obvious to those around me that I am using a bot?
 
Last edited:
plz met plz can u make for me for ( Onion Seed )

plz my ENG is bad
 
good night, I wonder if anyone can give me some trade routes of Nuia, I'm new to the forum and am still learning, I'll soon be making my own
 
I'm planting carrot, in temperate climate. What I'm doing wrong? The plugin dont compile =/

Code:
using System;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
namespace YourNamespace
{
    public class YourClass : Core
    {
        public static string GetPluginAuthor()
        {
            return "Biocide";
        }
        public static string GetPluginVersion()
        {
            return "0.3";
        }
        public static string GetPluginDescription()
        {
            return "World Farmer";
        }
        //----------------SETINGS----------------------
   ///////////////////////////////////////////////////////////////////////////////////////////////
  //    NAME OF THE SEED YOU WANT TO PLANT. THIS MUST BE EXACTLY AS YOU SE IT IN GAME.         //
 ///////////////////////////////////////////////////////////////////////////////////////////////     
 public string seedchoice = "Carrot Seed";


       
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
   //    NAME OF THE PLANT WHEN ITS READY FOR HARVEST.                                                               //
  //     TIPP: PLANT ONE SEED IN THE CLIMATE YOU WILL USE IT IN. WAIT UNTIL READY AND YOU WILL SE THE CORRECT NAME   //
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////       
 public string readyplant = "Carrot";



        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
       //    THE EXACT DESCRIPTION YOU'LL SE WHEN YOU MOUSE OVER THE SKILL BUTTON IN GAME OF THE SKILL YOU WANT TO USE    //
      //     TIPP: PLANT ONE SEED IN THE CLIMATE YOU WILL USE IT IN. WAIT UNTIL READY AND YOU WILL SE THE CORRECT NAME   //
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////        
     public string description = "Gathering: Spend 1 Labor to gather materials.";
                                //"Farming: Spend 1 Labor to harvest crops.";



        
     public int Garea = 20; // size of Gathering area
     public int Parea = 10;  // size of planting area



        
        
        //---------------DONT CHANGE ANYTHING BELOW THIS LINE-----------------------------------------------------------------------------
        //Try to find Doodad in farm zone.
        
        public DoodadObject GetBestNearestdood(Gzone)
        {
            DoodadObject dood = null;
            double dist       = 999999;
            foreach (var Obj in getDoodads())
            {      
                //If there is any Doodads that we looking for in this zone
                if (Obj.name == Carrot)
                {
                    if (Obj.uniqOwnerId == me.uniqId)
                    {
                    dood = Obj;
                    dist = me.dist(Obj);
                    }
                }
            }
            return dood;
        }
        
        
        public void PluginRun()
        {  
            RoundZone Gzone = new RoundZone(me.X, me.Y, Gzone); //Make new gather zone.
            RoundZone Pzone = new RoundZone(me.X, me.Y, Gzone); //Make new plant zone.
            SetGroupStatus("Farm", false); //Add checkbox to our character widget
            SetGroupStatus("Plant", false); //Add checkbox to our character widget
            while (true)
            { 
                //If Farm checkbox is enabled               
                if (GetGroupStatus("Farm"))
                {
                    Log("Checkbox Farm is enabled in widget");                    
                    DoodadObject bestdood = null;
                    bestdood = GetBestNearestdood(Gzone);                                       
                    
                    if (bestdood != null) 
                    {
                        Log("Found: " + bestdood.name + " to harvest.");
                        try
                        {
                            //While there is any desired Doodads in zone and checkbox in widget enabled
                            while (bestdood != null && GetGroupStatus("Farm"))
                            {
                                //Log("Distance: " +me.dist(bestdood)+ "m"); // Just for debuging
                                CollectItemsInZone(Carrot, 7998, Gzone);
                                bestdood = GetBestNearestdood(Gzone);
                            }                           
                        } 
                        catch {}  
                    }
                    else
                    {
                        if (GetGroupStatus("Plant"))
                        {
                            Log("Checkbox Plant is enabled in widget");                           
                            bestdood = GetBestNearestdood(Gzone);
                            try
                            {
                                while (GetGroupStatus("Plant"))
                                {
                                    PlantItemsInZone("Carrot Seed", Pzone);
                                    bestdood = GetBestNearestdood(Pzone);
                                    Log("bestdood: " +bestdood.name);
                                }
                            }
                            catch {}
                        }
                    }
                    Log("Waiting 10 seconds before checking For New plants to harvest");
                    Thread.Sleep(10000);
                }          
                // Processor delay
                Thread.Sleep(10);
            }
        }
    }
}
 
I'm planting Cherry Saplings in temperate climate, not sure if my code is right as it won't plant.

If anyone is interested here is the code :

Code:
using System;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
namespace YourNamespace
{
    public class YourClass : Core
    {
        public static string GetPluginAuthor()
        {
            return "Biocide";
        }
        public static string GetPluginVersion()
        {
            return "0.3";
        }
        public static string GetPluginDescription()
        {
            return "World Farmer";
        }
        //----------------SETINGS----------------------
   ///////////////////////////////////////////////////////////////////////////////////////////////
  //    NAME OF THE SEED YOU WANT TO PLANT. THIS MUST BE EXACTLY AS YOU SE IT IN GAME.         //
 ///////////////////////////////////////////////////////////////////////////////////////////////     
 public string seedchoice = "Cherry Sapling";


       
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
   //    NAME OF THE PLANT WHEN ITS READY FOR HARVEST.                                                               //
  //     TIPP: PLANT ONE SEED IN THE CLIMATE YOU WILL USE IT IN. WAIT UNTIL READY AND YOU WILL SE THE CORRECT NAME   //
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////       
 public string readyplant = "Young Cherry Tree";



        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
       //    THE EXACT DESCRIPTION YOU'LL SE WHEN YOU MOUSE OVER THE SKILL BUTTON IN GAME OF THE SKILL YOU WANT TO USE    //
      //     TIPP: PLANT ONE SEED IN THE CLIMATE YOU WILL USE IT IN. WAIT UNTIL READY AND YOU WILL SE THE CORRECT NAME   //
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////        
     public string description = "Uproot: Spend 10 Labor to uproot a target.";
                                //"Farming: Spend 1 Labor to harvest crops.";



        
     public int Garea = 100; // size of Gathering area
     public int Parea = 100;  // size of planting area



        
        
        //---------------DONT CHANGE ANYTHING BELOW THIS LINE-----------------------------------------------------------------------------
        //Try to find Doodad in farm zone.
        
        public DoodadObject GetBestNearestdood(Zone zone)
        {
            DoodadObject dood = null;
            double dist       = 999999;
            foreach (var Obj in getDoodads())
            {      
                //If there is any Doodads that we looking for in this zone
                if (Obj.name == readyplant)
                {
                    if (Obj.uniqOwnerId == me.uniqId)
                    {
                    dood = Obj;
                    dist = me.dist(Obj);
                    }
                }
            }
            return dood;
        }
        
        
        public void PluginRun()
        {  
            RoundZone Gzone = new RoundZone(me.X, me.Y, Garea); //Make new gather zone.
            RoundZone Pzone = new RoundZone(me.X, me.Y, Parea); //Make new plant zone.
            SetGroupStatus("Farm", false); //Add checkbox to our character widget
            SetGroupStatus("Plant", false); //Add checkbox to our character widget
            while (true)
            { 
                //If Farm checkbox is enabled               
                if (GetGroupStatus("Farm"))
                {
                    Log("Checkbox Farm is enabled in widget");                    
                    DoodadObject bestdood = null;
                    bestdood = GetBestNearestdood(Gzone);                                       
                    
                    if (bestdood != null) 
                    {
                        Log("Found: " + bestdood.name + " to harvest.");
                        try
                        {
                            //While there is any desired Doodads in zone and checkbox in widget enabled
                            while (bestdood != null && GetGroupStatus("Farm"))
                            {
                                //Log("Distance: " +me.dist(bestdood)+ "m"); // Just for debuging
                                CollectItemsInZone(readyplant, description, Gzone);
                                bestdood = GetBestNearestdood(Gzone);
                            }                           
                        } 
                        catch {}  
                    }
                    else
                    {
                        if (GetGroupStatus("Plant"))
                        {
                            Log("Checkbox Plant is enabled in widget");                           
                            bestdood = GetBestNearestdood(Gzone);
                            try
                            {
                                while (GetGroupStatus("Plant"))
                                {
                                    PlantItemsInZone(seedchoice, Pzone);
                                    bestdood = GetBestNearestdood(Gzone);
                                    Log("bestdood: " +bestdood.name);
                                }
                            }
                            catch {}
                        }
                    }
                    Log("Waiting 10 seconds before checking For New plants to harvest");
                    Thread.Sleep(10000);
                }          
                // Processor delay
                Thread.Sleep(10);
            }
        }
    }
}

If anyone has gotten cherry saplings to work, please post your code / correct mine if possible. :)
 
How do i run this plugin?
I dont know how to install, someone help plz.
 
I think the harvesting "farm" part is broken now after the update... Can anyone confirm ? It plants but does not harvest...
 
For the plant part, I forgot to check the "Plant" checkbox. Down server, can't test farm part.

How do i run this plugin?
I dont know how to install, someone help plz.
Follow this:
You can use build-in editor to make simple plugins.
For this - open build-in editor (Its called Plugin editor), from tray menu or Logs window Menu.
Create new file and save him to new sub folder in Archebuddy Plugins folder (for example - D:\Games\Archebuddy\Plugins\MyFirstPlugin\1.cs).
Write your code.
Click "Compile" button. Below in log window you will see result of compilation, is there error or no.
If all good - compiled plugin (.dll) you can find in Plugin Manager when you game account ingame.
 
Last edited:
Can anyone confirm "CollectItemsInZone" is still working ? The guy no longer picks up anything regardless of what flower i try.

Figured out the problem ... it was the description ... i had to change it to match the flower i was harvesting ... From "Gathering: Spend 1 labor" too "Gathering: Spend up to 2 labor...." lolol
 
Last edited:
Desktop\Archebuddy\Plugins\Farming\Farming.dllUnknown executing error, or plugin was forcibly unloaded.

what is this error message above, it comes up whenever i try to run the script. But then the script does plant but it doesn't gather. I am only using azalea
 
Can anyone try my new code and comment. Its made for seeds.
I have not tried it with saplings.
It checks for everything im the owner of in the zone, then uses the first available skill on that doodad.


Code:
using System;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
namespace YourNamespace
{
    public class YourClass : Core
    {
        public static string GetPluginAuthor()
        {
            return "Biocide";
        }
        public static string GetPluginVersion()
        {
            return "0.4";
        }
        public static string GetPluginDescription()
        {
            return "World Farmer";
        }
        //----------------SETTINGS------------------------------------------------------------------
   ///////////////////////////////////////////////////////////////////////////////////////////////
  //    NAME OF THE SEED YOU WANT TO PLANT. THIS MUST BE EXACTLY AS YOU SE IT IN GAME.         //
 ///////////////////////////////////////////////////////////////////////////////////////////////     
        public string seedchoice = "Azalea Seed";
        public int Garea = 25; // size of Gathering area
        public int Parea = 6;  // size of planting area

//---------------DONT CHANGE ANYTHING BELOW THIS LINE---------------------------------------------


     public uint skill;
     public int gtime;   
     public string descr;
     public string name;  
            
        public DoodadObject GetBestNearestdood(Zone zone)
        {
            DoodadObject dood = null;
            double dist       = 999999;            
            foreach (var Obj in getDoodads())
            {      
                //If there is any Doodads that we looking for in this zone
                if (Obj.uniqOwnerId == me.uniqId)
                {
                    if (Obj.growthTime < 1)
                    {                                                         
                        dood  = Obj;
                        dist  = me.dist(Obj);
                        gtime = Obj.growthTime;
                    }
                 }
              }          
            return dood;
        }

        public void PluginRun()
        {
            RoundZone Gzone = new RoundZone(me.X, me.Y, Garea); //Make new gather zone.
            RoundZone Pzone = new RoundZone(me.X, me.Y, Parea); //Make new plant zone.
            SetGroupStatus("Farm", false); //Add checkbox to our character widget     
            while (true)
            {  
                if (GetGroupStatus("Farm"))
                {               
                    DoodadObject bestdood = null;
                    bestdood              = GetBestNearestdood(Gzone);
                    if (bestdood != null)
                    {
                        while (GetGroupStatus("Farm") && bestdood != null)
                        {
                            var skills = bestdood.getUseSkills();
                            if (skills.Count > 0)
                            {
                                skill = skills[0].id;
                                descr = skills[0].desc;
                                name  = skills[0].name;
                                CollectItemsInZone(bestdood.name, skill, Gzone);
                                bestdood              = GetBestNearestdood(Gzone);
                                }
                            Thread.Sleep(50);
                            }
                        Thread.Sleep(50);
                        }
                    PlantItemsInZone(seedchoice, Pzone);
                    Thread.Sleep(50);
                    }              
                Thread.Sleep(50);
            }
            Thread.Sleep(50);
        }        
    }
}
 
im going to try it out right now ill let you know btw do you have skype. maybe i can give you feedback quicker

Can anyone try my new code and comment. Its made for seeds.
I have not tried it with saplings.
It checks for everything im the owner of in the zone, then uses the first available skill on that doodad.


Code:
using System;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
namespace YourNamespace
{
    public class YourClass : Core
    {
        public static string GetPluginAuthor()
        {
            return "Biocide";
        }
        public static string GetPluginVersion()
        {
            return "0.4";
        }
        public static string GetPluginDescription()
        {
            return "World Farmer";
        }
        //----------------SETTINGS------------------------------------------------------------------
   ///////////////////////////////////////////////////////////////////////////////////////////////
  //    NAME OF THE SEED YOU WANT TO PLANT. THIS MUST BE EXACTLY AS YOU SE IT IN GAME.         //
 ///////////////////////////////////////////////////////////////////////////////////////////////     
        public string seedchoice = "Azalea Seed";
        public int Garea = 25; // size of Gathering area
        public int Parea = 6;  // size of planting area

//---------------DONT CHANGE ANYTHING BELOW THIS LINE---------------------------------------------


     public uint skill;
     public int gtime;   
     public string descr;
     public string name;  
            
        public DoodadObject GetBestNearestdood(Zone zone)
        {
            DoodadObject dood = null;
            double dist       = 999999;            
            foreach (var Obj in getDoodads())
            {      
                //If there is any Doodads that we looking for in this zone
                if (Obj.uniqOwnerId == me.uniqId)
                {
                    if (Obj.growthTime < 1)
                    {                                                         
                        dood  = Obj;
                        dist  = me.dist(Obj);
                        gtime = Obj.growthTime;
                    }
                 }
              }          
            return dood;
        }

        public void PluginRun()
        {
            RoundZone Gzone = new RoundZone(me.X, me.Y, Garea); //Make new gather zone.
            RoundZone Pzone = new RoundZone(me.X, me.Y, Parea); //Make new plant zone.
            SetGroupStatus("Farm", false); //Add checkbox to our character widget     
            while (true)
            {  
                if (GetGroupStatus("Farm"))
                {               
                    DoodadObject bestdood = null;
                    bestdood              = GetBestNearestdood(Gzone);
                    if (bestdood != null)
                    {
                        while (GetGroupStatus("Farm") && bestdood != null)
                        {
                            var skills = bestdood.getUseSkills();
                            if (skills.Count > 0)
                            {
                                skill = skills[0].id;
                                descr = skills[0].desc;
                                name  = skills[0].name;
                                CollectItemsInZone(bestdood.name, skill, Gzone);
                                bestdood              = GetBestNearestdood(Gzone);
                                }
                            Thread.Sleep(50);
                            }
                        Thread.Sleep(50);
                        }
                    PlantItemsInZone(seedchoice, Pzone);
                    Thread.Sleep(50);
                    }              
                Thread.Sleep(50);
            }
            Thread.Sleep(50);
        }        
    }
}
 
Back
Top