Jump to content

Matenia

Elite user
  • Posts

    2227
  • Joined

  • Last visited

Everything posted by Matenia

  1. Seems to me you're not using the latest version. Seeing as you don't own wrobot even, it would appear I need to up the security. Thanks for alerting me it's been cracked ?
  2. It uses a pathfinding server, so there are no client side meshes. If you don't disable pathing and you're on the real trial, it will path find correctly.
  3. There is no meshes folder if you aren't using the cracked version ?
  4. He said he already uses a plugin like that... That's not the solution. It's when you either click "start" too quickly twice in a row or reload the context/produt incorrectly through code.
  5. Matenia

    Resurrect

    If use spirit healer is activated, it will ALWAYS use it. You need to use advanced settings for how many times you die frequently to use the spirit healer dynamically. This is why it used to be a feature in HMP. Droidz implemented most of that now.
  6. Just for documentation's sake, stoneskin can only be turned off after level 14. The reason being that 2 damage less is really useful at those low levels and the mana cost is incredibly low.
  7. You should probably point out which fight class. I believe this error occurs if the fightclass throws an exception (i.e. the fightclass thread crashes).
  8. GoToTask is blocking, it will not stop walking unless you also pass a breaking condition to the "whileCondition" parameter. Or use normal MovementManager.Go which is not blocking - but if you have a complete condition, it will just call MovementManager.Go over and over until the condition is fulfilled. This is tick-based vs blocking.
  9. If that's what you want, yes you need to write a plugin or you can set up a macro ingame and use wrobot's macro settings to hit it every 30 seconds
  10. It shouldn't crash, but also using :Click is a protected function, so you need a plugin or something that only runs that code ONCE
  11. You can't review a product you haven't bought. A demo will BY DEFINITION not have all features. If you want to replace HMP's features with free plugins, you can try that but you still need to maintain NPC DBs yourself and nothing will have the full functionality. https://wrobot.eu/files/file/1925-free-air-breatherswimming/ https://wrobot.eu/files/file/1918-free-automatically-use-health-mana-potions/ https://wrobot.eu/files/file/1724-free-foodanddrinkhelper/ https://wrobot.eu/files/file/1215-free-combatlooter/ https://wrobot.eu/files/file/1318-free-mining-node-blacklist/ https://wrobot.eu/files/file/1295-free-italents-talent-manager-for-vanilla-and-tbc https://wrobot.eu/files/file/1204-tbc-train-level https://wrobot.eu/files/file/1696-vanilla-clam-opener/ https://wrobot.eu/files/file/1640-invalid-target-remover https://wrobot.eu/files/file/1468-auto-bandage/ https://wrobot.eu/files/file/1831-free-trainskillsoverride/ https://wrobot.eu/files/file/1766-free-ammo/ https://wrobot.eu/files/file/1734-free-autowarlockpettraining/ Even if you get ALL of these free plugins, you will still not have the full features of HMP and do most of the work yourself. But you cannot review based on the free demo for a paid plugin. Therefore I'll have that removed ?
  12. That bug was in for less than 10 hours before I fixed it, back in March. You wouldn't know anything about this plugin, because you never purchase dit. You downloaded a free demo (NodeBlackList). You can find lots of free plugins all over the forums that are combined in HMP in a much advanced way (I usually release free code for other developers and people who can't afford paid products). After seeing that you're just going around the forums leaving bad reviews, I can't decide if you're doing it on purpose or if you're genuinely too stupid to use wRobot and that is your issue
  13. If you want good quality products because you're too lazy to set up your own profiles that automate everything - then yes. That being said, you're welcome to remove the review you left on a paid product of mine that you never purchased and only downloaded the free demo (for blacklisting nodes).
  14. The settings aren't advertised. They're an example of how to enter the order ID. It even says in the screenshot that that's humanmasterplugin. What's advertised are the features in this thread and nothing more.
  15. Latency setting should be the actual time events take. So network latency + server delay + artifical delay. Try 500-800ms.
  16. Correct your latency settings and make sure the mob isn't "no loot" which skips skinning. That being said, if the server is "shit" and reuses mob GUIDs, they can stay blacklisted (from looting/skinning) upon respawn for a certain time.
  17. Matenia

    InCombatWithMe

    There is no other way. If you are on their threat, you are in combat. Otherwise literally there is NO WAY. It's not in the game.
  18. Matenia

    InCombatWithMe

    That's correct behavior. It only checks if you're being targeted by the unit and have combat state AND if you're not ignoring combat in settings. If you want to know whether a unit has threat towards you, use the threat API (only works in Wotlk+)
  19. There is no IP block unless you've made it onto a global blacklist of scammers (which I doubt). I also don't understand - other Americans purchased wRobot just fine and you actually have a license. What is it that you're trying to buy?
  20. Simply don't account for hitbox sizes. It works, but it's useless. Real servers calculate from center to center, because that's what blizzard did too.
  21. There's a blacklist editor (or add it to your profile blacklist with the profile editor). If you're using HMP, there's a blacklist (by id) in the settings. HMP log also logs vendors with ID so it's easy to blacklist.
  22. IsValid checks if it still exists in objectmanager. You never need it, unless you store a unit over a long period of time. Because when you move 100 yards from the point of unit acquire, it might have disappeared from the objectmanager and not been updated either.
  23. This is great. Now I don't have to use a Lua hook anymore. Otherwise you can use a Lua hook to create a race condition between your selection code and ANY code turning in the quest: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Security.Cryptography; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using DatabaseManager.Enums; using robotManager.Events; using robotManager.FiniteStateMachine; using robotManager.Helpful; using robotManager.Products; using wManager; using wManager.Wow.Bot.Tasks; using wManager.Wow.Class; using wManager.Wow.Enums; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class QuestRewardSelector { public static string TooltipName = "QuestItemCompareTooltip"; public static void Start() { TooltipName = LuaVariableSettings.CurrentSetting.QuestToolTipName; RegisterHook(); CreateTooltip(); EventsLua.AttachEventLua((LuaEventsId) Enum.Parse(typeof(LuaEventsId), "QUEST_COMPLETE"), QuestCompleteHandler); } public static void Stop() { } public static void CreateTooltip() { Lua.LuaDoString($@" if not {TooltipName} then {TooltipName} = CreateFrame('GameTooltip', '{TooltipName}', nil, 'GameTooltipTemplate'); {TooltipName}:SetOwner(UIParent, 'ANCHOR_NONE'); end "); } public static void RegisterHook() { Lua.LuaDoString($@" if (not {LuaVariableSettings.CurrentSetting.QuestHookName}) then _OriginalQuestCompleteOnClick = QuestFrameCompleteQuestButton:GetScript(""OnClick""); function hook_QuestComplete(self, button, arg2, arg3) self = this; if (button == ""FORCE"") then --DEFAULT_CHAT_FRAME:AddMessage('Forcing quest acceptance!'); _OriginalQuestCompleteOnClick(self, button); else C_Timer.After(2500, function() --DEFAULT_CHAT_FRAME:AddMessage('Delay quest turn in by 2500ms'); _OriginalQuestCompleteOnClick(self, button); end); end end QuestFrameCompleteQuestButton:SetScript(""OnClick"", hook_QuestComplete); _GetQuestReward = GetQuestReward; function GetQuestReward(index, force) if(force) then return _GetQuestReward(index); else C_Timer.After(2500, function() --DEFAULT_CHAT_FRAME:AddMessage('Delay quest turn in by 2500ms'); return _GetQuestReward(index); end); end end --DEFAULT_CHAT_FRAME:AddMessage('Quest hook initiated'); {LuaVariableSettings.CurrentSetting.QuestHookName} = true; end "); } private static void QuestCompleteHandler(object context) { Lua.LuaDoString("QuestFrameCompleteQuestButton:Disable();"); PluginLog.Log("About to complete quest - INTERCEPT!"); SelectQuestItem(); Lua.LuaDoString("QuestFrameCompleteQuestButton:Enable();"); //fallback Lua.LuaDoString($"_GetQuestReward(1);"); } private static void SelectQuestItem() { try { int questRewards = Lua.LuaDoString<int>("return GetNumQuestChoices()"); if (questRewards == 0) { return; } Dictionary<ParsedItem, int> itemRewards = new Dictionary<ParsedItem, int>(); for (int i = 1; i <= questRewards; i++) { Lua.LuaDoString($@" {TooltipName}:Hide(); {TooltipName}:SetOwner(UIParent, 'ANCHOR_NONE'); {TooltipName}:ClearLines(); {TooltipName}:SetQuestItem(""choice"", {i}); "); ParsedItem item = ItemParser.ParseCurrentTooltip(TooltipName, true); if (item.isUsable) { itemRewards.Add(item, i); } } ItemComparator comparator = new ItemComparator(StatWeights.ForClass(ObjectManager.Me.WowClass)); ParsedItem bestItem = comparator.FindBestItem(itemRewards.Keys.ToList()); int index = itemRewards[bestItem]; PluginLog.Log("Found best item " + bestItem.name + " as reward number: " + index); Lua.LuaDoString($@" --QuestFrameCompleteQuestButton:Enable(); _GetQuestReward({index}); "); Thread.Sleep(1000); } catch (Exception e) { Logging.WriteError("" + e); } } private static async void SelectQuestItemAsync() { await Task.Run(() => { SelectQuestItem(); }); } }
×
×
  • Create New...