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

How to use mana or health drinks?

Status
Not open for further replies.

someone1989

New Member
Joined
Jun 17, 2012
Messages
39
Reaction score
0
Hello,

can someone tell me how to use mana drink when mama is under 35%, same with health ?

thanks in advance
 
Code:
public void mphpOverwatch() {
   if (me.hpp <= 35 || me.mpp <= 35)
    {
        if (me.hpp <= 35) {
            UseItem("Potionname");
        } else if (me.mpp <= 35) {
            UseItem("Potionname");
        }
    }
}

Not tested.
 
you can do it with item id too. and yeah this code should work
 
Hey, thanks for help. I have try yesterday this code but it have not work. I know that it should be on the right place in the .cs file but i don`t know where?

I really have try a lot, and try to so0lve my problems always by own self, but here in this forum is nowhere some kind of tutorial for writing .cs files or ?

that how my .cs file looks right know, without that code for mana. Can someone tell me where to place it ?

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 "ArcheBuddy";
}

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

public static string GetPluginDescription()
{
return "Simple mobs farm";
}

//Try to find best mob in farm zone.
public Creature GetBestNearestMob(Zone zone)
{
Creature mob = null;
double dist = 999999;
foreach (var obj in getCreatures())
{
//If creature Npc and we can attack him and creature alive and distance to this creature less than other and creature have 100% hp or creature want to kill out character.
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.aggroTarget == me))
{
mob = obj;
dist = me.dist(obj);
}
}
return mob;
}

//Cancel skill if mob which we want to kill already attacked by another player.
public void CancelAttacksOnAnothersMobs()
{
while (true)
{
if (me.isCasting && me.target != null && me.target.firstHitter != null && me.target.firstHitter != me)
CancelSkill();
Thread.Sleep(100);
}
}

//Check our buffs
public void CheckBuffs()
{
if (buffTime("Double Recurve (Rank4)") == 0 && skillCooldown("Double Recurve") == 0)
UseSkillAndWait("Double Recurve", true);

if (buffTime("Meditate (Rank1)") == 0 && skillCooldown("Meditate") == 0)
UseSkillAndWait("Meditate", true);

}

public void UseSkillAndWait(string skillName, bool selfTarget = false)
{
//wait cooldowns first, before we try to cast skill
while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
if (!UseSkill(skillName, true, selfTarget))
{
if (me.target != null && GetLastError() == LastError.NoLineOfSight)
{
//No line of sight, try come to target.
if (dist(me.target) <= 5)
ComeTo(me.target, 2);
else if (dist(me.target) <= 10)
ComeTo(me.target, 3);
else if (dist(me.target) < 20)
ComeTo(me.target, 8);
else
ComeTo(me.target, 8);
}
}
//wait cooldown again, after we start cast skill
while (me.isCasting || me.isGlobalCooldown)
Thread.Sleep(50);
}


public void PluginRun()
{
new Task(() => { CancelAttacksOnAnothersMobs(); }).Start(); //Starting new thread
RoundZone zone = new RoundZone(me.X, me.Y, 80); //Make new zone where we will farm. Its circle with center where your character stand at this moment with 80m radius.
SetGroupStatus("autoexp", false); //Add checkbox to our character widget
while (true)
{
//If autoexp checkbox enabled in widget and our character alive
if (GetGroupStatus("autoexp") && me.isAlive())
{
CheckBuffs();
Creature bestMob = null;
//if we have enouth mp and hp, or mobs want to kill us - try to find bestMob.
if ((mpp() > 40 && hpp() > 75) || getAggroMobs().Count > 0)
bestMob = GetBestNearestMob(zone);
//if mob exists
if (bestMob != null)
{
try
{
//while this mob alive and our character alive and checkbox in widget enabled
while (bestMob != null && isAlive(bestMob) && isExists(bestMob) && GetGroupStatus("autoexp") && isAlive())
{
//if another player attack this mob before our character.
if (bestMob.aggroTarget != me && bestMob.firstHitter != null && bestMob.firstHitter != me)
{
bestMob = null;
break;
}

//if we still dont attack our best mob, but another mob want to kill us
if (bestMob.firstHitter == null && getAggroMobs().Count > 0 && bestMob != GetBestNearestMob(zone))
bestMob = GetBestNearestMob(zone);

//Target our mob, if necessary
if (me.target != bestMob)
SetTarget(bestMob);
//Turn to our mob, if necessary
if (angle(bestMob, me) > 45 && angle(bestMob, me) < 315)
TurnDirectly(bestMob);

if (me.dist(bestMob) < 4 && isAlive(bestMob))
UseSkillAndWait("Deadeye");
UseSkillAndWait("Concussive Arrow");
UseSkillAndWait("Piercing Shot");
UseSkillAndWait("Charged Bolt");
for (int i=0;i<2;i++)
UseSkillAndWait("Endless Arrows");

//Small delay, do not load the processor
Thread.Sleep(10);
}

//Try to pickup drop from mob, if drop available
while (bestMob != null && !isAlive(bestMob) && isExists(bestMob) && bestMob.type == BotTypes.Npc && ((Npc)bestMob).dropAvailable && GetGroupStatus("autoexp") && isAlive())
{
if (me.dist(bestMob) > 3)
ComeTo(bestMob, 1);
PickupAllDrop(bestMob);
}
//TEST - If Alive, stand up and MoveTo X Y
if(!isAlive())
{
Log(DateTime.Now + " I`m die");
while(me.resurrectionWaitingTime>0)
Thread.Sleep(100);
Thread.Sleep(3000);
ResToRespoint();
Thread.Sleep(10000);
RestoreExp();
Thread.Sleep(2000);;
MoveTo(25644.43, 6407.47, 377.90);
MoveTo(25645.01, 6464.00, 371.19);
Thread.Sleep(1000);
}
}
catch {}

}
}
//Small delay, do not load the processor
Thread.Sleep(10);
}
}
}
}
 
Hey, thanks for help. I have try yesterday this code but it have not work. I know that it should be on the right place in the .cs file but i don`t know where?

I really have try a lot, and try to so0lve my problems always by own self, but here in this forum is nowhere some kind of tutorial for writing .cs files or ?

that how my .cs file looks right know, without that code for mana. Can someone tell me where to place it ?

I'm with you. I'll see in other plugins where it was placed, and try copy. Nobody here help us :/

One question:
Code:
if (me.dist(bestMob) < 4 && isAlive(bestMob))
UseSkillAndWait("Deadeye");
UseSkillAndWait("Concussive Arrow");
UseSkillAndWait("Piercing Shot");
UseSkillAndWait("Charged Bolt");
for (int i=0;i<2;i++)
UseSkillAndWait("Endless Arrows");
What is that "for (int i=0;i<2;i++) UseSkillAndWait("Endless Arrows")"? When he will use Endless Arrows? And how I can use the sequence of skills? Coz I do this and BOT use random skills.
 
Last edited:
heh yeah true :D

i`m not sure what that means. I have change only the skills and keep the code like it was, but it works :D

I would like to learn how to write plugins/.cs files but where the hell is some kind of tutorial
.
 
Status
Not open for further replies.
Back
Top