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

Gatherer Base

How to fix?

3:45:40 PM: \Plugins\Gatherer\Gatherer.cs(10,18) : error CS0101: The namespace 'Gatherer' already contains a definition for 'Gatherer'
\MapMark Node.cs(10,18) : error CS0101: The namespace 'Gatherer' already contains a definition for 'Gatherer'
 
How to fix?

3:45:40 PM: \Plugins\Gatherer\Gatherer.cs(10,18) : error CS0101: The namespace 'Gatherer' already contains a definition for 'Gatherer'
\MapMark Node.cs(10,18) : error CS0101: The namespace 'Gatherer' already contains a definition for 'Gatherer'
Save each your script in separate folder.
 
Possible to add something to keep it from running to nodes that are still on cool down timer?
 
Whats the Gather Type for Fortuna Veins? Cant find those in the API

gatherTypes.Add("Mine Fortuna") doesnt work :/
 
i start from v3 and nothing happens, no minimap/normal map icons or something :/

edit:
alos tried version 1/2 and saem results= not work for me
 
Last edited:
Doesnt anyone know what the correct comment for fortuna veins is?

gatherTypes.Add("Mine Fortuna") doesnt work :/

I should be able to edit the plugin if someone knows
 
Doesnt anyone know what the correct comment for fortuna veins is?

gatherTypes.Add("Mine Fortuna") doesnt work :/

I should be able to edit the plugin if someone knows


here some old version for Ru version but it's had "teleport" this function removed now
HTML:
using ArcheBuddy.Bot.Classes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace YourNamespace
{
    public class AutoMine : Core
    {
        private string sname = "Iron Vein";
        private string critname = "Fortuna Vein";
        private string sskil = "mining:spend up to 10 labor to extract ore";
        private string critskil = "mining:spend up to 20 labor to extract ore";
        private int zone = 50; // Выбор руды будет происходить только из тех объектов, у которых растояние от персонажа до руды меньше значения zone
        private bool runSuccess;
        private DoodadObject Ore;
        private double dist;
        public static string GetPluginAuthor()
        {
            return "xxx";
        }

        public static string GetPluginVersion()
        {
            return "0.0.1.0";
        }

        public static string GetPluginDescription()
        {
            return "Плагин, позволяющий автоматически копать руду.";
        }

        public void PluginRun()
        {
            SetGroupStatus("AutoMine", false);
            while (true)
            {
                runSuccess = false;
                if (GetGroupStatus("AutoMine"))
                {
                    Ore = FindSome();
                    if (Ore != null)
                    {
                        while (Ore != null && GetGroupStatus("AutoMine"))
                        {
                            dist = me.dist(Ore);
                        //    if (dist >= 2)
                        //    {
                        //        Teleport(Ore.X, Ore.Y, Ore.Z);

                       //     }
                        //    if (dist <= 1)
                        //    {
                        //        Mining();
                        //    }
                         //   if (runSuccess)
                          //  {
                           //     Ore = FindSome();
                           //     Thread.Sleep(1500);
                           // }
                        }
                    }
                }
                Thread.Sleep(100);
            }
        }

        public void Mining()
        {
            if (Ore.name == sname && Ore != null)
            {
                UseDoodadSkill(sskil, Ore, true);
                runSuccess = true;
                Thread.Sleep(1000);
            }
            else if (Ore.name == critname && Ore != null)
            {
                UseDoodadSkill(critskil, Ore, true);
                runSuccess = true;
            }
        }

        public DoodadObject FindSome()
        {
            DoodadObject mine = null;
            double min = 0;
            foreach (var obj in getDoodads().Where(x => x.dist(me) < zone && (x.name == sname || x.name == critname)))
            {
                if (min == 0)
                {
                    min = me.dist(obj);
                    mine = obj;
                }
                else if (me.dist(obj) < min)
                {
                    min = me.dist(obj);
                    mine = obj;
                }
            }
            return mine;
        }
    }
}


if anyone can fix mining of fortuna vein do it please because i can't
 
i edited the code. now it also gathers fortuna veins. it works, but first the char runs by the vein, gets the other ore's in the area afterwards he comes back and gets the fortuna. dont know how to fix this. here the code, have fun:

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;

namespace Gatherer{
public class Gatherer : Core
{
public static string GetPluginAuthor()
{
return "2face";
}

public static string GetPluginVersion()
{
return "1.0.0.0";
}

public static string GetPluginDescription()
{
return "Gather Plugin";
}

public List<DoodadObject> doodList = new List<DoodadObject>();
public List<String> gatherTypes = new List<String>();
public bool isRunning = false;
public Thread mainThread;
//Call on plugin start
public void PluginRun()
{
Log("Done1");
//printDoods();
//Log("dooddist " + getClosestDood().dist(me));
//moveToDood(getClosestDood());
gatherTypes.Add("Chop Tree");
gatherTypes.Add("Mine Ore");
gatherTypes.Add("Mine the Fortuna Vein");
//printDoods();
isRunning = true;

Start();
Log("Nope");

}

public void Start(){
while(isRunning){
Thread.Sleep(500);
try{
DoodadObject dood = getClosestDood();
if(dood != null){
Log("name " + dood.name );
moveToDood(dood);
}
Log("Check");
}catch(Exception e){
Log(e.ToString());
}
}


}

public void getDoodType(DoodadObject dood){
printDoodInfo(dood);
Log("doodtype: " + dood.phaseId);
}

public void printDoodInfo(DoodadObject dood){
Log("name: " + dood.name + " dist: " + dood.dist(me));
}

public void moveToDood(DoodadObject dood){
if(dood == null) return;
Log("Move To: " + dood.name + " dist: " + me.dist(dood));
//printDoodInfo(dood);
while(dood.dist(me) >= 3){
ComeTo(dood, 2);
Thread.Sleep(50);
}
useDoodad(dood);
}

public Skill getDoodadSkill(DoodadObject dood){
Skill skill = null;
if(dood != null){
foreach(var obj in dood.getUseSkills()){
skill = obj;
}
}
return skill;
}

public void useDoodad(DoodadObject dood){
if(dood != null){
Skill skill = getDoodadSkill(dood);
if(skill != null){
Log(skill.name + " " + dood.name);
while(dood != null && dood.dist(me) <= 3){
if(UseDoodadSkill(skill.id, dood, true, 0) == true){
Log("Gathered: " + dood.name);
dood.Dispose();
dood = null;
}
Thread.Sleep(50);
}
}
}
}

public String hasGatherType(DoodadObject dood){
Skill skill = getDoodadSkill(dood);
return "";
}

public DoodadObject getClosestDood(){
DoodadObject dood = null;
double dist = 9999999999;

doodList = getDoodads();
Skill skill = null;
if(doodList.Count > 0){
//printDoods();
foreach(var obj in doodList){
skill = getDoodadSkill(obj);
if(skill != null ){
if(skill.name == "Chop Tree" || skill.name == "Mine the Fortuna Vein" || skill.name == "Mine Ore"){
if(me.dist(obj) < dist && obj.growthTime <= 0 && obj.uniqOwnerId == 0){
dood = obj;
dist = me.dist(obj);
}
}
}

}
}

Log("TEST");
if(dood != null){
return dood;
}
return null;
}

public void printDoods(){
updateDoodads();
Skill skill = null;
String sName = "";
foreach(var obj in doodList){
Log("---");
skill = getDoodadSkill(obj);
if(skill != null){
sName = skill.name;
}else{
sName = "";
}

Log(obj.name + " Time: " + obj.growthTime + " skill: " + sName);
Log("Type: " + obj.type + "dist: " + me.dist(obj));
Log("ownerId: " + obj.uniqOwnerId);
}
}

public void updateDoodads(){
doodList = getDoodads();
}
//Call on plugin stop
public void PluginStop()
{
}
}
}
 
none of these work for me anyone know how to get it to work all it does is stand there and do nothing

Run
marker set on Iron Vein dist: 19.6633258463429
closer target found
marker set on Iron Vein dist: 27.183653205403
closer target found
marker set on Iron Vein dist: 26.6572780301081
closer target found
marker set on Iron Vein dist: 14.0609059118751
closer target found
marker set on Iron Vein dist: 34.1054350209466
closer target found
marker set on Iron Vein dist: 28.0624228361277
closer target found
marker set on Iron Vein dist: 17.3605155525132
closer target found
marker set on Iron Vein dist: 27.3700044273114
closer target found
marker set on Iron Vein dist: 25.5051718539545
reached Iron Vein
marker set on Iron Vein dist: 71.3152449875566
closer target found
marker set on Iron Vein dist: 49.9712754374822
closer target found
marker set on Iron Vein dist: 20.0782727312031
reached Iron Vein
marker set on Iron Vein dist: 61.1185084964401
closer target found
marker set on Iron Vein dist: 23.3872063338016
closer target found
marker set on Iron Vein dist: 21.2692131028621
closer target found
 
has anybody made a version that wont try to steal a node from somebody else ?
 
so if i add gps to this will it auto run to points and auto gather?

Edit: Also can this be used with the questing profile and harvest on its way trough questing?
 
Last edited:
For all those wondering how to add Fortuna Veins just change
if(skill.name == "Chop Tree" || skill.name == "Mine Ore"){
to
if(skill.name == "Chop Tree" || obj.name == "Fortuna Vein" || skill.name == "Mine Ore"){

Also, does the teleport function still work? I know people still teleport, but I assume they're just sending a movement packet every x blocks. And are people automatically getting banned for this?
 
teleport function still work? I know people still teleport

For all those wondering how to add Fortuna Veins just change
if(skill.name == "Chop Tree" || skill.name == "Mine Ore"){
to
if(skill.name == "Chop Tree" || obj.name == "Fortuna Vein" || skill.name == "Mine Ore"){
works .. but not with archebuddy and no they not getting auto banned because i know many on Orchidna server they use teleport and speedhack 50 lvl already and still playing

yea it will gather now fortuna vein, but here big problem that bot run to next Iron Vein after he got "Foruna Vein" instead of gather "Fortuna Vein" so others player will get your "Fortuna Vein" easy

maybe you know how to add some exception ? so it will gather "Fortuna Vein" instant instead of running to next Iron Vein
 
Last edited:
works .. but not with archebuddy and no they not getting auto banned because i know many on Orchidna server they use teleport and speedhack 50 lvl already and still playing

yea it will gather now fortuna vein, but here big problem that bot run to next Iron Vein after he got "Foruna Vein" instead of gather "Fortuna Vein" so others player will get your "Fortuna Vein" easy

maybe you know how to add some exception ? so it will gather "Fortuna Vein" instant instead of running to next Iron Vein
I really didn't look at the code that much. You'd either have to make the sleep a bit longer so the new entity is spawned, or have it refresh the entity list and check what is what. When I get home I'll look at it.
 
If i plant some rice for exemple will it Harvest it? I mean, i've been looking for a way to set up a illegal farm and harvest it with the bots.
 
is it me or its not working. currently scanning all node/close player around in the logs but it dont move/mine anything. Something im doing wrong?
 
Back
Top