Jump to content

Apexx

Elite user
  • Posts

    332
  • Joined

Everything posted by Apexx

  1. Hey everyone, I am in need of some big brained math experts to possibly help me translate some information to a C# method. I have here some bits and pieces of the Ovale Spell Priority addon, and I like the idea that used for the Shadow Priest's DoTs to check if the target will die in a certain time?: TargetDeadIn(more 6) Looking into the Lua files, I find the function inside Condition.lua: TargetDeadIn = function(condition) local deadAt = getTargetDead() if condition[1] == "more" then return 0, addTime(deadAt, -condition[2]) else return addTime(deadAt, -condition[2]), nil end end, as well as local function getTargetDead() local second = math.floor(Ovale.maintenant) if targetGUID~=UnitGUID("target") then lastSaved = nil targetGUID = UnitGUID("target") savedHealth = {} end local newHealth = UnitHealth("target") if UnitHealthMax("target")==1 then return Ovale.maintenant + 10000 end if second~=lastSaved and targetGUID then lastSaved = second local mod10 = second % 10 local prevHealth = savedHealth[mod10] savedHealth[mod10] = newHealth if prevHealth and prevHealth>newHealth then lastSPD = 10/(prevHealth-newHealth) -- print("dps = " .. (1/lastSPD)) end end -- Rough estimation return Ovale.maintenant + newHealth * lastSPD end If you have any input, I would love to see what you have to say, and thanks for reading!
  2. *Bump* I just finished a 25m LK raid and I noticed this as well w/ my own fight class.
  3. I tried the Holy Priest, and I have to say, nice job. I would highly HIGHLY recommend checking Traceline for your cast method (the spam when out of line of sight is quite obnoxious!: private static async Task UseCombatSpell(Spell spell, bool stopMovement) { if (!Conditions.InGameAndConnectedAndAliveAndProductStarted) return; try { if (ObjectManager.Me.IsMounted) return; while (spell.Name == targetImmuneToSpellName) { Extensions.LogDebug($"[Immune] Skip casting {spell.Name} - Target is immune."); return; } if (!ObjectManager.Target.IsAttackable) return; if (SpellManager.GlobalCooldownTimeLeft() > 0) return; if (Target.IsDead) return; if (TraceLine.TraceLineGo(Target.Position) || !Player.IsFacing(Target.Position, Pi)) return; if (!spell.KnownSpell || !spell.IsSpellUsable || !spell.IsDistanceGood) return; if (Extensions.PlayerIsResting() || Player.Confused || Player.Influenced || Player.IsStunned || Player.Pacified || Player.Possessed || Player.Silenced) return; if (stopMovement && Player.GetMove) MovementManager.StopMove(); SpellManager.CastSpellByNameLUA(spell.Name); Extensions.LogFight(spell.Name, true); await Task.Delay(10); } catch (Exception ex) { Extensions.LogWrite($"CombatController.UseCombatSpell() Exception error. {ex.Message}", true); } } Also, I have Buffing options disabled, but it still likes to cast the standard Power Word: Fortitude, Divine Spirit, Shadow Protection, then it uses my devout candles to buff Prayers? Why not just buff Prayer and skip wasting mana on basic buffs? Why is it still buffing, when the option to do so is disabled? One more thing, is there a setting to reduce the Flash of Light usage a bit? Anyways, keep up the good work!
  4. I brought the idea up to @Droidz as well to possibly implement a way to customize key binds to change from one WRobot module to another. IE: If I hit Shift+Alt+F to start Fishing Bot. Or maybe Shift+Alt+R to run WRotation bot. It would save a ton of time having to Alt+Tab every time I wanted to make minor changes based on my current needs in-game.
  5. Project Aurora is not too bad, although low pop and still needs quite a bit of bug fixes.
  6. Here's what I use to check attackers in range: public static int GetAttackerCountInRange(float yards) { int EnemyCountInRange = ObjectManager.GetUnitAttackPlayer().Count(t => t.IsAlive && t.IsValid && t.IsAttackable && t.InCombat && t.GetDistance <= yards); if (EnemyCountInRange > 0) { Logging.WriteDebug($"Enemy attacking count = {EnemyCountInRange}"); return EnemyCountInRange; } return 0; }
  7. I have played Warmane on and off for a long time now and was never caught.. I cannot speak for other people's experiences though.
  8. Hey, I have a few recommendations if you like Wrath 3.3.5... Warmane - Icecrown (Very packed server with long queue times to login) - Warmane - Lordaeron Wow-mania
  9. This has been long awaited for! Thank you everyone for your dedicated work towards the project!
  10. Apexx

    Happy New Year 2021

    Happy new year @Droidz! Thank you!
  11. Perfect! Thank you very much, I will try this out soon.
  12. I was surfing the forums, and Google for about 20 minutes looking for anything to help me figure this out. I am writing a fight class using C#, and Lua. For the first time I ran into a problem where the combatants I was fighting with were immune to my "Devouring Plague" and was left wasting mana, because each mob was immune to diseases. Is there anything to catch such a thing? Thank you! Edit* Mob entity: https://wotlkdb.com/?npc=32400 There's no real information regarding immunizes.
  13. My experience with a quick custom profile to fish the rivers of Howling Fjord. Fisherbot Profile: Apexx_HowlingFjord_Rivers.xml Log File: Pastebin
  14. Not at the moment, but this might be a plugin feature in the near future.......
  15. @maukor I have never tested this for tbc. I may rework this plug-in in the near future.
  16. In Settings -> Advanced Settings -> Other tab, make sure to match your in game latency. This may or may not help. If that doesn't fix it, it sounds like an issue inside the selected Fight Classes.
  17. But.. if anyone needed code for this: Boolean method: internal static bool PlayerKnowShadowWeaving() { return Lua.LuaDoString<bool>(@" local numTabs = GetNumTalentTabs(); for t=1, numTabs do local numTalents = GetNumTalents(t); for i = 1, numTalents do nameTalent, _, _, _, currRank, _ = GetTalentInfo(t, i); if nameTalent == 'Shadow Weaving' and currRank > 0 then return true; end end end" ); } Usage: // Shadow Word: Pain- Only if player knows Shadow Weaving and has 5 stacks if (PlayerKnowShadowWeaving() && ObjectManager.Me.BuffStack(15258) >= 5 && !ObjectManager.Target.HaveBuff(SpellController.shadowWordPain.Ids)) { Logging.WriteDebug($"Shadow Weaving buff stack = {Player.BuffStack(SpellController.shadowWeaving.Ids)}"); // Launch Shadow Word: Pain }
  18. Glad you were able to figure it out. Would you mind editing the post title to, "[Solved] title here". It helps a lot for people searching for similar issues and shows, "Solved". Thanks!
  19. Awesome idea here! I will have a look into it tomorrow and try it out. I will also report any issues and findings and or ideas to the table (so to speak).
  20. Try again after adjusting the following General Settings -> Enter advanced settings... -> Vendor (Selling or Buying) -> Min free bag slots
  21. I am not quite sure if WRobot is able to distinguish between quest objects from any other game object that is interactable. You may need to make a list, or dictionary with quest id, and quest item id.. but you can just compare the nodeNearMe by the name of the object, aka Quest item. var nodeNearMe = ObjectManager.GetObjectWoWGameObject().Where(t => t != null && t.CanOpen).OrderBy(u => ObjectManager.Me.Position.DistanceTo(u.Position)).FirstOrDefault(); if (nodeNearMe != null && nodeNearMe.Name == "Quest Item Name Here" && ObjectManager.Me.Position.DistanceTo(nodeNearMe.Position) <= 8) { // break bear for the nodes if (!ObjectManager.Me.InCombatFlagOnly && ObjectManager.Me.HaveBuff("Bear Form")) { Lua.LuaDoString("CastSpellByName(\"Bear Form\",1)"); Thread.Sleep(400); } }
  22. I have to say that this occurred for me as well when flying the path I had setup for Fishing. Once Pathfinder has a problem finding a direct "route" to the nearest path "node", it will fly up and spiral until the bot is stopped.
  23. I stumbled across a website the other day, while looking for an alternative to Rocketr to process payments, and validate plugins, fight classes, etc. when I found, cryptlex (Powerful software licensing API). Quick Start Using LexActivator with C# After working with the code a bit, I wanted to share a demo project, along with a demo product online, as well as license keys if anyone would like to test it out for themselves. This project may have bugs and may not work 100%. I am hoping if other programmers check out the code they can offer ideas, comments, and even constructive criticism using this method. There is a "WRobot" directory in the attached zip file that stores the files required to run the LexActivator C# wrapper as well as the plugin and the product.dat file. Extract the files into their appropriate directory. VirusTotal CryptlexAuthenticator.zip
  24. Shadow Priest FC: First time trying it -- [F] 22:04:47 - [RTF] Casting Vampiric Embrace (Vampiric Embrace on Iron Sentinel with guid 17379391465070812334 [F] 22:04:48 - [RTF] Casting Vampiric Embrace (Vampiric Embrace on Iron Sentinel with guid 17379391465070812334 [F] 22:04:50 - [RTF] Casting Vampiric Embrace (Vampiric Embrace on Iron Sentinel with guid 17379391465070812334 [F] 22:04:51 - [RTF] Casting Devouring Plague (Devouring Plague on Iron Sentinel with guid 17379391465070812334 [F] 22:04:53 - [RTF] Casting Vampiric Embrace (Vampiric Embrace on Iron Sentinel with guid 17379391465070812334 Vampiric Embrace
×
×
  • Create New...