![](https://wrobot.eu/uploads/set_resources_9/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Matenia
Elite user-
Posts
2227 -
Joined
-
Last visited
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Everything posted by Matenia
-
AdvancedBattlegrounder Mount Issues
Matenia replied to asdfasdfgg's topic in Battlegrounder assistance
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 ? -
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.
-
There is no meshes folder if you aren't using the cracked version ?
-
[FSM] State wManager.Wow.Bot.States.... already launched, ignore it.
Matenia commented on Pudge's bug report in Bug Tracker
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. -
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.
-
-
Application has encountered a critical error
Matenia replied to Vodoogott's topic in General assistance
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). -
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.
-
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
-
Force loot BOP items
Matenia replied to insanity's topic in WRobot for Wow Vanilla - Help and support
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 -
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 ?
-
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
-
Automatic Buy Ammunition
Matenia replied to Watcher's topic in WRobot for Wow Vanilla - Help and support
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). -
-
Latency setting should be the actual time events take. So network latency + server delay + artifical delay. Try 500-800ms.
-
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.
-
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.
-
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+)
-
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?
-
does not work "Calculate interact/combat distance by target size"
Matenia replied to drusangus's topic in General assistance
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. -
How can i choose to which NPC bot will sell items?
Matenia replied to Artek's topic in General assistance
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. -
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.
-
[Suggestion] allow custom scripts into reward item
Matenia commented on TheSmokie's bug report in Bug Tracker
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(); }); } }