Jump to content
bbh_blocked_dnftl
Automation Vault

MrFade

Vault Administrator
  • Posts

    338
  • Joined

  • Last visited

  • Days Won

    57

Everything posted by MrFade

  1. MrFade

    Plugin API

    The current API available in all plugins. bool HasItem(string ItemName) // Returns True if the player has the passed item name in their bags. string GetWEPWUser(); // Returns the current username of the logged in WEPW user. int ItemCount(string ItemName) // Returns the stack count of itemName in the players bags. string GetPlayerClass(); // Returns a string with the class of the player IE "Druid". Log(string Message) // Prints info to WEPWs log. bool LoadRotation(string RotationName) // Attempts to load the passed rotation name - returns false if fails. WoWUnit GetPlayer(); // Returns the local Player WoWUnit. CastSpell(string Name); // Attempts to cast the passed spell. UseMacro(string MacroName); // Attempts to trigger the passed MacroName. bool UnitHasAura(WowUnit Unit,string AuraName); // Returns True if the passed WoWunit has AuraName active. False otherwise. List<WoWUnit> GetUnitsList() // Returns a list of all Loaded units in the object manager. List<WowObject> GetObjects(); // Returns a list of all loaded Objects in the Object manager. List<WowUnit> GetPlayersList() // returns a list of all loaded Players in the Object Manager. InteractWithObject(WoWObject Object); // Interacts with the passed Object. Consider this clicking the passed WoWObject in-game. InteractWithUnit(WoWUnit Unit); // Interacts with the passed Unit. Consider this clicking the passed unit in-game. PluginSleep(int MS); // Sleeps the plugin thread for MS. bool IsObjectBobbing(WoWObject Object); // Returns true if the passed WoWObject has the bobbing Flag set. (Used for fishing bobber.) bool IsObjectValid(WowObject Object); // Returns true if the object is still valid in-game and in memory. string GetBOTState(); // Returns the current BOT state IE OffPathToGather etc etc... SetBOTState(string State); // Sets the BOT state to the passed string. SendKey(int KeyCode int Delay); // Sends the KeyCode to your WoW client for Delay ms. FaceUnit(WowUnit Unit); // Turns the player in-game to face the passed WoWUnit. int GetStuckTime(); // Returns the current stuck count. bool IsObjectOwnedByPlayer(WoWObject Object); // Returns true if the passed Object is owned by the player. IE a fishing bobber is owned by the player. Path(); // Basic path call that will follow the last generation mesh path. So you would generate a path then call Path(); each thread tick to run the generated path. int GetCurrentPoint(); // Returns the current Point in the path the BOT is on. int GetCurrentPathSize(); // Returns how many points are in the current path. bool FindMeshPathToUnit(WowUnit Unit); // Generates a mesh path to the passed Unit. You would then call Path(); after this to run the generated Path. bool FindMeshPathToObject(WowObject Object); // Generates a mesh path to the passed Object. You would then call Path(); to run the path. bool IsUnitValid(WowUnit Unit); // Returns true if the unit is valid in memory and in-game. IE the unit hasn't unloaded. bool FindMeshPathToPoint(float X,float Y,float Z); // generates a mesh path to the passed X,Y,Z. TargetUnit(WoWUnit Unit); // Targets the passed Unit. WowUnit GetTargetUnit(); // Returns the players current target. UseCommand(string Command); // attempts to use keybindable commands. // Commands here : // https://wowpedia.fandom.com/wiki/BindingID BlackListPoint(X,Y,Z); // Blacklists the passed point in the meshes. in a circle of roughly ~8 yards. int GetUnitReaction(WoWUnit Unit, WoWUnit Unit); // Returns the unit reaction between the passed units. public enum UnitReaction { Unknown = -1, Hated = 0, Hostile = 1, Unfriendly = 2, Neutral = 3, Friendly = 4, Honored = 5, Revered = 6, Exalted = 7 } bool CompareGUID(WowGuid GUID, WowGuid GUID); Returns true if the passed GUIDs are equal. WowUnit FindUnitByGUID(WowGuid GUID); // Returns the WowUnit with the passed GUID. int DistanceToUnit(WoWUnit Unit, WoWUnit Unit); // Returns the distance between the two passed Units. IE DistanceToUnit(Player,Target); int DistanceBetweenPoints(Float[] P1, Float[] P2); // Returns the distance between the passed points. float[] UnitPosToFloatArray(WoWUnit Unit); // Returns the Units position as a float[]. float[] VecToFloatArray(Vector3 Vector); // Converts a Vector3 to a float[]; Vector3 FloatToVec(float x, float y , float z); // Converts the passed X,Y,Z values into a Vector3. UseItem(string Item); // Attempts to use the passed ItemName. float GetZ(float X, Float Y); // attempts to use the meshes to calcuate the height at the given X & Y values. StopMoving(); // Stops the player from moving forward. WoWGuid[] GetUnitGUIDBlackList(); // Returns all the currently blacklisted GUIDs. BlackListUnitGUID(WowUnit Unit); // Addes the passed WoWUnit to the blacklist. (It wont be consider for looting / combat etc) int GetZoneID(); // Returns Zone ID of player. int GetMapID(); // Returns the Map ID of the player. int GetAreaID(); // Returns the Area ID of the player. Vector3 GetCorpsePos(); // Returns the current players corpse's X,Y,Z values if the player is dead. bool IsUnitLootable(WoWUnit Unit); // Returns true if the passed Unit is lootable. bool IsInWorld(); // Returns true if the client is in-game IE not in a loading screen etc. int FreeBagSpace(); // returns the current free bag space of the player. bool HasSpell(int SpellID); // Returns true if the players Spell book contains the passed spell ID. string GetLastMessage(); // Returns the last error message displayed in-game IE "you are facing the wrong way.". bool IsPointInWater(float x, float y, float z); // Loads Meshes. Returns True if the passed X,Y,Z values are in Water. WowUnit FindPlayerByName(String Name); // Returns the WoWUnit Player with the Passed Name. WowUnit FindUnitByName(string Name); // Return the WoWUnit Unit with the passed name. WowObject FindObjectByName(string Object); // Returns the WowObject Object with the passed Name. public NPCInfo(string name, int id, int Level, int Health, int zoneID, List<Vector3> spawns, int mapID) { Name = name; ID = id; level = Level; health = Health; ZoneID = zoneID; WSpawns = spawns; MapID = mapID; } NPCInfo GetNearestRepair(); // Returns the nearest Repair vendor according to the Database. NPCInfo GetNearestVendor(); // Returns the nearest Sell Vendor according to the Database. NPCInfo GetNearestClassTrainer(); // Returns the nearest player class trainer according to the Database. BlackListRepairVendorByName(string RepairVendorName); // Blacklists the passed RepairVendor name (it wont be consider when querying the Database for nearest Repair vendor.) RemoveBlackListedRepairVendorByName(string RepairVendorName); // Removes the passed Repair Vendor Name from the blacklist. BlackListSellVendorByName(string Name); // Blacklists the passed Sell Vendor by name. (The vendor will not be considered when querying the Database by GetNearestVendor()) RemoveBlackListedSellVendorByName(); // Removes the passed Sell Vendor Name from the blacklist. bool ItemHasEnch(int Slot, string Name); // Checks if the players equipment slot has the passed ench name. public enum EquipmentSlot { Head = 0, Neck = 1, Shoulder = 2, Shirt = 3, Chest = 4, Waist = 5, Legs = 6, Feet = 7, Wrist = 8, Hands = 9, Ring1 = 10, Ring2 = 11, Trinket1 = 12, Trinket2 = 13, Back = 14, MainHand = 15, OffHand = 16, Extra = 17, Tabard = 18, Maximum = 19 } // Find Ench names here : // https://wago.tools/db2/SpellItemEnchantment?build=1.15.1.53623&filter[Name_lang]=fish&page=1 int GetCreatureType(WoWUnit Unit); // Returns the CreatureType of the passed Unit. public enum CreatureType { None = 0, Beast = 1, Dragonkin = 2, Demon = 3, Elemental = 4, Giant = 5, Undead = 6, Humanoid = 7, Critter = 8, Mechanical = 9, NotSpecified = 10, Totem = 11, NonCombatPet = 12, GasCloud = 13, WildPet = 14, Aberration = 15 } bool IsUnitSkinnable(WowUnit Unit); // Returns true if the passed WowUnit is Skinnable. bool PopMessage(string Message); // Displays an information prompt with the passed Message.
  2. MrFade

    Questing API

    The current API available in all questing profiles. Please note questing profiles have full access to the Plugin API as well. float[] GetNPCPostionFromDB(int NpcID) // Returns a float[] array with X,Y,Z positions of the request NPC_id (queries database). SetQuestSellVendors(list<int> Vendors) /// Sets the sell vendors for the questing profile. If this is not set the BOT will use the database to determine the nearest Sell vendor. SetQuestRepairVendors(list<int> Repairvendors) // Sets the Repair vendors list for a questing profile if this is not set the BOT will use the database to fetch the nearest Repair vendor. SetQuestRepairAt(int ItemDurability) // Sets the item durability % that the BOT will repair at (default 30). SetQuestSellAt(int FreeSlots) // Sets the amount of free slots the BOT much have in order to sell. (Default 2). int DumpQuestSellAt() // returns the current SellAt value (the amount of free slots the BOT will sell at.) int DumpQuestRepairAt() // Returns the item durability % (as an int) the BOT must have before attempting to repair. bool RemoveNameFromObjectAvoidWhiteList(string ObjectName) // Removes the Object name from the avoidance WHITELIST (the object will be avoided). Returns true if the name was on the list false otherwise. bool AddNameToObjectAvoidWhiteList(string Name) // Adds Object name to the avoidance whitelist (the object WILL NOT be avoided). bool AddNameToAvoidWhiteList(string Name) // Adds the name of a NPC to the avoidance whitelist (the NPC WILL NOT BE avoided.) bool RemoveNameFromAvoidWhiteList(string Name) // Removes NPC name from Avoidance whitelist (the NPC WILL BE avoided.) SetFood(string FoodName, int EatAt) /// FoodName -> The Item name the BOT must use to eat. EatAt -> The HP value the BOT must have (or less than) to eat. SetDrink(string DrinkName, int DrinkAt) // DrinkName -> The Item the BOT must use to drinking. DrinkAt -> The % of Power/Mana the BOT must drink at. StartMobAvoidance(); // Starts the avoidance thread QuestGoToPoint(float X, float Y, float Z, Bool AutoLoot = false, FightMobs = true) // Paths to the X,Y,Z value. Autoloot (false by default) if true will loot any lootable mobs along the way. FightMobs (true by default) if true will attack any mobs that agro the MOB along the way. StopQuestProfile(); // Stops the current quest profile. bool HasPlayerFinishedQuest(int QuestID) // Returns true if the player has Finished the passed quest ID. bool CanTurnInQuest(int QuestID) // Returns True if the player has completed all objectives for the given quest ID. public class QuestReturnInfo // Returned by more complex quest API calls to help debug. { public bool Sucessful = false; public int TimeInSeconds = 0; public string FailReason = ""; } QuestReturnInfo AcceptQuestFrom(int QuestGiver,int QuestID) /// Queries the database for the spawn location of QuestGiver ID. The BOT will then attempt to path to the spawn location and interact with the QuestGiver and attempt to accept QuestID. QuestReturnInfo TurnInQuestAt(int QuestTurnIn, int QuestID) // Queries database for QuestTurnIn spawn location paths there and attempts to interact with QuestTurnIn in order to turn in QuestID. public class QuestObjective { public int ObjIndex = 1; public int ObjEndCount = 1; public int AmountObjs = 1; public string Type = ""; //KillMobIDs - Gather Obj / etc etc public int QuestID = 0; public List<int> MobIDs = null; // This will be used for multie mob searching public List<NPCDB.NPCInfo> NpcList = null; // This will be used for better searching as well ! public List<ObjDB.ObjectInfo> ObjectList = null; /// This will be used for better scanning objects ie NODES etc etc; public List<int> ObjIDs = null; // Multi Object searching public List<Vector3> CustomSpawns = null; public string UseItemName = ""; /// The item name we must use ! public int AuraID = 0; // IE only use item when unit has AURA } QuestObjective CreateObjective(string Type, int ObjIndex, int ObjCount, int AmountObjs, int QuestID, List<int> MobIDs , List<int> ObjIDs, List<Vector3> CustomSpawns); /// I'll write more on this later lol sorry /// This is mostly handled all entirely by the database now days but it is still possible to manaully create your objectives here is an old-ish guide on it: // https://automationvault.forumflash.com/forums/topic/1834-guide-to-making-a-quest-profile-from-a-noobs-perspective/ List<Vectors> TableToVecList(Table) // Used to convert a lua Table to a List of Vectors. float[] TableToFloatArray(Table) // Used to convert a lua table to an array of float. List<int> TableToList(Table) // Used to convert a lua table to an List of ints. List<string> TableToStringList(Table) // Used to convert a lua table to a list of strings. SellItemsAt(int SellAt) // Sets the amount of free slots the BOT must have before attempting to sell. bool IsOnQuest(int QuestID) // returns true if the player has the passed QuestID in their quest log. LoadAndRunQuestProfile(string Name) // Stops the current quest profile and loads and starts the passed profile name. QuestReturnInfo GrindUntilLvl(int Lvl, QuestObjective MyObj, Bool AutoLoot = false) // Grinds mobs defined in the QuestObjective until the player reaches the passed Lvl. If Auto-loot is set to true the BOT will loot any lootable mobs. QuestReturnInfo KillMobsUntilItem(string ItemName, QuestObjective MyObj, int ItemCount = 1) // Grinds mobs defined in the QuestObjective until the BOT has ItemCount of ItemName in its bags. QuestReturnInfo QuestTrainAt(int TrainerID = 0, string TrainerName = "") // if trainer ID is passed the BOT will query the database for its spawn location path there and attempt to train. If TrainerName is passed the BOT will scan all LOADED NPCs (everything within render distance) for TrainerName if it finds it, it will path to it and attempt to train otherwise it will fail. QuestFlyToPoint(float X, Float Y, Float Z, float HeightOffset) /// The BOT will attempt to Path to the given point using the flight meshes. QuestReturnInfo CompleteEntireQuest(int QuestID) /// The BOT will query the Database for ALL information regarding the quest and handle it all - From Accepting - to Objectives - To turning in the quest. (This is what the Auto-Quester features is based on.) QuestReturnInfo AcceptQuestUsingDB(int Quest) // Will Query the Database for the quest giver of the passed QuestID path to it and accept the Quest. QuestReturnInfo TurnInQuestUsingDB(int QuestID) // Will QUery the Database for the quest turn in of the passed QuestID path there and turn in the Quest. CompleteObjectiveOfQuest(int QuestID, int ObjectiveIndex) // Queries all the objective information from the Database based on the QuestID and attempts to complete the given quest objective. indexing starts a 1. QuestReturnInfo GrindAreaUntilLevel(int Level) // The BOT will loop through all loaded NPCs in the area and determine the best MOB to grind until the player reaches the passed Level. UseDBToRepair(bool state = true) // if true the BOT will use the Database to determine the nearest RepairVendor and use that to repair. if false the BOT will rely on the SetQuestRepairVendors list. UseDBToSell(bool state = true) // if true the BOT will use the Database to determine the nearest SellVendor and use that. If false the BOT will rely on the SetQuestSellVendors list. NPCInfo GetNearestClassTrainer(); // Queries the Database and returns the NpcInfo of the nearest class trainer of the player. QuestReturnInfo TrainAtNearestClassTrainer(); // Queries the Database for the nearest class trainer of the player's class and attempts to path to it and train. QuestReturnInfo GrindAndGather(List<int> Spawns, int TargetRadius, float[] StartingPoint); // This is the API point that the Map feature uses. // List<Int> Spawns -> IDs of things that you want to kill / gather. // int TargetRadius -> The Radius around StartingPoint you want to farm in. // StartingPoint -> The Starting point that the Radius is based around. // Queries all Spawns IDs from the Database for spawn locations. IgnoreLowLevelQuests(bool state = true) // If the this is set to true AcceptQuestUsingDB and other "Complete" questing APIs will ignore quests that are consider grey to the player. This improves players running questing profiles from random points. BlackListRepairVendorByName(string Name) /// Blacklists the Repair vendor name - This Repair vendor will no longer be consider when searching for a valid Repair vendor. RemoveBlackListedRepairVendorByName(string Name) /// Removes the repair vendor from the blacklist. This repair vendor will once again be consider when looking for a near by RepairVendor. BlackListSellVendorByName(string Name) // Blacklists the Sell Vendor name. The Vendor sell name will now longer be consider when searching for a near by vendor to sell at. RemoveBlackListedSellVendorByName(string Name) // Removes the SellVendor name from the blacklist. This vendor will once again be considered for selling when the BOT is looking for the nearest vendor to sell to.
  3. While WEPW does not yet support Dragon ridding. It does have basic retail support for rotation / fishing / grinding and gathering 😛 I encourage you to hang around in our discord server to hear when we support dragon ridding. Other than that, I've refunded you take care mate. Closed.
  4. This issue was resolved by updating the user's db2s.
  5. Hey Jjsolar, thanks for reaching out mate - I suspect you've downloaded our stable build (only supports wotlk) Our beta build supports SoD/Wotlk & dragonflight you can find it here : I'd also like to encourage you to hop on our discord server as you can get responses far quicker there. Take care mate.
  6. Hello mate, are you running windows 11 at all ? At the moment I know a few version of windows 11 are causing stability issues with the project. If you'd like a quicker response throw me a message on discord : _mrfade_ Thanks.
  7. Version 1.0.8

    674 downloads

    WhoEvenPlaysWoW - WoW BOT.
    From $15
  8. MrFade

    Cant Login

    Hey mate, sorry to see you're having issue logging. Please ensure you're using the correct email and password the login is indeed case sensitive. if you're still struggling to login - throw me a PM of your log file here or on discord. I will respond far quicker there. In the meantime I'll add two days to your license to make up for the down time. Discord Server regards.
  9. I'll refund you in a few here mate. Sorry for the inconvenience we currently only support WOTLK at the time of the OC thread we did indeed support SoM. We do have hopes of supporting retail and possibly classic in the future. Take care. refunded and closed
  10. MrFade

    Wrong Version

    Sadly we currently only support tbc and up. We do hope to expand our support to other version hopefully soon. If you were only planning on using wepw on classic. I can offer you a refund mate. Just throw me a pm here or on discord. Regards.
  11. Yea there is a plugin included in the BOT that does this if you have some basic knowledge of programing you can easily change it to better suit you. But here is a basic run down : - Open your BOT folder then open the Plugins folder. - Find the Slave.lua file and open it with notepad (preferably notepad++) - Look for the 5th line in the file ie : - Replace the "Mymaster" with the characters name you want the BOT to follow IE : - Start both WoWs and login to the characters. - Make sure BOTH chars are near one another. - Start the BOT and attach it to the SLAVE account (the one that is gonna follow the master). - Go to the plugin tab within WEPW and load the Slave.lua file. After all that the BOT should follow your master and attack whatever it is attacking.
  12. Hey mate, we aim to update the BOT weekly. we only support retail (TBC/SOM/WOTLK) we don't support any private servers. As for bans and safety - while we do take our security very seriously there is always a chance you may get banned using any BOT as such I would not suggest running the project on anything you're not willing to lose. If you do, we cannot be blamed. Another great place to find some more info about the project is our discord server : Discord Server Let me know if you have anymore questions regarding the project mate 🙂
  13. Hey mate, I think I've replied to you on discord anyways : This more than likely sounds like an addon / keybind issue. First and foremost try a quick /reload in-game this will basically just reset all your keybinds and help the BOT out. if you're still having issue, please make sure that your keyboard (within windows) is set to english as well as your WoW client. After checking / trying all that if you're still having issues then try the following : - Close the BOT and disable your addon. - Press ESC and go to keybinds, in the bottom left hand corner you'll see a button "Reset to Default" click that then click yes - After that click okay. - Enable your addon once again then in-game type /reload. That will more than likely solve your issue mate. If you've tried the above and you still struggling throw me a PM on discord and maybe we can setup a quick anydesk session so I can fix it for you quickly ! MrFade#5779
  14. Flight form will work correctly when using flight profiles. Sadly at the moment if you're wanting to use travel form you'll need to implement that into your rotation (the OOC - out of combat tick). Let me know if you're still having issues mate!
  15. Just ran this for a while at got stuck on the 5th quest, seems your order of objective is wrong : [5] = {"Felendren the Banished",8335,"Lanthan Perilon",15281,{{"KillMobAndLoot",15273,8},{"KillMob",15298,2},{"KillMobAndLoot",15367,1}},15281,"Lanthan Perilon"}, Oh, and the last objective should also be set to KillMobandLoot as you need to loot his head ! that's the corrected version you might want to update yours when you get a chance 😛 I'll let you know / correct it as I go along, otherwise good work so far.
  16. Hey mate, make sure you're keyboard within windows is set to English. Also make sure your client is set to English, generally speaking a quick /reload in game helps a lot. If you're still having issues I encourage you to join our discord ! I can be far more helpful there.
  17. Hey mate, just to clean this up - The antivirus was the main issue or ?
  18. This guide will quickly show you how exactly you can delete and update your addon to the latest version, it's suggested you do this after every official WEPW update. Firstly you'll want to delete your existing addon : In the battle net launcher, click the cog to the right of the player button - In the pop up menu click "Show in Explorer". After that you'll need to locate your addon folder the directory will something similar. Then simply delete the addon you created, In my case it's "TheWorkingOne". Once we've delete the physical addon we just need to go back to our BOT folder and look inside the Shadow folder. In there you'll see a Settings.Json file this basically just stores info about the addon. Delete that and when you launch the BOT again it'll install the latest addon for you ! As always if you're having issues with this process @ me on the discord server / DM on the forums / Or even make a post in the support section. Regards.
  19. MrFade

    2nd Client

    Hey mate, at the moment the session count does not work and in-order to purchase multiple licenses you'll need to create multiple accounts on our site. This is something we are working on, sorry for the inconvenience. If you create another account and PM or post it's username here. I'll move your second license to that account so you'll be able to run both ! Regards.
  20. If it's your first time with WEPW I'd suggest reading over This guide first. Right so you've installed your addon, logged into WEPW and attached to your client. How do you make a profile !? Firstly, let's briefly explain the settings and how they work : The Settings Tab : The settings tab stores more general settings about the BOT, non of these settings will be stored to the profile itself however they will be saved to your config file so that when you restart the BOT you don't have to reset everything again, You'll notice there is a button labeled "more Settings" but we will get back to that at a later date. The Profile Tab: Just about every setting here is stored in the profile file itself and will be loaded into the BOT when you (or someone else) loads the given profile. Vendor management : Vendor management is also stored within the profile file itself, Here you can set if you want the profile to repair/sell greys etc etc. To set any of these simply run up to the unit you wish to use then click the drop list and select the units name - Only units that can do the required action will be listed in the drop down for example only units that can repair the player will be listed in the repair unit drop down. Once you've selected the unit you want the BOT to use when repairing tick the enabled box and hit saved! Remember that you don't have to use any of these settings for every profile - if you don't want to add repairing / selling to your profile simply just ignore that section. Recording waypoints. Back to the profile tab we can see in the top middle of the tab "Record Path", All we have to do is click that and run our path. It's recommended that you run a big circle (So you end where you start) once you've made your path, you can click "Stop Recording". The Gathering Tab : Right so we have our path (where the BOT must follow) now we need to setup some actions for the BOT to do along that path, In the top left corner of this tab you'll notice what's referred to as the gathering list - That is where you put the names of any OBJECTS you want the BOT to gather, You can see the input box with the grey text "node name" simply type the object name you wish to gather and click the "Add Object ID" button just above the input box. Once we've got a list of objects we wish to gather look to the right of the tab at "Gather Distance limit" this how far the BOT will go (off your main path) to gather the objects in our list, If you leave this at zero it will never leave the path to gather. (I'd suggest leaving it around 1000). Example : The Combat Tab : So lets say you want the BOT to follow our path but instead of gathering you want it to grind mods (you can make it do BOTH if you set up both lists). You'll need to edit the combat tab - This tab works very much like the gathering tab as such we have to edit our combat list (Names of UNITS we want the BOT to kill). It's important you enabled Auto-Target or the BOT will not actively look for units, Directly under that is the distance (in yards) that the BOT will look for mentioned units. Example : Right now that we've setup our path and both our combat / gathering lists we are ready to save our profile! Head back to the profiles tab and look at the middle left of the tab just under the "Save Profile" button you'll see an input box where you can name your profile, Once you've named it just click the button and you're good to go. Right after that you can just click the Start button (directly underneath the Save Profile button) and the BOT will jump into action!
  21. MrFade

    wUnit API

    public abstract class wUnit { public IntPtr BaseAddress; public abstract GUID Guid; public abstract GUID Target; public abstract string Name; public abstract GUID Summoner; public abstract GUID Creator; public abstract GUID Owner; #region Flags public abstract bool Track; public abstract bool IsDead; public abstract bool IsGhost; public abstract bool Invisible; public abstract bool IsLootable; public abstract bool IsTapped; public abstract bool TappedByMe; public abstract bool TappedByAll; public abstract bool ReferAFriend; public abstract bool NotClientControlled; public abstract bool Spawning; public abstract bool PlayerControlled; public abstract bool InPreparation; public abstract bool NoAttack1; public abstract bool NoAttack2; public abstract bool IsImmune; public abstract bool IsImmunePC; public abstract bool IsImmuneNPC; public abstract bool IsLooting; public abstract bool PetInCombat; public abstract bool PvpFlagged; public abstract bool IsSilenced; public abstract bool CantSwim; public abstract bool CanSwim; public abstract bool IsPacified; public abstract bool IsStunned; public abstract bool IsInCombat; public abstract bool IsOnTaxi; public abstract bool IsDisarmed; public abstract bool IsConfused; public abstract bool IsFeared; public abstract bool IsPossessed; public abstract bool NoInteract; public abstract bool Skinnable; public abstract bool IsMounted; public abstract bool AppearDead; public abstract bool HideBody; public abstract bool IgnoreRep; public abstract bool CanListen; public abstract bool OffhandDisarmed; public abstract bool RangeDisarmed; public abstract bool RegeneratePower; public abstract bool PreventSpellClick; public abstract bool PreventSwimming; public abstract bool CantSwitchTarget; public abstract NpcFlag Flag4; public abstract bool HasGossipWindow; public abstract bool IsQuestGiver; public abstract bool CanTrainPlayer; public abstract bool HasDailyQuests; public abstract bool IsVendor; public abstract bool SellsFood; public abstract bool SellsReagents; public abstract bool CanRepairArmor; public abstract bool IsTaxi; public abstract bool IsSpiritHealer; public abstract bool IsSpiritGuide; public abstract bool IsInnkeeper; public abstract bool IsBanker; public abstract bool IsBattleMaster; public abstract bool IsAuctioneer; public abstract bool IsStableMaster; public abstract bool IsGuildBanker; public abstract bool IsMailInfo; public abstract bool IsTransmogrifier; public abstract bool IsVoidBanker; #endregion #region Stats public abstract uint Level; public abstract byte Gender; public abstract Class Class; public abstract Race Race; public abstract uint FactionID; public abstract UnitType uType; public abstract Family Family; public abstract Rank Rank; public abstract GatherType gType; public abstract bool NeedHerbalist; public abstract bool NeedMiner; public abstract bool NeedEngineer; public abstract uint Health; public abstract uint MaxHealth; public abstract double HealthPercent; public abstract uint Power; public abstract uint Mana; public abstract uint Rage; public abstract uint Focus; public abstract uint Energy; public abstract uint ComboPoints; public abstract uint MaxPower; public abstract uint MaxMana; public abstract uint MaxRage; public abstract uint MaxFocus; public abstract uint MaxEnergy; public abstract uint MaxComboPoints; public abstract double PowerPercent; public abstract double ManaPercent; public abstract double FocusPercent; public abstract double RagePercent; public abstract double EnergyPercent; #endregion #region Casting public abstract uint CastID; public abstract uint CastStart; public abstract uint CastEnd; public abstract uint CastRemaining; public abstract uint CastCompleted; public abstract bool IsCasting; public abstract uint ChannelID; public abstract uint ChannelStart; public abstract uint ChannelEnd; public abstract uint ChannelRemaining; public abstract uint ChannelCompleted; public abstract bool IsChanneling; #endregion #region Position public abstract double RotationD; public abstract float RotationF; public abstract Vector Position; public abstract float Pitch; public abstract bool IsBehind(wUnit Unit); public abstract bool IsTurning; public abstract bool IsMoving; public abstract bool IsSwimming; public abstract bool IsFlying; #endregion #region Local Player public abstract uint Money; public abstract uint Experience; public abstract uint MaxExperience; public abstract IntPtr InventoryPTR; public abstract List<GUID> Bags; public abstract List<GUID> Bank; public abstract List<GUID> Backpack; public abstract List<GUID> Equipment; #endregion } public static class wUnit_Extensions { #region Auras private static bool GetAuras(wUnit u, out List<uAura> Auras); public static bool HasAura(this wUnit u, uint SpellID); public static bool HasAura(this wUnit u, string SpellName); public static long AuraRemaining(this wUnit u, uint SpellID); public static long AuraRemaining(this wUnit u, string SpellName); public static int AuraStack(this wUnit u, uint SpellID); public static int AuraStack(this wUnit u, string SpellName); public static string AuraDispel(this wUnit u, uint SpellID); public static string AuraDispel(this wUnit u, string SpellName); #endregion public static string FactionName(this wUnit u); public static Reaction Reaction(this wUnit u1, wUnit u2); }
  22. MrFade

    Plugin API

    Please note that the plugin API has full access to wUnit Class and each attribute may be called within the plugin directly. wUnit GetPlayer() // Returns the player Object. CastSpell(string Name) // Casts the given spell. UseMacro(string Name) // Triggers the given macro name. bool UnitHasAura(wUnit, string AuraName) /// Returns true if the wUnit has the given Aura. List<wUnit> GetUnitsList() // returns a list of all units loaded by the obj mgr. List<uObject> GetObjectsList() //returns a list of all objects loaded by the obj mgr. InteractWithObject(uObject) // Interacts "Clicks" on an in-game object. InteractWithUnit(wUnit) // Interacts "Clicks" on an in-game unit. Sleep(int delay) // Sleeps the current plugin thread. bool IsObjectBobbing(uObject) // Checks to see if the given uObject is Bobbing. bool IsObjectValid(uObject) // Checks to see if the given uObject is still valid within memory. bool IsUnitValid(wUnit) // Checks to see if the given wUnit is still valid within memory. string GetBOTState() // Returns the current BOT state. SetBOTState(string BOTstate) // sets the current BOT state. SendKey(int KeyCode, int Delay) // emulates a keystroke to the attached wow client. FaceUnit(wUnit) // Faces the player to the given wUnit. int GetStuckTime() // returns the amount of time the player has been stuck for. Path() // Handles basic pathing logic only runs with there is a valid MeshPath loaded. int GetCurrentPoint() // Returns the current waypoint number. vector3[] GetCurrentPath() // Returns a vector3 array of the current MeshPath. int GetCurrentPathSize() // Returns the count of the Current MeshPath Vector array. bool FindMeshPathToUnit(wUnit) // Generates a mesh path to a given unit (populates CurrentPath) - Returns false if path generation fails. bool FindMeshPathToObject(uObject) // Generates a mesh path to a given object (populates CurrentPath) - Returns false if path generation fails. bool FindMeshPathToPoint(Float X, Float Y, Float Z) // Generates a mesh path to a given point. - Returns false if path generation fails. BlackListPoint(float x, float y, float z) /// Blacklists a 20 yard area around the given point where the BOT will not path (causes meshes to load). TargetUnit(wUnit) // Sets the given wUnit as the players target in-game. UseCommand(string Command) // Excutes the given Command in-game such as "TARGETLASTTARGET".
×
×
  • Create New...