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

Miner Plugin Help

Status
Not open for further replies.

Klix09

New Member
Joined
Nov 19, 2014
Messages
7
Reaction score
0
character just stands in place and dashes till out of mana, then continues to stand still.
Code:
using System;
using System.Drawing;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
using System.Windows.Forms;
using System.Threading.Tasks;
using System.Net;
using System.IO;
using System.Text;
using System.ComponentModel;

namespace DefaultNameSpace{
   public class DefaultClass : Core
   {
       public static string GetPluginAuthor()
       {
           return "Gajda";
       }

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

       public static string GetPluginDescription()
       {
           return "mining bot";
       }
       private Gps gps; 
       //Call on plugin start
       public void PluginRun()
       {
           ClearLogs();
           Log(DateTime.Now.ToLongTimeString() + " : Start");
           gps = new Gps(this); 
           gps.LoadDataBase(Application.StartupPath + "\\Plugins\\Mining\\path.db3");
           DoMineRun();
           
       }            
       
       public List<DoodadObject> Sort(List<DoodadObject> tempitems)
       {    
           Log(DateTime.Now.ToLongTimeString() + " : I see " + tempitems.Count + " items");   
           List<DoodadObject> items = new List<DoodadObject>();
           for(int i=0;i<tempitems.Count;i++)
           {
                if(tempitems[i].name.Contains("ein") && (tempitems[i].dist(me)<20) &! tempitems[i].name.Contains("Remnant") )
                    items.Add(tempitems[i]);
           }
            Log(DateTime.Now.ToLongTimeString() + " : I see " + items.Count + " usable  item(s)");   
           bool needSort = true;
           if(items.Count<2)
               needSort = false;
           int loop      = 1;
           while(needSort)
           {   
               Log(DateTime.Now.ToLongTimeString() + " : sorting run " + loop);
               bool changed = false;
               for(int i=0;i<items.Count-1;i++)
               {                         
                   
                   if(items[i].dist(me)>items[i+1].dist(me))
                   {                          
                       var tempItem = items[i]; 
                       items[i]=items[i+1];
                       items[i+1]=tempItem;
                       changed = true;
                   }                   
               }
               if(changed==false)
               {
                   needSort = false;
               }
               loop++ ;
           }   
           return   items;
       }
       
       public void DoMineRun()
      {         
          // i<11 is for route with 10 mining spots
          for(int i=1;i<55;i++)
           {                   
                CheckAggro();
                Log(DateTime.Now.ToLongTimeString() + " : movint to point " + i.ToString()); 
                UseSkill("Dash");    
                while(!gps.GpsMove(i.ToString()))
                {
                    Thread.Sleep(100);
                }
                Log(DateTime.Now.ToLongTimeString() + " : at point " + i.ToString());     
                CheckAggro();
                while(Mine())
                {
                    Thread.Sleep(100);
                }
           }                    
           CheckAggro();
           Log(DateTime.Now.ToLongTimeString() + " : moving to start");
           gps.GpsMove("1");                                      
           CheckAggro();            
           Random rnd = new Random();
           int wait   = rnd.Next(150,210);  
           wait       = wait*1000;
           Log(DateTime.Now.ToLongTimeString() + " : wait " + wait.ToString());
           Thread.Sleep(wait);           
           CheckAggro();
           DoMineRun();
      }
       public bool Mine()
       {            
           Log(DateTime.Now.ToLongTimeString() + " : looking for veins");
           bool mined = false;
           List<DoodadObject> items = Sort(getDoodads());
           Log(DateTime.Now.ToLongTimeString() + " : founded " + items.Count);
           foreach(var doodad in items)
           {
               Log(DateTime.Now.ToLongTimeString() +  " :      " + doodad.name + "  " + doodad.dist(me));  
           }
           foreach(var doodad in items)
           {               
               if(doodad.name.Contains("ein") && (doodad.dist(me)<20) &! doodad.name.Contains("Remnant") )
               {             
                   mined = true;
                   Log(DateTime.Now.ToLongTimeString() +  " : " + doodad.name + " " + doodad.id.ToString() + "  " + doodad.dist(me));     
                   var skills            = doodad.getUseSkills(); 
                   double doodadCastDist = 0;
                    if (skills.Count > 0)
                    {
                        if (doodadCastDist == 0)  
                        {
                            Thread.Sleep(500);
                            Log(DateTime.Now.ToLongTimeString() + " : mining");
                            TurnDirectly(doodad);
                            UseDoodadSkill(skills[0].id, doodad, true);
                        }
                        Thread.Sleep(1000);
                    }
                }     
            }
            return mined;
       }
  
        public void CheckAggro()
        {                     
            Log(DateTime.Now.ToLongTimeString() + " : CheckAggro");
            if(getAggroMobs().Count > 0)
            {         
                Log(DateTime.Now.ToLongTimeString() + " : " + getAggroMobs().Count.ToString());
                foreach(var obj in  getAggroMobs())
                {   
                    Log(DateTime.Now.ToLongTimeString() + " : " + obj.name);    
                    SetTarget(obj);
                    TurnDirectly(me.target);
                    Log(DateTime.Now.ToLongTimeString() + " : fighting");
                    while(obj.isAlive())
                    {        
                        TurnDirectly(me.target);
                        if(skillCooldown("Freezing Arrow")==0)
                        {
                            Log(DateTime.Now.ToLongTimeString() + " Freezing arrow"); 
                            UseSkill("Freezing Arrow", false);
                            Thread.Sleep(100);
                        }
                        else
                        {
                            if(skillCooldown("Crippling Mire")==0)
                            {
                                    Log(DateTime.Now.ToLongTimeString() + " Crippling Mire"); 
                                    UseSkill("Crippling Mire",false);
                                    Thread.Sleep(100);
                            }
                            else
                            { 
                                if(skillCooldown("Flamebolt")==0)  
                                {    
                                    Log(DateTime.Now.ToLongTimeString() + " Flame Bolt"); 
                                    UseSkill("Flamebolt",false);
                                    Thread.Sleep(100);
                                }
                            }
                        }
                        if(!obj.inFight)
                            return;
                    }
                    Log(DateTime.Now.ToLongTimeString() + " : fight is over");
                }
            } 
        }        
       
       public void PluginStop()
       {
       }
   }
}
 
Last edited:
You have to provide your path around mine. Read thread with this plugin, there are instructions there.
 
I made a path with gps editor, saved as db3 file and put into plugin, still nothing.
 
Upload path somewhere and send me a link. I will check it.
 
Status
Not open for further replies.
Back
Top