Everything posted by iMod
-
CastSpell improvement
Thanks dude, i still have all descriptor and offsets i think but my problem atm is that i have some trouble with the asm stuff ^.^ I think i just need to invest some more time in it to get everything nice and clean :) Yeah this bot was way cleaner few years ago =/ now it feels kinda overloaded and slow and this lua memory issue is horrible =/
-
CastSpell improvement
Thanks, i still had some other overloads but i never used them so they'r gone. So what kind of language are you using for it? I also thought about to use the ingame function instead of lua. I wish i could just use the hook to load my own object manager and own object classes but it seems i have to write my own for it y.y
-
CastSpell improvement
True, forgot to remove the lines y.y I'm not checking anymore if the GCD is > 0 since i wait at the bottom.
- Feral kitten problem
- Feral kitten problem
-
CastSpell improvement
Should be checked by "spell.IsSpellUsable"
-
CastSpell improvement
Hello, I was writing a small method that handles casting spells for me and I'm looking for some improvements for it. May you see some issues. /// <summary> /// Cast a spell /// </summary> /// <param name="spell">The spell you want to cast</param> /// <param name="target">The target you want to cast at</param> /// <param name="debuff">The debuff we are looking for</param> /// <param name="buffTimeLeft">Recast if buff time is under the given time</param> /// <param name="stacks">How much stacks you want at the target</param> /// <param name="owner">Flag that determines if we need to be the owner</param> /// <param name="force">Force use the skill and ignore debuffs</param> /// <returns>Returns true if we can cast the spell otherwise false</returns> public static bool CastSpell(Spell spell, WoWUnit target, double buffTimeLeft = 0, int stacks = 0, Spell debuff = null, bool owner = true, bool force = false) { // Check if the spell is known if (!Functions.IsSpellKnown(spell) || target == null) { // Skip return false; } // Check if buff exists bool hasDebuff; if (debuff != null) { hasDebuff = Functions.HasBuff(debuff, target, buffTimeLeft, stacks, owner); } else { hasDebuff = Functions.HasBuff(spell, target, buffTimeLeft, stacks, owner); } // Validate spell if (!ObjectManager.Me.IsStunned && !ObjectManager.Me.IsDead && !ObjectManager.Me.IsCast && !target.IsDead && spell.IsSpellUsable && (ObjectManager.Me.Position.DistanceTo(target.Position) <= spell.MaxRange) && (force || !hasDebuff) && !TraceLine.TraceLineGo(target.Position)) { if (target.Guid == ObjectManager.Me.Guid) { // Cast on self Lua.LuaDoString($"CastSpellByID({spell.Id}, \"player\")"); } else if (ObjectManager.Me.TargetObject.Guid == target.Guid) { // Cast on target Lua.LuaDoString($"CastSpellByID({spell.Id}, \"target\")"); } else if (ObjectManager.Me.TargetObject.Guid != target.Guid) { // Offset 3.3.5a uint mouseOverGUID = 0x00BD07A0; // Set target Memory.WowMemory.Memory.WriteUInt64(mouseOverGUID, target.Guid); // Cast on mouseover Lua.LuaDoString($"CastSpellByID({spell.Id}, \"mouseover\")"); } else { throw new Exception("Something went wrong with the targeting."); } // Log Logging.WriteDebug($"Cast: {spell.NameInGame} at {target.Name}"); // Wait until global cooldown is done Thread.Sleep(SpellManager.GlobalCooldownTimeLeft()); // Return return true; } // Return return false; } Would be glad if someone could overlook it. Thanks in andvance iMod
-
Strafing after frost nova
I would try something like Keybindings.DownKeybindings(wManager.Wow.Enums.Keybindings.STRAFELEFT); Thread.Sleep(250 * 1); Keybindings.UpKeybindings(wManager.Wow.Enums.Keybindings.STRAFELEFT);
-
whats wrong with the bot?
Make sure you have the last game and wrobot version.
-
Quest / Quest Giver ID's?
just use wowhead.com and search for your quest by name after you searched the quest take a look at the URL it should look like http://www.wowhead.com/quest=35697/peace-offering 35697 is the ID you are looking for. Same for items (item=1234) or NPC's (npc=1234) Hope that helps
-
Register Combat_Log with args
// Listen to events EventsLuaWithArgs.OnEventsLuaWithArgs += (LuaEventsId id, List<string> args) => { if (id == LuaEventsId.COMBAT_LOG_EVENT_UNFILTERED) { // Set int timeStamp = int.Parse(args[0]); string eventName = args[1]; bool hideCaster = bool.Parse(args[2]); // and so on.... } } Hope that helps. Greez iMod
-
Control second target
Since i know it is not possible, you don't have the mobs in your hand who attacking you. You could write a workaround with some C# lines even in the class fight editor but thats not what you want ^.^
-
DirectX Draw
Do you have any exception? Maybe a threading issue? Normaly you need to call the method for each frame (loop)
-
Rotation won't start with some Nighthold bosses
uh that means its not working with xml files. I will take a look at it tomorrow. I'm checking LOS and its still working fine for me. so its just IsValid which is buggy? Seems that it is not executing xml profiles, i'm sorry.
-
Rotation won't start with some Nighthold bosses
I had the same problem and made a small botbase. Try this botbase (product) and tell me if you still have the problems. I'm using it for my rotation but never tested if it is working with the xml files. Just select the product and your fight class as usually and hit start. There are no settings at all since its just a botbase that starts the internal engine. Feedback would be nice. Deleted
-
Bot verkäuft keine Items
Gibt es da einen Log dazu?
-
Adding Alterac Valley to ignored Battleground (leavebg.cs)
Not tested: if (DateTime.Now.Hour > 10 || DateTime.Now.Hour < 13) { // Leave }
-
Herbing profila icecrown / stormpeaks
Hm you can easly do it your self by recording one path and you are done.
-
Hilfe Relooger
Ich persönlich habe keine keine Ahnung von dem Relogger aber wenn du einen Log hochladen koenntest, wäre das schon eine riesen Hilfe.
-
Checking for neutral enemies for "is complete condition"
return !ObjectManager.GetObjectWoWUnit().Any(u => u.Entry == 1234 && u.IsAlive && u.Position.DistanceTo(new Vector3(-4588.846f, 207.593f, 63.38676f)) < 40); You can replace u.Entry == MobID && With u.Name == "MobName" &&
-
Get skinnable mobs
Hm could be a reason. Replace it with ObjectManager.GetObjectWoWUnit().Count(u => u.Skinnable && u.GetDistance2D <= 40); If you just want dead units that are skinnable you need to add "&& u.IsDead" Hope that helps
-
Get skinnable mobs
int count = ObjectManager.GetWoWUnitHostile().Count(u => u.Type == WoWObjectType.Unit && u.Skinnable && u.GetDistance2D <= 40); This would return the count of all unit around you in range of 40 yards who are skinnable.
-
Condition Party Health %
How about target health percentage?
-
spam profiles
Not even for cash. What do you want to do with such stuff?
-
spam profiles
I hope no one will do such stuff