Показать сообщение отдельно
Старый 12.05.2015, 15:54   #1
Raton
Пользователь
Аватар для Raton
OFFLINE
Регистрация: 11.04.2014
Возраст: 32
Сообщений: 20
Благодарностей:
2 всего
Репутация: 7
Отправить сообщение для Raton с помощью Skype™

[AB] Скрипт для LazyGrinder


Кто пользуется AB , может вам пригодиться. Кто ботоводит с LazyGrinder.

Телепат(54) билд

Скрипт:

Цитата:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;

namespace Follower
{
public class LazyRaider : Core
{
public static string GetPluginAuthor()
{ return "nick1988";
}

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

public static string GetPluginDescription()
{
return "LazyRaider for Demonologist";
}
public void UseSkillAndWait(string skillName, bool selfTarget = false)
{
// Ожидаем кулдауны , чтобы финишировать первым , прежде чем мы попытаемся каст
while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
if (!UseSkill(skillName, true, selfTarget))
{
if (me.target != null && GetLastError() == LastError.NoLineOfSight)
{

}
}
// ждать кд снова , после того как мы начать каст
while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
}


public void PluginRun()
{
while (true)
{
while (me.target == null)
// Пока у нас нет никакой цели, эта петля будет делатьбот ничего не делать, и он будет проверять обратно каждые 50 мс , чтобы увидеть, если у нас есть цель
{
Thread.Sleep(50);
}



while (me.target != null && isAttackable(me.target))
// Как только мы есть цель , и эта цель атаковать ( так его не NPC )бот будет прыгать в этом цикле .
// Это петли содержит " боевой рутины "
{
if (angle(me.target, me) > 45 && angle(me.target, me) < 315)
// Убедившись, мы faceing цель . Если нет, мы обратимся к нему
{
TurnDirectly(me.target);
}
if (dist(me.target) >= 25)
{
ComeTo(me.target, 22);
}


if (skillCooldown("Имитация смерти") == 0 && hpp(me) <=25)
// Использует имитацию смерти, если ХП упало ниже 25%.
{
UseSkillAndWait("Имитация смерти");
Log("Использует: Имитация смерти - That was close...");
CancelTarget();
Thread.Sleep(6000);
}

if (skillCooldown("Имитация смерти") == 0 && mpp(me) <= 20)
// Использует имитацию смерти, если МП упало ниже 2%.
{
UseSkillAndWait("Имитация смерти");
Log("Использует: Имитация смерти- That was close...");
CancelTarget();
Thread.Sleep(6000);
}

////////////////////////////////Баффы-отхил//////////////////////////////

if (skillCooldown("Магический щит") == 0)
// Вешаем на себя Магический щит- есои его нету.
{
UseSkillAndWait("Магический щит");
Log("Использует: Магический щит");
Thread.Sleep(100);
}

if (skillCooldown("Магический круг") == 0)
// Ставим Магический круг.
{
UseSkillAndWait("Магический круг");
Log("Использует: Магический круг");
Thread.Sleep(100);
}

if (skillCooldown("Глухая оборона") == 0)
// Ставим Магический круг.
{
UseSkillAndWait("Глухая оборона");
Log("Использует: Глухая оборона");
Thread.Sleep(100);
}

if (skillCooldown("Клич жизни") == 0 && hpp(me) <= 45)
// Использует Клич жизни, если ХП ниже 45%.
{
UseSkillAndWait("Клич жизни");
Log("Использует: Клич жизни - Отхил");
Thread.Sleep(100);
}

.///////////////////////////////БЬЕМ///////////////////////////////////////


if (skillCooldown("Ледяная стрела") == 0)
// Кастуем Ледяную стрелу.
{
UseSkillAndWait("Ледяная стрела");
Log("Использует: Ледяная стрела");
Thread.Sleep(100);
}


if (skillCooldown("Сгустки пламени") == 0)
// Кастуем Ледяную стрелу.
{
UseSkillAndWait("Сгустки пламени");
Log("Использует: Сгустки пламени");
Thread.Sleep(100);
}

if (skillCooldown("Сгустки пламени") == 0)
// Кастуем Ледяную стрелу.
{
UseSkillAndWait("Сгустки пламени");
Log("Использует: Сгустки пламени");
Thread.Sleep(100);
}


if (skillCooldown("Сгустки пламени") == 0)
// Кастуем Ледяную стрелу.
{
UseSkillAndWait("Сгустки пламени");
Log("Использует: Сгустки пламени");
Thread.Sleep(100);
}

///////////////////////////////////////////ОТХИЛ/////////////////////////////////////////////////////////


if (skillCooldown("Сокрушение разума") == 0 && hpp(me) <= 80)
// Использует Комбо Сокрушение разума + Хватка земли, если ХП ниже 80%.
{
UseSkillAndWait("Сокрушение разума");
Thread.Sleep(100);
UseSkillAndWait("Хватка земли");
Thread.Sleep(100);
Log("Использует: Комбо отхил. ");
Thread.Sleep(100);
}



while (me.target != null && !isAlive(me.target) && me.target.dropAvailable && isAlive())
// we check if we have a target, then check if this target is NOT alive. Then we look if its lootable and finaly whether we are alive or not.
// if all this is true, we will move towards the target and get our loot.
{
if (me.dist(me.target) > 2)
ComeTo(me.target, 1);
PickupAllDrop(me.target);
}

// once we looted the target, and made sure its dead we will clear our target.
if (me.target != null && !isAlive(me.target) && !me.target.dropAvailable)
{

}
}
}
}
}
}




--------------------------------------------------------------------------
Убийца- билд

Скрипт:

Цитата:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;

namespace Follower
{
public class LazyRaider : Core
{
public static string GetPluginAuthor()
{
return "nick1988";
}

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

public static string GetPluginDescription()
{
return "LazyRaider for Demonologist";
}
public void UseSkillAndWait(string skillName, bool selfTarget = false)
{
// Ожидаем кулдауны , чтобы финишировать первым , прежде чем мы попытаемся каст


while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
if (!UseSkill(skillName, true, selfTarget))
{
if (me.target != null && GetLastError() == LastError.NoLineOfSight)
{

}
}
// ждать кд снова , после того как мы начать каст
while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
}


public void PluginRun()
{
while (true)
{
while (me.target == null)
// Пока у нас нет никакой цели, эта петля будет делатьбот ничего не делать, и он будет проверять обратно каждые 50 мс , чтобы увидеть, если у нас есть цель
{
Thread.Sleep(50);
}



while (me.target != null && isAttackable(me.target))
// Как только мы есть цель , и эта цель атаковать ( так его не NPC )бот будет прыгать в этом цикле .
// Это петли содержит " боевой рутины "
{
if (angle(me.target, me) > 45 && angle(me.target, me) < 315)
// Убедившись, мы faceing цель . Если нет, мы обратимся к нему
{
TurnDirectly(me.target);
}
if (dist(me.target) >= 15)
{
ComeTo(me.target, 2);
}
if (skillCooldown("Имитация смерти") == 0 && hpp(me) <= 25)
// Использует имитацию смерти, если ХП упало ниже 25%.
{
UseSkillAndWait("Имитация смерти");
Log("Used: Имитация смерти - That was close...");
CancelTarget();
Thread.Sleep(6000);
}

if (skillCooldown("Имитация смерти") == 0 && mpp(me) <= 15)
// Использует имитацию смерти, если ХП упало ниже 15%.
{
UseSkillAndWait("Имитация смерти");
Log("Used: Имитация смерти - That was close...");
CancelTarget();
Thread.Sleep(6000);
}

/////////////////////////////////////бафф///////////////////////////////

if (skillCooldown("Адреналин") == 0)
// Адреналин
{
UseSkillAndWait("Адреналин");
Log("Used: Адреналин");
Thread.Sleep(100);
}

if (skillCooldown("Проворство") == 0)
// Проворство
{
UseSkillAndWait("Проворство");
Log("Used: Проворство");
Thread.Sleep(100);
}

if (skillCooldown("Очищение") == 0)
// Очищение
{
UseSkillAndWait("Очищение");
Log("Used: Очищение");
Thread.Sleep(100);
}

/////////////////////////////////////БЬЕМ///////////////////////////////


if (skillCooldown("Метка преследователя") == 0)
// Метка
{
UseSkillAndWait("Метка преследователя");
Log("Used: Метка преследователя");
Thread.Sleep(100);
}

if (skillCooldown("Отравленная стрела") == 0)
// Отравленная стрела
{
UseSkillAndWait("Отравленная стрела");
Log("Used: Отравленная стрела");
Thread.Sleep(100);
}


if (skillCooldown("Потрошение") == 0)
// Потрошение
{
UseSkillAndWait("Потрошение");
Log("Used: Потрошение");
Thread.Sleep(100);
}

if (skillCooldown("Потрошение") == 0)
// Потрошение
{
UseSkillAndWait("Потрошение");
Log("Used: Потрошение");
Thread.Sleep(100);
}

if (skillCooldown("Бросок кобры") == 0)
// Бросок кобры
{
UseSkillAndWait("Бросок кобры");
Log("Used: Бросок кобры");
Thread.Sleep(100);
}
if (skillCooldown("Зловещая тень") == 0)
// Бросок кобры
{
UseSkillAndWait("Зловещая тень");
Log("Used: Бросок кобры");
Thread.Sleep(100);
}

if (skillCooldown("Расправа") == 0)
// Мясорубка
{
UseSkillAndWait("Расправа");
Log("Used: Расправа");
Thread.Sleep(100);
}

if (skillCooldown("Решающий удар") == 0)
// Решающий удар
{
UseSkillAndWait("Решающий удар");
Log("Used: Решающий удар");
Thread.Sleep(100);
}

if (skillCooldown("Потрошение") == 0)
// Потрошение
{
UseSkillAndWait("Потрошение");
Log("Used: Потрошение");
Thread.Sleep(100);
}


if (skillCooldown("Потрошение") == 0)
// Потрошение
{
UseSkillAndWait("Потрошение");
Log("Used: Потрошение");
Thread.Sleep(100);
}

if (skillCooldown("Мясорубка") == 0)
//Мясорубка
{
UseSkillAndWait("Мясорубка");
Log("Used: Мясорубка");
Thread.Sleep(100);
}

//////////////////////////////Отхил//////////////////////////////////////

if (skillCooldown("Сокрушение разума") == 0 && hpp(me) <= 85)
// Использует Комбо Сокрушение разума + Хватка земли, если ХП ниже 80%.
{
UseSkillAndWait("Сокрушение разума");
Thread.Sleep(100);
UseSkillAndWait("Хватка земли");
Thread.Sleep(100);
Log("Used: Имитация смерти - That was close...");

}

}

while (me.target != null && !isAlive(me.target) && me.target.dropAvailable && isAlive())
// we check if we have a target, then check if this target is NOT alive. Then we look if its lootable and finaly whether we are alive or not.
// if all this is true, we will move towards the target and get our loot.
{
if (me.dist(me.target) > 2)
ComeTo(me.target, 1);
PickupAllDrop(me.target);

}


// once we looted the target, and made sure its dead we will clear our target.
if (me.target != null && !isAlive(me.target) && !me.target.dropAvailable)
{
CancelTarget();
}
}
}
}
}

Последний раз редактировалось Raton; 12.05.2015 в 16:38.
 
Ответить с цитированием