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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

A little Start on quest plugin

Insidox

New Member
Joined
Jan 15, 2010
Messages
6
Hi, first sorry for my bad english,
I just start few code on a plugin who can quest :
This can maybe help somme people to develop whith that :p
It take the first dwarf quest and return it when the goal is reached.

Code:
namespace Styx.Bot.CustomClasses
{
    using Logic;
    using System;
    using Helpers;
    using Logic.Pathing;
    using System.Threading;
    using System.Diagnostics;
    using Logic.Common.Combat;
    using Object_Dumping_Enumeration;
    using CustomCombat.CombatInterface;
    using Memory_Read_Write_Inject.Lua;
    using Object_Dumping_Enumeration.WoWObjects;
    using System.Collections.Generic;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Xml.Linq;
    using System.Linq;
    using System.Net;
    using Styx.Plugins.PluginClass;
    using Styx;


    public class eStat : HBPlugin
    {
        public bool Debut = true;
        public bool Encours=false;
        public bool FinishQuest=false;
        public override void Pulse()
        {
            if (Debut)
                TakeQuest();

            if (Encours)
                TestFinishQuest();

            if (FinishQuest)
            {
                Navigator.GeneratePathFromMe(new WoWPoint(-6236.74, 331.1129, 382.8276));
                var wp = new WoWPoint(-6236.74, 331.1129, 382.8276);
                while (wp.Distance(ObjectManager.Me.Location) > 5)
                {
                    Navigator.MoveTo(new WoWPoint(-6236.74, 331.1129, 382.8276));
                    Navigator.Pulse();
                }
                Target(658);
                ObjectManager.Me.CurrentTarget.Interact();
                //Lua.DoString("SelectGossipActiveQuest(1)");
                Thread.Sleep(2000);
                Lua.DoString("CompleteQuest()");
                Thread.Sleep(1000);
                Lua.DoString("GetQuestReward(1)");
                Thread.Sleep(1000);
                Lua.DoString("CompleteQuest()");
                Thread.Sleep(5000);

                FinishQuest = false;
            }
        }
        

        public bool Target(uint Nom)
        {
            ObjectManager.Update();
            Thread.Sleep(5000);
            foreach (WoWUnit wu in ObjectManager.GetObjectsOfType<WoWUnit>())
            {
                if (wu.Entry == Nom)
                {
                    wu.Target();
                }
            }
            Thread.Sleep(1000);
            if (ObjectManager.Me.CurrentTarget.Entry == Nom)
            {
                return true;
            }
            return false;
        }

        public bool TakeQuest()
        {
            Navigator.GeneratePathFromMe(new WoWPoint(-6236.74, 331.1129, 382.8276));
            var wp =new WoWPoint(-6236.74, 331.1129, 382.8276);
            while (wp.Distance(ObjectManager.Me.Location)>5)
            {
                Navigator.MoveTo(new WoWPoint(-6236.74, 331.1129, 382.8276));
                Navigator.Pulse();
            }
            Target(658);
            ObjectManager.Me.CurrentTarget.Interact();
            Thread.Sleep(1000);
            Lua.DoString("Acceptquest()");
            Encours = true;
            Debut = false;
            return (true);
        }

        public bool TestFinishQuest()
        {
            var items = ObjectManager.GetObjectsOfType<WoWItem>(true, false);
            foreach (var item in items)
        			{
                        if (item.Name == "Tough Wolf Meat" && item.StackCount == 8)
                        {
                            Encours = false;
                            FinishQuest = true;
                            return true;
                        }
                     }

            return false;
        }


        public override string Name { get { return "eQuest"; } }

        public override string Author { get { return "Insidox "; } }

        public override Version Version { get { return new Version(1, 1); } }

        public override bool WantButton { get { return false; } }
    }
}

I think if you add a Configuration form with possibility to import special profile with position of questgiver, profile to farm the goal, Item choice and position of questfinisher
you can make a plugin who can do quest and if you make a step by step profile it would can select quest you want in order you want then farm for them and comme back to finish them
I think Step by Step can make the plugin very usefull and customizable ;). I would make by myself but no have time to do ;)
 
Last edited:
Sounds good :)

But it will be really time consuming to make 1-80 quests.

I'd just wait till HB support quests :).
 
There should be a call that grabs the info from the WoW API, that way you wouldn't have to edit positions/items manually.
If there is one, it would make quest-botting much easier to develop.
 
The following is an excerpt of a discussion i had recently
d: blizzard introduced their own questhelper recently, what can an addon query from this builtin solution?
e: nothing :(
f: though you can make waypoints to the pins manually in tomtom
d: thats not much e^^
e: d, you cannot harvest the areas at all
e: or can you load areas for quests you do not have
d: they dont want us to mine that info, do they?
e: the way it works is that you 'select a quest' and then for that quest for the current state the 'area' will be overlayed, the overlay appears to be generated remotely and only allows polling by manual mouse-movement (it lights up when you are over it etc)

this is for official addons so you might be able to read more out of the memory /cache .
 
Last edited:
Well, if HB makes the code to allow quests in profiles, kinda like ppather did, I wouldn't mind making a 1-80 questing profile
 
Easyest way to prolly grab all 1-80 quests And simply have it go to where you need in order to reach goal is use Zygors addon guide thing, like it has all cordinates ect. Has what you should do even if its fly somewheres and grab a fp and what not.
 
I'm pretty sure this isn't the way we're gonna have to do quest-profiles when HB supports questing. I hope...
 
Once it is supported, I will work on profiles! I have multiple chars I need to level and this would be a fantastic way to help myself and the community out. Plus, I'd pay extra just to get it.
 
Well for ppather I had made quests for human starting area plus hellfire and howling fjord - all manually coded with long workarounds for the quests that aren't just killcount. But then Glider lost in court so I stopped working on it .. I seriously wouldn't mind manually coding all the quests in profiles I had the possibility.. So I'm def. looking forward to such a feature :)
 
I think it would be great to have a questing feature. i think personally the grinding quests for each are need to added and tested first, these would be the most comman people would easily do. If you are out grinding mobs why not do a grind quest at the same time, it is what I do when leveling, makes the XP go quicker :)
 
Just wait till the dev team finishes it..

It will be 100% better than a plugin, it should be there in a couple of months i believe :)
 
Tony mostly, at one time it was Hawker confirming 9 weeks, 2 weeks back.
 
IF anyone could take the quest DB from Quest Helper it would be Awesome.

Quest Helper is a plugin for WoW that i think is way much better than the built-in one. It even record's quest data it doen?t have, it know locations of NPCS all around Azeroth, and you can even search for npcs your self with the plugin. It create ant-trails on the minimap and the game map, showing the path to the quest and optimizes quest order.
 
There's still the fact that I don't trust any quest parser to do the job as good as i can myself
 
Back
Top