Jump to content

Matenia

Elite user
  • Posts

    2226
  • Joined

  • Last visited

Reputation Activity

  1. Thanks
    Matenia got a reaction from stormlight in Fishing doesn't work (fixed)   
    Set your latency in general settings from 600 to 900.
  2. Like
    Matenia reacted to camelot10 in Death Gate of DK   
    var _deathKnightDeathGate = new Spell("Death Gate"); var _deathKnightDeathGateExitPosition = new Vector3(2359.64, -5662.41, 382.2605, "None"); if (me.WowClass == WoWClass.DeathKnight && _deathKnightDeathGate.KnownSpell)// && _deathKnightDeathGate.IsSpellUsable) { //akerus if (Usefuls.AreaId == 139) { var myPos = ObjectManager.Me.Position; if (myPos.DistanceTo(_deathKnightDeathGateExitPosition) < 5) { myPos = robotManager.Helpful.Math.GetRandomPointInCircle(myPos, 10); GoToTask.ToPosition(myPos); return true; } } SpellManager.CastSpellByNameLUA(_deathKnightDeathGate.NameInGame); Usefuls.WaitIsCasting(); Thread.Sleep(Others.Random(1000, 2000)); var gate = ObjectManager.GetNearestWoWGameObject(ObjectManager.GetWoWGameObjectByEntry(190942)); if (gate != null && gate.IsValid && gate.CreatedBy == ObjectManager.Me.Guid) { GoToTask.ToPositionAndIntecractWithGameObject(gate.Position, gate.Entry); //Death Gate } } if you dont understand this code, then leave it
  3. Like
    Matenia reacted to Photogenic in Grinder Issue   
    You probably have your area Blacklisted. You say you have been using it for a while; well, if you have the option (blacklist zone where I died) enabled, then probably dying a few times here and there might have the whole area blacklisted....
     
    Fix your blacklist :)
    Hope that helps...
    If you need assistance with that let me know.
  4. Like
    Matenia reacted to reapler in C#, Time Since Combat Start   
    Hello, for this purpose you need a stopwatch and events:
    private readonly Stopwatch _combatTimer = new Stopwatch(); public void Initialize() { EventsLua.AttachEventLua(LuaEventsId.PLAYER_REGEN_DISABLED, CombatStart); EventsLua.AttachEventLua(LuaEventsId.PLAYER_REGEN_ENABLED, CombatEnd); } private void CombatStart(object context) { _combatTimer.Restart(); } private void CombatEnd(object context) { _combatTimer.Reset(); } usage in a method for example:
    if (_combatTimer.ElapsedMilliseconds > 8000) { Logging.Write("In combat since 8 seconds"); }  
  5. Like
    Matenia got a reaction from Photogenic in [Solved] BIG problem with EVADE   
    Try the EvadeHate plugin.
  6. Like
    Matenia reacted to Droidz in move back if... add code in fightclass editor   
    Others sample:
    static Main() { wManager.Events.FightEvents.OnFightStart += (unit, cancelable) => { robotManager.Helpful.Var.SetVar("CanBack", true); }; wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { if (robotManager.Helpful.Var.Exist("CanBack") && robotManager.Helpful.Var.GetVar<bool>("CanBack") && unit.IsValid && !ObjectManager.Me.IsCast && unit.GetDistance < 15 && !TraceLine.TraceLineGo(unit.Position)) { var startPos = new Vector3(ObjectManager.Me.Position); var timer = new robotManager.Helpful.Timer(5 * 1000); try { wManager.Wow.Helpers.Move.Backward(Move.MoveAction.DownKey); while (!timer.IsReady && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !TraceLine.TraceLineGo(unit.Position) && unit.GetDistance < 30) { Thread.Sleep(10); } } catch { } finally { wManager.Wow.Helpers.Move.Backward(Move.MoveAction.UpKey); } if (TraceLine.TraceLineGo(unit.Position)) // if your target is now not in line of sight after back, disable this option for current combat robotManager.Helpful.Var.SetVar("CanBack", false); if (ObjectManager.Me.Position.DistanceTo(startPos) < 10 && unit.GetDistance < 30 && timer.IsReady) // if seem stuck (wall?) robotManager.Helpful.Var.SetVar("CanBack", false); } }; } (not tested)
  7. Like
    Matenia got a reaction from iMod in [Solved] Ignoring high level nodes   
  8. Like
    Matenia got a reaction from nemesis2578 in Quests with multiple kill objectives   
    What you're doing is essentially the same thing I suggested, except I wanted you to fill in the complete condition in XML, whereas you use C#.
    You'll still need 2 pulses for 2 different quests, both of which have a different objective that needs completing. Each quest then has a different target entry set.
  9. Like
    Matenia reacted to Droidz in Returns to first "FollowPath" every time i start a quester profile.   
    Hello, 
    By default you cannot remember that it has finished.
    For you the best way is to check character position in "Can condition" with code like "return new Vector3(1, 2, 3).DistanceTo(ObjectManager.Me.Position) < 500;"
    But if you have good knowledge, you can do that with "robotManager.Helpful.Var" if you want remember for the current WRobot session, or create profile settings file if you want than WRobot remember for all the time.
  10. Like
    Matenia reacted to Mykoplazma in Wrobot CPU usage   
    Well that depens. If you use grinder module or gathering module it has autoattack build inside. So there is no need to make targeting logic just write proper sequence of attack inside the plugin template ( make some checks if target is alive your are not mounted etc ) but this is not so diffucult. If you need to make some multibox action well - I presonally created custom addon which is doing exactly nothing ( 0% load ) and after enabling plugin with custom fighting routine I got multiboxing prupouse wrobot without that hog like fightclass thing. ( 1-2% max with auto follow , auto heal , auto shadowburn without targeting etc ... ) The next thing hogging is pathing system ( sadly ) but that is another story ;)
  11. Like
    Matenia reacted to Droidz in Register Combat_Log with args   
    If you can wait next update, I added OnEventsLuaWithArgs in vanilla and TBC, and I fixed problem with missing events.
  12. Like
    Matenia got a reaction from iloniegodx in Battleground bot healer   
    It's possible, but the battlegrounder follows enemies and tries to kill them. So you need a fightclass that priotizes healing units around you while still able to damage enemies.
    I have 2 such fightclasses on here and am selling a paid version of the resto shaman as well.
  13. Like
    Matenia reacted to eebm in Some questions about Warmane and Bans   
    I run 4-9 bots on warmane 24/7. I use private VPN with diffrent ip locations for every char. Every char runs from 350-650minutes before a similar break. I fishbot and run AH selling up to 4hours a day with my main account. To whitewash my farming bots I have created a guild where I keep all the botters including my main and a few irl legit playing friends, in this guild I have all tabs bought and when I play on main I usually struggle to empty the entire guildbank for mats before its filled up again. Currently gaining about 2-8k/24h gold now.
    I do have a few break days every week as I work and have a family. All bots run custom fightclasses and profiles. I have been contacted by GM once because of the major golds I gain fron AH selling but since I use auctioneer and also snipe other peoples cheap auctions I have been able to avoid trouble so far. Been running this "small operation" for weeks now ?..
     
    My best advice for a newblett botter is to use common sence, always keep things like "would i suspect this to be a bot" in your mind. Watch your bot as much as you can, and my biggest tip is; BOT like fuck on as many you want aslong as you keep the remote feature on and are able to reply whispers instantly and/or interupt bot to interact with people who follows you or grind at the same spot! Also make profiles that changes farm locations as much as once an hour and you'll be perfectly fine!!! :).. Note; second monitor for your bots while you play other games or on your main = SUPERB!!
    Happy botting!
  14. Like
    Matenia reacted to Droidz in Bot drink all water   
    Hello, Check if problem is not caused by your fightclass. And you can tell at wrobot to buy food/drink (in advanced general settings tab vendor...)
  15. Like
    Matenia reacted to Droidz in [Gatherer] Advanced profile, how to change zone after level/time   
    Hello,
     
    I have added a new feature at gatherer bot.
     
    I haven't added a "profile creator" (you need to create profile manually :(, but it is easy :)).
     
    This feature make bot able to change profile after x minutes, or after x herbalism/mining level.
     
    Sample (file "[1-230] Herbalism [Horde].xml"):
    <?xml version="1.0" encoding="utf-16"?> <GathererProfileAdvanced xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <StopBotWhenFinish>false</StopBotWhenFinish> <Tasks> <GathererProfileAdvancedTask ProfilePath="Alliance\Herbs\[1-75] Mulgore [No City].xml" MaxTime="-1" MaxMiningLevel="-1" MaxHerbalismLevel="75" />      <GathererProfileAdvancedTask ProfilePath="Alliance\Herbs\[75-125] Hillsbrad Foothills [No City].xml" MaxTime="-1" MaxMiningLevel="-1" MaxHerbalismLevel="125" /> <GathererProfileAdvancedTask ProfilePath="Alliance\Herbs\[125-205] Stranglethorn [No City].xml" MaxTime="-1" MaxMiningLevel="-1" MaxHerbalismLevel="205" /> <GathererProfileAdvancedTask ProfilePath="Alliance\Herbs\[205-230] Tanaris [No City].xml" MaxTime="-1" MaxMiningLevel="-1" MaxHerbalismLevel="230" /> </Tasks> </GathererProfileAdvanced> Explications:
    In line: <StopBotWhenFinish>false</StopBotWhenFinish>: Replace false by true if you want stop bot when tasks list has completed.
     
    In line (task): <GathererProfileAdvancedTask ProfilePath="MyProfile.xml" MaxTime="-1" MaxMiningLevel="-1" MaxHerbalismLevel="-1" />:
    ProfilePath="MyProfile.xml": Replace MyProfile.xml by your profile (use path like is appear in gatherer product settings). MaxTime="-1": Maximum running  time (in minutes) for the current profile (-1 if you want ignore this option, otherwise replace -1 by the running time in minutes). MaxMiningLevel="-1": Maximum mining level for the current profile (-1 if you want ignore this option, otherwise replace -1 by the maximum level of this profile, if character has bigger level he load next profile). MaxHerbalismLevel="-1": Maximum herbalism level for the current profile (-1 if you want ignore this option, otherwise replace -1 by the maximum level of this profile, if character has bigger level he load next profile). You need to use minimum one condition, otherwise current profile is ignored.
     
    You can add/remove as you want tasks, add the tasks between <Tasks> and </Tasks>.
     
    Save file in xml format in folder "WRobot\Profiles\Gatherer\".
  16. Like
    Matenia got a reaction from dirtyjobs in Warmane TBC 2.4.3 Thread   
    99% chance this is a faulty fightclass. The bot tries to cast a spell (for which movement stop is required), but can't actually cast it.
    Maybe shitty pet handling.
  17. Like
    Matenia got a reaction from Batman in If someone buffs me, /say TYVM   
    You'd have to read combatlog events, which currently isn't possible, to my knowledge, in vanilla and TBC.
  18. Like
    Matenia reacted to txttrr in [D] 15:21:30 - [Fight] Cannot make path to the target (Plague Spreader), ignore it.   
    Hahah my bad.. I know why it wasent working now - i made my own profile and i had set it to blacklist the targets.. Not to attack them.
    Anyways - i managed to get another profile and wupti its working. 
    I wanted to try it before i purchased. And now i bought it and its running like smooth butter.
    And thanks for the fast reply - appreciate it. 
  19. Like
    Matenia reacted to Droidz in Random Dismounts   
    Thank you I found the error, the error is caused by lua, in "ItemsManager.GetItemSpell(string itemNameInGame)" I use "Lua.LuaDoString<string>(string.Format("return GetItemSpell('{0}');", itemNameInGame.Replace("'", @"\'")));", and lua return result like "Mount Name#||#", "#||#" is used by wrobot to separe values when lua return array.
     
    Wait next update for the fix
  20. Like
    Matenia reacted to reapler in Random Dismounts   
    @Droidz The "MountTask.OnGroundMount()" has a bug which is also connected with the dismount method but i'm not sure if any products will also use it(but i haven't seen anything on Grinder for example).
    All in all you have 16 usages of the dismount method but i think the dismount was used with a true stopmove parameter so the bug could be in "wManager.Wow.Bot.Tasks.MountTask(1)" or "wManager.Wow.Helpers.MovementManager(2)" because it happens also on grinder as well on party product so it could happen not on "ToTown" state for example.
    But it's just an assumption maybe there are also more false OnMount checks.
  21. Like
    Matenia reacted to Droidz in Get Stance?   
    Hello, like :
    (to check form by form)

    or
    (to check if any form active)

  22. Like
    Matenia reacted to reapler in In BG avoid targeting opposing faction and chasing them   
    I belive you need to write some beloved c# code. You could add a spell in the fightclass editor & set it as c#:
    if (wManager.Statistics.RunningTimeInSec() < 2) { robotManager.Helpful.Logging.Write("Register OnFightStart"); wManager.Events.FightEvents.OnFightStart += delegate(WoWUnit unit, CancelEventArgs cancelable) { if ((int) unit.Reaction < 3) { cancelable.Cancel = true; } }; System.Threading.Thread.Sleep(2000); } it will cancel all starting fights if unit is unfriendly or hostile. But i'm not sure how it will work in bg.
  23. Like
    Matenia reacted to Droidz in Target Enemy and cast Spell on it   
    Hello,   You can add spell normally (just add "Crusader Strike" and WRobot will launch this spell when you select an enemy in range)     Or if you want automatically attack near enemy, in the spell name put: local name = GetSpellInfo(35395); TargetNearestEnemy(); if UnitExists("target") and UnitIsEnemy("player","target") and IsSpellInRange(name, "target") then CastSpellByName(name, "target"); end TargetLastTarget(); In spell settings "Combat only" > False, "Not spell, is lua script" > true, "Timer" > 3000 (for test all 3 secondes).
  24. Like
    Matenia reacted to reapler in Mouseover ?   
    Hello, it is possible. Here's an c# example:
    if (wManager.Statistics.RunningTimeInSec() < 2) { robotManager.Helpful.Logging.Write("Register OnEventsLuaWithArgs"); wManager.Wow.Helpers.EventsLuaWithArgs.OnEventsLuaWithArgs += delegate (LuaEventsId id, List<string> args) { if (id == LuaEventsId.UPDATE_MOUSEOVER_UNIT) { string name = Lua.LuaDoString("name = UnitName('mouseover')", "name"); int minHealth = 110; //cast heal spells if your mouseover target drops under this value int maxrange = 40; //general range for heal spells WoWUnit unit = wManager.Wow.ObjectManager.ObjectManager.GetObjectWoWPlayer().SingleOrDefault(i => i.Name == name); if (unit != null && unit.IsValid && unit.IsAlive && unit.GetDistance < maxrange && unit.HealthPercent < minHealth && !TraceLine.TraceLineGo(ObjectManager.Me.Position, unit.Position, CGWorldFrameHitFlags.HitTestSpellLoS)) { //here you can add more conditions which spell should be cast robotManager.Helpful.Logging.Write("cast heal on mouseover"); wManager.Wow.Helpers.SpellManager.CastSpellByNameOn("Flash Heal", "mouseover"); //here you can start a thread which checks whether you are still mouse over the unit & cast more heals } } }; System.Threading.Thread.Sleep(2000); }  
    and the example how it can be implemented in fightclass: mouseover heal example.xml
  25. Like
    Matenia reacted to reapler in need help from one of you geniuses....   
    @forerun the guids in tbc are in ulong = UInt64.
    But i recommend to override the focus guid like @Droidz mentioned in another post & write it back.
    I see no reason why not to use it while focus is still working(it's already built in every expansion in wManager.dll so you don't need to write offsets for each one).
    This is how it looks like:
    public bool CastSpell(string name, wManager.Wow.ObjectManager.WoWObject obj) { if (!string.IsNullOrWhiteSpace(name) && obj != null) { var tmp = wManager.Wow.ObjectManager.ObjectManager.Me.FocusGuid; wManager.Wow.ObjectManager.ObjectManager.Me.FocusGuid = obj.Guid; new wManager.Wow.Class.Spell(name).Launch(false, false, false, "focus"); wManager.Wow.ObjectManager.ObjectManager.Me.FocusGuid = tmp; return true; } return false; } usage:
    //closest player CastSpell("Flash of Light", wManager.Wow.ObjectManager.ObjectManager.GetNearestWoWPlayer(wManager.Wow.ObjectManager.ObjectManager.GetObjectWoWPlayer())); //target CastSpell("Flash of Light", wManager.Wow.ObjectManager.ObjectManager.Me.TargetObject);  
     
     
    For someone who also needs a method for getting the WoWObject by LuaUnitId (can be used then for other things):
    public WoWObject GetWoWObjectByLuaUnitId(string luaUnitId) { ulong guid; if (!string.IsNullOrWhiteSpace(luaUnitId) && ulong.TryParse(wManager.Wow.Helpers.Lua.LuaDoString("guid = UnitGUID('" + luaUnitId + "')", "guid").Replace("x", string.Empty), System.Globalization.NumberStyles.HexNumber, null, out guid)) return wManager.Wow.ObjectManager.ObjectManager.GetObjectByGuid(guid); return new wManager.Wow.ObjectManager.WoWObject(0); } usage:
    //can be used for any unit => http://wowwiki.wikia.com/wiki/UnitId //get target position from object Logging.Write(GetWoWObjectByLuaUnitId("target").Position.ToString()); //get mouseover guid from object Logging.Write(GetWoWObjectByLuaUnitId("mouseover").Guid.ToString()); //get arena1 maxlevel by descriptor field Logging.Write((GetWoWObjectByLuaUnitId("arena1") as wManager.Wow.ObjectManager.WoWPlayer)?.GetDescriptorAddress(Descriptors.PlayerFields.Maxlevel).ToString());  
×
×
  • Create New...