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

AutoExp is work????

Greaty

New Member
Joined
Sep 13, 2014
Messages
6
Reaction score
0
plugin AutoExp is work???? or not??? from head start? if not... can you give new link for this plugin in new version AB ???

tnx....
 
can you share said plugiN? :o

hi,
here: this basic auto attack bot also was possible run to farming spot after death if u record x y z

this script for "Ranger" class

the comments and skills in russian so you will need to translate them with google :)

i can't test myself right now, so you can try this
PHP:
using System;
using System.Windows.Forms;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using ArcheBuddy.Bot.Classes;


namespace YourNamespace
{
    public class YourClass : Core
    {
        //Считаем количество мобов, которые держат нас или нашего маунта в таргете
        public int mobsCountThatAttackUs()
        {
            int count = 0;
            foreach (var obj in getCreatures())
            {
                if (obj.type == BotTypes.Npc && isAttackable(obj) && isAlive(obj) && (obj.target == me || (obj.target != null && obj.target == getMount())))
                    count++;
            }
            return count;
        }

        //Получаем ближайшего моба, которого можно атаковать, которого не атаковал кто-либо другой, он находится в зоне
        public Creature GetBestNearestMob(Zone zone)
        {
            Creature mob = null;
            double dist = 999999;
            foreach (var obj in getCreatures())
            {
                if (obj.type == BotTypes.Npc && isAttackable(obj) && (obj.firstHitter == null || obj.firstHitter == me) && isAlive(obj) && me.dist(obj) < dist && zone.ObjInZone(obj)
                    && (hpp(obj) == 100 || obj.target == me || (obj.target != null && obj.target == getMount())))
                {
                    mob = obj;
                    dist = me.dist(obj);
                }
            }
            return mob;
        }

        //Нитка, контролирует, если мы что-либо кастуем в моба, и пока мы это делаем - его ударил ктото другой - отменяем каст.
        public void CancelAttacksOnAnothersMobs()
        {
            // Пофиксил отмену самохила/отхил пета.
            while (true)
            {
                if (me.isCasting && me.target!=me && me.target !=getMount() && me.target != null && me.target.firstHitter != null && me.target.firstHitter != me)
                {
                  CancelSkill();
                }
                Thread.Sleep(100);
            }
        }

        //Бафаемся
           public void CheckBuffs()
         {
             if (buffTime("Дух сокола") == 0)
              {
                  UseSkill("Дух сокола");
                while (me.isCasting)
                    Thread.Sleep(100);
         }
            if (buffTime("Проворство") == 0 && skillCooldown("Проворство") == 0)
                UseSkill("Проворство");
     }
        
         public void Buffer(string buffname,string skillname)
         {
             // buffname - имя бафа(отображается на персонаже)
            // skillname - название скила(да, да они разные!)
            // TODO: добавть таргнт, для ребафа пета/пати/рейда   
            
            //{   if (buffTime("Проворство") == 0)
            
                //     SetTarget(me);
                //   UseSkill("Проворство");
           
          //  } 
                  
               //{   if (buffTime("Стойка лучника") == 0)
            
                   //SetTarget(me);
                   // UseSkill("Стойка лучника");
           
               // } 
                //if (buffTime("Дух сокола II") == 0)
            //{
                //  SetTarget(me);
                //    UseSkill("Дух сокола");
           
            if (buffTime("Благословение божества II") == 0) // Проверяем наличие бафа
             {
                  SetTarget(me);
                 while (me.isGlobalCooldown) // Ждём ГКД
                     Thread.Sleep(100);
                 UseSkill("Просвещение");
                 while (me.isCasting) // Ждём окончание каста
                    Thread.Sleep(100);
             }   
             if (buffTime("Лангуст по-инистрийски") == 0) // Проверяем наличие бафа
             {
                       SetTarget(me);
                      while (me.isGlobalCooldown) // Ждём ГКД
                          Thread.Sleep(100);
                       UseItem("Лангуст по-инистрийски");
                        while (me.isCasting) // Ждём окончание каста
                        Thread.Sleep(100);
              }
          }
        public void PluginRun()
          {
               new Task(() => { CancelAttacksOnAnothersMobs(); }).Start();
              RoundZone zone = new RoundZone(me.X, me.Y, 70); //X, Y, radius
              SetGroupStatus("autoexp", false); //Добавляем группу в виджет
               while (true)
              {
                     if(!isAlive())
                   {
                   while (me.resurrectionWaitingTime > 0)
                     Thread.Sleep(100);
                    Thread.Sleep(300);
                    ResToRespoint();
                   Thread.Sleep(35000);
                      
                   Thread.Sleep(2000);
                   //Cюда пишем наш маршрут от нуи
             
             MoveTo (11443.74, 17346.58, 196.55);
             MoveTo ( 11430.88, 17332.46, 196.09 );
             MoveTo (11413.90, 17316.88, 195.35 );
             MoveTo( 11389.64, 17294.14, 193.44  );
             MoveTo (11367.34, 17275.40, 191.27 );
             MoveTo (11353.19, 17251.64, 184.33 );
             MoveTo (11347.57, 17222.25, 180.51 );
            
             MoveTo (11351.39, 17194.39, 180.11);
             UseSkill("Дар жизни");  
             MoveTo (11356.27, 17186.68, 179.62);
             UseSkill("Дар жизни");
             
           }
         
                if (GetGroupStatus("autoexp"))
                {
                    CheckBuffs();
                    var bestMob = GetBestNearestMob(zone);
                    if (lastAttacked() != null  && lastAttacked().isAlive())
                         {
                    if (lastAttacked().type == BotTypes.Player) //Переключаемся на ПК если нас атаковали
                                     bestMob = lastAttacked();
                                 if (me.target != bestMob)
                                     SetTarget(bestMob);
                         }
                    var myMount = getMount(); 
                    
                    {
                        while (bestMob != null && isAlive(bestMob) && GetGroupStatus("autoexp") && isAlive())
                        {
                            // Переписать нахуй весь отхил!!!!!
                            //Хилим маунта, если нужно
                            if (myMount != null && hpp(myMount) < 70 && skillCooldown("Свет и тьма") == 0)
                            {
                                while (me.isGlobalCooldown) //ждем гкд
                                    Thread.Sleep(100);
                                while (me.isCasting)  //пока мы докастуем что либо другое
                                    Thread.Sleep(100);
                                SetTarget(myMount);
                                UseSkill("Свет и тьма");
                            }
                            //Хилим себя, если нужно
                            if (hpp() < 82 && buffTime("Дар жизни") == 0)
                            {
                                while (me.isGlobalCooldown) //ждем гкд
                                    Thread.Sleep(100);
                                while (me.isCasting) //пока мы докастуем что либо другое
                                    Thread.Sleep(100);
                                //SetTarget(me);
                                UseSkill("Дар жизни");
                                Log("Хилимся Даром жизни");
                            }
                            // Если первой хилки оказалось мало и ХП падает.
                            if (hpp() < 70 && skillCooldown("Непрерывное исцеление") == 0)
                            {
                                while (me.isGlobalCooldown) //ждем гкд
                                    Thread.Sleep(100);
                                while (me.isCasting) //пока мы докастуем что либо другое
                                    Thread.Sleep(100);
                                SetTarget(me);
                                UseSkill("Непрерывное исцеление");
                                UseSkill("Непрерывное исцеление");
                                UseSkill("Непрерывное исцеление");
                                UseSkill("Непрерывное исцеление");
                                UseSkill("Непрерывное исцеление");
                                UseSkill("Непрерывное исцеление");
                                
                                Log("Непрерывное исцеление");
                            }

                            if (bestMob.target != me && bestMob.firstHitter != null && bestMob.firstHitter != me) //если у нашего "лучшего" моба первый атакующий - не я - забиваем на него, и выходим из цикла, в дальнейшем найдем другого моба
                            {
                                bestMob = null;
                                break;
                            }
                            if (bestMob.firstHitter == null && mobsCountThatAttackUs() > 0 && bestMob != GetBestNearestMob(zone)) //если нашего "лучшего" моба еще не ударили, и нас держит в таргете мобы - смотрим, нет ли лучшего моба
                            {
                                bestMob = GetBestNearestMob(zone);
                            }
                            if (me.dist(bestMob) > 19) //подбегаем, если нужно
                            {
                                ComeTo(bestMob, 18);
                            }
                            if (me.dist(bestMob) <= 20) //атакуем
                            {
                                if (me.target != bestMob)
                                    SetTarget(bestMob);
                                if (angle(bestMob, me) > 45 && angle(bestMob, me) < 315) //если нужно - поворачиваемся к нему лицом
                                    TurnDirectly(bestMob);
                                if (buffTime(getBuff(me.target, "Отравленная стрела")) == 0 && hpp(bestMob) > 10 && mobsCountThatAttackUs() == 1 && hpp(bestMob) > 10)
                                 
                                 
                                if (hpp(bestMob) == 100)
                               UseSkill("Отравленная стрела", true); 
                                Thread.Sleep(100);
                                if (buffTime("Стойка лучника III") == 0)
                               UseSkill("Стойка лучника", true);
                                Thread.Sleep(100);
                                UseSkill("Жертвенный огонь", true); 
                                Thread.Sleep(100);
UseSkill("Отравленная стрела", true); 
Thread.Sleep(100);
UseSkill("Метка преследователя", true); 
Thread.Sleep(100);
UseSkill("Оглушающий выстрел", true); 
Thread.Sleep(100);
UseSkill("Зазубренная стрела", true); 
Thread.Sleep(100); 
UseSkill("Разрывной выстрел", true); 
Thread.Sleep(100);
if(hpp(bestMob) > 0 && skillCooldown("Азарт мстителя") == 0)
UseSkill("Азарт мстителя", true);
                               
                               
                               
                               
                             /*  UseSkill("Стойка лучника", true); 
                               
                                  {  
                                      if (buffTime("Стойка лучника") == 0)
            
                                    //SetTarget(me);
                                  UseSkill("Стойка лучника");
           
                                  } 
                                     UseSkill  ("Метка преследователя",true);  
                                     UseSkill  ("Зазубренная стрела",true);
                                     UseSkill  ("Отравленная стрела",true);  
                                     UseSkill  ("Разрывной выстрел",true);
                                     UseSkill  ("Азарт мстителя",true);
                                     */ 
                                     if (buffTime(getBuff(me.target, "Бессилие")) != 0 && skillCooldown("Оковы смерти") == 0 && mobsCountThatAttackUs() == 1)
                                     UseSkill("Оковы смерти", true); 
                                     if (me.dist(bestMob) <= 5 && mpp() > 30 && hpp(bestMob) > 10)
                                     {
                                        UseSkill("Пронзающие копья", true);
                                       
                                      }    
                                     if (me.dist(bestMob) <= 5 && mpp() > 30 && hpp(bestMob) > 10)
                                      {
                                        UseSkill("Копья правосудия",me.X,me.Y,me.X,true);
                                     }
                                     
                                     if (me.dist(bestMob) <= 5 && mpp() > 30 && hpp(bestMob) > 60)
                                     {
                                           UseSkill("Призыв воронов", true);
                                     }
                                     if (me.dist(bestMob) < 6 && mpp() < 70)
                                      UseSkill("Поглощение энергии", true);
                                     UseSkill("Клинки смерти", true);
                            }
                            Thread.Sleep(50);
                        }
                          
                        
                        while (bestMob != null && !isAlive(bestMob) && bestMob.type == BotTypes.Npc && ((Npc)bestMob).dropAvailable && GetGroupStatus("autoexp") && isAlive() && bestMob.type != BotTypes.Player)
                        {
                            if (me.dist(bestMob) > 3)
                                ComeTo(bestMob, 1);
                            PickupAllDrop(bestMob);
                        }
                       
                        if((mpp() < 60) && mobsCountThatAttackUs() == 0 && GetGroupStatus("autoexp") && isAlive())
                            
                        while(mpp()<90 && mobsCountThatAttackUs() == 0 && GetGroupStatus("autoexp") && isAlive())
                        {
                             if (buffTime("Морковное пюре") == 0)
                            {
                                UseItem("Морковное пюре");
                            while (me.isCasting)
                                Thread.Sleep(1000);
                            }
                        UseSkill("Музицирование", true);
                        Thread.Sleep(100);
                        }
                            while (me.opPoints >= 50 && itemCount("Кожаный доспех обетованной земли") > 0 && mobsCountThatAttackUs() == 0 && isAlive())
                            {
                                UseItem("Кожаный доспех обетованной земли");
                                Thread.Sleep(1000);
                            }
                            
                    }
                }
                Thread.Sleep(100);
            }
        }
    }
}
 
xmandeh, With the Russian version of the product, which is closed or sold or renamed

It was called jungler (with radar)
it was real good soft
 
Last edited:
xmandeh, With the Russian version of the product, which is closed or sold or renamed

It was called jungler (with radar)
it was real good soft

oh wow? is it the same API etc.? can we use all same plugins then for archebuddy? O_O
 
Back
Top