Jump to content

CaughtUMirin

Members
  • Posts

    23
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

CaughtUMirin's Achievements

Newbie

Newbie (1/14)

6

Reputation

  1. lol unfortunately that's not an option. I rely on Teamviewer for more than checking the bot at work.
  2. Hello, I couldn't find any settings to fix this, but is there a way to disable the TeamViewer warning? It messes up the QuickLaunch shortcut because I have to close the window before it will launch. Thanks
  3. You can, sure. Just expect to be banned in a couple weeks. Normies are smart nowadays. They've had to deal with mass BG bots for a couple years now. Blizz has started cracking down HARD on pvp botting and many of those normies know EXACTLY what to look out for to tell if someone is botting or not.
  4. Blizz broke realm hopping. Now the first person in your party to enter an area will tag it as their zone.
  5. DK is my main, and I wrote a pretty beastly all-in-one DK routine (switches automatically based on current spec/talent set up). What exactly is your question? How do the festering strikes work? Also note: If you REALLY want to make an UH dk fight class that isn't garbage, you need to do 2 things: 1. Learn unholy DK on your own. Unholy DK is definitely a l2p class and the guides are garbage atm (especially Icy-Veins) 2. Don't waste your time trying to use the profile creator if you want a good routine. Get your feet wet and try out C# fight class coding. UH DK is another class that you WILL change talents based on what you're currently doing, and also conditions change a good bit based on whether you're aoeing or single targeting.
  6. Not sure about xml, but when i'm looking for procs (C#), I create an Aura object and check the time remaining ( > 0 if a proc), or the stack count (count is 0 if it's not procced, count = 1 if procced)
  7. I think he mean't HB. Blizz has a serious hardon for HB right now
  8. I'm basically doing what Droidz is doing. Using the GUIDs to get make sure the user is correct. This code is tested and should work (I modified it to return any role, but I'll test again and make sure). Here's my code: public enum Roles { TANK, HEALER, DAMAGER } public static List<string> GetGUIDsByRole(Roles role) { string lua = @"guids = """"; for groupindex = 1,GetNumGroupMembers() do if IsInRaid() then local role = UnitGroupRolesAssigned(""raid"" .. groupindex); if role == ""{0}"" then local name = UnitGUID(""raid"" .. groupindex); guids = guids .. name .. "" ""; end elseif IsInGroup() then local role = UnitGroupRolesAssigned(""party"" .. groupindex) if role == ""{0}"" then local name = UnitGUID(""party"" .. groupindex); guids = name; return; end end end "; var val = Lua.LuaDoString(string.Format(lua, role), "guids"); if (string.IsNullOrWhiteSpace(val)) { Logging.WriteFight("No tanks found!"); return new List<string>(); } var tankNames = val.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList(); return tankNames; } And Here's where I map them to units: public static List<WoWPlayer> GetPartyMembersByRole(Roles role, Vector3 positionCenter, int maxHealthPercent = 100, float maxDistance = float.MaxValue, bool orderByHealth = true) { var guids = GetGUIDsByRole(role); if (guids.Count == 0) return new List<WoWPlayer>(); var units = Party.GetPartyHomeAndInstance().Where(m => guids.Contains(m.Guid128.ToString()) && m.IsValid && m.IsAlive && m.HealthPercent < maxHealthPercent && m.Position.DistanceTo(positionCenter) <= maxDistance); if (orderByHealth) units = units.OrderBy(p => p.HealthPercent); return units.ToList(); } This issue would also break SpellManager.CastSpellByNameOn(), so I do this to get the full/CRZ name when casting a heal: public static string GetCRZName(WoWUnit unit) { if (!(unit is WoWPlayer)) return unit.Name; string lua = @"class, classFilename, race, raceFilename, sex, name, realm = GetPlayerInfoByGUID(UnitGUID(""{0}"")); if(realm ~= nil and realm ~= """") then name = name .. ""-"" .. realm; end"; var name = Lua.LuaDoString(string.Format(lua, unit.Guid128.ToString()), "name"); return name; } public static async Task<bool> CastHeal(Spell spell, WoWUnit unit, bool reqs, bool ignoreUsable = false) { if (!reqs) return false; string myspell = spell.Name; if (!spell.KnownSpell) return false; if (!spell.IsSpellUsable && !ignoreUsable) return false; if (SpellManager.GetSpellCooldownTimeLeft(myspell) > 0) return false; try { SpellManager.CastSpellByNameOn(myspell, GetCRZName(unit)); if (LastLog != myspell) { Logging.WriteFight(myspell); LastLog = myspell; } await Task.Delay(Usefuls.Latency); return true; } catch (Exception e) { Logging.WriteFight("CastOn: " + myspell + " " + e.ToString()); } return false; } Note: I check to see if realm is nil or empty because realm isn't returned if the player is on the same realm. I also check to make sure the WoWUnit is a player before executing the code because it will error out otherwise.
  9. Just wanted to let you know that this is no longer an issue. I figured out a solution
  10. Yeah my lua is pretty similar, but my problem was with the WowPlayer object and not being able to get the realm name from the WowPlayer instance. Here's the code I'm using to get the tank names: var lua = new[] { "partyTanks = \"\";", "for groupindex = 1,GetNumGroupMembers() do", " if IsInRaid() then", " local role = UnitGroupRolesAssigned(\"raid\" .. groupindex);", " if role == \"TANK\" then", // " local name = GetUnitName(\"raid\" .. groupindex, true);", " local name, realm = UnitName(\"raid\" .. groupindex);", " partyTanks = partyTanks .. name .. \",\";", " end", " elseif IsInGroup() then", " local role = UnitGroupRolesAssigned(\"party\" .. groupindex)", " if role == \"TANK\" then", // " local name = GetUnitName(\"party\" .. groupindex, true);", " local name, realm = UnitName(\"party\" .. groupindex);", " partyTanks = name;", " return; ", " end", " end", "end ", }; var val = Lua.LuaDoString(lua, "partyTanks"); if (string.IsNullOrWhiteSpace(val)) { Logging.WriteFight("No tanks found!"); return new List<string>(); } var tankNames = val.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); //Remove last comma and empty entries if raid. Logging.WriteDebug("Tanks: " + string.Join(", ", tankNames)); return tankNames; And here's the code I use to find the WoWPlayer instance for the tank(s): List<WoWPlayer> tankList = Party.GetPartyHomeAndInstance().Where(m => tankNames.Contains(m.Name)).ToList(); Note: My Fight Class is in full CS. Let's say I have 2 people from different realms in my cross-realm raid: Steve-Kel'Thuzad who is a tank and Steve-Frostwolf who is a DPS. The lua code to get the tank will return back "Steve", "Steve (*)", or "Steve-Kel'Thuzad" depending on which lua function you use to get the unit name. The 3 common ones are: local name, realm = UnitName(unit); //Steve local name = GetUnitName(unit); //Steve (*) local name = GetUnitName(unit, true); //Steve-Kel'Thuzad The problem comes here... Steve-Kel'Thuzad's WoWPlayer instance returns "Steve" for WowPlayer.Name Steve-Frostwolf's WoWPlayer instance ALSO returns "Steve" for WoWPlayer.Name Now, when I use Party.GetPartyHomeAndInstance().Where(m => tankNames.Contains(m.Name)), I will get the following results: local name, realm = UnitName(unit); //Steve 2 instances of WoWPlayer local name = GetUnitName(unit); //Steve (*) 0 intstances of WoWPlayer local name = GetUnitName(unit, true); //Steve-Kel'Thuzad 0 instances of WoWPlayer While it's quite rare to get 2 people with the same name in a CRZ group, it does happen, and when it does it breaks healing profiles completely. With Blizz becoming more and more crazy for CRZ, I won't be surprised it I'm not the only one who's ran into this issue. What would be perfect is WoWPlayer properties to get the CRZ name and/or realm. So, for instance, WoWPlayer.CrossRealmName would return [name]-[realm] if the player is on another realm and [name] if the player is on the same realm as me. I hope this was easy to understand. I live in the states and it's pretty late here lol.
  11. Just my luck, but in an LFR I did today I had a tank and dps with the same name, but different server. I use a lua script to get the name of the tanks and then grab the WoWPlayer instance by the name. This kinda broke and my healer was prioritizing the DPS over the Tank because the DPS was closer. I can get the realm easily enough with the lua script (GetUnitName("raid\ .. groupindex, true); returns [name]-[realm] or [name] if the player is on the same server), but I don't see a property in the WoWPlayer class to get the realm name for that player. Is there any way to get the WoWPlayer's realm if they are on a different realm? Edit: Or if there's a way to get the WoWPlayer instance from the raid/party unit name (raid1, raid2, party1, party2, etc) then I could make that work.
  12. You can easily make your own with the fight class editor, you know.
  13. If you're willing to get your feet wet and launch Visual Studio, this Fight Class Framework file is amazing and includes logic for healers, getting tanks, etc. I made a pretty beast Holy Pally routine using it
  14. I use it on live and I like it. The community is small so you will need to educate yourself on the basics of xml and C# (and lua, definitely brush up on lua), but that's a good thing imo because it keeps those away who tend to do dumb shit that would get the bot on Blizz's radar. There are a few hiccups with the bot, but nothing I haven't been able to fix with a plugin or whatnot. Overall I'm happy with it
  15. Well I I made a small hack in CS code that makes my character mount up and press the the "Space" key before doing any flying. I have to copy/paste it before any long moving, but it works :) Here's the code: <QuestsSorted Action="RunCode" NameClass="if (!wManager.Wow.ObjectManager.ObjectManager.Me.IsMounted) { wManager.Wow.Helpers.Lua.RunMacroText(&quot;/cast &quot; + wManager.wManagerSetting.CurrentSetting.FlyingMountName); wManager.Wow.Helpers.Usefuls.WaitIsCasting(); wManager.Wow.Helpers.Move.JumpOrAscend(wManager.Wow.Helpers.Move.MoveAction.PressKey); }" />
×
×
  • Create New...